IPv6包結構

IPv6包結構
      IPv6包由IPv6包頭、擴展包頭和上層協議數據單元三部分組成,見圖1。
                                                                圖1、IPv6包結構


      ·IPv6包頭
      40字節固定長度,在本文的稍後部分將有詳細論述。 
      ·擴展包頭
      IPv6包頭設計中對原IPv4包頭所做的一項重要改進就是將所有可選字段移出IPv6包頭,置於擴展頭中。由於大多數IPv6擴展頭不受中轉路由器檢查,因此改進後的IPv6包頭可以提高路由器轉發效率。
      IPv6擴展頭可以沒有,也可以有一個或多個。IPv6所做的另一個改進之處是:與IPv4選項不同,IPv6擴展頭長度不固定,便於日後擴充新增選項,這一特徵加上選項的處理方式使得IPv6選項能得以真正的利用。 
     ·上層協議數據單元(PDU)
      PDU由傳輸頭及其負載(如ICMPv6消息、或UDP消息等)組成。而IPv6包有效負載則包括IPv6擴展頭和PDU,通常所能允許的最大字節數爲65,535字節,大於該字節數的負載可通過使用擴展頭中的Jumbo Payload選項進行發送。 
      IPv6包頭 
                                                             圖2、IPv6包頭格式


      IPv6包頭長度固定爲40字節,去掉了IPv4中一切可選項,只包括8個必要的字段,因此儘管IPv6地址長度爲IPv4的四倍,IPv6包頭長度僅爲IPv4包頭長度的兩倍。 
      Version(版本號):4位,IP協議版本號,值 = 6。 
      Traffice Class(通信類別):8位,指示IPv6數據流通信類別或優先級。功能類似於IPv4的服務類型(TOS)字段。 
      Flow Label(流標記):20位,IPv6新增字段,標記需要IPv6路由器特殊處理的數據流。該字段用於某些對連接的服務質量有特殊要求的通信,諸如音頻或視頻等實時數據傳輸。在IPv6中,同一信源和信宿之間可以有多種不同的數據流,彼此之間以非“0”流標記區分。如果不要求路由器做特殊處理,則該字段值置爲“0”。 
      Payload Length(負載長度):16位負載長度。負載長度包括擴展頭和上層PDU,16位最多可表示65,535字節負載長度。超過這一字節數的負載,該字段值置爲“0”,使用擴展頭逐個跳段(Hop-by-Hop)選項中的巨量負載(Jumbo Payload)選項。 
      Next Header(下一包頭):8位,識別緊跟IPv6頭後的包頭類型,如擴展頭(有的話)或某個傳輸層協議頭(諸如TCP,UDP或着ICMPv6)。 
      Hop Limit(跳段數限制):8位,類似於IPv4的TTL(生命期)字段。與IPv4用時間來限定包的生命期不同,IPv6用包在路由器之間的轉發次數來限定包的生命期。包每經過一次轉發,該字段減1,減到0時就把這個包丟棄。 
      Source Address(源地址):128位,發送方主機地址。 
      Destination Address(目的地址):128位,在大多數情況下,目的地址即信宿地址。但如果存在路由擴展頭的話,目的地址可能是發送方路由表中下一個路由器接口。
      附:常用的Next Header 字段值表


      IPv6擴展包頭 
      IPv6將所有的可選項都移出IPv6包頭,置於擴展頭中。由於除Hop-by-Hop選項擴展頭外,其他擴展頭不受中轉路由器檢查或處理,這樣就能提高路由器處理包含選項的IPv6分組的性能。 
       通常,一個典型的IPv6包,沒有擴展頭。僅當需要路由器或目的節點做某些特殊處理時,才由發送方添加一個或多個擴展頭。與IPv4不同,IPv6擴展頭長度任意,不受40字節限制,但是爲了提高處理選項頭和傳輸層協議的性能,擴展頭總是8字節長度的整數倍。 
      目前,RFC 2460中定義了以下6個IPv6擴展頭:Hop-by-Hop(逐個跳段)選項包頭、目的地選項包頭、路由包頭、分段包頭、認證包頭和ESP協議包頭。 
      1)Hop-by-Hop選項包頭
      包含分組傳送過程中,每個路由器都必須檢查和處理的特殊參數選項。
      Hop-by-Hop選項包頭中的選項描述一個分組的某些特性或用於提供填充。這些選項有:
·Pad1選項(選項類型爲0),填充單字節。
·PadN選項(選項類型爲1),填充2個以上字節。
·Jumbo Payload選項(選項類型爲194),用於傳送超大分組。使用Jumbo Payload選項,分組有效載荷長度最大可達4,294,967,295字節。負載長度超過65,535字節的IPv6包稱爲“超大包”。
·路由器警告選項(選項類型爲5),提醒路由器分組內容需要做特殊處理。路由器警告選項用於組播收聽者發現和RSVP(資源預定)協議。

      2)目的地選項包頭 
      需要被中間目的地或最終目的地檢查的信息。有兩種用法:
·如果存在路由擴展頭,則每一箇中轉路由器都要處理這些選項。
·如果沒有路由擴展頭,則只有最終目的節點需要處理這些選項。

      3)路由包頭 
      類似於IPv4的鬆散源路由。IPv6的源節點可以利用路由擴展包頭指定一個鬆散源路由,即分組從信源到信宿需要經過的中轉路由器列表。

      4)分段包頭 
      提供分段和重裝服務。當分組大於鏈路最大傳輸單元(MTU)時,源節點負責對分組進行分段,並在分段擴展包頭中提供重裝信息。 
      IPv6包的不可分段部分包括:IPv6包頭、Hop-by-Hop選項包頭、目的地選項包頭(適用於中轉路由器)和路由包頭。IPv6包的可分段部分包括:認證包頭、ESP協議包頭、目的地選項包頭(適用於最終目的地)和上層協議數據單元PDU。 
      注:a、在IPv6中,只有源節點才能對負載進行分段。 b、IPv6超大包不能使用該項服務。

      5)認證包頭 
      提供數據源認證、數據完整性檢查和反重播保護。認證包頭不提供數據加密服務,需要加密服務的數據包,可以結合使用ESP協議。

      6)ESP協議包頭 
       提供加密服務。 
 

 

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