IP資料包頭部資訊分析

淺淺愛默默發表於2019-01-03

IP資料包頭部分析

         IP資料包由首部和資料兩部分組成,首部的前一部分是固定長度,共20位元組,是所有IP資料包必須具有的。在首部的固定部分的後面是一些可選欄位,其長度是可變的,為0—40位元組。所以,頭部總長度為20—60位元組。首部中的源地址和目的地址都是IP協議地址。

具體內容如下圖所示:

IP資料包頭部分析:

固定部分

1、版本:佔4bit,指IP協議的版本,目前廣泛使用的IP協議版本號為4(即IPV4)。

2、首部長度:佔4bit,可表示的最大十進位制數值是15(一個單位為4位元組),因此,IP的首部長度的最大值是60位元組。

3、區分服務:佔8bit,用來獲得更好的服務。

4、總長度:佔16bit。總長度欄位是指整個IP資料包的長度。包括首部長度和資料長度,單位為位元組。總長度欄位為16位,因此資料包的最大長度為2^16-1=65535位元組。其中,利用首部長度和總長度欄位,就可以知道IP資料包中資料的長度。

5、標識:佔16bit。IP軟體在儲存器中維持一個計數器,每產生一個資料包,計數器就加1,並將此值賦給標識欄位。標識欄位唯一的標識主機傳送的每一份資料包。通常每傳送一份報文它的值就會加1。

6、標誌:佔3bit,但目前只有2位有意義。標誌欄位代表劃分每個分組屬於同一個資料包文,等待重新組裝。

  •        標誌欄位中的最低位記為MF(More Fragment)。MF=1即表示後面“還有分片”的資料包。MF=0表示這已是若干資料包片中的最後一個。
  •       標誌欄位中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。

7、片偏移:佔13bit。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料欄位的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,除了最後一個分片,每個分片的長度一定是8位元組(64位)的整數倍。

8、生存時間:佔8bit,生存時間欄位常用的的英文縮寫是TTL(Time To Live),表明是資料包在網路中的壽命。其目的是防止無法交付的資料包無限制地在網路中兜圈子,因而白白消耗網路資源。路由器在轉發資料包之前就把TTL值減1.若TTL值減少到零,就丟棄這個資料包,不再轉發。TTL的意義是指明資料包在網路中至多可經過多少個路由器。顯然,資料包在網路上經過的路由器的最大數值是255。

9、協議:佔8bit,協議欄位指出此資料包攜帶的資料是使用何種協議,以便使目的主機的IP層知道應將資料部分上交給哪個處理程式。

10、首部檢驗和:佔16bit。這個欄位只針對首部資訊進行簡單的校驗。不包括資料部分。這是因為資料包每經過一個路由器,路由器都要重新計算一下首部檢驗和(一些欄位,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗資料部分可減少計算的工作量。

11、源地址,目的地址:佔32bit, 進行通訊的雙方。每一個IP資料包都包含有源地址和目的地址目的地址

可變部分

       IP首部的可變部分就是一個可選欄位。選項欄位用來支援排錯、測量以及安全等措施,內容很豐富。此欄位的長度可變,從1個位元組到40個位元組不等,取決於所選擇的專案。某些選項專案只需要1個位元組,它只包括1個位元組的選項程式碼。但還有些選項需要多個位元組,這些選項一個個拼接起來,中間不需要有分隔符,最後用全0的填充欄位補齊成為4位元組的整數倍。

       增加首部的可變部分是為了增加IP資料包的功能,但這同時也使得IP資料包的首部長度成為可變的。這就增加了每一個路由器處理資料包的開銷。實際上這些選項很少被使用。新的IP版本IPv6就將IP資料包的首部長度做成固定的。

IP資料包轉發

  • 1)從資料包的首部提取目的主機的IP地址D;D與子網掩碼相 "與" 得出目的網路地址N;
  • 2)若網路N與此路由器直接相連,則把資料包直接交付目的主機D;否則是間接交付,執行 3);
  • 3)若路由表中有目的地址為D的特定主機路由,則把資料包傳送給路由表中所指明的下一跳路由器;否則,執行 4);
  • 4)若路由表中有到達網路N的路由,則把資料包傳送給路由表指明的下一跳路由器;否則,執行 5);
  • 5)若路由表中有一個預設路由,則把資料包傳送給路由表中所指明的預設路由器;否則,執行 6);
  • 6)報告轉發分組出錯。

 

 

 

 

相關文章