自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

字節(jié)一面后續(xù):TCP/IP 四層模型了解么?每一層都有哪些協(xié)議?

網(wǎng)絡(luò) 通信技術(shù)
應(yīng)用層位于傳輸層之上,主要提供兩個終端設(shè)備上的應(yīng)用程序之間信息交換的服務(wù),它定義了信息交換的格式,消息會交給下一層傳輸層來傳輸。 我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報文。

本文轉(zhuǎn)載自微信公眾號「CS指南」,作者大白。轉(zhuǎn)載本文請聯(lián)系CS指南公眾號。

大家好,我是大白。

這是 「面試現(xiàn)場」操作系統(tǒng) 的姊妹篇計算機網(wǎng)絡(luò),這個系列我會通過真實面試的形式向你講解某個具體的知識點。

下面是正文。

1內(nèi)容回顧

面試官:上次我們聊了網(wǎng)絡(luò)分層相關(guān)的內(nèi)容,今天我們繼續(xù)延伸一下,來聊聊每一層具體做了什么事情。

大白:好的好的!

面試官:開始之前,我們先來回顧一下 TCP/IP 4 層模型。

  • 應(yīng)用層
  • 傳輸層
  • 網(wǎng)絡(luò)層
  • 網(wǎng)絡(luò)接口層

TCP-IP-4-model

2應(yīng)用層

面試官:通常我們建議從應(yīng)用層向網(wǎng)絡(luò)接口層學(xué)習(xí)。你先說說應(yīng)用層主要做了什么工作吧?

大白: 應(yīng)用層位于傳輸層之上,主要提供兩個終端設(shè)備上的應(yīng)用程序之間信息交換的服務(wù),它定義了信息交換的格式,消息會交給下一層傳輸層來傳輸。 我們把應(yīng)用層交互的數(shù)據(jù)單元稱為報文。

應(yīng)用層協(xié)議定義了網(wǎng)絡(luò)通信規(guī)則,對于不同的網(wǎng)絡(luò)應(yīng)用需要不同的應(yīng)用層協(xié)議。在互聯(lián)網(wǎng)中應(yīng)用層協(xié)議很多,如支持 Web 應(yīng)用的 HTTP 協(xié)議,支持電子郵件的 SMTP 協(xié)議等等。

network-layer

HTTP:超文本傳輸協(xié)議

面試官:那你先聊聊 HTTP 協(xié)議吧!

大白:超文本傳輸協(xié)議(HTTP,HyperText Transfer Protocol)主要是為 Web 瀏覽器與 Web 服務(wù)器之間的通信而設(shè)計的。

當(dāng)我們使用瀏覽器瀏覽網(wǎng)頁的時候,我們網(wǎng)頁就是通過 HTTP 請求進行加載的,整個過程如下圖所示。

HTTP請求過程

https://www.seobility.net/en/wiki/HTTP_headers

HTTP 協(xié)議是基于 TCP 協(xié)議的,發(fā)送 HTTP 請求之前首先要建立 TCP 連接也就是要經(jīng)歷 3 次握手。目前使用的 HTTP 協(xié)議大部分都是 1.1。在 1.1 的協(xié)議里面,默認(rèn)是開啟了 Keep-Alive 的,這樣的話建立的連接就可以在多次請求中被復(fù)用了。

另外, HTTP 協(xié)議是”無狀態(tài)”的協(xié)議,它無法記錄客戶端用戶的狀態(tài) 一般我們都是通過 Session 來記錄客戶端用戶的狀態(tài)如何判斷郵箱是真正存在的?。

SMTP:簡單郵件傳輸(發(fā)送)協(xié)議

面試官:SMTP 協(xié)議了解嗎?

大白:簡單郵件傳輸協(xié)議(SMTP,Simple Mail Transfer Protocol)的縮寫,基于 TCP 協(xié)議,用來發(fā)送電子郵件。

注意 :接受郵件的協(xié)議不是 SMTP 而是 POP3 協(xié)議。

SMTP 協(xié)議這塊涉及的內(nèi)容比較多,下面這兩個問題比較重要:

  • 電子郵件的發(fā)送過程
  • 如何判斷郵箱是真正存在的?

