摘 要 本文介紹了IPv4協(xié)議存在的問題和采用IPv6協(xié)議對中國通信業(yè)的影響,并重點(diǎn)說明了應(yīng)用在IPv6和IPv4網(wǎng)絡(luò)互通中的翻譯網(wǎng)關(guān)技術(shù)。
關(guān)鍵詞 IPv6 IPv4 協(xié)議轉(zhuǎn)換 翻譯網(wǎng)關(guān)
1 IPv4協(xié)議存在的問題
IPv4作為網(wǎng)絡(luò)的基礎(chǔ)設(shè)施而廣泛地應(yīng)用在Internet和難以計(jì)數(shù)的小型專用網(wǎng)絡(luò)上。IPv4 是一個(gè)令人難以置信的成功的協(xié)議,它可以把數(shù)十個(gè)或數(shù)百個(gè)網(wǎng)絡(luò)上的數(shù)以百計(jì)或數(shù)以千計(jì)的主機(jī)連接在一起,并已經(jīng)在全球Internet上成功地連接了數(shù)以千萬計(jì)的主機(jī)。但是,隨著網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和網(wǎng)絡(luò)用戶數(shù)量的激增,IPv4協(xié)議本身存在的問題就逐漸暴露出來。
· 地址空間的局限性:IP 地址空間的危機(jī)由來已久,并正是升級的主要?jiǎng)恿Α?/p>
· 性能:盡管IP表現(xiàn)得不錯(cuò),一些源自20年前甚至更早以前的設(shè)計(jì)還能夠進(jìn)一步改進(jìn)。
· 安全性:安全性一直被認(rèn)為是由網(wǎng)絡(luò)層以上的層負(fù)責(zé),但它現(xiàn)在已經(jīng)成為IP的下一個(gè)版本可以發(fā)揮作用的地方。
· 自動配置:對于IPv4 節(jié)點(diǎn)的配置一直比較復(fù)雜,而網(wǎng)絡(luò)管理員與用戶則更喜歡“即插即用”,即:將計(jì)算機(jī)插在網(wǎng)絡(luò)上,然后就可以開始使用。IP 主機(jī)移動性的增強(qiáng)也要求當(dāng)主機(jī)在不同網(wǎng)絡(luò)間移動和使用不同的網(wǎng)絡(luò)接入點(diǎn)時(shí)能提供更好的配置支持。
在這種情況下,IETF從20世紀(jì)90年代起開始研究下一代IP項(xiàng)目,經(jīng)過幾年的努力,在廣泛聽取業(yè)界和專家意見的基礎(chǔ)上,于1995年12月,推出了下一代IP的標(biāo)準(zhǔn),即IPv6。
2 IPV6對中國通信業(yè)的影響
由于歷史的原因,中國在IPv4的發(fā)展中處于后進(jìn)狀態(tài),在國際上發(fā)言權(quán)不多,導(dǎo)致在IP地址的供需上嚴(yán)重失衡。截至2002年底,擁有13億人口的中國,只有大約2900萬個(gè)IP地址,B類地址僅有數(shù)百個(gè),A類地址一個(gè)都沒有。不言而喻,中國應(yīng)該是全球最需要IP地址的國家之一。同時(shí),中國作為一個(gè)互聯(lián)網(wǎng)和移動通信大國,勢必要在下一代互聯(lián)網(wǎng)標(biāo)準(zhǔn)和資源分配中力爭更大的發(fā)言權(quán)。IPv6作為核心基本技術(shù),將帶動大量相關(guān)技術(shù)和服務(wù)的發(fā)展,提升中國信息通信產(chǎn)業(yè)的整體實(shí)力,為中國的信息產(chǎn)業(yè)帶來新的發(fā)展機(jī)遇。
經(jīng)過近十幾年來的持續(xù)高速發(fā)展,中國通信業(yè)正成為全球通信產(chǎn)業(yè)的重要力量,并且成為通信新技術(shù)和應(yīng)用發(fā)展的主要市場。新的競爭格局的出現(xiàn),加速了運(yùn)營商由單純網(wǎng)絡(luò)規(guī)模競爭向業(yè)務(wù)競爭的轉(zhuǎn)變過程,推動了新型通信技術(shù)和業(yè)務(wù)的發(fā)展。IPv6所提供的巨大的地址空間以及所具有的諸多優(yōu)勢和功能,使其成為構(gòu)筑下一代網(wǎng)絡(luò)的重要基礎(chǔ)。以IPv6為核心技術(shù)的下一代網(wǎng)絡(luò)在中國正在受到越來越多的重視,以IPv6為核心的下一代網(wǎng)絡(luò)將為運(yùn)營商實(shí)現(xiàn)以下價(jià)值:
——下一代網(wǎng)使網(wǎng)絡(luò)建設(shè)變得更加容易。據(jù)稱,利用基于IP的網(wǎng)元而不是傳統(tǒng)電路交換機(jī),一個(gè)新興的通信公司可把建網(wǎng)費(fèi)用降低70%。
——下一代網(wǎng)的運(yùn)行成本要低很多。這是因?yàn)橄乱淮W(wǎng)是多業(yè)務(wù)網(wǎng),不需要另建具有支撐維護(hù)功能的重疊網(wǎng)。同時(shí)下一代網(wǎng)在用戶管理、業(yè)務(wù)提供、用戶資料修改和自我計(jì)費(fèi)方面更加自動化。設(shè)備供應(yīng)商都聲稱下一代網(wǎng)能使通信公司降低運(yùn)行成本高達(dá)70%。如果部署用下一代用戶關(guān)照系統(tǒng),通信公司在用戶支持成本方面估計(jì)能降低60%。
——下一代網(wǎng)給新興通信公司帶來很大的創(chuàng)收機(jī)會。例如,他們可以提供諸如應(yīng)用軟件遞送或電子商務(wù)之類的高收入服務(wù)。他們還可以利用集中的業(yè)務(wù)控制、應(yīng)用編程接口和公共編程語言來使業(yè)務(wù)生成變得更加容易和便宜。
——下一代網(wǎng)能幫助運(yùn)營商加強(qiáng)與用戶的關(guān)系,減少用戶流失。下一代網(wǎng)運(yùn)營商可以提供基于Web的接口,讓用戶通過該接口直接定購新業(yè)務(wù)、改變服務(wù)內(nèi)容和支付費(fèi)用,從而與用戶建立更廣泛更緊密的關(guān)系。下一代網(wǎng)運(yùn)營商可以為用戶的特殊需要定制服務(wù),為電子服務(wù)開設(shè)專門的門戶。由于與用戶建立了直接聯(lián)系,下一代網(wǎng)運(yùn)營商將處于一個(gè)獨(dú)特的位置,它為用戶提供第一個(gè)聯(lián)系點(diǎn),能夠在網(wǎng)絡(luò)邊緣開設(shè)專業(yè)門戶。
通過對IPv6設(shè)備的研究,運(yùn)營商可以尋找到合理的IPv4向IPv6過渡的解決方案,最大限度地保護(hù)現(xiàn)有投資。這不僅僅是保護(hù)了運(yùn)營商的現(xiàn)有投資,而且可以全面保護(hù)運(yùn)營商在IP設(shè)備上的投資。根據(jù)現(xiàn)有情況推算,IPv6將使網(wǎng)絡(luò)用戶在數(shù)年里成倍增長,使寬帶接入收入翻倍,數(shù)據(jù)業(yè)務(wù)總量增加。
此外,從安全的角度看,目前網(wǎng)絡(luò)自身的安全保護(hù)能力有限,許多應(yīng)用系統(tǒng)處于不設(shè)防或很少設(shè)防的狀態(tài),存在著太多的弱點(diǎn)。而將來對網(wǎng)絡(luò)的攻擊不僅僅是我們曾經(jīng)見識過的蠕蟲、病毒和黑客,還會有瞄準(zhǔn)互聯(lián)網(wǎng)基本機(jī)理的攻擊,使關(guān)鍵的交換機(jī)、路由器和傳輸設(shè)備癱瘓。IPv6從地址管理及分配方式和技術(shù)本身兩個(gè)層面提供了充分的安全保障。
IPv6繼承了IPv4的端到端和盡力而為的基本思想,其設(shè)計(jì)目標(biāo)就是要解決IPv4存在的問題,并取代IPv4成為下一代互聯(lián)網(wǎng)的主導(dǎo)協(xié)議。IPv4時(shí)代互聯(lián)網(wǎng)地址分配的教訓(xùn)使人們意識到即使有128bit的地址空間,一個(gè)良好的分配方案仍然非常關(guān)鍵。因此,IPv6本身充分的地址空間可以為每一個(gè)用戶及每一臺設(shè)備與終端提供唯一對應(yīng)的IP地址。此外,IPv6分級的地址管理與分配模式均為國家信息安全的有效管理提供了必要保障。
3 翻譯網(wǎng)關(guān)技術(shù)
3.1 IPv4和IPv6協(xié)議轉(zhuǎn)換的技術(shù)
IPv6雖然是一個(gè)先進(jìn)的協(xié)議,具有很多優(yōu)點(diǎn),但從IPv4網(wǎng)絡(luò)過渡到純粹的IPv6網(wǎng)絡(luò)仍需要一個(gè)過程,因此IPv4和IPv6要在一段較長的時(shí)間內(nèi)共存。因此研究IPv6和IPv4仍需要一個(gè)過程。
網(wǎng)絡(luò)的互通就具有一定的現(xiàn)實(shí)意義。由于大部分的IPv6協(xié)議和IPv4協(xié)議并不兼容,因此協(xié)議轉(zhuǎn)換就成為IPv4和IPv6網(wǎng)絡(luò)互通的關(guān)鍵。實(shí)現(xiàn)協(xié)議轉(zhuǎn)換常用的技術(shù)有兩種,一種是IP隧道(IP Tunnel)技術(shù),第二種是雙IP層(Dual IP Layer)技術(shù)。
IP隧道技術(shù)提供了一種以現(xiàn)有IPv4路由體系來傳遞IPv6數(shù)據(jù)包的方法。將IPv6包封裝在IPv4包中,在路由時(shí)只根據(jù)IPv4的分組頭進(jìn)行處理。雙IP層技術(shù)是指在同一節(jié)點(diǎn)實(shí)現(xiàn)IPv6協(xié)議的同時(shí)再實(shí)現(xiàn)一套IPv4協(xié)議。這種雙協(xié)議節(jié)點(diǎn)能夠接收和發(fā)送IPv6和IPv4兩種協(xié)議的數(shù)據(jù)包。雙IP層技術(shù)可以單獨(dú)使用,也可以和IP隧道技術(shù)結(jié)合使用。
3.2 翻譯網(wǎng)關(guān)技術(shù)
在本文中我們討論的是另一種可行的技術(shù)—— 翻譯網(wǎng)關(guān)。翻譯網(wǎng)關(guān)技術(shù)就是在IPv4和IPv6主機(jī)之間,甚至IPv4和IPv6網(wǎng)絡(luò)之間,進(jìn)行協(xié)議翻譯,使它們能夠互相通信,如圖1所示。通常翻譯網(wǎng)關(guān)從概念上很類似于IPv4的地址翻譯。IPv4的地址翻譯是將一個(gè)IPv4地址空間映射成為另一個(gè)IPv4地址空間,翻譯網(wǎng)關(guān)則是在IPv4地址和IPv6地址之間進(jìn)行映射。另一方面,IPv4的地址翻譯提供了內(nèi)部IPv4網(wǎng)絡(luò)和外部IPv4網(wǎng)絡(luò)之間的路由轉(zhuǎn)發(fā),而翻譯網(wǎng)關(guān)則是在IPv4和IPv6網(wǎng)絡(luò)之間進(jìn)行路由轉(zhuǎn)發(fā)。我們討論的翻譯網(wǎng)關(guān)除了進(jìn)行通常的地址翻譯和路由轉(zhuǎn)發(fā)外,還要包括協(xié)議的翻譯,本文只討論協(xié)議翻
在介紹翻譯網(wǎng)關(guān)協(xié)議轉(zhuǎn)換之前,我們先將IPv4和IPv6包格式進(jìn)行簡單的比較,同時(shí)給出IPv6頭部的新特點(diǎn)。圖2和圖3分別給出了IPv4和IPv6的頭部結(jié)構(gòu)。
IPv6協(xié)議將原有的IPv4頭部某些內(nèi)容設(shè)置在IPv6協(xié)議的備選項(xiàng)中,這些重新設(shè)置或丟棄的部分有:協(xié)議頭部長度、標(biāo)識域、標(biāo)記、分段偏移、頭部校驗(yàn)以及備選/填充部分。
IPv6協(xié)議增加了兩個(gè)新的域:優(yōu)先級和流標(biāo)識。IPv6通過新的優(yōu)先級、數(shù)據(jù)流標(biāo)號兩個(gè)字段域,可以支持資源預(yù)定,并且允許路由器將每個(gè)數(shù)據(jù)報(bào)與一個(gè)給定的資源分配相聯(lián)系。IPv6以一種新的方式處理長度說明。首先,因?yàn)榛绢^部的長度固定為40個(gè)八比特組,基本頭部就沒有必要再包括一個(gè)頭部長度字段域。其次,IPv6以一個(gè)16bit的負(fù)載長度字段域取代了IPv4的數(shù)據(jù)報(bào)的總體長度字段域。IPv6下一個(gè)報(bào)頭標(biāo)識出IPv6協(xié)議頭部后連接的信息類型,緊跟IPv6協(xié)議頭部的信息可以是封裝頭部、加密頭部、路由頭部或者是這些選項(xiàng)的組合。網(wǎng)絡(luò)中間路由對這些備選信息一般不進(jìn)行處理。IPv6的網(wǎng)絡(luò)跳限(Hop Limit)域?qū)?yīng)著IPv4中的生成時(shí)間(Time to Live)域,不同之處在于IPv4將生存時(shí)間解釋為跳數(shù)(Hop Count)或停留時(shí)間,而IPv6則將該值解釋為IP數(shù)據(jù)報(bào)在被丟棄前被傳送的最大跳數(shù)。
IPv4到IPv6的協(xié)議翻譯基本操作是把原IPv4報(bào)頭用IPv6的報(bào)頭替換。反之亦然。而上層協(xié)議是否修改要視具體情況而定。圖4說明了整個(gè)翻譯的流程。
轉(zhuǎn)換IP協(xié)議本身并不復(fù)雜,簡單來說只是在IPv4與IPv6之間建立一個(gè)映射關(guān)系。但是由于IPv4和在功能上有一定的差別,對于分片等需做特別處理。
在IPv6中,必須進(jìn)行MTU的發(fā)現(xiàn),而在IPv4中,這不是必須的。也就是說,IPv6的路由器是不能夠?qū)?shù)據(jù)包進(jìn)行分片的,只有發(fā)送端主機(jī)可以這樣做。IPv4主機(jī)也可以設(shè)置MTU發(fā)現(xiàn)(DF=1),由于對端的主機(jī)有可能會分布在翻譯網(wǎng)關(guān)的另一端,這時(shí),無論IPv4或IPv6的路由器都有可能向發(fā)送端返回一個(gè)“packeg too big”的消息。當(dāng)這個(gè)信息是由IPv6主機(jī)發(fā)出時(shí),它就會穿過翻譯網(wǎng)關(guān)。
IPv6和IPv4對MTU的要求有很大的差別。IPv6要求鏈路的最小MTU是1280字節(jié),而IPv4的限制只是68字節(jié)。
按照RFC 2460,當(dāng)一個(gè)IPv6字節(jié)收到一個(gè)“packet too big”的消息時(shí),要做的工作就是將MTU降低為1280字節(jié)。所以進(jìn)行IPv6到IPv4的翻譯時(shí),有可能會發(fā)生這樣的情況:對于一個(gè)IPv6節(jié)點(diǎn)發(fā)出的小于1280字節(jié)的MTU,某個(gè)IPv4的路由器會報(bào)告“packet too big”的消息,所以,只有當(dāng)鏈路條件滿座1280字節(jié)的基本要求時(shí),這種翻譯才能夠正常進(jìn)行。不過,目前的鏈路情況大都可以滿足這樣的條件。
由于ICMPv4和ICMPv6的報(bào)頭具有相似的結(jié)構(gòu),所以相互轉(zhuǎn)換是比較直接的。但校驗(yàn)和(Checksum)需要重新計(jì)算。雖然ICMP的翻譯是一個(gè)很直接的過程,但仍然有一些細(xì)節(jié)問題需要注意。有一些ICMP的錯(cuò)誤信息中,包含了導(dǎo)致出錯(cuò)的IP報(bào)頭,這時(shí)就需要有特殊的處理,整個(gè)數(shù)據(jù)包的長度也會受到影響。
對于TCP和UDP協(xié)議,IPv4和IPv6并沒有什么不同。由于受到地址格式的影響,只是校驗(yàn)和需要重新計(jì)算。UDP和TCP的校驗(yàn)和計(jì)算引入了偽報(bào)頭(Pseudo Header)的概念,這是為了保證數(shù)據(jù)包正確到達(dá)目的地。UDP和TCP地報(bào)頭中只包括了源端口和目的端口,而不包括源地址和目的地址,所以TCP和UDP的校驗(yàn)和將IP地址也一并計(jì)算進(jìn)去。實(shí)際上,由于原IP包中已經(jīng)有了校驗(yàn)和,我們不妨加以利用,而不需要完全計(jì)算。可以采用如下的公式:
新校驗(yàn)和=原校驗(yàn)和+新IP地址的校驗(yàn)和-原IP地址的校驗(yàn)和
對于某些應(yīng)用層的協(xié)議也必須給予特殊處理。例如,RFC 2428中,對FTP協(xié)議增加了兩個(gè)新命令EPET和EPSV,用來代替原來的PORT和PASV命令。這樣,F(xiàn)TP協(xié)議便不再只限于IPv4協(xié)議。由于應(yīng)用層協(xié)議種類繁多,在此就不逐一進(jìn)行分析了。
由于本網(wǎng)頁不支持圖片與公式效果,如有需要請參閱雜志。
作者:張恂達(dá) 來源:中國新通信(原《中國數(shù)據(jù)通信》4月)