IP包頭結構淺析

IP包頭結構淺析
IP報頭結構圖
版本號(Version):長度4比特。標識目前採用的IP協議的版本號。一般的值爲0100IPv4),IPv6的值(0110
IP包頭長度(Header Length):長度4比特。這個字段的作用是爲了描述IP包頭的長度,因爲在IP包頭中有變長的可選部分。IP包頭最小長度爲20字節,由於變長的可選部分最大長度可能會變成24字節。
服務類型(Type of Service):長度8比特。這個子段可以拆分成兩個部分:PrecedenceTOSTOS目前不太使用。而Precedence則用於QOS應用。(TOS字段的詳細描述RFC 1340 1349
IP包總長(Total Length):長度16比特。IP包最大長度65535字節。
標識符(Identifier:長度16比特。該字段和FlagsFragment Offest字段聯合使用,對大的上層數據包進行分段(fragment)操作。
標記(Flags):長度3比特。該字段第一位不使用。第二位是DF位,DF位設爲1時表明路由器不能對該上層數據包分段。如果一個上層數據包無法在不分段的情況下進行轉發,則路由器會丟棄該上層數據包並返回一個錯誤信息。第三位是MF位,當路由器對一個上層數據包分段,則路由器會在除了最後一個分段的IP包的包頭中將MF位設爲1
分段序號(Fragment Offset):長度13比特。該字段對包含分段的上層數據包的IP包賦予序號。由於IP包在網絡上傳送的時候不一定能按順序到達,這個字段保證了目標路由器在接受到IP包之後能夠還原分段的上層數據包。到某個包含分段的上層數據包的IP包在傳送是丟失,則整個一系列包含分段的上層數據包的IP包都會被要求重傳。
生存時間(TTL):長度8比特。當IP包進行傳送時,先會對該字段賦予某個特定的值。當IP包經過每一個沿途的路由器的時候,每個沿途的路由器會將IP包的TTL值減少1。如果TTL減少爲0,則該IP包會被丟棄。這個字段可以防止由於故障而導致IP包在網絡中不停被轉發。
協議(Protocol):長度8比特。標識了上層所使用的協議。
頭部校驗(Header Checksum):長度16位,由於IP包頭是變長的,所以提供一個頭部校驗來保證IP包頭中信息的正確性。
起源和目標地址(Source and Destination Addresses
):這兩個地段都是32比特。標識了這個IP包的起源和目標地址。
可選項(Options):這是一個可變長的字段。該字段由起源設備根據需要改寫。可選項目包含以下內容:
鬆散源路由(Loose source routing):給出一連串路由器接口的IP地址。IP包必須沿着這些IP地址傳送,但是允許在相繼的兩個IP地址之間跳過多個路由器。
嚴格源路由(Strict source routing):給出一連串路由器接口的IP地址。IP包必須沿着這些IP地址傳送,如果下一跳不在IP地址表中則表示發生錯誤。
路由記錄(Record route):當IP包離開每個路由器的時候記錄路由器的出站接口的IP地址。
時間戳(Timestamps):當IP包離開每個路由器的時候記錄時間。

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