電子郵件的發(fā)送過程?

比如我的郵箱是“dabai@cszhinan.com”,我要向“xiaoma@qq.com”發(fā)送郵件,整個過程可以簡單分為下面幾步:

  • 通過 SMTP 協(xié)議,我將我寫好的郵件交給 163 郵箱服務(wù)器(郵局)。
  • 163 郵箱服務(wù)器發(fā)現(xiàn)我發(fā)送的郵箱是 qq 郵箱,然后它使用 SMTP 協(xié)議將我的郵件轉(zhuǎn)發(fā)到 qq 郵箱服務(wù)器。
  • qq 郵箱服務(wù)器接收郵件之后就通知郵箱為“xiaoma@qq.com”的用戶來收郵件,然后用戶就通過 POP3/IMAP 協(xié)議將郵件取出。

一個電子郵件被發(fā)送的過程

https://www.campaignmonitor.com/resources/knowledge-base/what-is-the-code-that-makes-bcc-or-cc-operate-in-an-email/

如何判斷郵箱是真正存在的?

很多場景(比如郵件營銷)下面我們需要判斷我們要發(fā)送的郵箱地址是否真的存在,這個時候我們可以利用 SMTP 協(xié)議來檢測:

  • 查找郵箱域名對應(yīng)的 SMTP 服務(wù)器地址
  • 嘗試與服務(wù)器建立連接
  • 連接成功后嘗試向需要驗證的郵箱發(fā)送郵件
  • 根據(jù)返回結(jié)果判定郵箱地址的真實性

推薦幾個在線郵箱是否有效檢測工具:

  • https://verify-email.org/
  • http://tool.chacuo.net/mailverify
  • https://www.emailcamel.com/

POP3/IMAP:郵件接收的協(xié)議

面試官:POP3/IMAP 協(xié)議了解嗎?

大白:巴拉巴拉說了一大堆。。。

面試官:這兩個協(xié)議沒必要多做闡述,只需要了解 POP3 和 IMAP 兩者都是負(fù)責(zé)郵件接收的協(xié)議即可。另外,需要注意不要將這兩者和 SMTP 協(xié)議搞混淆了。SMTP 協(xié)議只負(fù)責(zé)郵件的發(fā)送,真正負(fù)責(zé)接收的協(xié)議是 POP3/IMAP。

IMAP 協(xié)議相比于 POP3 更新一點,為用戶提供的可選功能也更多一點,幾乎所有現(xiàn)代電子郵件客戶端和服務(wù)器都支持 IMAP。大部分網(wǎng)絡(luò)郵件服務(wù)提供商都支持 POP3 和 IMAP。

FTP:文件傳輸協(xié)議

面試官:應(yīng)用層文件傳輸使用的是什么協(xié)議?

大白:文件傳輸協(xié)議 FTP(File Transfer Protocol)

面試官:可以簡單介紹一下嗎?

大白:FTP 協(xié)議主要提供文件傳輸服務(wù),基于 TCP 實現(xiàn)可靠的傳輸。使用 FTP 傳輸文件的好處是可以屏蔽操作系統(tǒng)和文件存儲方式。

FTP 是基于客戶—服務(wù)器(C/S)模型而設(shè)計的,在客戶端與 FTP 服務(wù)器之間建立兩個連接。如果我們要基于 FTP 協(xié)議開發(fā)一個文件傳輸?shù)能浖脑挘紫刃枰闱宄?FTP 的原理。關(guān)于 FTP 的原理,很多書籍上已經(jīng)描述的非常詳細(xì)了:

FTP 的獨特的優(yōu)勢同時也是與其它客戶服務(wù)器程序最大的不同點就在于它在兩臺通信的主機之間使用了兩條 TCP 連接(其它客戶服務(wù)器應(yīng)用程序一般只有一條 TCP 連接):

  • 控制連接:用于傳送控制信息(命令和響應(yīng))
  • 數(shù)據(jù)連接:用于數(shù)據(jù)傳送;

這種將命令和數(shù)據(jù)分開傳送的思想大大提高了 FTP 的效率。

FTP工作過程

DNS:域名系統(tǒng)

