IP報頭註釋

一----IP簡介

1---IP地址簡介:Internet Protocol Address-IP網際協議地址,常讀寫爲IP,有IPV4,IPV6(現在的主流依然是IP v4)

所有的IP地址都由國際組織NIC(Network Information Center)負責統一分配,目前全世界共有三個這樣的網絡信息中心。

2---IP地址的組成:

(1)---長度:32bit(也說32位,4字節=4B=32b),一共有2^32個IPV-4地址,

(2)---寫法:“4組點分十進制樹”--意思將一個32位的IP地址分爲4段,每段由2進制轉換爲10進制的樹來進行表示,每段數字範圍爲0-255

(3)---組成:一個IP地址由網絡號和主機號組成。

a:網絡號:同一網段內的IP地址的我網絡號是相同的,通過網絡號來區分主機之間是不是在邏輯上屬於同一網絡。

b:主機號:同一網段內主機部分不同時重複出現,通過主機部分來標識車主本主機在這個網絡內的位置。

二-----IP報頭詳解

IP報頭大小爲固定20字節(20B*8=160bit),總共由12部分組成。

1- -version---------版本(佔4b,指IP協議的版本)。

最詳細的的IP報頭註釋

 

2- -Header Length---頭部長度。(頭部長度是指IP報頭的總長度,因爲有Option可選部分,通常爲20字節,在20--60字節)。

該字段單位爲32位字(1個32位字爲4字節),因此當ip報頭長度爲1111時是最大60字節;

IP報頭長度不是4字節的整數倍是,就需要對填充域進行填充;

常用IP報頭長度爲20字節---顯示爲1010。

最詳細的的IP報頭註釋

 

3-----Differentiated Services Field(type of service)(佔8b)--TOS,服務類型。用來指定特殊的報文處理方式,又劃分爲IP precedenc和D/T/R和reserve保留字段,RFC2474的tos取消了ip precedence字段而使用了DSCP,給QoS用來打標籤。

一般情況下不使用這個字段。

最詳細的的IP報頭註釋

 

4--Total Length----總長度(佔16b)

標示此IP報頭和數據的之和的總長度。

總長度16位,一個數據最大長度65535字節;

鏈路只允許1500字節,超過的話需要進行MTU分片。

一個數據包由IP報頭和數據兩部分組成,而IP報頭爲20---60字節,所以不會有一個數據包裏純數據超過1480字節的。

最詳細的的IP報頭註釋

 

5- -Identification----ID標識符(佔16b)

與標記字段和偏移字段用於IP報文分片。

原始報文大小超過MTU(<1480B)就必須將原始數據進行分片,每個分片小於MTU

對同一原始文件被分片的報文打上相同的標記,也用來判斷流量是否來於同一主機。

IP軟件在存儲器中維持一個計數器沒生產一個數據包,計數器就加1,並賦予標識字段。

數據報文進行分片處理後每個分片的標識值都與原數據包的標識值相同,接收端具有同標識值的分片就能最終正確重組爲原數據。

Idertification(標識字段):

源站沒發送一個分組,標識值+1

(源IP地址,標識)------>全網唯一的分組標識。

最詳細的的IP報頭註釋

 

6- -Flag----標記(佔3b)

佔3位,目前只有2位具有意義;

第一位沒有被使用

第二位D時不分片爲(DF),當DF位置爲1時表示路由器不能對報文進行分片處理。

第三位M--More fragment---多分片(MF)

當路由器對報文進行分片時,除了最後一個分片的MF位設置爲0外,其他所有分片MF位置爲1,以便接收者直到收到MF位爲0的分片爲止。

最詳細的的IP報頭註釋

 

7- -Fragmentation offset----分片偏移(13b)

標識分片在分組中的位置。

片偏移以8個字節爲偏移單位,分片的長度爲8字節的整數倍;

以太網最大幀長爲1518B,IP報文1500B(三層)+幀頭18B(二層)。

注意:

MTU不是固定1500,這要取決現場物理環境;

MTU不包含幀頭幀尾。

最詳細的的IP報頭註釋

 

8- -Time to live--TTL----生存時間(8b)

跳數大小,即數據包能傳多少跳,

不同操作系統TTL的默認最大值會有所不同(linux-255;win98--225;win7/8/10--64);

表示數據包在網絡中的壽命(最初以秒爲單位,現在以跳數爲單位,最大225);

分組壽命,防止路由成環時IP數據被無限轉發;

源和目的路由器之間的路由數量(跳數);

路由設備每此轉發將TTL值減1,TTL爲0時丟棄該分組。

最詳細的的IP報頭註釋

 

9- -Protocol----協議(8b)

標識數據攜帶的數據是何種協議,標識傳輸層地址或協議號

如1代表ICMP,6代表TCP,17代表UDP

最詳細的的IP報頭註釋

 

10- -Header checksum----報頭校驗和(16b)

用於校驗檢查IP報頭是否有出入。

只校驗IP報頭部,數據部分由高層協議校驗(TCP頭的校驗字段包含IP頭和數據的校驗)

無需重複校驗數據部分;

縮短路由器轉發分組時的處理時間,數據部分由終端用高層協議校驗。

1- 發送方先把校驗和字段置爲0,對首部中沒個16bit(切割多個16b)進行二進制反碼求和,結果存在校驗和字段中。

2- 收到一份IP數據包後同樣對首部中每個16b進行二進制碼反求和,接收方計算中包含了發送方存在的首部校驗和。

3- 如果傳輸過程無錯誤,接收方結算結果全爲1,傳輸中出現錯誤或數據丟失校驗和結果爲非全1,接受者第丟棄校驗未通過數據。

4- 不生成錯誤報文,由上層發現丟失數據進行重傳。

11- -source ip address----源IP地址(32b)

此數據發起者的IP地址。

最詳細的的IP報頭註釋

 

12- -Destination ip address----目的IP地址(32b)

此數據的接收者IP地址。

最詳細的的IP報頭註釋

 

13- -Option----可選字段(0--40B)

Option字段很少使用,用於控制,轉發要求,測試等。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章