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

聊聊 TCP/IP 協(xié)議處理流程

網(wǎng)絡(luò) 無線技術(shù)
本文總結(jié)了數(shù)據(jù)包的生命周期,從用戶發(fā)出命令或發(fā)送消息到接收主機上的相應(yīng)應(yīng)用程序接收到數(shù)據(jù)包。

?當(dāng)用戶使用 TCP/IP 應(yīng)用層協(xié)議的命令時,會啟動一系列事件。用戶的命令或消息通過本地機器上的 TCP/IP 協(xié)議棧,然后通過網(wǎng)絡(luò)介質(zhì)到達接收者的協(xié)議。發(fā)送主機上每一層的協(xié)議將信息添加到原始數(shù)據(jù)中。

當(dāng)用戶的命令通過協(xié)議棧時,發(fā)送主機每一層的協(xié)議也與接收主機上的對等方交互。

數(shù)據(jù)封裝和 TCP/IP 協(xié)議棧

數(shù)據(jù)包是通過網(wǎng)絡(luò)傳輸?shù)男畔⒌幕締卧?,至少由包含發(fā)送和接收主機地址的標(biāo)頭和包含要傳輸?shù)臄?shù)據(jù)的主體組成。當(dāng)數(shù)據(jù)包通過 TCP/IP 協(xié)議棧時,每一層的協(xié)議在基本報頭中添加或刪除字段。當(dāng)發(fā)送主機上的協(xié)議將數(shù)據(jù)添加到數(shù)據(jù)包頭時,該過程稱為數(shù)據(jù)封裝。此外,每一層對修改后的數(shù)據(jù)包都有不同的術(shù)語,如下圖所示。

圖片

本文總結(jié)了數(shù)據(jù)包的生命周期,從用戶發(fā)出命令或發(fā)送消息到接收主機上的相應(yīng)應(yīng)用程序接收到數(shù)據(jù)包。

應(yīng)用層——用戶發(fā)起通信

當(dāng)一個主機上的用戶發(fā)送消息或發(fā)出必須訪問遠(yuǎn)程主機的命令時,數(shù)據(jù)包的歷史就開始了。與命令或消息相關(guān)的應(yīng)用協(xié)議對數(shù)據(jù)包進行格式化,以便它可以由適當(dāng)?shù)膫鬏攲訁f(xié)議 TCP 或 UDP 處理。

假設(shè)用戶發(fā)出rlogin命令登錄遠(yuǎn)程主機,該rlogin命令使用 TCP 傳輸層協(xié)議。TCP 期望以包含命令中信息的字節(jié)流的形式接收數(shù)據(jù)。因此,rlogin將此數(shù)據(jù)作為 TCP 流發(fā)送。

然而,并非所有應(yīng)用層協(xié)議都使用 TCP。假設(shè)用戶想在遠(yuǎn)程主機上掛載一個文件系統(tǒng),從而啟動 NIS+ 應(yīng)用層協(xié)議。NIS+ 使用 UDP 傳輸層協(xié)議。因此,包含命令的數(shù)據(jù)包必須以 UDP 期望的方式格式化。這種類型的數(shù)據(jù)包稱為消息。

傳輸層——數(shù)據(jù)封裝開始

當(dāng)數(shù)據(jù)到達傳輸層時,該層的協(xié)議啟動數(shù)據(jù)封裝過程。最終結(jié)果取決于 TCP 或 UDP 是否處理了信息。

(1) TCP 分段

TCP 通常被稱為“面向連接”的協(xié)議,因為它確保將數(shù)據(jù)成功傳送到接收主機。上圖顯示了 TCP 協(xié)議如何接收來自rlogin命令的流。TCP 將從應(yīng)用層接收到的數(shù)據(jù)分成多個段,并在每個段上附加一個標(biāo)頭。

段標(biāo)頭包含發(fā)送方和接收方端口、段排序信息和稱為校驗和的數(shù)據(jù)字段。兩臺主機上的 TCP 協(xié)議使用校驗和數(shù)據(jù)來確定數(shù)據(jù)是否已正確傳輸。

(2) 建立 TCP 連接

TCP 使用段來確定接收主機是否準(zhǔn)備好接收數(shù)據(jù)。當(dāng)發(fā)送 TCP 想要建立連接時,它會向運行在接收主機上的對等 TCP 協(xié)議發(fā)送一個稱為 SYN 的段。接收 TCP 返回一個稱為 ACK 的段,以確認(rèn)該段的成功接收。發(fā)送 TCP 發(fā)送另一個 ACK 段,然后繼續(xù)發(fā)送數(shù)據(jù)。這種控制信息的交換被稱為三次握手。

(3) UDP 數(shù)據(jù)包

UDP 是一種“無連接”協(xié)議。與 TCP 不同,它不檢查以確保數(shù)據(jù)到達接收主機。相反,UDP 接收從應(yīng)用層接收到的消息并將其格式化為UDP 數(shù)據(jù)包。UDP 為每個數(shù)據(jù)包附加一個標(biāo)頭,其中包含發(fā)送和接收主機端口、包含數(shù)據(jù)包長度的字段和校驗和。

