IP包頭詳解

 
版本號(Version:長度4比特。標識目前採用的IP協議的版本號。一般的值爲0100IPv4),0110IPv6

IP
包頭長度(Header Length: 長度4比特。這個字段的作用是爲了描述IP包頭的長度,因爲在IP包頭中有變長的可選部分。該部分佔4bit位,單位爲32bit4個字節),即本區 域值= IP頭部長度(單位爲bit/(8*4),因此,一個IP包頭的長度最長爲“1111”,即15*460個字節。IP包頭最小長度爲20字節。

服務類型
Type of Service:長度8比特。8位按位被如下定義 PPP DTRC0
PPP
:定義包的優先級,取值越大數據越重要

   000
普通 (Routine)
   001
優先的
(Priority)
   010
立即的發送
(Immediate)
   011
閃電式的
(Flash)
   100
比閃電還閃電式的
(Flash Override)
   101 CRI/TIC/ECP(
找不到這個詞的翻譯
)
   110
網間控制
(Internetwork Control)
   111
網絡控制
(Network Control)

D
時延: 0:普通 1:延遲儘量小

T
吞吐量: 0:普通 1:流量儘量大
R
可靠性: 0:普通 1:可靠性儘量大
M
傳輸成本: 0:普通 1:成本儘量小
0
最後一位被保留,恆定爲0

IP
包總長(Total Length:長度16比特。 以字節爲單位計算的IP包的長度 (包括頭部和數據),所以IP包最大長度65535字節。


標識符(Identifier:長度16比特。該字段和FlagsFragment Offest字段聯合使用,對較大的上層數據包進行分段(fragment)操作。路由器將一個包拆分後,所有拆分開的小包被標記相同的值,以便目的端設備能夠區分哪個包屬於被拆分開的包的一部分。

標記(Flags: 長度3比特。該字段第一位不使用。第二位是DFDon't Fragment)位,DF位設爲1時表明路由器不能對該上層數據包分段。如果一個上層數據包無法在不分段的情況下進行轉發,則路由器會丟棄該上層數據包 並返回一個錯誤信息。第三位是MFMore Fragments)位,當路由器對一個上層數據包分段,則路由器會在除了最後一個分段的IP包的包頭中將MF位設爲1

片偏移(Fragment Offset:長度13比特。表示該IP包在該組分片包中位置,接收端靠此來組裝還原IP包。

生存時間(TTL:長度8比特。當IP包進行傳送時,先會對該字段賦予某個特定的值。當IP包經過每一個沿途的路由器的時候,每個沿途的路由器會將IP包的TTL值減少1。如果TTL減少爲0,則該IP包會被丟棄。這個字段可以防止由於路由環路而導致IP包在網絡中不停被轉發。

協議(Protocol:長度8比特。標識了上層所使用的協議。
以下是比較常用的協議號:
    1    ICMP
    2    IGMP
    6    TCP
   17    UDP
   88    IGRP
   89    OSPF

頭部校驗
Header Checksum:長度16位。用來做IP頭部的正確性檢測,但不包含數據部分。 因爲每個路由器要改變TTL的值,所以路由器會爲每個通過的數據包重新計算這個值。

起源和目標地址(Source and Destination Addresses:這兩個地段都是32比特。標識了這個IP包的起源和目標地址。要注意除非使用NAT,否則整個傳輸的過程中,這兩個地址不會改變。

至此,IP包頭基本的20字節已介紹完畢,此後部分屬於可選項,不是必須的部分。

可選項(Options:這是一個可變長的字段。該字段屬於可選項,主要用於測試,由起源設備根據需要改寫。可選項目包含以下內容:

    
鬆散源路由(Loose source routing):給出一連串路由器接口的IP地址。IP包必須沿着這些IP地址傳送,但是允許在相繼的兩個IP地址之間跳過多個路由器。

    
嚴格源路由(Strict source routing):給出一連串路由器接口的IP地址。IP包必須沿着這些IP地址傳送,如果下一跳不在IP地址表中則表示發生錯誤。

    
路由記錄(Record route):當IP包離開每個路由器的時候記錄路由器的出站接口的IP地址。

    
時間戳(Timestamps):當IP包離開每個路由器的時候記錄時間。

填充(Padding:因爲IP包頭長度(Header Length)部分的單位爲32bit,所以IP包頭的長度必須爲32bit的整數倍。因此,在可選項後面,IP協議會填充若干個0,以達到32bit的整數倍。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章