(1)版本 佔4位,指IP協議的版本。通訊雙方使用的IP協議版本必須一致。目前廣泛使用的IP協議版本號為4(即IPv4)。關於IPv6,目前還處於草案階段。
(2)首部長度 佔4位,可表示的最大十進位制數值是15。請注意,這個欄位所表示數的單位是32位字(1個32位字長是4位元組),因此,當IP的首部長度為1111時(即十進位制的15),首部長度就達到60位元組。當IP分組的首部長度不是4位元組的整數倍時,必須利用最後的填充欄位加以填充。因此資料部分永遠在4位元組的整數倍開始,這樣在實現IP協議時較為方便。首部長度限制為60位元組的缺點是有時可能不夠用。但這樣做是希望使用者儘量減少開銷。最常用的首部長度就是20位元組(即首部長度為0101),這時不使用任何選項。
(3)區分服務 佔8位,用來獲得更好的服務。這個欄位在舊標準中叫做服務型別,但實際上一直沒有被使用過。1998年IETF把這個欄位改名為區分服務DS(Differentiated Services)。只有在使用區分服務時,這個欄位才起作用。
(4)總長度 總長度指首部和資料之和的長度,單位為位元組。總長度欄位為16位,因此資料報的最大長度為216-1=65535位元組。
在IP層下面的每一種資料鏈路層都有自己的幀格式,其中包括幀格式中的資料欄位的最大長度,這稱為最大傳送單元MTU(Maximum Transfer Unit)。當一個數據報封裝成鏈路層的幀時,此資料報的總長度(即首部加上資料部分)一定不能超過下面的資料鏈路層的MTU值。
(5)標識(identification) 佔16位。IP軟體在儲存器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識欄位。但這個“標識”並不是序號,因為IP是無連線服務,資料報不存在按序接收的問題。當資料報由於長度超過網路的MTU而必須分片時,這個標識欄位的值就被複制到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。
(6)標誌(flag) 佔3位,但目前只有2位有意義。
● 標誌欄位中的最低位記為MF(More Fragment)。MF=1即表示後面“還有分片”的資料報。MF=0表示這已是若干資料報片中的最後一個。
● 標誌欄位中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。
(7)片偏移 佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料欄位的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,每個分片的長度一定是8位元組(64位)的整數倍。
(8)生存時間 佔8位,生存時間欄位常用的的英文縮寫是TTL(Time To Live),表明是資料報在網路中的壽命。由發出資料報的源點設定這個欄位。其目的是防止無法交付的資料報無限制地在因特網中兜圈子,因而白白消耗網路資源。最初的設計是以秒作為TTL的單位。每經過一個路由器時,就把TTL減去資料報在路由器消耗掉的一段時間。若資料報在路由器消耗的時間小於1秒,就把TTL值減1。當TTL值為0時,就丟棄這個資料報。
(9)協議 佔8位,協議欄位指出此資料報攜帶的資料是使用何種協議,以便使目的主機的IP層知道應將資料部分上交給哪個處理過程。
(10)首部檢驗和 佔16位。這個欄位只檢驗資料報的首部,但不包括資料部分。這是因為資料報每經過一個路由器,路由器都要重新計算一下首部檢驗和(一些欄位,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗資料部分可減少計算的工作量。
(11)源地址 佔32位。
(12)目的地址 佔32位。
(1)版本 佔4位,指IP協議的版本。通訊雙方使用的IP協議版本必須一致。目前廣泛使用的IP協議版本號為4(即IPv4)。關於IPv6,目前還處於草案階段。
(2)首部長度 佔4位,可表示的最大十進位制數值是15。請注意,這個欄位所表示數的單位是32位字(1個32位字長是4位元組),因此,當IP的首部長度為1111時(即十進位制的15),首部長度就達到60位元組。當IP分組的首部長度不是4位元組的整數倍時,必須利用最後的填充欄位加以填充。因此資料部分永遠在4位元組的整數倍開始,這樣在實現IP協議時較為方便。首部長度限制為60位元組的缺點是有時可能不夠用。但這樣做是希望使用者儘量減少開銷。最常用的首部長度就是20位元組(即首部長度為0101),這時不使用任何選項。
(3)區分服務 佔8位,用來獲得更好的服務。這個欄位在舊標準中叫做服務型別,但實際上一直沒有被使用過。1998年IETF把這個欄位改名為區分服務DS(Differentiated Services)。只有在使用區分服務時,這個欄位才起作用。
(4)總長度 總長度指首部和資料之和的長度,單位為位元組。總長度欄位為16位,因此資料報的最大長度為216-1=65535位元組。
在IP層下面的每一種資料鏈路層都有自己的幀格式,其中包括幀格式中的資料欄位的最大長度,這稱為最大傳送單元MTU(Maximum Transfer Unit)。當一個數據報封裝成鏈路層的幀時,此資料報的總長度(即首部加上資料部分)一定不能超過下面的資料鏈路層的MTU值。
(5)標識(identification) 佔16位。IP軟體在儲存器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識欄位。但這個“標識”並不是序號,因為IP是無連線服務,資料報不存在按序接收的問題。當資料報由於長度超過網路的MTU而必須分片時,這個標識欄位的值就被複制到所有的資料報的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確地重灌成為原來的資料報。
(6)標誌(flag) 佔3位,但目前只有2位有意義。
● 標誌欄位中的最低位記為MF(More Fragment)。MF=1即表示後面“還有分片”的資料報。MF=0表示這已是若干資料報片中的最後一個。
● 標誌欄位中間的一位記為DF(Don’t Fragment),意思是“不能分片”。只有當DF=0時才允許分片。
(7)片偏移 佔13位。片偏移指出:較長的分組在分片後,某片在原分組中的相對位置。也就是說,相對使用者資料欄位的起點,該片從何處開始。片偏移以8個位元組為偏移單位。這就是說,每個分片的長度一定是8位元組(64位)的整數倍。
(8)生存時間 佔8位,生存時間欄位常用的的英文縮寫是TTL(Time To Live),表明是資料報在網路中的壽命。由發出資料報的源點設定這個欄位。其目的是防止無法交付的資料報無限制地在因特網中兜圈子,因而白白消耗網路資源。最初的設計是以秒作為TTL的單位。每經過一個路由器時,就把TTL減去資料報在路由器消耗掉的一段時間。若資料報在路由器消耗的時間小於1秒,就把TTL值減1。當TTL值為0時,就丟棄這個資料報。
(9)協議 佔8位,協議欄位指出此資料報攜帶的資料是使用何種協議,以便使目的主機的IP層知道應將資料部分上交給哪個處理過程。
(10)首部檢驗和 佔16位。這個欄位只檢驗資料報的首部,但不包括資料部分。這是因為資料報每經過一個路由器,路由器都要重新計算一下首部檢驗和(一些欄位,如生存時間、標誌、片偏移等都可能發生變化)。不檢驗資料部分可減少計算的工作量。
(11)源地址 佔32位。
(12)目的地址 佔32位。