IPv6頭部格式:
目前在資料上可搜索到兩種格式,RFC1883和RFC 2460,目前1883已被2460取代,爲了保持更好的兼容性
本文中的C語言實現主要根據RFC2460實現,RFC1883中IPv6首部格式定義如下
RFC1883說明:
Version:4位協議號,值爲6
Prio.:4位數據優先級.
Flow Label:24位,流標籤,主要用於QoS
Payload Length:16位,載荷長度
Next Header:8位,下一個頭,類似於IPv4的Protocol字段,但不完全相同
Hop Limit:8位跳數限制,類似IPv4中的TTL
Source Address:128位源地址
Destination Address:128位目的地址
RFC1883已經被RFC2460取代,主要是RFC1883中Prio字段只有4位,而IPv4中的TOS字段爲8位,兩者不能完全兼容。
http://datatracker.ietf.org/doc/rfc1883/?include_text=1
RFC2460定義IPv6首部標準格式如下:
RFC2460格式說明:
Version: 4位協議號,值爲6;
Traffic Class:8位傳輸類別,相對1883中的4位prio能更好支持QoS,在源端或中間轉發端用來區分不同類型和優先權的IPv6包,和IPv4的TOS字段一樣是8位,這樣有利於設計IPv4/IPv6兼容的QoS標準;
Flow Label:20位流標籤,用於源端標記IPv6包順序,供路由器特別處理,用來滿足某些特殊服務,如QoS和實時信息
Payload Length: 16位負載長度;
Next Header:8位,下一個頭,類似於IPv4的Protocol字段,但不完全相同
Hop Limit:8位跳數限制,類似IPv4中的TTL
Source Address:128位源地址
Destination Address:128位目的地址
其中Traffic Class字段在RFC 2460中未明確定義,後來在在RFC 2474中定義爲:
DSCP: differentiated services codepoint 6bit
CU:currently unused 2bit
http://tools.ietf.org/html/rfc2460
//blackbap.org