關於IP協議首部長度的計算

2021-09-02 20:10:58 字數 792 閱讀 4115

看到《tcp/ip詳解》ip協議中提到ip資料報首部長度是乙個4位元字段,因此首部最長是60個位元組。最小是20個位元組。那麼這個怎麼算的呢?

先看下ip資料報報格式及首部中各個字段,如下圖:

這裡只看首部長度(報文長度)部分

首部長度代表的是ip資料報頭部的長度,即圖中固定部分的長度。

1、為什麼首部長度最小是20位元組?

圖中每行是32bits(即4位元組),圖中標識的固定部分總共有5行,所以ip首部最小是20個位元組(5行*4位元組每行=20位元組)

2、為什麼說首部長度最大是60個位元組?

首部長度是4bit,而2^4是16,所以它的取值範圍是0-15(也可理解為4bit即是4個1,轉換成十進位制就是15),圖中每行是4個位元組(32bits),所以最大長度就是15*4=60位元組。從中也就得知首部長度最小數字是5,即1001(因為ip首部最小是20位元組)。

ps: 也有理解說,首部長度就是固定以4個位元組為單位。所以總是長度乘4,當然結果是一樣的。

3、另外記錄下圖中總長度字段

總長度總字是16bits,以位元組為單位。所以總長度最大是65535個位元組,也即是ip分組的最大長度。 總長度=(4*首部長度) + 資料長度

關於IP協議首部長度的計算

看到 tcp ip詳解 ip協議中提到ip資料報首部長度是乙個4位元字段,因此首部最長是60個位元組。最小是20個位元組。那麼這個怎麼算的呢?我的理解是這樣的 先看下ip資料報報格式及首部中各個字段,如下圖 這裡只看首部長度 報文長度 部分 首部長度代表的是ip資料報頭部的長度,即圖中固定部分的長度...

設定Tomcat伺服器的HTTP首部長度最大值

如果客戶端傳送的http首部長度超出了伺服器的限制,會收到伺服器返回的400錯誤資訊。failed to load resource the server responded with a status of 400 bad request http協議本身並沒有對首部長度進行限制,但具體的伺服器實...

關於IP資料報首部校驗欄位的理解

關於ip資料報首部校驗欄位的理解 ip資料報格式及首部個字段 www.2cto.com 對上表的各個資料項就不一一解釋了,這裡具體關注以下幾個資料項 1 4位首部長度 這裡的長度指的是4bytes單元的個數,例如上圖在 選項 欄位不存在的情況下,ip包的首部是20bytes,那麼首部長度字段應該為5...