version:版本號 長度4位元。標識目前採用的ip協議的版本號。一般的值為0100(ipv4),0110(ipv6)
header length:ip包頭長度 4位元。這個欄位的作用是為了描述ip包頭的長度,因為在ip包頭中有變長的可選部分。該部分佔4個bit位,單位為32bit(4個位元組),即本區域值= ip頭部長度(單位為bit)/(8*4),因此,乙個ip包頭的長度最長為「1111」,即15*4=60個位元組。ip包頭最小長度為20位元組。
type of service:服務型別
長度8位元。8位 按位被如下定義 ppp dtrc0
ppp:定義包的優先順序,取值越大資料越重要
000 普通 (routine)
001 優先的 (priority)
010 立即的傳送 (immediate)
011 閃電式的 (flash)
100 比閃電還閃電式的 (flash override)
101 cri/tic/ecp(
找不到這個詞的翻譯
)110 網間控制 (internetwork control)
111 網路控制 (network control)
d 時延: 0:普通 1:延遲盡量小
t 吞吐量: 0:普通 1:流量盡量大
r 可靠性: 0:普通 1:可靠性盡量大
m 傳輸成本: 0:普通 1:成本盡量小
0 最後一位被保留,恆定為0
total length:ip包總長
長度16位元。 以位元組為單位計算的ip包的長度 (包括頭部和資料),所以ip包最大長度65535位元組。
identifier:識別符號
長度16位元。該字段和flags和fragment offest欄位聯合使用,對較大的上層資料報進行分段(fragment)操作。路由器將乙個包拆分後,所有拆分開的小包被標記相同的值,以便目的端裝置能夠區分哪個包屬於被拆分開的包的一部分。
flags:標記
長度3位元。該欄位第一位不使用。第二位是df(don't fragment)位,df位設為1時表明路由器不能對該上層資料報分段。如果乙個上層資料報無法在不分段的情況下進行**,則路由器會丟棄該上層資料報並返回乙個錯誤資訊。第三位是mf(more fragments)位,當路由器對乙個上層資料報分段,則路由器會在除了最後乙個分段的ip包的包頭中將mf位設為1。
fragment offset:片偏移
長度13位元。表示該ip包在該組分片包中位置,接收端靠此來組裝還原ip包。
time to live:生存時間
長度8位元。當ip包進行傳送時,先會對該字段賦予某個特定的值。當ip包經過每乙個沿途的路由器的時候,每個沿途的路由器會將ip包的ttl值減少1。如果ttl減少為0,則該ip包會被丟棄。這個字段可以防止由於路由環路而導致ip包在網路中不停被**。
protocol:協議
8bit的協議字段表示在ip上層承載的是什麼協議。比如:0x01表示icmp協議、0x06表示tcp協議、0x11表示udp協議等。
header checksum:頭部校驗
16bit的首部校驗和字段用來使接收端檢驗收到的報文是否正確。該字段只對ip首部計算校驗和不包含後面的資料字段。原因是ip的上層協議比如icmp、igmp、tcp、udp協議的各自首部中均含有同時覆蓋首部和資料的校驗和。
計算方法:首先把首部中的該字段全部置0,然後對首部中的每個16bit進行反碼求和,得到的值就是該字段的值,填入後。將該資料報發給接收端後,接收端將進行相同的操作,對每個16bit進行反碼求和(此時首部校驗和字段為非0欄位),所以計算後的值若為全1表示正確,否則表示收到的資料報不正確,動作為丟棄。
source:源位址
destination:目的位址
options:可選項
一般不使用該欄位,該字段的值以32bit為單位,不足時以0補充。
padding:填充
IP包頭詳解
ip協議 writed by vindeselly 版本 4 bit 首部長度 4 bit 服務型別 tos 8 bit 總長度 位元組數 16 bit 標識16 bit 標誌3 bit 片偏移13 bit 生成時間 ttl 8 bit 協議8 bit 首部檢驗和 16 bit 源ip位址 32 b...
IP包頭結構詳解
這篇講得比較詳細 清楚,轉了 ip包頭結構如下圖所示 下面具體分析ip包頭中各部分的作用。版本號 version 長度4位元。標識目前採用的ip協議的版本號。一般的值為0100 ipv4 0110 ipv6 ip包頭長度 header length 長度4位元。這個欄位的作用是為了描述ip包頭的長度...
ip包頭結構詳解
空間管理您的位置 51testing軟體測試網 seventest 日誌 檢視 1195 評分 0 0 版本號 version 長度4位元。標識目前採用的ip協議的版本號。一般的值為0100 ipv4 0110 ipv6 ip包頭長度 header length 長度4位元。這個欄位的作用是為了描述...