TCP IP資料報格式詳解 包括資料鏈路層的頭部

2021-06-28 17:19:35 字數 3381 閱讀 6461

圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。

黃色的是資料鏈路層的頭部,一共

14位元組

綠色的部分是

ip頭部,一般是

20位元組

紫色部分是

tcp頭部,一般是

20位元組

最內部的是資料報內容

黃色部分:鏈路層

目的

mac當前step目的主機的mac位址

mac當前step的源主機的mac位址

型別:指定網路層所用的協議型別,通常是

ip協議,

0x0800

綠色部分:網路層,這裡用的是

ip包頭格式

版本:記錄資料報屬於哪乙個版本的協議,如

ipv4

或ipv6

首部長度:指明

ip頭部長度,單位是字,也就是兩個位元組。該域的值最小為

5,就是標準的頭部長度;最大為

15,表明有擴充套件部分。

服務型別:用來區分不同服務的需要

資料報總長:包含

ip頭部的資料報的總長度。注意,這裡不包括鏈路層的頭部,目前最大值是

65535

位元組。分組

id這個域的作用是當乙個大的資料報被拆分時,拆分成的小的資料段的這個域都是一樣的。

標記:共三個

bit,第乙個未使用;第二個

df(don』t fragment)

,設定成

1表示這個資料報不能被分割,這個是針對路由器的一條指令;第三個

mf(morefragment)

,如果乙個資料報被分割了,那麼除了最後乙個分段以外的所有分段都必須設定為

1,用來表示後面還有更多的分段沒有到達,最後乙個設定為

0,用來表示分割的段全部到達。

段偏移量:這個域有

13bit

,也就是每乙個資料報最多有

8192

個分段。每乙個分段的長度必須是

8位元組的倍數,也就是說

8位元組是分段的基本單位,當然分組的最後乙個段不做限制。這樣最大的資料報長度為

8*8192=65536

位元組,比目前限制的最大資料報長度還多

1,能夠滿足對網路中所有資料報傳送的需求。

255s

,但是實際上使用的時候用作跳數計數器,當值為

0時資料報被丟棄,用來避免乙個資料報過久的逗留在網路中。

高層協議:這裡和鏈路層的型別作用相同,用來表示更高層的協議,這個資料報裡是

tcp首部校驗和:ip

頭部的校驗和

ipip

位址目的

ipip

位址紫色部分:傳輸層,這裡用的是

tcp協議

源埠號:資料報**主機的埠號

目的埠號:資料報目的主機的埠號

注意:源

ip位址,目的

ip位址,源埠號,目的埠號這四個字段唯一的確定了乙個

tcp鏈結。

tcp

序號(sq)傳送的

tcp的序號,從

0開始,實際中這個值就是傳送的資料報中內容的位元組數,比如我傳送的第乙個報中

sq=0

,資料報內容

20位元組,那麼下乙個資料報的

sq就應該是21。

捎帶的確認

(ack)確認收到上乙個資料報,然後

act的值是指定自己想要收到的下乙個資料報的

sq,比如我收到乙個資料報的

sq=0

,資料報內容

20位元組,那麼我的

ack就應該是

21,用來標明我

sq=0

,內容為

20位元組的資料報已經收到,我接下來期望收到的是

sq=21

的資料報。

首部長度:

ip頭部的長度域類似,這個域用來標明

tcp頭部的長度,單位也是字。

保留:6bit

未使用的域

flag從左到右,

[urg|ack|psh|rst|syn|fin]

ack設定為

1表示前面的確認(

ack)是有效的,否則前面的確認應被忽略。

psh表示要求對方在接到資料後立即請求遞交給應用程式

,而不是緩衝起來直到緩衝區收滿為止。

rst用於重置乙個已經混亂的連線。

syn用於建立連線的過程。在鏈結請求中,

syn=1

和ack=0

表示該資料段沒有使用捎帶的確認域。鏈結應答則捎帶了乙個確認,即

syn=1

和ack=1.

本質上syn

位是用來表示

connection

request

和connection accepted

,然後進一步用

ack來區分是請求還是應答,的確很高明。

fin用來釋放乙個連線。它表示傳送方已經沒有資料要傳輸了。然後,在關閉乙個連線後,關閉程序可能會在一段不確定的時間內繼續接收到資料。

syn和

fin資料段都有

tcp序號,從而保證了這兩種資料段被按照正確的順序來進行處理。

視窗大小:指定了從被確認的位元組算起可以傳送多少個位元組。要深入理解這個域的含義,可以參看

tcp用色控制和慢啟動演算法

校驗和:校驗範圍包括

tcp頭、資料報內容和概念性偽頭部。概念性偽頭部又包括源

ip,目的ip,

tcp協議號。

緊急指標:指向資料報中緊急資料最後乙個位元組的下乙個位元組。

TCP IP資料報格式詳解 包括資料鏈路層的頭部

圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共14位元組 綠色的部分是ip頭部,一般是20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的mac源mac型別 指定網路層所用的協議型別,通常是ip協議,0x0...

TCP IP資料報格式詳解 包括資料鏈路層的頭部

圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共 14位元組 綠色的部分是 ip頭部,一般是 20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的 mac源 mac型別 指定網路層所用的協議型別,通常是 ip...

TCP IP資料報格式詳解 包括資料鏈路層的頭部

圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共 14位元組 綠色的部分是 ip頭部,一般是 20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的 mac源 mac型別 指定網路層所用的協議型別,通常是 ip...