圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。
黃色的是資料鏈路層的頭部,一共14位元組
綠色的部分是ip頭部,一般是20位元組
紫色部分是
tcp頭部,一般是
20位元組
最內部的是資料報內容
黃色部分:鏈路層
目的mac源mac型別:指定網路層所用的協議型別,通常是ip協議,0x0800
綠色部分:網路層,這裡用的是ip包頭格式
版本:記錄資料報屬於哪乙個版本的協議,如ipv4或ipv6
首部長度:指明ip頭部長度,它指明的是首部佔32bit的數目,(即單位為4byte)。該域的值最小為5,就是標準的頭部長度;最大為15,表明有擴充套件部分。
服務型別:用來區分不同服務的需要
資料報總長:包含ip頭部的資料報的總長度。注意,這裡不包括鏈路層的頭部,目前最大值是65535位元組。
分組id:這個域的作用是當乙個大的資料報被拆分時,拆分成的小的資料段的這個域都是一樣的。
標記:共三個bit,第乙個未使用;第二個df(don』t fragment),設定成1表示這個資料報不能被分割,這個是針對路由器的一條指令;第三個mf(morefragment),如果乙個資料報被分割了,那麼除了最後乙個分段以外的所有分段都必須設定為1,用來表示後面還有更多的分段沒有到達,最後乙個設定為0,用來表示分割的段全部到達。
段偏移量:這個域有13bit,也就是每乙個資料報最多有8192個分段。每乙個分段的長度必須是8位元組的倍數,也就是說8位元組是分段的基本單位,當然分組的最後乙個段不做限制。這樣最大的資料報長度為8*8192=65536位元組,比目前限制的最大資料報長度還多1,能夠滿足對網路中所有資料報傳送的需求。
高層協議:這裡和鏈路層的型別作用相同,用來表示更高層的協議,這個資料報裡是tcp
首部校驗和:ip頭部的校驗和
源ip目的ip紫色部分:傳輸層,這裡用的是
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 當前step目的主機的mac位址 源 mac 當前s...
TCP IP資料報格式詳解 包括資料鏈路層的頭部
圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共 14位元組 綠色的部分是 ip頭部,一般是 20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的 mac源 mac型別 指定網路層所用的協議型別,通常是 ip...
TCP IP資料報格式詳解 包括資料鏈路層的頭部
圖中括號中的數字代表的是當前域所佔的空間大小,單位是bit位。黃色的是資料鏈路層的頭部,一共 14位元組 綠色的部分是 ip頭部,一般是 20位元組 紫色部分是 tcp頭部,一般是 20位元組 最內部的是資料報內容 黃色部分 鏈路層 目的 mac源 mac型別 指定網路層所用的協議型別,通常是 ip...