面試官:域名是是如何被解析為 IP 地址的?

大白:域名系統(tǒng)(DNS,Domain Name System)將人類可讀的域名 (例如,www.baidu.com) 轉(zhuǎn)換為機器可讀的 IP 地址 (例如,220.181.38.148)。 我們可以將其理解為專為互聯(lián)網(wǎng)設(shè)計的電話薄。

dns-overview

IP 地址是一個網(wǎng)卡再網(wǎng)絡(luò)世界中的通訊地址,我們可以把它理解為我們現(xiàn)實世界中的家庭地址。

DNS 解析的完整流程是怎樣的呢? (這個會在后面的文章中詳細(xì)介紹到)

DNS 解析的完整流程

https://aws.amazon.com/cn/route53/what-is-dns/

Telnet:遠(yuǎn)程登錄協(xié)議

面試官:遠(yuǎn)程登錄協(xié)議了解嗎?

大白:遠(yuǎn)程登陸協(xié)議,通過一個終端登陸到其他服務(wù)器,建立在可靠的傳輸協(xié)議 TCP 之上。Telnet 協(xié)議的最大缺點之一是所有數(shù)據(jù)(包括用戶名和密碼)均以明文形式發(fā)送,這有潛在的安全風(fēng)險。這就是為什么如今很少使用 Telnet 并被一種稱為 SSH 的非常安全的協(xié)議所取代的主要原因。

SSH:安全的網(wǎng)絡(luò)傳輸協(xié)議

大白:SSH( Secure Shell)是目前較可靠,專為遠(yuǎn)程登錄會話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議。利用 SSH 協(xié)議可以有效防止遠(yuǎn)程管理過程中的信息泄露問題。SSH 建立在可靠的傳輸協(xié)議 TCP 之上。

Telnet 和 SSH 之間的主要區(qū)別在于 SSH 協(xié)議會對傳輸?shù)臄?shù)據(jù)進行加密保證數(shù)據(jù)安全性。

3傳輸層(Transport layer)

面試官:好了!看來你小子沒少花時間準(zhǔn)備啊!我們再來看看傳輸層吧!

面試官:你先說說傳輸層主要做了什么工作吧?

大白: 傳輸層的主要任務(wù)就是負(fù)責(zé)向兩臺終端設(shè)備進程之間的通信提供通用的數(shù)據(jù)傳輸服務(wù)。 應(yīng)用進程利用該服務(wù)傳送應(yīng)用層報文。“通用的”是指并不針對某一個特定的網(wǎng)絡(luò)應(yīng)用,而是多種應(yīng)用可以使用同一個運輸層服務(wù)。

運輸層主要使用以下兩種協(xié)議:

  • 傳輸控制協(xié)議 TCP(Transmisson Control Protocol)--提供面向連接的,可靠的數(shù)據(jù)傳輸服務(wù)。
  • 用戶數(shù)據(jù)協(xié)議 UDP(User Datagram Protocol)--提供無連接的,盡最大努力的數(shù)據(jù)傳輸服務(wù)(不保證數(shù)據(jù)傳輸?shù)目煽啃?。

transport-layer

大白:關(guān)于 TCP 和 UDP 的詳細(xì)介紹咱們會在后面的文章中介紹到。

4網(wǎng)絡(luò)層(Network layer)

面試官:好家伙!TCP 和 UDP 還要留一手是吧?

大白:不急嘛!我們先把網(wǎng)絡(luò)層聊完(反客為主)。

大白:網(wǎng)絡(luò)層負(fù)責(zé)為分組交換網(wǎng)上的不同主機提供通信服務(wù)。 在發(fā)送數(shù)據(jù)時,網(wǎng)絡(luò)層把運輸層產(chǎn)生的報文段或用戶數(shù)據(jù)報封裝成分組和包進行傳送。在 TCP/IP 體系結(jié)構(gòu)中,由于網(wǎng)絡(luò)層使用 IP 協(xié)議,因此分組也叫 IP 數(shù)據(jù)報,簡稱數(shù)據(jù)報。

注意 ??:不要把運輸層的“用戶數(shù)據(jù)報 UDP”和網(wǎng)絡(luò)層的“IP 數(shù)據(jù)報”弄混。

