TCP/IP 之IP數(shù)據(jù)報

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

image.png

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

image.png

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

image.png

版本號字段占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不同 **。

image.png

大IP分組向較小MTU鏈路轉(zhuǎn)發(fā)時, 可以被“分片” (fragmented)

  • 1個IP分組分為多片IP分組
  • IP分片到達(dá)目的主機后進(jìn)行“重組”(reassembled)

IP首部的相關(guān)字段用于標(biāo)識分片以及確定分片的相對順序

  • 總長度、標(biāo)識、標(biāo)志位和片偏移
image.png
image.png

標(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ù)為:
image.png
image.png
image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 11.1 引言 UDP是一個簡單的面向數(shù)據(jù)報的運輸層協(xié)議:進(jìn)程的每個輸出操作都正好產(chǎn)生一個UDP數(shù)據(jù)報,并組裝成一...
    張芳濤閱讀 2,971評論 1 6
  • 網(wǎng)絡(luò)層簡介 1. 概念 為解決經(jīng)由多條鏈路的交付問題,從而設(shè)計了網(wǎng)絡(luò)層。其主要負(fù)責(zé)主機到主機的交付,并且在分組經(jīng)過...
    顧慎為閱讀 3,394評論 0 0
  • 《Tcp/Ip協(xié)議族》筆記 網(wǎng)際協(xié)議版本4(IPv4) IP分組由一個基本首部和一些選項構(gòu)成,這些選項有時用于促進(jìn)...
    Zhang21閱讀 3,582評論 1 0
  • IP的作用 IP相當(dāng)于OSI參考模型中的網(wǎng)絡(luò)層,網(wǎng)絡(luò)層主要作用是實現(xiàn)終端節(jié)點之間的通信。具體來說,數(shù)據(jù)鏈路層的主要...
    我系哆啦閱讀 985評論 0 11
  • 本篇結(jié)構(gòu): 前言 IP地址 一、前言 網(wǎng)際協(xié)議IP是TCP/IP協(xié)議中最重要的兩個協(xié)議之一,也是最重要的互聯(lián)網(wǎng)標(biāo)準(zhǔn)...
    w1992wishes閱讀 1,316評論 0 1

友情鏈接更多精彩內(nèi)容