IP報文

 
版本(Version 它標識了數據包 IP 版本號。表形式爲: 4 位字段的值設置爲二進制的 0100 表示 IP 版本 4 IPv4 . 設置爲 0110 表示 IP 版本 6 IPv6
 

Header length (包頭長度) : 字段長度爲 4 位,它表示 32 位字長的 IP 報頭長度,設計報頭長度的緣由是數據包可選字段大小會發生變化。 IP 報頭最小 20 個八位組,最大能夠擴展到 60 個八位組。這個字段也能夠描述 32 位字的組大長度。
 

Type service (服務類型) :字段長度爲 8 位,它用來指定特殊的數據包處理方式。服務類型字段實際上被劃分爲 2 個子字段:優先權和 Tos 。優先權用來設置數據包的優先級。 Tos 容許按照吞吐量、時延、可靠性和費用方式選擇傳輸服務。 Tos 一般不用 全部位都被設置爲 0. OSPF 路由協議的早期規範中還稱爲 Tos 路由選擇。 優先級偶爾在服務質量( QoS )應用中使用。

下圖簡單的說明了
8 Tos 位。

 



可是隨着網絡的發展 ToS字段已經做爲區分服務架構的一部分被從新定義了。(diffserv
8
 


開始的 6 個位( 0-5 )如今構成了區分代碼點( DSCP ),利用這 6 位咱們可使用任意數值或根據在區分服務體系結構中預先定義的服務類別,最多能夠定義 64 個不一樣服務類別,並能夠整理到 PHB 中。
PHB 理解: Diffser 中,可以在一臺路由器定義服務分類,將數據包歸類到這些分類中去。路由器能夠根據它們的分類使用不一樣的優先級對數據包進行排序和轉發。每個排序和處理被稱爲 Per-Hop behavior( 逐跳行爲 PHB )是由 Diffse 定義的 這個機制自己稱爲區分服務類別( Cos .

 

示擁塞通知(Explicit Congestion Notification ECN 在上圖中顯示擁塞通知是某些路由器支持顯示擁塞通知的。當路由器支持該特性時,這些位可用於擁塞信號( ECN=11
 

Total length (總長度) : 主要表示包頭和數據的數據包長度。數據包總長度字段的長度爲 16 位,以 8 位爲單位計數。其中包括 IP 報頭。接收者用 IP 數據包總長度減去 IP 報頭長度,就能夠肯定數據包有效載荷大小。 16 位長的二進制數用十進制表示最大能夠爲 65535 ,因此 IP 數據包最大長度是 65535
 

Identifier (標識符) :字段長度爲 16 位,一般與標記字段和分段偏移一塊兒用於數據包的分段。也就是當數據包原始長度超過數據包所要通過的數據鏈路的最大傳輸單元( MTU )那麼分段必須將數據包分段爲更小的數據包。
 

Flag (標記字段) 長度爲 3 其中第 1 位沒有使用。
2 位是不分段( DF ),當 DF 位置被置爲 1 時,路由器將不能對數據包進行分段處理。若是數據包由於不能被分段而不能轉發,那麼路由器將丟棄數據包並向數據發送方發送錯誤信息。
3 位表示更多分段( MF        當路由器對數據包分段時除了最後一個分段的 MF 職位 0 ,其它分段的 MF 位全設置爲 1 ,當接收者收到 MF 0 的分段中止分段。
 

Fragment offset (分段偏移 :字段長度爲 13 位,以 8 個八位組爲單位。用於指明分段起始點相對於根頭起始點的偏移量。因爲分段通過網絡確定會發生錯序,因此分段偏移字段可使接收者按正確的順序重組數據包。
 

Time to live (TTL 生存時間 ) :字段長度爲 8 位,在最初建立數據包時 TTL 被設定某個特定的值,當數據包逐個通過路由器時,每臺路由器都會下降 TTL 的數值,當 TTL 值爲 0 時,路由器將會丟棄這個數據包並向數據發送源發送錯誤信息    這樣就能夠防止數據包無休止的傳下去。 TTL 其實是表示跳數。常見的是 15 32 缺省值是 64. tracert 這樣的命令就是利用 TTL 字段。
 

Protocol (協議) :字段長度爲 8 位,他給出了主機到主機的層或傳輸層協議的「地址」或協議號。協議字段指定了數據包中信息的類型。

常見協議號
 
Header checksum( 報頭校驗和) :它是針對IP報頭的糾錯字段。校驗和不計算被封裝的數據。

UDP TCP ICMP 都各有本身的校驗和。報頭校驗和字段包含一個 16 位二進制補碼和。若是數據包在傳輸中沒有發生錯誤,那麼結果應該 16 位全爲 1. 數據包每通過 1 臺路由器,每臺路由器都將從新計算校驗和。
 

Sourceaddress (源地址) :指數據包發送源 ip 地址。
 

Destination address (目標地址) :數據包將要到達的目的地地址。
 

Options (可選項) :是一個長度可變的字段。它是可選的。
 

可選項以下:
 

鬆散源路由選擇(loose source routing 給出了一連串路由器接口的 IP 地址序列 。數據包必須沿着 IP 地址序列傳送,可是容許相繼的 2 個地址之間可跳過多臺路由器。
 

嚴格源路由選擇(strict source routing 也給出了一連串路由器接口的 IP 地址序列,不一樣於鬆散源路由選擇的是,數據包必須按照路由轉發。若是下一條不在路由表,就將會發生錯誤。
 

記錄路由(Record Router 當數據包離開時爲每臺路由器提供空間記錄數據包的出站接口地址。
 

時間戳(timestamp : 時間戳至關於路由記錄選項,這樣數據包不只能夠知道本身到過那裏。並且還能夠記錄到達的時間。
填充(padding 在可選項後面添加 0 來補足 32 位,主要是保證報頭是 32 位的倍數。

相關文章
相關標籤/搜索