葉曉娟 葛萬(wàn)成 唐衛(wèi)華
摘 要:本文在簡(jiǎn)要地介紹Ngtrans工作組提出的大多數(shù)過(guò)渡機(jī)制的基礎(chǔ)上,嘗試對(duì)它們進(jìn)行區(qū)分、分類(lèi),并對(duì)每一種過(guò)渡機(jī)制的優(yōu)缺點(diǎn)進(jìn)行分析。另外,還對(duì)這些機(jī)制的布置以及一部分支持這些機(jī)制的產(chǎn)品平臺(tái)進(jìn)行討論。
關(guān)鍵字:隧道/封裝;兼容IPv6地址;站內(nèi)自動(dòng)隧道尋址協(xié)議;網(wǎng)絡(luò)地址轉(zhuǎn)換--協(xié)議轉(zhuǎn)換;多協(xié)議標(biāo)記交換
1 引言
隨著互聯(lián)網(wǎng)的飛速發(fā)展,IPv4協(xié)議的缺陷逐漸暴露出來(lái),由于IPv6與IPv4相比具有諸多的優(yōu)越性,使得IPv6替代IPv4已經(jīng)成為網(wǎng)絡(luò)發(fā)展的必然趨勢(shì)。然而,IPv4協(xié)議體系已有廣泛的網(wǎng)絡(luò)基礎(chǔ)和應(yīng)用基礎(chǔ),IPv6協(xié)議體系作為后來(lái)者,必須提供完整的網(wǎng)絡(luò)技術(shù)過(guò)渡方案和應(yīng)用過(guò)渡方案才能夠滿(mǎn)足互聯(lián)網(wǎng)網(wǎng)絡(luò)遷移到IPv6的要求。本文試圖網(wǎng)羅當(dāng)今最有市場(chǎng)前景、已經(jīng)被標(biāo)準(zhǔn)化的以及被廣泛承認(rèn)和支持的過(guò)渡機(jī)制。
2 過(guò)渡機(jī)制
任何過(guò)渡機(jī)制都可以被劃分為屬于以下一種(或幾種)類(lèi)型:
·雙協(xié)議棧方式
·隧道/封裝方式
·協(xié)議翻譯
2.1 雙協(xié)議棧方式
雙協(xié)議棧是IPv6過(guò)渡技術(shù)的基礎(chǔ),不僅用于建設(shè)雙棧網(wǎng)絡(luò),也是各種過(guò)渡隧道機(jī)制的基礎(chǔ),它是指在同一網(wǎng)絡(luò)節(jié)點(diǎn)支持IPv4和IPv6兩種協(xié)議棧。雙協(xié)議棧方式的實(shí)現(xiàn)可參見(jiàn)圖1所示的概念模型。
這種雙協(xié)議棧方式主要指所有提供IPv4和IPv6協(xié)議棧的主機(jī)和路由器。即:在理論上,任何雙棧結(jié)點(diǎn)都能夠直接同IPv4和IPv6網(wǎng)絡(luò)結(jié)點(diǎn)互操作。
2.2 隧道方式
IPv6的隧道策略就是在網(wǎng)絡(luò)的某一結(jié)點(diǎn)將IPv6的整個(gè)報(bào)文封裝在IPv4報(bào)文中,并將這個(gè)IPv6報(bào)文視作IPv4數(shù)據(jù)報(bào)的數(shù)據(jù)凈負(fù)載,然后在目的地將其解封,得到IPv6報(bào)文。圖2簡(jiǎn)要地說(shuō)明了這種技術(shù)的運(yùn)作機(jī)制。
隧道技術(shù)巧妙地利用了現(xiàn)有的IPv4網(wǎng)絡(luò),提供了一種使IPv6的節(jié)點(diǎn)之間能夠在過(guò)渡期間通信的方法,但它并不能解決IPv6節(jié)點(diǎn)與IPv4節(jié)點(diǎn)之間相互通信的問(wèn)題。
。1)IPv4兼容IPv6地址(6over4)
這是一種通過(guò)6over4隧道實(shí)現(xiàn)IPv4與IPv6互通的方式。在這種方式下,IPv4終端上要使用IPv4兼容IPv6地址,地址格式如圖3所示。其中,IPv4地址為全局惟一的IPv4單播地址。
IPv4域中的IPv4終端實(shí)際上也支持雙重協(xié)議棧,與其他IPv4終端通信時(shí)使用IPv4協(xié)議棧,與IPv6終端通信時(shí)使用6over4隧道。IPv4域的路由要通過(guò)網(wǎng)關(guān)路由器滲透到IPv6域中,以便在IPv6域中形成通往IPv4域的兼容地址自動(dòng)隧道,使IPv6域內(nèi)終端能夠訪問(wèn)IPv4終端。系統(tǒng)構(gòu)成如圖4所示。
(2)6to4
這種機(jī)制實(shí)際上是將IPv4網(wǎng)絡(luò)當(dāng)作一個(gè)單播的點(diǎn)到點(diǎn)鏈路層,其特點(diǎn)在于特殊形式的IPv6地址運(yùn)用。一個(gè)6to4站點(diǎn)必須具有一個(gè)或一個(gè)以上的全球唯一的IPv4地址,任何一個(gè)6to4站點(diǎn)都擁有圖5的地址形式。該站點(diǎn)的IPv6地址前綴包括FP、TLA、NLA三部分,總長(zhǎng)度為48位,表示方式是2002:V4ADDR::/48。
6to4站點(diǎn)內(nèi)的主機(jī)可相互通訊,當(dāng)需要與一般IPv6主機(jī)通訊時(shí),必須經(jīng)過(guò)6to4 relay router,6to4 relay router必須同時(shí)具備6to4及IPv6接口,同時(shí)提供這些接口的封包傳送。
。3)站內(nèi)自動(dòng)隧道尋址協(xié)議
站內(nèi)自動(dòng)隧道尋址協(xié)議ISATAP用于在IPv4站點(diǎn)內(nèi)連接IPv6主機(jī)和路由器,它允許那些與IPv6路由器不共享共同鏈路的雙棧節(jié)點(diǎn),通過(guò)IPv4自動(dòng)將分組以隧道的方式送到IPv6下一地址。雙棧主機(jī)在與其他主機(jī)或路由器通信之前,首先要獲得一個(gè)ISATAP地址。雙棧主機(jī)先向ISATAP服務(wù)器發(fā)送路由請(qǐng)求,得到一個(gè)64位的IPv6地址前綴,然后再加上64位的接口標(biāo)識(shí)符∷0:5EFE:IPv4Address,這樣就構(gòu)成一個(gè)ISATAP地址。雙棧主機(jī)配置了ISATAP地址后,就成了一個(gè)ISATAP客戶(hù)機(jī),進(jìn)而就可以在IPv4域內(nèi)和其他的ISATAP客戶(hù)機(jī)進(jìn)行通信了。
(4)Teredo(Tunneling IPv6 through NATs)
由于目前的NATbox一般只支持第四層為UDP/TCP協(xié)議的轉(zhuǎn)換,使得IPv6-OVER-IPv4的數(shù)據(jù)包無(wú)法順利通過(guò)NAT,因此IEIF提出Teredo(Tunneling IPv6 through NATs)轉(zhuǎn)移機(jī)制,將IPv6數(shù)據(jù)包包在UDP/IPv4 數(shù)據(jù)包中傳送。
Teredo使用特殊的地址格式,除了固定的Teredo前綴,將Teredo服務(wù)器IPv4地址、客戶(hù)端的公共IPv4地址以及UDP端口插入IPv6地址中。Teredo目前尚為IEIF草案,還未指派特定的IPv6前綴作為T(mén)eredo前綴。
2.3 翻譯器
。1)NAT-PT
網(wǎng)絡(luò)地址轉(zhuǎn)換-協(xié)議轉(zhuǎn)換(NAT-PT)是一種純IPv4終端和純IPv6終端之間的互通方式,也就是說(shuō),原IPv4用戶(hù)終端上不需要進(jìn)行升級(jí)改造,所有包括地址、協(xié)議在內(nèi)的轉(zhuǎn)換工作都由網(wǎng)絡(luò)設(shè)備來(lái)完成。在這種情況下,網(wǎng)關(guān)路由器要向IPv6域中發(fā)布一個(gè)路由前綴Prefix::/96,凡是具有該前綴的IPv6包都被送往網(wǎng)關(guān)路由器。網(wǎng)關(guān)路由器為了支持NAT-PT功能,還具有IPv4地址池,在從IPv6向IPv4域中轉(zhuǎn)發(fā)包時(shí)使用。此外,網(wǎng)關(guān)路由器支持DNS-ALG(DNS-應(yīng)用層網(wǎng)關(guān)),在IPv6終端訪問(wèn)IPv4終端的過(guò)程中發(fā)揮作用。采用NAT-PT方式互通時(shí)的系統(tǒng)構(gòu)成如圖7所示。
。2)BIS /BIA
BIS(bump-in-the-stack)機(jī)制允許在IPv4節(jié)點(diǎn)運(yùn)行的不支持IPv6的應(yīng)用程序能夠與純IPv6節(jié)點(diǎn)通信,在IPv4協(xié)議棧中插入三個(gè)特殊的擴(kuò)展模塊:域名解析模塊、地址映射模塊和報(bào)頭翻譯模塊。其基本思想是當(dāng)IPv4應(yīng)用程序與純IPv6節(jié)點(diǎn)通信時(shí),將節(jié)點(diǎn)的IPv6地址映射成一個(gè)備用IPv4地址池中的IPv4地址?梢哉J(rèn)為BIS是NAT-PT在主機(jī)節(jié)點(diǎn)IP協(xié)議棧的特例實(shí)現(xiàn)。
BIA技術(shù)在雙棧主機(jī)的SockeAPI模塊與TCP/IP模塊之間加入一個(gè)API翻譯器,API翻譯器包含域名解析器、地址映射器和函數(shù)映射器三個(gè)模塊,主機(jī)API檢測(cè)到發(fā)出的IPv4 API,進(jìn)行相應(yīng)的地址映射,調(diào)用IPv6的API函數(shù)和外部的IPv6主機(jī)進(jìn)行通信。BIA技術(shù)同BIS類(lèi)似,只是在API層而不是在協(xié)議棧的層次上進(jìn)行分組的翻譯,所以它的實(shí)現(xiàn)比BIS要簡(jiǎn)單一些,因?yàn)椴恍枰獙?duì)IP包頭進(jìn)行翻譯。BIS與BIA的主要區(qū)別是:BIS用在沒(méi)有IPv6協(xié)議棧的系統(tǒng)上,BIA用在有IPv6協(xié)議棧的系統(tǒng)上。
2.4 MPLS過(guò)渡技術(shù)
MPLS是第三代網(wǎng)絡(luò)架構(gòu),是集成式的IPoverATM技術(shù),數(shù)據(jù)包通過(guò)虛擬電路來(lái)傳送,只需在OSI第二層(數(shù)據(jù)鏈接層)執(zhí)行硬件式交換。MPLS是面向連接的,其關(guān)鍵概念使用標(biāo)簽來(lái)識(shí)別IP報(bào)文,并把標(biāo)簽封裝過(guò)后的報(bào)文轉(zhuǎn)發(fā)到已升級(jí)改善過(guò)的交換機(jī)或路由器,由他們?cè)诰W(wǎng)絡(luò)內(nèi)部繼續(xù)交換標(biāo)簽,轉(zhuǎn)發(fā)報(bào)文,網(wǎng)絡(luò)路由器只需判別標(biāo)記后即可進(jìn)行轉(zhuǎn)發(fā)處理。
網(wǎng)絡(luò)邊緣的節(jié)點(diǎn)被稱(chēng)為標(biāo)簽邊緣路由器(LER),而網(wǎng)絡(luò)的核心節(jié)點(diǎn)被稱(chēng)為標(biāo)簽交換路由器(LSR)。在LSR內(nèi),MPLS控制模塊以IP功能為中心,轉(zhuǎn)發(fā)模塊基于標(biāo)簽交換算法,并通過(guò)標(biāo)簽分配協(xié)議(LDP)在節(jié)點(diǎn)間完成標(biāo)簽信息以及相關(guān)信令的發(fā)送。但LDP信令以及標(biāo)簽綁定信息只在MPLS相鄰節(jié)點(diǎn)間傳遞。LSR之間或LSR與LER之間仍然需要運(yùn)行標(biāo)準(zhǔn)的路由協(xié)議,并由此來(lái)獲得拓?fù)湫畔。通過(guò)這些信息LSR可以明確選取報(bào)文的下一跳,并可以最終建立特定的標(biāo)簽交換路徑(LSP),在MPLS節(jié)點(diǎn)之間的路徑就是LSP,一條LSP可以看作是一條貫穿網(wǎng)絡(luò)的單向隧道。
表1對(duì)上述的各種過(guò)渡機(jī)制進(jìn)行分類(lèi),分析了它們的優(yōu)缺點(diǎn),給出方案適用的網(wǎng)絡(luò)范圍和環(huán)境以及地址分配的要求等。在實(shí)際應(yīng)用中,需要綜合考慮應(yīng)用要求,因地制宜,以便采用合適的過(guò)渡機(jī)制。
3 過(guò)渡機(jī)制的支持平臺(tái)
經(jīng)過(guò)3年多的發(fā)展,主要的幾種操作系統(tǒng)(無(wú)論作為客戶(hù)還是服務(wù)器),以及路由平臺(tái)都在一定程度上支持IPv6過(guò)渡機(jī)制。表2給出了幾種主流平臺(tái)對(duì)這幾種過(guò)渡機(jī)制的支持情況。
4 結(jié)束語(yǔ)
到目前為止,還沒(méi)有一種機(jī)制能夠適用于所有的情況,各種過(guò)渡機(jī)制都有其特定的適用環(huán)境。在部署IPv6網(wǎng)絡(luò)的過(guò)程中,首先要明確應(yīng)用的類(lèi)型、范圍和系統(tǒng)的類(lèi)型,然后選擇合適的過(guò)渡機(jī)制進(jìn)行設(shè)計(jì)和實(shí)施。只有因地制宜、科學(xué)分析,才能更好地、更順利地用最小的代價(jià)從IPv4網(wǎng)絡(luò)世界逐步過(guò)渡到IPv6網(wǎng)絡(luò)世界。
摘自 天津通信技術(shù)
作者:葉曉娟 葛萬(wàn)成 唐衛(wèi)華 來(lái)源:天津通信技術(shù)