tft每日頭條

 > 科技

 > ip數據包的格式及含義

ip數據包的格式及含義

科技 更新时间:2025-02-01 06:59:24

IP數據包在通信中是非常重要的,為了加深對IP數據包格式的理解,今天來看看IP數據包究竟包含哪些字段,這些字段起到什麼作用。

來先看看IP包長啥樣子的,請看下圖

ip數據包的格式及含義(IP數據包的格式詳解)1

從上圖可看到IP包的包頭是20個字節。看看IP包頭包含哪些信息

版本:

占4位,指IP協議版本。并且通信雙方使用的版本必須一緻,目前我們使用的是IPv4,IPv6也是一種版本,目前用的不多,以後會使用

首部長度:

占4位,表示的最大十進制數是15(注意:首部長度字段所表示的單位是32位子,一個32位字長是4字節),因此首部長度的最小值為5(即:0101),相當于5*4=20字節,最大值為15(即:1111),相當于15*4=60字節,切記當首部長度不是4的整數倍時,必須利用最後的填充字段填充

區分服務:

占 8位,用來獲得更好的服務,一般情況下不怎麼使用這個字段,隻有在區分服務時使用這個字段。

總長度:

指首部和數據之和的長度,單位為字節,總長度字段為16位,因此數據報的最大長度為2^16 - 1 = 65535

标識:

占16位,IP軟件在存儲器中維持一個計數器,每産生一個數據包,計數器加1,并将此值賦給标識字段,當數據包長度超過網絡的MTU時,就要采用分片處理,分片時,這個标識字段的值就會被複制到所有的數據報切片中。最後相同的數據報标識字段的分片就會重裝成為原來的數據報。

标志:

占3位,但目前隻有兩位有意義

  • 标志字段中最低位記MF,MF=1表示後面還有分片的數據報,MF=0,表示這是若幹數據報中的最後一個
  • 中間的一位為DF,意思是不能分片,隻有當DF=0時才允許分片
片偏移:

占13位,表示相對于用戶數據的起點,該片從何處開始,片偏移以8字節為偏移量,也就是說每一個分片的長度一定是8字節的整數倍。

生存時間:

占8位,生存時間常用的字段是TTL(Time To Live),表示數據報在網絡中的壽命,由發出的源站點設置,目的就是防止無法交付的數據報在因特網中無限制的兜圈子,白白消耗資源。TTL字段是以跳數限制的,每經過一個路由器,在轉發之前就把跳數減為1,當TTL減為0時就會丢棄這個數據報,因為數據報在因特網中最大經過的路由器是255

協議:

占8位,協議字段指數據報攜帶的數據是使用何種協議的,以便使目的主機的IP層知道将數據部分上交給那個處理過程。

ip數據包的格式及含義(IP數據包的格式詳解)2

首部校驗和:

占16位,這個字段隻檢驗數據報的首部,不包括數據部分。這是因為數據報沒經過一次路由器,都要重新計算一下首部校驗和(因為,一些字段如生存時間、标志、片偏移等可能發生變化)

源地址和目的地址:

占32位,表示發送端和接收端的IP地址

可選字段:

占25位,該字段大小長度可變,從一字節到40字節不等

填充

占7位,前面字段加起來不是4的整數倍時,該字段填充全0補齊為4字節的倍數

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved