為互聯(lián)網(wǎng)用戶,或多或少聽過IPv4地址枯竭的消息,而對(duì)于定義IPv4的IETF(互聯(lián)網(wǎng)工程任務(wù)組)來說,也沒有預(yù)料到如今的互聯(lián)網(wǎng)會(huì)出現(xiàn)如此龐大的用戶量增長。
IPv4的網(wǎng)絡(luò)地址資源局限,已經(jīng)嚴(yán)重制約了互聯(lián)網(wǎng)的應(yīng)用和發(fā)展。目前常用的NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)技術(shù)只能緩解公網(wǎng)IP數(shù)量不足的燃眉之急,而真正能從根本解決IP地址數(shù)量問題和推進(jìn)互聯(lián)網(wǎng)發(fā)展的技術(shù)方案還得依靠IPv6(Internet Protocol Version 6,互聯(lián)網(wǎng)協(xié)議第6版)。
隨著各國及各大運(yùn)營商對(duì)IPv6的發(fā)展推動(dòng),IPv6已經(jīng)漸漸進(jìn)入用戶的生活當(dāng)中,例如我們在打開某些APP的開啟畫面中會(huì)看到IPv6的標(biāo)示。
那么為什么越來越多的APP會(huì)將IPv6的標(biāo)示寫入啟動(dòng)界面,IPv6僅僅只是讓IP地址數(shù)量變多嗎?
一、IPv6地址數(shù)量
在IPv4中規(guī)定IP地址長度為32位二進(jìn)制數(shù),約等于2^32個(gè)網(wǎng)絡(luò)地址。而IPv6具有更大的地址空間,長度為128位二進(jìn)制數(shù),約等于2^128個(gè)網(wǎng)絡(luò)地址(約3.4×10^38),這個(gè)數(shù)量已經(jīng)遠(yuǎn)遠(yuǎn)大于人們對(duì)互聯(lián)網(wǎng)發(fā)展規(guī)模的想象。
二、IPv6地址格式
IPv6因?yàn)榈刂烽L度較大,相對(duì)的地址格式也會(huì)復(fù)雜不少,而且采用的為16進(jìn)制的表示方式(數(shù)字0-9加上字母A-F),想要記住一個(gè)IPv6地址并不容易。
IPv6地址是可以進(jìn)行縮寫表示的,例如冒號(hào)分隔的每組數(shù)值前面的0可以省略不寫,例如:
冒號(hào)分隔的一組或者連續(xù)幾組全0數(shù)值,可以用雙冒號(hào)表示(一個(gè)IP地址最多只可出現(xiàn)一次::縮寫),例如:
三、ipv6的網(wǎng)絡(luò)標(biāo)示與主機(jī)標(biāo)示
在IPv4中,大多數(shù)用戶知道是用子網(wǎng)掩碼來劃分IP地址的網(wǎng)絡(luò)號(hào)和主機(jī)號(hào),從而得知IP地址所屬的網(wǎng)段,例如:192.168.1.2 (255.255.255.0),我們可以通過這個(gè)IP的掩碼長度來確定這個(gè)IP的網(wǎng)絡(luò)標(biāo)識(shí)為前24位,即192.168.1.0為它的網(wǎng)段,主機(jī)標(biāo)識(shí)為后8位。
1. 那么IPv6如何劃分網(wǎng)段?
IPv6的地址長度為128位(比特),默認(rèn)后64位(比特)為接口ID,即主機(jī)標(biāo)識(shí)。主機(jī)標(biāo)識(shí)默認(rèn)是由48位MAC地址加上IEEE分配的ID,依照EUI64轉(zhuǎn)換算法,進(jìn)行轉(zhuǎn)換得來的,這就可以極大地降低IP地址出現(xiàn)重復(fù)的可能。
2. 全局單播地址
全局單播地址是最常用的IPv6地址類型,即全球唯一的IP地址,等同于IPv4的公網(wǎng)IP地址。
除了大多數(shù)全局單播地址,以下還有幾個(gè)特殊地址類型需要進(jìn)行區(qū)分:
四、IPv6的優(yōu)點(diǎn)
1. 更龐大的網(wǎng)絡(luò)地址數(shù)量
2. 更小的路由表
因?yàn)镮Pv6在地址分配時(shí)遵循聚類原則,相同區(qū)域默認(rèn)分配相同前綴IP地址。當(dāng)路由在查找和傳遞過程中,可以更高效地選擇最優(yōu)路由進(jìn)行傳遞,大大節(jié)省傳遞時(shí)的開銷。
3. IPv6的分段處理
在IPv4的網(wǎng)絡(luò)中,數(shù)據(jù)包在傳輸過程中,路由器會(huì)根據(jù)其設(shè)置的MTU值(最大傳輸單元,默認(rèn)為1500字節(jié))來對(duì)數(shù)據(jù)包進(jìn)行分片傳輸。
而在IPv6的網(wǎng)絡(luò)中,主機(jī)在發(fā)出數(shù)據(jù)包時(shí),就已經(jīng)對(duì)數(shù)據(jù)包進(jìn)行分片處理(默認(rèn)最小MTU為1280字節(jié)),這樣在數(shù)據(jù)傳輸?shù)倪^程中就不需要路由器來擔(dān)任分片工作,大大提高了數(shù)據(jù)傳輸?shù)男省?/p>
4. 即插即用
在IPv4的網(wǎng)絡(luò)中,如果用戶不想手動(dòng)配置IP地址,就得依賴DHCP服務(wù)來進(jìn)行地址自動(dòng)分配。在IPv6中同樣可以通過DHCPv6進(jìn)行有狀態(tài)地址分配,但是也可以不依賴DHCPv6來進(jìn)行無狀態(tài)地址分配(SLAAC)。
IPv6可以通過NDP進(jìn)行路由請(qǐng)求和通告,獲取IPv6地址的網(wǎng)絡(luò)前綴,而 IPv6地址的后64位是由網(wǎng)卡的物理地址(MAC)加上轉(zhuǎn)換算法得來,本身就是全球唯一的地址,所以也就很難遇到IP地址沖突現(xiàn)象。
5. 傳輸安全性
在IPv6網(wǎng)絡(luò)中,除了對(duì)以往IPv4的報(bào)文精簡改進(jìn),最大的區(qū)別就是強(qiáng)制使用IPSec安全加密傳輸,讓用戶不再擔(dān)心數(shù)據(jù)抓包導(dǎo)致信息泄密,也避免了大多數(shù)據(jù)數(shù)欺騙攻擊。
五、IPv6與IPv4如何互通
文章開頭提到,為什么那么多APP會(huì)特別標(biāo)注支持IPv6網(wǎng)絡(luò),原因就是,IPv4與IPv6之間網(wǎng)絡(luò)默認(rèn)是不能互通的,而支持IPv6的APP即可以在IPv6網(wǎng)絡(luò)下直接進(jìn)行訪問。
那么,目前互聯(lián)網(wǎng)上絕大多數(shù)設(shè)備依然在使用IPv4網(wǎng)絡(luò),不可能讓所有設(shè)備同時(shí)切換到IPv6的網(wǎng)絡(luò)上,在IPv4向IPv6過渡的漫長階段中,如何使二者網(wǎng)絡(luò)下的設(shè)備能正常訪問互聯(lián)網(wǎng)及互相通訊呢?
1. 雙協(xié)議棧技術(shù)
雙協(xié)議棧技術(shù)是指在路由器或者主機(jī)上同時(shí)運(yùn)行IPv4和IPv6協(xié)議。
其中大多數(shù)應(yīng)用服務(wù)器采用的為雙棧主機(jī)的解決方案,嚴(yán)格意義上它并不是解決IPv4與IPv6互通的問題,而是適配兩種網(wǎng)絡(luò)模式來為不同網(wǎng)絡(luò)下的客戶端提供服務(wù)。
當(dāng)IPv4網(wǎng)絡(luò)下的客戶端發(fā)起請(qǐng)求時(shí),服務(wù)器及鏈路會(huì)在IPv4網(wǎng)絡(luò)下進(jìn)行響應(yīng)。同理,當(dāng)發(fā)起客戶端處于IPv6網(wǎng)絡(luò)時(shí),服務(wù)器會(huì)在IPv6網(wǎng)絡(luò)下進(jìn)行響應(yīng)。
反之,也可以在客戶終端上配置雙協(xié)議棧,來分別訪問不同網(wǎng)絡(luò)協(xié)議下的服務(wù)器。
2. 隧道技術(shù)
目前常見的IPv6隧道傳輸方案有手工隧道與自動(dòng)隧道,例如6 over 4、6 to 4等。其中自動(dòng)隧道因?yàn)樾枰瑫r(shí)配置IPv4和IPv6地址,所以需要雙協(xié)議棧路由器支持。
隧道技術(shù)是指將IPv6的數(shù)據(jù)包封裝在IPv4的數(shù)據(jù)包里進(jìn)行發(fā)送,它好處就是不需要對(duì)現(xiàn)有的IPv4網(wǎng)絡(luò)進(jìn)行改造,就可以直接利用隧道來傳輸IPv6的數(shù)據(jù)包。
隧道技術(shù)主要是為了向IPv6網(wǎng)絡(luò)過渡過程中減少搭建設(shè)備的成本,但是它依然無法解決純IPv4主機(jī)與IPv6主機(jī)的互通問題。
3. 網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換技術(shù)
IPv6上的網(wǎng)絡(luò)協(xié)議轉(zhuǎn)換技術(shù)類似于IPv4上經(jīng)常使用的NAT技術(shù),但是轉(zhuǎn)換的內(nèi)容不一樣。早期的翻譯網(wǎng)關(guān)采用的為NAT-PT技術(shù),但是因?yàn)榧夹g(shù)的局限性和安全性,最終還是改用了NAT64轉(zhuǎn)換技術(shù)。
NAT64的工作原理就是搭建一臺(tái)翻譯網(wǎng)關(guān)位于IPv4與IPv6網(wǎng)絡(luò)之間,將通過網(wǎng)關(guān)的IPv6與IPv4的數(shù)據(jù)包進(jìn)行翻譯傳輸。NAT64一般只能單方向的將發(fā)往IPv4網(wǎng)絡(luò)的IPv6報(bào)文進(jìn)行翻譯,而不能主動(dòng)翻譯反方向的IPv4發(fā)往IPv6的報(bào)文,需要進(jìn)行靜態(tài)條目綁定才能真正實(shí)現(xiàn)IPv4訪問IPv6網(wǎng)絡(luò),在技術(shù)實(shí)現(xiàn)上成本較高。
4. IVI技術(shù)
IVI技術(shù)是國內(nèi)研發(fā)的翻譯網(wǎng)關(guān)技術(shù),雖然都屬于翻譯網(wǎng)關(guān),但是NAT64轉(zhuǎn)換基于狀態(tài),而IVI可以進(jìn)行無狀態(tài)的映射。
網(wǎng)絡(luò)運(yùn)營商通過對(duì)一部分IPv4和IPv6地址進(jìn)行映射,生成IVI專用地址。IPv6網(wǎng)絡(luò)的用戶如果想訪問IPv4網(wǎng)絡(luò),可以通過IVI網(wǎng)關(guān)的映射表獲得IPv4地址來直接訪問IPv4網(wǎng)絡(luò)。而IPv4用戶如果需要訪問IPv6網(wǎng)絡(luò),則會(huì)通過IVI網(wǎng)關(guān)獲得IVI-6地址來訪問IPv6網(wǎng)絡(luò)。
目前IVI是IPv4向IPv6過渡的較優(yōu)方案,原因就是它不需要改變用戶的使用習(xí)慣和成本,可以直接由運(yùn)營商進(jìn)行搭建翻譯網(wǎng)關(guān)來進(jìn)行雙網(wǎng)互訪。
六、總結(jié)
隨著互聯(lián)網(wǎng)規(guī)模的快速發(fā)展,IPv4向IPv6轉(zhuǎn)變是必然趨勢。
而各國和運(yùn)營商對(duì)IPv6的推動(dòng),在不久的將來會(huì)有更多的設(shè)備和產(chǎn)品加入物聯(lián)網(wǎng)大環(huán)境,原本的設(shè)備互聯(lián)問題將發(fā)生巨大改變,作為普通互聯(lián)網(wǎng)用戶也能享受IPv6帶來的便利。