網(wǎng)絡(luò)層的還有一個任務(wù)就是選擇合適的路由,使源主機運輸層所傳下來的分株,能通過網(wǎng)絡(luò)層中的路由器找到目的主機。

這里強調(diào)指出,網(wǎng)絡(luò)層中的“網(wǎng)絡(luò)”二字已經(jīng)不是我們通常談到的具體網(wǎng)絡(luò),而是指計算機網(wǎng)絡(luò)體系結(jié)構(gòu)模型中第三層的名稱.

互聯(lián)網(wǎng)是由大量的異構(gòu)(heterogeneous)網(wǎng)絡(luò)通過路由器(router)相互連接起來的。互聯(lián)網(wǎng)使用的網(wǎng)絡(luò)層協(xié)議是無連接的網(wǎng)際協(xié)議(Intert Prococol)和許多路由選擇協(xié)議,因此互聯(lián)網(wǎng)的網(wǎng)絡(luò)層也叫做網(wǎng)際層或IP 層。

nerwork-layer

面試官:那我挑幾個比較重要的協(xié)議,你給介紹一下唄!大白。

IP:網(wǎng)際協(xié)議

面試官:IP 協(xié)議了解么?

大白:網(wǎng)際協(xié)議 IP 是 TCP/IP 協(xié)議中最重要的協(xié)議之一,也是網(wǎng)絡(luò)層最重要的協(xié)議之一,IP 協(xié)議的作用包括尋址規(guī)約、定義數(shù)據(jù)包的格式等等,是網(wǎng)絡(luò)層信息傳輸?shù)闹髁f(xié)議。目前 IP 協(xié)議主要分為兩種,一種是過去的 IPv4,另一種是較新的 IPv6,目前這兩種協(xié)議都在使用,但后者已經(jīng)被提議來取代前者。

大白:關(guān)于 IP 協(xié)議的詳細(xì)介紹咱們會在后面的文章中介紹到。

ARP:地址解析協(xié)議

面試官:ARP 協(xié)議呢?

大白:ARP 協(xié)議,全稱地址解析協(xié)議(Address Resolution Protocol),它解決的是網(wǎng)絡(luò)層地址和鏈路層地址之間的轉(zhuǎn)換問題。因為一個 IP 數(shù)據(jù)報在物理上傳輸?shù)倪^程中,總是需要知道下一跳(物理上的下一個目的地)該去往何處,但 IP 地址屬于邏輯地址,而 MAC 地址才是物理地址,ARP 協(xié)議解決了 IP 地址轉(zhuǎn) MAC 地址的一些問題。

大白:關(guān)于 ARP 協(xié)議的詳細(xì)介紹咱們會在后面的文章中介紹到。

NAT:網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議

面試官:哎呦!有點東西!再說說 NAT 協(xié)議吧!

大白:NAT 協(xié)議(Network Address Translation)的應(yīng)用場景如同它的名稱——網(wǎng)絡(luò)地址轉(zhuǎn)換,應(yīng)用于內(nèi)部網(wǎng)到外部網(wǎng)的地址轉(zhuǎn)換過程中。具體地說,在一個小的子網(wǎng)(局域網(wǎng),LAN)內(nèi),各主機使用的是同一個 LAN 下的 IP 地址,但在該 LAN 以外,在廣域網(wǎng)(WAN)中,需要一個統(tǒng)一的 IP 地址來標(biāo)識該 LAN 在整個 Internet 上的位置。

大白:關(guān)于 NAT 協(xié)議的詳細(xì)介紹咱們會在后面的文章中介紹到。

5網(wǎng)絡(luò)接口層(Network interface layer)

面試官:網(wǎng)絡(luò)接口層呢?

