IP資料報格式簡介

在前面介紹計算機網路其他部分的內容時,經常會提到IP資料報。今天,就來簡單介紹下IP資料報的格式。

IP資料報格式簡介

IP資料報格式

由上圖可知,IP資料報主要由兩部分構成:

首部+資料部分。

首部一般由兩部分構成,

固定部分+可變部分。

固定部分共佔20個位元組,任何一個IP資料報首部都會包含此部分內容。可變部分是可選的,且長度可變。

下面簡單介紹下IP資料報首部中固定部分各欄位的代表的意義

版本

佔4位,指IP協議的版本。通訊雙方所使用的IP協議版本必須一致。目前被廣泛使用的是IPv4,在2019年所有的IPv4地址耗盡後,後續,開始採用IPv6。

首部長度

佔4位,用於表示IP資料報首部的長度。注!該欄位的基本單位是32位,即4個位元組。舉個例子,當首部長度欄位為0101(5)時,代表IP資料報首部的總長度為4*5=20個位元組。20個位元組為首部長度的最小值,即可變部分為0個位元組。若IP資料報的首部長度不是4的整數倍時,必須在後面填充位元組,這樣才可以保證IP資料報的資料部分在4位元組的整數倍開始,這樣在實現IP協議時較為方便。

區分服務

佔8位,即一個位元組。區分服務欄位在一般情況下都不會被使用,在這裡就不做說明。

總長度

佔16位,即兩個位元組。用於表示首部+資料部分,及整個IP資料報的長度。總長度欄位為16位,因此資料報最大長度為65535個位元組。

在IP層下的資料鏈路層,有著不同的幀格式。這些幀格式中的資料欄位的最大長度,稱為

最大傳送單元MTU

。當一個IP資料報封裝成鏈路層的幀時,此資料報的總長度(即首部加上資料部分)一定不能超過下面的資料鏈路層的MTU值。

標識

佔16位。IP軟體在儲存器中維持一個計數器,每產生一個數據報,計數器就加1,並將此值賦給標識欄位。這個標識欄位主要用於當資料報長度超過網路的MTU而需要分片時,這個標識欄位的值就會被複制到所有的資料報片的標識欄位中。相同的標識欄位的值使分片後的各資料報片最後能正確重灌成原來的資料報。

標誌

佔3位。目前只前兩位有意義

標誌位最低位

MF,

MF等於1代表該資料報已被分片,後面還有傳輸的被分片的同一資料報。

MF=0

代表這是若干個資料報片中的最後一個。

標誌位中間位

DF,DF

為1代表該資料報不允許分片,為0代表該資料報允許分片。

片偏移

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

IP資料報格式簡介

生存時間

佔8位,表明資料報在網路中的壽命。由發出資料報的源點設定這個欄位。其目的是為了防止無法交付的資料報無限制地在因特網中兜圈子。最開始,把TTL以秒作為單位,沒經過一個路由器,就減去在這個路由器消耗的時間秒數,直到TTL為0時,就丟棄這個資料報。後面,TTL代表的含義是“跳數限制”,每當IP資料報經過一個路由器時,TTL的值會減1,直到TTL的值小於0則丟棄該資料報。TTL的意義在於指明資料報在因特網中最多可以經過多少個路由器(255)。

IP資料報格式簡介

協議

佔8位,協議欄位指出此資料報攜帶的資料是何種協議,以便使目的主句的IP層知道應將資料部分上交給哪個處理過程。

IP資料報格式簡介

首部檢驗和

佔16位,這個欄位只檢驗資料報的首部,不包括資料部分。

源地址

佔32位

目的地址

佔32位

IP地址首部的可變部分

IP地址的可變部分就是一個選項欄位。選項欄位用來支援排錯,測量,以及安全等措施。此欄位長度可變,從1個位元組到40個位元組不等。具體不再這裡細說。

今天暫時先介紹這些內容,其他部分後面有時間再細說。