發(fā)送 UDP 進程嘗試將數(shù)據(jù)包發(fā)送到接收主機上的對等 UDP 進程。應(yīng)用層確定接收 UDP 進程是否確認(rèn)接收到數(shù)據(jù)包。UDP 不需要接收通知。UDP 不使用三次握手。

互聯(lián)網(wǎng)層

TCP 和 UDP 都將它們的段和數(shù)據(jù)包向下傳遞到 Internet 層,由 IP 協(xié)議處理它們。IP 通過將它們格式化為稱為 IP 數(shù)據(jù)報的單元來為交付做好準(zhǔn)備。然后 IP 確定數(shù)據(jù)報的 IP 地址,以便將它們有效地傳遞給接收主機。

(1) IP數(shù)據(jù)報

除了 TCP 或 UDP 添加的信息之外,IP 還會將 IP 標(biāo)頭附加到段或數(shù)據(jù)包的標(biāo)頭。IP 頭中的信息包括發(fā)送和接收主機的 IP 地址、數(shù)據(jù)報長度和數(shù)據(jù)報序列順序。如果數(shù)據(jù)報超過網(wǎng)絡(luò)數(shù)據(jù)包允許的字節(jié)大小并且必須分段,則提供此信息。

數(shù)據(jù)鏈路層——成幀

數(shù)據(jù)鏈路層協(xié)議(如 PPP)將 IP 數(shù)據(jù)報格式化為幀。他們附加第三個頁眉和一個頁腳來“框定”數(shù)據(jù)報。幀頭包括一個循環(huán)冗余校驗(CRC) 字段,用于在幀通過網(wǎng)絡(luò)介質(zhì)傳輸時檢查錯誤。然后數(shù)據(jù)鏈路層將幀傳遞給物理層。

物理網(wǎng)絡(luò)層——為傳輸準(zhǔn)備幀

發(fā)送主機上的物理網(wǎng)絡(luò)層接收幀并將 IP 地址轉(zhuǎn)換為適合網(wǎng)絡(luò)介質(zhì)的硬件地址。然后物理網(wǎng)絡(luò)層通過網(wǎng)絡(luò)介質(zhì)將幀發(fā)送出去。

接收主機如何處理數(shù)據(jù)包

當(dāng)數(shù)據(jù)包到達接收主機時,它會按照與發(fā)送方相反的順序通過 TCP/IP 協(xié)議棧。上圖說明了這條路徑。此外,接收主機上的每個協(xié)議都會剝離發(fā)送主機上的對等方附加到數(shù)據(jù)包的標(biāo)頭信息。這是發(fā)生的事情:

  • 物理網(wǎng)絡(luò)層以幀的形式接收數(shù)據(jù)包。它計算數(shù)據(jù)包的 CRC,然后將幀發(fā)送到數(shù)據(jù)鏈路層。
  • 數(shù)據(jù)鏈路層驗證幀的 CRC 是否正確,并去除幀頭和 CRC。最后,數(shù)據(jù)鏈路協(xié)議將幀發(fā)送到 Internet 層。
  • Internet 層讀取標(biāo)頭中的信息以識別傳輸并確定它是否是片段。如果傳輸是分段的,IP 將這些分段重新組合成原始數(shù)據(jù)報。然后它剝離 IP 報頭并將數(shù)據(jù)報傳遞給傳輸層協(xié)議。
  • 傳輸層(TCP 和 UDP)讀取標(biāo)頭以確定哪個應(yīng)用層協(xié)議必須接收數(shù)據(jù)。然后 TCP 或 UDP 剝離其相關(guān)的標(biāo)頭并將消息或流發(fā)送到接收應(yīng)用程序。
  • 應(yīng)用層接收消息并執(zhí)行發(fā)送主機請求的操作。?
責(zé)任編輯:趙寧寧 來源: 弱電文檔
相關(guān)推薦

2014-10-15 09:14:24

IP

2019-09-30 09:28:26

LinuxTCPIP

2014-11-21 09:16:23

TCPIP

2010-09-08 15:11:36

TCP IP協(xié)議棧

2010-06-08 13:32:19

TCP IP協(xié)議基礎(chǔ)

2010-06-08 14:23:47

TCP IP協(xié)議概念

2020-12-03 08:37:38

TCPIPARP協(xié)議

2019-06-12 14:18:31

TCPIP協(xié)議DNS

2010-06-12 15:54:09

TCP IP協(xié)議

2010-06-18 14:37:20

TCP IP協(xié)議

2017-08-16 11:00:38

TCPIP協(xié)議

2019-09-18 20:07:06

AndroidTCP協(xié)議

2010-06-08 15:10:08

2010-09-17 16:38:41

TCP IP協(xié)議

2010-06-09 16:28:50

TCP IP傳輸協(xié)議

2010-06-13 14:49:40

TCP IP協(xié)議優(yōu)化

2010-09-27 13:35:43

TCP IP故障

2010-06-13 15:37:24

TCP協(xié)議

2010-06-08 13:50:40

TCP IP協(xié)議族

2010-09-08 15:34:27

TCP IP協(xié)議棧
點贊
收藏

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