全球范圍的IPv4地址已經(jīng)被全球IPv4地址分配管理組織IANA于今年分配完畢,新一代互聯(lián)網(wǎng)協(xié)議IPv6于6月6日正式上線,全球各大網(wǎng)站和網(wǎng)絡(luò)服務(wù)提供商(ISP)將進(jìn)行為期24小時的IPv6測試。升級之前,全世界人均能夠分配到的IP地址不到一個,升級之后這一數(shù)字飆升到了10億。
但由于IPv6協(xié)議設(shè)計缺陷,導(dǎo)致它不能與IPv4兼容,使得目前階段,根本無法實現(xiàn)向IPv6網(wǎng)整體遷移。那么如何實現(xiàn)IPv4到IPv6的遷移呢?
IETF提出了三種IPv4到IPv6的遷移過渡機(jī)制,即雙棧、隧道和地址翻譯。其中雙棧和隧道機(jī)制僅在網(wǎng)絡(luò)層面解決IPv4網(wǎng)絡(luò)與IPv6網(wǎng)絡(luò)的共存問題,地址翻譯機(jī)制在業(yè)務(wù)層面解決異構(gòu)網(wǎng)絡(luò)業(yè)務(wù)之間的互通問題。具體說來,IPv4到IPv6的遷移技術(shù)有以下幾種:
1.雙協(xié)議棧技術(shù)
IPv6和IPv4是功能相近的網(wǎng)絡(luò)層協(xié)議,兩者都基于相同的物理平臺,而且加載于其上的傳輸層協(xié)議TCP和UDP又沒有任何區(qū)別。由圖1所示的協(xié)議棧結(jié)構(gòu)可以看出,如果一臺主機(jī)同時支持IPv6和IPv4兩種協(xié)議,那么該主機(jī)既能與支持IPv4協(xié)議的主機(jī)通信,又能與支持IPv6協(xié)議的主機(jī)通信,這就是雙協(xié)議棧技術(shù)的工作機(jī)理。
2.隧道技術(shù)
隨著IPv6網(wǎng)絡(luò)的發(fā)展,出現(xiàn)了許多局部的IPv6網(wǎng)絡(luò),但是這些IPv6網(wǎng)絡(luò)需要通過IPv4骨干網(wǎng)絡(luò)相連。將這些孤立的"IPv6島"相互聯(lián)通必須使用隧道技術(shù)。利用隧道技術(shù)可以通過現(xiàn)有的運行IPv4協(xié)議的Internet骨干網(wǎng)絡(luò)(即隧道)將局部的IPv6網(wǎng)絡(luò)連接起來,因而是IPv4向IPv6過渡的初期最易于采用的技術(shù)。
路由器將IPv6的數(shù)據(jù)分組封裝入IPv4,IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。在隧道的出口處,再將IPv6分組取出轉(zhuǎn)發(fā)給目的站點。隧道技術(shù)只要求在隧道的入口和出口處進(jìn)行修改,對其他部分沒有要求,因而非常容易實現(xiàn)。但是隧道技術(shù)不能實現(xiàn)IPv4主機(jī)與IPv6主機(jī)的直接通信。
3.網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)
網(wǎng)絡(luò)地址轉(zhuǎn)換/協(xié)議轉(zhuǎn)換技術(shù)NAT-PT (NetworkAddressTranslation-ProtocolTranslation)通過與SIIT協(xié)議轉(zhuǎn)換和傳統(tǒng)的IPv4下的動態(tài)地址翻譯(NAT)以及適當(dāng)?shù)膽?yīng)用層網(wǎng)關(guān)(ALG)相結(jié)合,實現(xiàn)了只安裝了IPv6的主機(jī)和只安裝了IPv4機(jī)器的大部分應(yīng)用的相互通信。
4.SOCKS64
一個是在客戶端里引入SOCKS庫,這個過程稱為"socks化"(socksifying),它處在應(yīng)用層和socket之間,對應(yīng)用層的socket API和DNS名字解析API進(jìn)行替換;
另一個是SOCKS網(wǎng)關(guān),它安裝在IPv6/v4雙棧結(jié)點上,是一個增強(qiáng)型的SOCKS服務(wù) 器,能實現(xiàn)客戶端C和目的端D之間任何協(xié)議組合的中繼。當(dāng)C上的SOCKS庫發(fā)起一個請求后,由網(wǎng)關(guān)產(chǎn)生一個相應(yīng)的線程負(fù)責(zé)對連接進(jìn)行中繼。SOCKS庫 與網(wǎng)關(guān)之間通過SOCKS(SOCKSv5)協(xié)議通信,因此它們之間的連接是"SOCKS化"的連接,不僅包括業(yè)務(wù)數(shù)據(jù)也包括控制信息;而G和D之間的連 接未作改動,屬于正常連接。D上的應(yīng)用程序并不知道C的存在,它認(rèn)為通信對端是G。
5.傳輸層中繼(Transport Relay)
與SOCKS64的工作機(jī)理相似,只不過是在傳輸層中繼器進(jìn)行傳輸層的"協(xié)議翻譯",而 SOCKS64是在網(wǎng)絡(luò)層進(jìn)行協(xié)議翻譯。它相對于SOCKS64,可以避免"IP分組分片"和"ICMP報文轉(zhuǎn)換"帶來的問題,因為每個連接都是真正的 IPV4或IPV6連接。但同樣無法解決網(wǎng)絡(luò)應(yīng)用程序數(shù)據(jù)中含有網(wǎng)絡(luò)地址信息所帶來的地址無法轉(zhuǎn)換的問題。
6.應(yīng)用層代理網(wǎng)關(guān)(ALG)
ALG是Application Level Gateway的簡稱,與SOCKS64、傳輸層中繼等技術(shù)一樣,都是在V4與V6間提供一個雙棧網(wǎng)關(guān),提供"協(xié)議翻譯"的功能,只不過ALG是在應(yīng)用層 級進(jìn)行協(xié)議翻譯。這樣可以有效解決應(yīng)用程序中帶有網(wǎng)絡(luò)地址的問題,但ALG必須針對每個業(yè)務(wù)編寫單獨的ALG代理,同時還需要客戶端應(yīng)用也在不同程序上支 持ALG代理,靈活性很差。顯然,此技術(shù)必須與其它過渡技術(shù)綜合使用,才有推廣意義。
無論采用哪種IPv4到IPv6的遷移技術(shù),有一點可以肯定:這些遷移技術(shù)只是臨時的替代方案,未來IPv4終將被IPv6淘汰,至于如何選擇,則要看自身業(yè)務(wù)發(fā)展和自身所具備的硬件條件。
【推薦閱讀】
◆數(shù)據(jù)庫遷移我們該注意哪些事項?
◆詳解云計算服務(wù)遷移注意事項
◆服務(wù)器安全維護(hù)的七大方案
◆IT運維管理專區(qū)
◆網(wǎng)管軟件專區(qū)
本文來自互聯(lián)網(wǎng),僅供參考