主機、路由器網(wǎng)絡(luò)層主要功能:

我們將在這篇文章詳細(xì)介紹ip數(shù)據(jù)報的格式
首先,ip數(shù)據(jù)報分為兩部分,首部和數(shù)據(jù)

我們詳細(xì)分析首部各字段的意義

版本號字段占4位: IP協(xié)議的版本號,一般有兩個值,如果為4就代表是IPv4,6就代表是IPv6協(xié)議。 4→IPv4, 6 → IPv6
首部長度字段占4位: IP分組首部長度,這里是以四個字節(jié)為單位,如果值為5,則表示首部長度為20個字節(jié)(5×4),從圖中也可以看到,ip首部長度最短應(yīng)該是20個字節(jié),除掉可變部分,固定部分就是20個字節(jié)。
服務(wù)類型(TOS)字段占8位:指示期望獲得哪種類型的服務(wù)
- 1998 年這個字段改名為區(qū)分服務(wù)
- 只有在網(wǎng)絡(luò)提供區(qū)分服務(wù)(DiffServ)時使用
- 一般情況下不使用,通常IP分組的該字段(第2字節(jié))的值為00H
總長度字段占16位: IP分組的總字節(jié)數(shù)(首部+數(shù)據(jù))
- 最大IP分組的總長度: 65535B
- 最小的IP分組首部: 20B
- IP分組可以封裝的最大數(shù)據(jù): 65535-20=65515B
生存時間( TTL) 字段占8位: IP分組在網(wǎng)絡(luò)中可以通過的路由器數(shù)(或跳步數(shù))
- 路由器轉(zhuǎn)發(fā)一次分組, TTL減1
- 如果TTL=0,路由器則丟棄該IP分組
協(xié)議字段占8位: 指示IP分組封裝的是哪個協(xié)議的數(shù)據(jù)包
- 實現(xiàn)復(fù)用/分解
- E.g. 6為TCP,表示封裝的為TCP段; 17為UDP, 表示封裝的是UDP數(shù)據(jù)報
首部校驗和字段占16位:實現(xiàn)對IP分組首部的差錯檢測
- 計算校驗和時,該字段置全0
- 采用反碼算數(shù)運算求和,和的反碼作為首部校驗和字段
- 逐跳計算、逐跳校驗
源IP地址、目的IP地址字段各占32位:分別標(biāo)識發(fā)送分組的源主機/路由器(網(wǎng)絡(luò)接口)和接收分組的目的主機/路由器(網(wǎng)絡(luò)接口)的IP地址
選項字段占長度可變,范圍在1~40B之間:攜帶安全、源選路徑、時間戳和路由記錄等內(nèi)容 ** 實際上很少被使用 **
填充字段占長度可變,范圍在0~3B之間:目的是補齊整個
首部,符合32位對齊,即保證首部長度是4字節(jié)的倍數(shù)
ip分片
在介紹ip數(shù)據(jù)報首部字段的時候,我們忽略了第二行字段的介紹,因為這一行的字段涉及到ip數(shù)據(jù)報的分片,我們將先介紹ip數(shù)據(jù)報的分片,再來介紹這幾個字段的含義。
網(wǎng)絡(luò)鏈路存在MTU (最大傳輸單元)—鏈路層數(shù)據(jù)幀可封裝數(shù)據(jù)的上限。** 不同鏈路的MTU不同 **。

大IP分組向較小MTU鏈路轉(zhuǎn)發(fā)時, 可以被“分片” (fragmented)
- 1個IP分組分為多片IP分組
- IP分片到達(dá)目的主機后進(jìn)行“重組”(reassembled)
IP首部的相關(guān)字段用于標(biāo)識分片以及確定分片的相對順序
- 總長度、標(biāo)識、標(biāo)志位和片偏移


標(biāo)識字段占16位:標(biāo)識一個IP分組
- IP協(xié)議利用一個計數(shù)器,每產(chǎn)生IP分組計數(shù)器加1,作為該IP分組的標(biāo)識
標(biāo)志位字段占3位:
- DF (Don't Fragment)
- MF (More Fragment)
image.png
- DF =1:禁止分片;
DF =0:允許分片
- MF =1:非最后一片;
MF =0:最后一片(或未分片)
片偏移字段占13位:一個IP分組分片封裝原IP分組數(shù)據(jù)的
相對偏移量
- 片偏移字段以8字節(jié)為單位
ip分片過程
- 假設(shè)原IP分組總長度為L,待轉(zhuǎn)發(fā)鏈路的MTU為M
- 若L>M,且DF=0,則可以/需要分片
- 分片時每個分片的標(biāo)識復(fù)制原IP分組的標(biāo)識
- 通常分片時,除最后一個分片,其他分片均分為MTU允許的最大分片
-
一個最大分片可封裝的數(shù)據(jù)應(yīng)該是8的倍數(shù), 因此, 一個最大分片可封裝的數(shù)據(jù)為:
image.png - 需要的總片數(shù)為:




