1. 程式人生 > >網路層協議——IP協議

網路層協議——IP協議

1、IP協議的特點:無狀態、無連線、不可靠

無狀態:指IP通訊雙方不同步傳輸資料的狀態資訊,因此所有IP資料報的傳送、傳輸和接收都是相互獨立、沒有上下文關係的。

無連線:指IP通訊雙方都不長久的維持對方的任何資訊。

不可靠:指IP協議不能保證IP資料報準確地到達接收端,它只承諾盡最大努力。

2、IPv4頭部結構


4位版本號:指定IP協議的版本。對IPv4來說,其值為4

4位頭部長度:4位最大能儲存15,因此,IP資料報報頭的長度最大是60位元組

8位服務型別:包括3位的優先順序欄位,4位的TOS欄位和1位保留欄位。4位的TOS欄位分別表示為:最小延時(ssh/tenlet),最大吞吐量,最高可靠性、最小費用。其中,最多隻能有一個設定為1。

16為總長度:是指整個IP資料報的長度,以位元組為單位。IP資料報最大的長度為65535位元組。但是由於MTU的限制,長度超過MTU的資料報都會被分片傳輸。

16位標識:唯一地標識主機發送的每一個數據報。其初始值由系統隨機生成,每傳送一個數據報,其值加1。同一資料報的所有分片具有相同的標識。

3位標誌:第一位保留;第二位是DF位,“禁止分片”,如果設定該位,則IP資料報不允許分片,如果IP資料報的長度超過MTU,則丟棄該資料報;第三位MF位,“更多分片”,除了資料報的最後一個分片外,其他分片都要將其設定為1。

13位片偏移:是分片相對原始資料報的偏移。實際的偏移值是將該值左移3位後的值,除了最後一個分片,每個IP分片的資料部分的長度必須是8的倍數。

8位生存時間:是資料報到達目的地之前允許經過的路由器跳數。當該值為0是,路由器丟棄該資料報,並向源端返回ICMP差錯報文。

8位協議:用來區分上層協議。


16位頭部校驗和:由傳送端填充,接收端使用CRC演算法檢驗IP資料報頭部在傳輸中是否出錯。(僅檢驗頭部)

32位源IP地址和目的IP地址:分別標識資料報的傳送端和接收端

3、IP分片

(1)當IP資料報的長度超過幀的MTU時,它將被分片傳輸,分片可能發生在傳送端,也可能發生在中轉路由器,而且可能在傳輸過程中被多次分片,但只有在最終的目標機器上,這些分片才會被核心中的IP模組重新組裝

(2)一個IP資料報的每個分片都有自己的IP頭部,他們具有相同的標識值、但具有不同的片偏移。並且除了最後一個分片外,其他分片都設定MF標誌。每個分片的IP頭部的總長度都被設定為該分片的長度。

4、IPv6頭部結構


IPv6版本目前使用較少,想要深入學習IPv6的小夥伴們就自己動手查資料吧~~