
IPv6是英文“Internet Protocol Version 6”(互聯網協議第6版)的縮寫,是互聯網工程任務組(IETF)設計的用于替代IPv4的下一代IP協議,其地址數量號稱可以為全世界的每一粒沙子編上一個地址。
中文全稱:互聯網協議第6版
英文全稱:IPv6(Internet Protocol Version 6)
簡稱:IPv6
互聯網數字分配機構(IANA)在2016年已向國際互聯網工程任務組(IETF)提出建議,要求新制定的國際互聯網標準只支持IPv6,不再兼容IPv4。
IPv6的地址長度為128位,是IPv4地址長度的4倍。于是IPv4點分十進制格式不再適用,采用十六進制表示。
IPv6有3種表示方法。
一、冒分十六進制表示法
格式為X:X:X:X:X:X:X:X,其中每個X表示地址中的16b,以十六進制表示,例如:
ABCD:EF01:2345:6789:ABCD:EF01:2345:6789
這種表示法中,每個X的前導0是可以省略的,例如:
2001:0DB8:0000:0023:0008:0800:200C:417A→ 2001:DB8:0:23:8:800:200C:417A
二、0位壓縮表示法
在某些情況下,一個IPv6地址中間可能包含很長的一段0,可以把連續的一段0壓縮為“::”。但為保證地址解析的唯一性,地址中”::”只能出現一次,例如:
FF01:0:0:0:0:0:0:1101 → FF01::1101
0:0:0:0:0:0:0:1 → ::1
0:0:0:0:0:0:0:0 → ::
三、內嵌IPv4地址表示法
為了實現IPv4-IPv6互通,IPv4地址會嵌入IPv6地址中,此時地址常表示為:X:X:X:X:X:X:d.d.d.d,前96b采用冒分十六進制表示,而最后32b地址則使用IPv4的點分十進制表示,例如::192.168.0.1與::FFFF:192.168.0.1就是兩個典型的例子,注意在前96b中,壓縮0位的方法依舊適用。
IPv6報文的整體結構分為IPv6報頭、擴展報頭和上層協議數據3部分。IPv6報頭是必選報文頭部,長度固定為40B,包含該報文的基本信息;擴展報頭是可選報頭,可能存在0個、1個或多個,IPv6協議通過擴展報頭實現各種豐富的功能;上層協議數據是該IPv6報文攜帶的上層數據,可能是ICMPv6報文、TCP報文、UDP報文或其他可能報文。
IPv6報文中不再有“選項”字段,而是通過“下一報頭”字段配合IPv6擴展報頭來實現選項的功能。使用擴展頭時,將在IPv6報文下一報頭字段表明首個擴展報頭的類型,再根據該類型對擴展報頭進行讀取與處理。每個擴展報頭同樣包含下一報頭字段,若接下來有其他擴展報頭,即在該字段中繼續標明接下來的擴展報頭的類型,從而達到添加連續多個擴展報頭的目的。在最后一個擴展報頭的下一報頭字段中,則標明該報文上層協議的類型,用以讀取上層協議數據。
IPv6協議主要定義了三種地址類型:單播地址(Unicast Address)、組播地址(Multicast Address)和任播地址(Anycast Address)。與原來在IPv4地址相比,新增了“任播地址”類型,取消了原來IPv4地址中的廣播地址,因為在IPv6中的廣播功能是通過組播來完成的。
單播地址:用來唯一標識一個接口,類似于IPv4中的單播地址。發送到單播地址的數據報文將被傳送給此地址所標識的一個接口。
組播地址:用來標識一組接口(通常這組接口屬于不同的節點),類似于IPv4中的組播地址。發送到組播地址的數據報文被傳送給此地址所標識的所有接口。
任播地址:用來標識一組接口(通常這組接口屬于不同的節點)。發送到任播地址的數據報文被傳送給此地址所標識的一組接口中距離源節點最近(根據使用的路由協議進行度量)的一個接口。
關鍵詞:IPv4、
參考信息:下一代互聯網與IPv6過渡