圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。
黃色的是資料鏈路層的頭部,一共
14位元組
綠色的部分是
ip頭部,一般是
20位元組
紫色部分是
tcp頭部,一般是
20位元組
最內部的是資料報內容
黃色部分:鏈路層
目的
mac源
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 當前step目的主機的mac位址 源 mac 當前s...
TCP IP資料報格式詳解 包括資料鏈路層的頭部
圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共 14位元組 綠色的部分是 ip頭部,一般是 20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的 mac源 mac型別 指定網路層所用的協議型別,通常是 ip...