大白:我們可以把網(wǎng)絡(luò)接口層看作是數(shù)據(jù)鏈路層和物理層的合體。

  • 數(shù)據(jù)鏈路層(data link layer)通常簡稱為鏈路層( 兩臺主機之間的數(shù)據(jù)傳輸,總是在一段一段的鏈路上傳送的)。數(shù)據(jù)鏈路層的作用是將網(wǎng)絡(luò)層交下來的 IP 數(shù)據(jù)報組裝成幀,在兩個相鄰節(jié)點間的鏈路上傳送幀。每一幀包括數(shù)據(jù)和必要的控制信息(如同步信息,地址信息,差錯控制等)。
  • 物理層的作用是實現(xiàn)相鄰計算機節(jié)點之間比特流的透明傳送,盡可能屏蔽掉具體傳輸介質(zhì)和物理設(shè)備的差異

network-interface-layer

最后再分享一個關(guān)于 OSI 七層模型非常不錯的總結(jié)圖片!

https://wsgzao.github.io/post/osi/

6總結(jié)

下面大白帶大家簡單總結(jié)一下每一層包含的協(xié)議和核心技術(shù):

network-protocol-overview

應(yīng)用層協(xié)議 :

  • HTTP 協(xié)議(超文本傳輸協(xié)議,網(wǎng)頁瀏覽常用的協(xié)議)
  • DHCP 協(xié)議(動態(tài)主機配置)
  • DNS 系統(tǒng)原理(域名系統(tǒng))
  • FTP 協(xié)議(文件傳輸協(xié)議)
  • Telnet 協(xié)議(遠(yuǎn)程登陸協(xié)議)
  • 電子郵件協(xié)議等(SMTP、POP3、IMAP)
  • ......

傳輸層協(xié)議 :

  • TCP 協(xié)議
    • 報文段結(jié)構(gòu)
    • 可靠數(shù)據(jù)傳輸
    • 流量控制
    • 擁塞控制
  • UDP 協(xié)議
  • 報文段結(jié)構(gòu)
  • RDT(可靠數(shù)據(jù)傳輸協(xié)議)

網(wǎng)絡(luò)層協(xié)議 :

  • IP 協(xié)議(TCP/IP 協(xié)議的基礎(chǔ),分為 IPv4 和 IPv6)
  • ARP 協(xié)議(地址解析協(xié)議,用于解析 IP 地址和 MAC 地址之間的映射)
  • ICMP 協(xié)議(控制報文協(xié)議,用于發(fā)送控制消息)
  • NAT 協(xié)議(網(wǎng)絡(luò)地址轉(zhuǎn)換協(xié)議)
  • RIP 協(xié)議、OSPF 協(xié)議、BGP 協(xié)議(路由選擇協(xié)議)
  • ......

網(wǎng)絡(luò)接口層 :

 

  • 差錯檢測技術(shù)
  • 多路訪問協(xié)議(信道復(fù)用技術(shù))
  • CSMA/CD 協(xié)議
  • MAC 協(xié)議
  • 以太網(wǎng)技術(shù)
  • ......

 

責(zé)任編輯:武曉燕 來源: CS指南
相關(guān)推薦

2023-09-02 21:44:24

TCP/IP通信協(xié)議

2022-01-05 21:54:51

網(wǎng)絡(luò)分層系統(tǒng)

2022-03-30 10:10:17

字節(jié)碼??臻g

2010-06-13 13:39:46

TCP IP協(xié)議棧

2010-09-27 13:25:58

TCP IP協(xié)議棧

2022-10-19 14:08:42

SYNTCP報文

2019-09-30 09:41:04

五層協(xié)議OSITCP

2020-09-07 06:38:54

HA高可用協(xié)議

2022-02-20 09:56:28

TCPIP網(wǎng)絡(luò)協(xié)議

2022-12-02 13:49:41

2019-01-18 16:39:08

系統(tǒng)層中間件層應(yīng)用層

2020-08-06 00:41:17

TCPIP網(wǎng)絡(luò)協(xié)議

2024-09-19 08:51:01

HTTP解密截取

2024-11-26 08:52:34

SQL優(yōu)化Kafka

2022-10-10 08:13:16

遞歸通用代碼

2022-08-13 12:07:14

URLHTTP加密

2017-05-23 16:13:45

2020-12-15 06:54:02

帶寬延時吞吐率

2022-07-26 00:00:02

TCPUDPMAC

2021-10-29 21:26:39

前端引擎層類型
點贊
收藏

51CTO技術(shù)棧公眾號