和IPv4相比,IPv6的主要改變就是地址的長度為128位,也就是說可以有2的128次方的IP地址,相當於10的後面有38個零。這麼龐大的地址空間,足以保證地球上的每個人擁有一個或多個IP地址。
IPv6地址類型
在RFC1884中指出了三種類型的IPv6地址,他們分別占用不同的地址空間:
單點傳送:這種類型的地址是單個接口的地址。發送到一個單點傳送地址的信息包只會送到地址為這個地址的接口。
任意點傳送:這種類型的地址是一組接口的地址,發送到一個任意點傳送地址的信息包只會發送到這組地址中的一個(根據路由距離的遠近來選擇)
多點傳送:這種類型的地址是一組接口的地址,發送到一個多點傳送地址的信息包會發送到屬於這個組的全部接口。
和IPv4不同的是,IPv6中出現了任意點傳送地址,並以多點傳送地址代替了IPv4中的廣播地址。
IPv6地址表示
我們知道,IPv4地址長度為32位(4個字節)。書寫IPv4的地址是用一個字節來代表一個無符號十進制整數,四個字節寫成由3個點分開的四個十進制數,例如:
10.1.123.56
對於128位的IPv6地址,定義相似的表示方法是必要的。 考慮到IPv6地址的長度是原來的四倍,RFC1884規定的標准語法建議把IPv6地址的128位(16個字節)寫成8個16位的無符號整數,每個整數 用四個十六進制位表示,這些數之間用冒號(:)分開,例如:
3ffe:3201:1401:1:280:c8ff:fe4d:db39
從上面的例子我們看到了手工管理IPv6地址的難度,也看到了DHCP和DNS的必要性。為了進一步簡化IPv6的地址表示,可以用0來表示 0000,用1來表示0001,用20來表示0020, 用300來表示0300,只要保證數值不便,就可以將前面的0省略。比如:
1080:0000:0000:0000:0008:0800:200C:417A
0000:0000:0000:0000:0000:0000:0A00:0001
可以簡寫為:
1080:0:0:0:8:800:200C:417A
0:0:0:0:0:0:A00:1
另外,還規定可以用符號::表示一系列的0。那麼上面的地址又可以簡化為:
1080::0:8:800:200C:417A
::A00:1
IPv6地址的前綴(FP, Format Prefix)的表示和IPv4地址前綴在CIDR中的表示方法類似。比如 0020:0250:f002::/48表示一個前綴為48位的網絡地址空間。
IPv6地址分配
RFC1881規定, IPv6地址空間的管理必須符合Internet團體的利益,必須是通過一個中心權威機構來分配。目前這個權威機構就是IANA(Internet Assigned Numbers Authority,Internet分配號碼權威機構)。 IANA會根據IAB(Internet Architecture Board)和IEGS的建議來進行IPv6地址的分配.
目前IANA已經委派三個地方組織來執行IPv6地址分配的任務:
歐洲的RIPE-NCC
北美的INTERNIC
亞太平洋地區的APNIC