1.說明
IPv6是互聯(lián)網(wǎng)協(xié)議的第六版,
現(xiàn)有IPv4只支持大概40億個網(wǎng)絡(luò)地址垮兑,
而IPv6支持3.4e38個網(wǎng)絡(luò)地址。
IPv4的地址長度是32位(bit),
IPv6的地址長度是128位。
盡管大部分IPv4計算機(jī)每個接口只有一個IP地址娜谊,
但是IPv6計算機(jī)通常會有兩個IP地址:
一個本地鏈路地址和一個全球單播地址。
2.首選格式(冒分十六進(jìn)制表示法)
一個128位二進(jìn)制數(shù)的IPv6地址如下:
0010000000000001 0000000000000000 0011001000111000 1101111111100001
0000000001100011 0000000000000000 0000000000000000 1111111011111011
一般二進(jìn)制數(shù)不好閱讀和記憶斤讥,
所以推薦使用十六進(jìn)制數(shù)作為首選格式纱皆,
這128位的地址按每16位劃分為一組,
每組轉(zhuǎn)換成4個十六進(jìn)制數(shù)芭商,
每組之間用冒號隔開派草,
稱為冒分十六進(jìn)制表示法。
一個典型的IPv6地址為8組4個十六進(jìn)制數(shù)铛楣,如下:
2001:0000:0000:0000:085b:3c51:f5ff:ffdb
3.壓縮格式
基于使用冒分十六進(jìn)制表示法的首選格式近迁,
IPv6地址還可以進(jìn)一步壓縮為兩種短格式。
3.1.省略前導(dǎo)零
可以省去任意組的前導(dǎo)零來壓縮IPv6地址簸州,
085b可以化簡為85b鉴竭,
全0塊0000可以化簡為0,
下面的IP地址與前一個IP地址完全相同:
2001:0:0:0:85b:3c51:f5ff:ffdb
3.2.雙冒號::
對于多個連續(xù)地址塊為0的情況時岸浑,
可以使用雙冒號::壓縮搏存。
下面的IP地址省略了3組全0,
只使用剩下的5組十六進(jìn)制數(shù)矢洲,
實(shí)際與前一個IP地址完全相同:
2001::85b:3c51:f5ff:ffdb
為保證地址解析的唯一性璧眠,
地址中雙冒號::只能出現(xiàn)一次,
因?yàn)镮Pv6地址始終會有8組4個十六進(jìn)制數(shù)读虏,
所以可以確定有多少全0組被省略责静。
如果出現(xiàn)多個連續(xù)全0塊時,
雙冒號::要化簡最長的一段掘譬,
沒有最長的使用就近原則泰演,
壓縮最靠近左邊的第一段呻拌,
雙冒號::可以出現(xiàn)在地址開頭或結(jié)尾葱轩。
4.內(nèi)嵌IPv4地址的格式
為了實(shí)現(xiàn)IPv4-IPv6互通,
IPv4地址會嵌入IPv6地址中,
此時地址常表示為:
X:X:X:X:X:X:d.d.d.d
地址前96位采用冒分十六進(jìn)制表示法靴拱,
地址后32位則使用IPv4的點(diǎn)分十進(jìn)制表示法垃喊,
下面兩個地址是典型的內(nèi)嵌IPv4地址:
::192.168.0.1
::FFFF:192.168.0.1
注意在地址前96位中,壓縮格式仍然適用袜炕。
4.1.通過IPv4映射的IPv6地址
此類型的地址用于將IPv4節(jié)點(diǎn)表示為IPv6地址本谜。
它允許IPv6應(yīng)用程序直接與IPv4應(yīng)用程序通信。
例如:
0:0:0:0:0:ffff:192.1.56.10
::ffff:192.1.56.10/96
4.2.兼容IPv4的IPv6地址
此類型的地址用于隧道傳送偎窘。
它允許IPv6節(jié)點(diǎn)通過IPv4基礎(chǔ)結(jié)構(gòu)通信乌助。
例如:
0:0:0:0:0:0:192.1.56.10
::192.1.56.10/96
5.地址類型
IPv6協(xié)議主要定義了三種地址類型:
- 單播地址(Unicast Address)
- 任播地址(Anycast Address)
- 組播地址(Multicast Address)
5.1.單播地址
一個單播地址對應(yīng)一個接口,
發(fā)往單播地址的數(shù)據(jù)包會被送到對應(yīng)的接口陌知。
5.1.1 全球單播地址
前綴2000::/3他托,相當(dāng)于IPv4的公網(wǎng)地址。
這種地址在全球的路由器間可以路由仆葡。
5.1.2 鏈路本地地址
前綴FE80::/10赏参,
此類地址用于同一鏈路上的節(jié)點(diǎn)間的通信,
主要用于自動配置地址和鄰居節(jié)點(diǎn)發(fā)現(xiàn)過程沿盅。
Windows和Linux支持或開啟IPv6后把篓,
默認(rèn)會給網(wǎng)卡接口自動配置一個鏈路本地地址。
Linux下查看鏈路本地地址:
Windows下查看鏈路本地地址:
每個接口必須至少有一個鏈路本地地址腰涧,
每個接口可以配置1個以上的單播地址韧掩,
例如一個接口可以配置一個鏈路本地地址,
同時也可以配置一個全球單播地址窖铡。
5.1.3 唯一本地地址
前綴FC00::/7揍很,
相當(dāng)于IPv4的私網(wǎng)地址(10.0.0.0、172.16.0.0万伤、192.168.0.0)窒悔,
在RFC4193中新定義的一種解決私網(wǎng)需求的單播地址類型,
用來代替廢棄使用的站點(diǎn)本地地址敌买。
由于默認(rèn)情況下私網(wǎng)內(nèi)節(jié)點(diǎn)與外界通信的發(fā)起是單向的简珠,
網(wǎng)絡(luò)訪問僅僅能從私網(wǎng)內(nèi)發(fā)起,
外部發(fā)起的請求會被統(tǒng)一網(wǎng)關(guān)或者防火墻阻隔掉虹钮,
這樣的網(wǎng)絡(luò)架構(gòu)很好的保護(hù)了私網(wǎng)內(nèi)的節(jié)點(diǎn)安全性和私密性聋庵。
因此,在安全性和私密性要求下芙粱,
IPv6中同樣需要支持私網(wǎng)祭玉,并且也需要支持NAT。
5.1.4 站點(diǎn)本地地址
前綴FEC9::/48春畔,以前是用來部署私網(wǎng)的脱货,
但RFC3879中已經(jīng)不建議使用這類地址岛都,
實(shí)際上這種地址已經(jīng)不再使用,
建議使用唯一本地地址振峻。
5.1.5 特殊地址:回環(huán)地址
0:0:0:0:0:0:0:1或::1臼疫,
等同于IPv4的127.0.0.1。
5.1.6過渡地址:內(nèi)嵌IPv4地址的IPv6地址
參考上面的第4章節(jié)扣孟,
這類地址主要用于IPv6/IPv4的過渡技術(shù)中烫堤。
5.2.任播地址
一個任播地址對應(yīng)一組接口,
發(fā)往任播地址的數(shù)據(jù)包會被送到這組接口中最近的一個接口凤价,
最近的一個被標(biāo)識接口由具體的路由協(xié)議確定鸽斟。
5.3.組播地址
一個組播地址對應(yīng)一組接口,
發(fā)往組播地址的數(shù)據(jù)包會被送到這組的所有接口利诺。
IPv6中沒有廣播地址湾盗,其功能被組播地址取代。
6.參考文章:
IPv6技術(shù)詳解:基本概念立轧、應(yīng)用現(xiàn)狀格粪、技術(shù)實(shí)踐(上篇)
IPv6技術(shù)詳解:基本概念、應(yīng)用現(xiàn)狀氛改、技術(shù)實(shí)踐(下篇)