IP報文頭詳解以及定義

2021-09-23 13:58:09 字數 1551 閱讀 7261

ip資料報也叫ip報文分組,傳輸在iso網路7層結構中的網路層,它由ip報文頭ip報文使用者資料組成,ip報文頭的長度一般在2060個位元組之間,而乙個ip分組的最大長度則不能超過65535個位元組。

下圖為ip分組的報文頭格式,報文頭的前20個位元組是固定的,後面的可變。

版本:佔4位(bit),指ip協議的版本號。目前的主要版本為ipv4,即第4版本號,也有一些教育網和科研機構在使用ipv6。在進行通訊時,通訊雙方的ip協議版本號必須一致,否則無法直接通訊。

首部長度:佔4位(bit),指ip報文頭的長度。最大的長度(即4個bit都為1時)為15個長度單位,每個長度單位為4位元組(tcp/ip標準,doubleword),所以ip協議報文頭的最大長度為60個位元組,最短為上圖所示的20個位元組。

服務型別:佔8位(bit),用來獲得更好的服務。其中的前3位表示報文的優先順序,後面的幾位分別表示要求更低時延、更高的吞吐量、更高的可靠性、更低的路由代價等。對應位為1即有相應要求,為0則不要求。

總長度:16位(bit),指報文的總長度。注意這裡的單位為位元組,而不是4位元組,所以乙個ip報文的的最大長度為65535個位元組。

標識(identification):該欄位標記當前分片為第幾個分片,在資料報重組時很有用。

標誌(flag):該欄位用於標記該報文是否為分片(有一些可能不需要分片,或不希望分片),後面是否還有分片(是否是最後乙個分片)。

片偏移:指當前分片在原資料報(分片前的資料報)中相對於使用者資料字段的偏移量,即在原資料報中的相對位置。

生存時間:ttl(time to live)。該欄位表明當前報文還能生存多久。每經過1ms或者乙個閘道器,ttl的值自動減1,當生存時間為0時,報文將被認為目的主機不可到達而丟棄。使用過ping命令的使用者應該有印象,在windows中輸入ping命令,在返回的結果中即有ttl的數值。

協議:該欄位指出在上層(網路7層結構或tcp/ip的傳輸層)使用的協議,可能的協議有udp、tcp、icmp、igmp、igp等。

首部校驗和:用於檢驗ip報文頭部在傳播的過程中是否出錯,主要校驗報文頭中是否有某乙個或幾個bit被汙染或修改了。

源ip位址:32位(bit),4個位元組,每乙個位元組為0~255之間的整數,及我們日常見到的ip位址格式。

目的ip位址:32位(bit),4個位元組,每乙個位元組為0~255之間的整數,及我們日常見到的ip位址格式。

**:

IP頭 TCP頭 UDP頭詳解以及定義

ip資料報也叫ip報文分組,傳輸在iso網路7層結構中的網路層,它由ip報文頭和ip報文使用者資料組成,ip報文頭的長度一般在20到60個位元組之間,而乙個ip分組的最大長度則不能超過65535個位元組。下圖為ip分組的報文頭格式,報文頭的前20個位元組是固定的,後面的可變。由於delphi裡面沒有...

MAC頭 IP頭 TCP頭 UDP頭詳解以及定義

一 mac幀頭定義 資料幀定義,頭14個位元組,尾4個位元組 typedef struct mac frame header attribute packed mac frame header,pmac frame header typedef struct mac frame tail attri...

IP頭結構詳解

版本號 version 長度4位元。標識目前採用的ip協議的版本號。一般的值為0100 ipv4 0110 ipv6 ip包頭長度 header length 長度4位元。這個欄位的作用是為了描述ip包頭的長度,因為在ip包頭中有變長的可選部分。該部分佔4個bit位,單位為32bit 4個位元組 即...