計算機網路(18) IPv4 資料報格式及分片

2021-10-19 07:02:14 字數 1900 閱讀 4497

網際網路網路層包括三個主要元件:

ip 協議

路由選擇部分,它決定了資料分組從源到目的所流經的路徑,由路由選擇協議計算出用於網路中**分組的**表

icmp 協議,即網際網路控制報文協議,用於網路層的差錯和資訊報告。icmp 協議可以看作是 ip 協議的伴隨協議,通常實現 ip 協議的同時也需要實現 icmp 協議。

ipv4資料報中的關鍵字段如下:

並不是所有的鏈路層協議都能承載相同長度的網路層分組,網路鏈路存在最大傳輸單元(maximum transmission unit,mtu),指該鏈路資料幀可封裝資料的上限,因此鏈路層協議的 mtu 嚴格地限制著 ip 資料報的長度。不同鏈路的 mtu 可能是不相同的。例如,乙太網幀能夠承載不超過 1500 位元組的資料,某些廣域網鏈路地幀可承載不超過 576 位元組的資料。

當大的 ip 分組向較小 mtu 鏈路**時,可以被「分片」,ip 分片到達目的主機後進行「重組」(路由器只負責分片,不負責組裝)。ip 首部的相關字段(總長度、標識、標誌位和片偏移)用於標識分片以及確定分片的相對順序:

假設原 ip 分組總長度為 l

ll,待**鏈路的 mtu 為 m

mm,若 l

>

ml>m

l>

m 且 df=

0df=0

df=0

,則可以 / 需要分片:每個分片具有初始資料報的源位址、目的位址和標識號。通常分片時,除最後乙個分片,其他分片均分為 mtu 允許的最大分片,乙個最大分片可封裝的資料應該是 8 的倍數(由於片偏移欄位以 8 位元組為單位),因此乙個最大分片可封裝的資料位元組數為:

d =⌊

m−208

⌋∗8d = \lfloor \frac\rfloor * 8

d=⌊8m−

20​⌋

∗8需要的總片數為:

n =⌈

l−20d

⌉n = \lceil \frac \rceil

n=⌈dl−

20​⌉

每片的片偏移字段取值為:

f i=

d8∗(

i−1)

,1≤i

≤nf_i= \frac * (i-1), 1 \leq i \leq n

fi​=8d

​∗(i

−1),

1≤i≤

n每片的總長度字段取值為:

l i=

d+20 & 1 \leq i li

​=_i=\left\ 1 & 1 \leq i mfi

​={1

0​1≤i=n

舉例:

下面的例子中,原 ip 分組總長度為 4000 位元組,鏈路層 mtu 為 1500 位元組,df=0 表示可以分片。那麼乙個最大分片可封裝的資料恰好為 1500-20 = 1480 位元組(為 8 的倍數),因此原資料報可以分為 3 片。

計算機網路之IPV4 定址

ip協議目前有連個版本即ipv4和ipv6,先來看ipv4,ipv4的資料報格式如圖所示 ipv4資料報的關鍵字段如下 乙個鏈路層幀能夠承載的最大資料量稱最大傳輸單元 mtu 每個資料報被封裝在鏈路層幀中從一台路由器傳輸到令一台路由器,所以鏈路層協議的mtu嚴格的限制著資料報的最大長度。要傳送乙個資...

計算機網路IPv4協議例題

題目 假設主機a與路由器r1連線,r1又與另乙個路 由器r2連線r2與主機b連線.假定乙個要發給主機b的tcp訊息被傳遞給主機a的ip 其中包含了900個位元組的資料和20個位元組的tcp頭.請寫出在三條鏈路上傳輸的每個資料報中ip頭部的total length,identification df,...

計算機網路 IPV6

目錄 ipv6的必要性 ipv6的特點 ipv6中ip位址的標記方法 ipv6位址的結構 全域性單播位址 鏈路本地單播位址 唯一本地位址 ipv6分段處理 ipv6 ip version 6 是為了根本解決ipv4位址耗盡的問題而被標準化的網際協議。ipv4的位址長度為4個8位位元組,即32位元。而...