一 IPv6的地址空間
IPv6協(xié)議最大的優(yōu)勢就是在于巨大地址空間,這也是IPv6協(xié)議設(shè)計的初衷。套用比較流行的比喻,地球上的每一粒沙子都能夠分配到一個公有的IPv6地址。從數(shù)字上看,IPv6具有2 128個地址,估算大約是3.4×1029億個IPv6地址,這確實是一個天文數(shù)字。然而,我們必須理性的看待IPv6的地址問題。
1 NAT設(shè)備的影響
NAT設(shè)備的廣泛使用的確減緩了IPv4地址耗盡的速度,它提供了把IPv4的32位地址空間增加到48位地址空間的方法,而代價就是破壞了TCP/IP網(wǎng)絡(luò)的可擴(kuò)展性,并且給用戶帶來一種錯誤的安全感。
NAT設(shè)備破壞IP網(wǎng)絡(luò)的可擴(kuò)展性表現(xiàn)在它打破了互聯(lián)網(wǎng)的端到端特性,并且使得一些端到端的應(yīng)用(例如IPsec協(xié)議,一些P2P應(yīng)用)變得非常困難。并且,四種類型的NAT設(shè)備,Cone NAT,Restricted NAT,Port-Restricted NAT和Symmetric NAT,并不能提供用戶所想象的安全性。外部的惡意主機(jī)仍然可以通過NAT設(shè)備的公有地址和端口號到達(dá)使用私有地址的“受到保護(hù)”的主機(jī)。另外,NAT設(shè)備增加了網(wǎng)絡(luò)的復(fù)雜性,增加網(wǎng)絡(luò)的運營維護(hù)負(fù)擔(dān),并使得Internet的可擴(kuò)展性大打折扣。
2 IPv6地址的分配原則
在對用戶進(jìn)行IPv6地址分配時,根據(jù)RFC3177以及APNIC的建議,運營商向客戶分配IPv6地址塊時需要遵循以下的原則:
1)一般情況下分配/48的IPv6地址塊,除非用戶是一個非常大的企業(yè);
2)只有在非常明確用戶只需要一個子網(wǎng)時,分配/64的IPv6地址塊;
3)只有在非常明確用戶只有一個主機(jī)(設(shè)備)時,分配/128的地址。
上述策略的目的在于保證用戶在目前可以預(yù)見的時間段內(nèi)得到足夠多的IPv6地址,這種策略可以避免IPv6路由表中出現(xiàn)零碎的路由條目,保證路由的效率。
但是,由于IPv6協(xié)議采用了鄰居自動發(fā)現(xiàn)以及無狀態(tài)自動配置的機(jī)制,IPv6的最小子網(wǎng)應(yīng)該是/64。也就是說,IPv6的地址利用率要明顯小于IPv4。從醞釀一個可管理、可運營網(wǎng)絡(luò)方面來看,IPv6的地址空間需要運營商進(jìn)行精細(xì)規(guī)劃。
3 公有地址帶來的安全問題
IPv6終端具有全局的公有地址使得IPv6網(wǎng)絡(luò)不再需要穿越NAT設(shè)備。這為保證Internet端到端的特性提供最基本的支持。然而,我們必須要考慮IPv6的公有地址所帶來的隱私以及安全問題。
IPv6地址由2部分組成,前64位是網(wǎng)絡(luò)前綴,分配給ISP;后64位是根據(jù)終端的鏈路層地址生成的EUI-64的地址。這種機(jī)制提供了一種根據(jù)IPv6地址獲知用戶身份的方法:通過后64位的EUI-64地址可以獲知是哪個用戶,而通過IPv6地址前綴可以獲知用戶處在哪個網(wǎng)絡(luò)(位置)。
具有公有IPv6地址的用戶同時也意味著完全暴露在不安全的IPv6互聯(lián)網(wǎng)中。IPv6面臨著和IPv4同樣的終端安全性。IPv6協(xié)議的擴(kuò)展報頭,例如路由擴(kuò)展報頭、目的地報頭,也為對IPv6終端的攻擊提供了一些可能的方法。所以一個完備的IPv6終端防火墻將會是IPv6網(wǎng)絡(luò)上非常重要的元素,它能夠抵御一些IPv4網(wǎng)絡(luò)上常見的重播、拒絕服務(wù)等攻擊。而更深層次的對IPv6終端支持的業(yè)務(wù)而言,終端防火墻和IPv6高層業(yè)務(wù)之間的聯(lián)動關(guān)系是IPv6協(xié)議需要研究的另外一項重要內(nèi)容。
二 IPv6的自動配置特性
1 無狀態(tài)和有狀態(tài)配置
IPv6網(wǎng)絡(luò)的配置可以分為有狀態(tài)(Stateful)和無狀態(tài)(Stateless)2種類型。無狀態(tài)是指IPv6的鄰居發(fā)現(xiàn)和無狀態(tài)自動配置協(xié)議,由RFC2461和RFC2462定義。通過IPv6節(jié)點之間交互鄰居請求/鄰居宣告消息,IPv6路由器與IPv6終端之間交互路由器請求/路由器宣告消息實現(xiàn)IPv6網(wǎng)絡(luò)的無狀態(tài)自動配置,從而取代了在IPv4使用的ARP協(xié)議,省去了在IPv6網(wǎng)絡(luò)種為每個終端配置IPv6地址以及默認(rèn)網(wǎng)關(guān)的繁瑣工作。有狀態(tài)配置和IPv4協(xié)議保持一致,由DHCPv6協(xié)議來完成。
但是在IPv6的無狀態(tài)自動配置機(jī)制中,IPv6終端并不能得到DNS服務(wù)器的配置。這對于IPv6協(xié)議的設(shè)計者來說是合理的:終端的IPv6地址前綴和默認(rèn)網(wǎng)關(guān)是由路由器宣告的,而通常路由器并不知道也不需要知道終端需要使用哪個DNS服務(wù)器的信息。DHCPv6協(xié)議能夠給終端分配IPv6地址和DNS服務(wù)器的地址,而為了網(wǎng)絡(luò)可靠性的考慮并不能分配給終端有關(guān)默認(rèn)網(wǎng)關(guān)的信息。
所以在一個完整的IPv6網(wǎng)絡(luò)中,為了讓主機(jī)同時得到IP地址、默認(rèn)網(wǎng)關(guān)和DNS服務(wù)器信息,需要IPv6鄰居發(fā)現(xiàn)機(jī)制和DHCPv6同時使用。換而言之,IPv6網(wǎng)絡(luò)還不能達(dá)到完整意義上的無狀態(tài)自動配置。
2 對終端移動性的支持
盡管如此,IPv6的鄰居發(fā)現(xiàn)和無狀態(tài)自動配置協(xié)議為IPv6終端的移動性提供了良好的支持。
首選,用戶從一個網(wǎng)絡(luò)漫游到另一個網(wǎng)絡(luò)時,它可以通過這種機(jī)制自動得到訪問網(wǎng)絡(luò)的IPv6地址。而IPv6主機(jī)可以支持多個IPv6地址的特性使得移動終端可以保持多個Internet的連接,有利于網(wǎng)絡(luò)間的無縫的、平滑的切換。
其次,Mobile IPv6技術(shù)利用了IPv6的擴(kuò)展報頭特性(Routing Header和Destination Header)消除了Mobile IPv4網(wǎng)絡(luò)中的三角路由問題,提供了IPv6的移動終端在IP層的移動性對高層協(xié)議透明。另外,Mobile IPv6協(xié)議去除了Mobile IPv4中的外部代理設(shè)備,部署起來將更為簡單。
三 IPv6的安全性
IPv6的設(shè)計者有一個很好的初衷,就是把未來的IP網(wǎng)絡(luò)設(shè)計成一個具有安全保證的網(wǎng)絡(luò)。所以,IPv6強(qiáng)制實施IPsec協(xié)議。
IPv6強(qiáng)制實施IPsec協(xié)議為部署端到端的安全性虛擬專用網(wǎng)絡(luò)提供良好的支持。由于IPsec協(xié)議和IPv4是2套協(xié)議棧,并且NAT設(shè)備已經(jīng)在現(xiàn)網(wǎng)上廣泛部署的現(xiàn)實,現(xiàn)在的IPv4 IPsec VPN多應(yīng)用于站點到站點之間,由IPv4的安全網(wǎng)關(guān)實現(xiàn)。而IPv6終端就可以利用自帶的IPsec協(xié)議進(jìn)行端到端的安全通信,而不需要考慮穿越NAT的問題。經(jīng)過良好的規(guī)劃和管理之后,安全的IPv6業(yè)務(wù)將成為IPv6網(wǎng)絡(luò)的重要屬性之一。
應(yīng)用層安全協(xié)議(例如SSL)由于運行于IP協(xié)議之上,本身與IPv4、IPv6協(xié)議無關(guān),所以在應(yīng)用層協(xié)議方面,IPv4和IPv6協(xié)議沒有本質(zhì)區(qū)別。應(yīng)用層安全協(xié)議比較適用于某些特定的應(yīng)用(例如Web),而IPsec協(xié)議更為靈活,一旦建立了一個IPsec的安全通道,通信對端之間所有的流量都可以被IPsec保護(hù)。
目前Windows XP+SP2和Windows Server 2003操作系統(tǒng)已經(jīng)支持IPv6的IPsec協(xié)議,但是不支持IPv6的IKE。Linux的內(nèi)核2.6以上版本也支持IPv6的IPsec協(xié)議,并有第三方軟件提供IKE協(xié)議支持。一些底端的路由器和防火墻產(chǎn)品也已經(jīng)支持IPv6 IPsec協(xié)議。
四 IPv6的服務(wù)質(zhì)量保證
IPv4報頭中8比特的“業(yè)務(wù)類型”字段用來區(qū)分服務(wù)來保證不同級別的業(yè)務(wù)獲得不同的服務(wù)質(zhì)量,IPv6報頭中,使用了8比特“流量類型(Traffic Class)”和20比特的“流標(biāo)記(Flow Label)”字段以期待為IPv6業(yè)務(wù)提供更好的服務(wù)質(zhì)量選項。
IPv6的“流量類型”字段用于源節(jié)點和中間路由器標(biāo)識和區(qū)分不同IPv6數(shù)據(jù)包的類別或優(yōu)先級,這一點與IPv4協(xié)議的“業(yè)務(wù)類型”字段的作用相似:為IP包提供不同形式的區(qū)分服務(wù),而不用建立顯式的數(shù)據(jù)流。
IPv6的“流標(biāo)記”規(guī)范由新近的RFC3697定義。RFC3697在源節(jié)點與中繼路由器之間根據(jù)三元組(流標(biāo)記字段,源地址字段和目的地址字段)定義一個IPv6的數(shù)據(jù)流,以及中間路由器對IPv6 數(shù)據(jù)流的處理能力的最低要求。這個流標(biāo)記規(guī)范提出了在數(shù)據(jù)流的源端主機(jī)應(yīng)該為每一次獨立的傳輸層連接,或者應(yīng)用數(shù)據(jù)流指定一個新的IPv6數(shù)據(jù)流,并要求在數(shù)據(jù)流從源端到目的端的路徑上所有的IPv6路由器都要根據(jù)這個IPv6 Flow采取擬定的策略。這就為在IPv6網(wǎng)絡(luò)上每一跳路由器根據(jù)數(shù)據(jù)流的定義采取不同的PHB(Per-Hop Behavior)奠定了基礎(chǔ),也使得IPv6網(wǎng)絡(luò)在采用DiffServ的同時,能夠根據(jù)IPv6數(shù)據(jù)流提供顆粒度更細(xì)的服務(wù)質(zhì)量保證。
但是RFC3697提出的IPv6流標(biāo)記規(guī)范并沒有指定如何在源端指定IPv6 數(shù)據(jù)流的值,以及每一跳路由器如何根據(jù)三元組對數(shù)據(jù)流進(jìn)行處理。所以,本規(guī)范還需要進(jìn)一步的完善和細(xì)化,并有待于在現(xiàn)實網(wǎng)絡(luò)上部署的檢驗。
五 IPv6的網(wǎng)絡(luò)和業(yè)務(wù)
1 IPv6的骨干路由表數(shù)目
由于IPv6地址采用了分級的結(jié)構(gòu),在恰當(dāng)?shù)牡刂贩峙洳呗韵,IPv6的骨干路由表數(shù)目可以期待為遠(yuǎn)遠(yuǎn)低于IPv4的骨干路由表數(shù)目。
然后考慮到IPv6 Multi-Homing的影響,客戶可以選擇連接到不同的ISP并得到不同前綴的IPv6地址。例如客戶同時連接到ISP A和ISP B,并分別從A和B獲得一塊IPv6地址。為了保證客戶網(wǎng)絡(luò)的連通性,運營商A必須要向外廣播客戶從運營商B處獲得的IPv6地址塊,同樣運營商B必須要向外廣播客戶從運營商A處獲得的IPv6地址塊。這種Multi-Homing的情況會給IPv6的骨干路由表帶來大量/48甚至/64的路由條目。這種如果不妥善解決,IPv6路由表可能超過IPv4中由于CIDR而產(chǎn)生的路由表爆炸的情況,甚至更糟。
2 IPv6數(shù)據(jù)包的處理和傳輸
IPv6的數(shù)據(jù)報頭長為40個字節(jié),相比IPv4的最小20個字節(jié),表面看來路由器處理起來會更加復(fù)雜。實際上,由于IPv6的報頭中去除了IPv4報頭中的校驗和、選項以及分段字段,使得IPv6報頭更加簡單,更有利用ASIC芯片的硬件處理。如果廠商對IPv6擴(kuò)展報頭也使用硬件處理的話,路由器對IPv6數(shù)據(jù)包的處理速度不會低于IPv4數(shù)據(jù)包。事實上,根據(jù)LightReading以及一些公開的測試結(jié)果表明,基于硬件轉(zhuǎn)發(fā)的路由器在處理IPv6和IPv4無論是大數(shù)據(jù)包還是小數(shù)據(jù)包的情況,性能非常接近。
而IPv6的40個字節(jié)的數(shù)據(jù)報頭長度的數(shù)據(jù)包,在鏈路上傳輸時的傳輸效率會略微低于IPv4數(shù)據(jù)包。例如在MTU為1500 Bytes的Ethernet鏈路上,IPv6的傳輸效率可以表示為(1500-40)/1500= 97.3%;而IPv4的傳輸效率可以表示為(1500-20)/1500 = 98.7%。對于MTU越大的傳輸鏈路,例如POS鏈路,這種傳輸效率的差別就越小。在硬件處理和傳輸帶寬越來越進(jìn)步的今天,這種差別對協(xié)議性能的影響幾乎可以忽略不計!
3 IPv6的“殺手級應(yīng)用”
目前IPv6的發(fā)展遇到的另一個非常重要的問題就是IPv6的業(yè)務(wù)。
電信產(chǎn)業(yè)已經(jīng)從技術(shù)驅(qū)動的時代過渡到市場驅(qū)動的時代,IPv6也不例外,F(xiàn)在IPv6產(chǎn)業(yè)界研究和探討的熱點已經(jīng)開始從單純的IPv6技術(shù)和設(shè)備逐漸過渡到尋找IPv6的“殺手級的應(yīng)用”。
誠然,IPv6具備一些“殺手級的屬性”,正如前述的廣闊的地址空間、對移動性以及安全性嵌入的支持等,而目前為止IPv6還沒有產(chǎn)生屬于自己的殺手級應(yīng)用。不過下述的方面已經(jīng)成為IPv6業(yè)務(wù)研究的熱點:
1)IPv6的IPsec VPN業(yè)務(wù)。IPsec VPN作為一個安全的業(yè)務(wù)平臺,可以為各種高層應(yīng)用(例如機(jī)密的電子商務(wù)信息、VoIP和視頻)提供數(shù)據(jù)完整性和機(jī)密性的保護(hù)。利用IPv6嵌入支持IPsec協(xié)議的優(yōu)勢,端到端的IPsec VPN業(yè)務(wù)將成為IPv6業(yè)務(wù)發(fā)展的重要推動力。
2)IPv6的P2P應(yīng)用。IPv6的端到端特性為P2P應(yīng)用提供了最基礎(chǔ)的網(wǎng)絡(luò)支持。Skype、BT等點到點通信軟件的流行幾乎是未來網(wǎng)絡(luò)上典型應(yīng)用模式的預(yù)演。而可控的、可運營的P2P應(yīng)用模式與經(jīng)營模式仍然是運營商需要研究的課題。
六 結(jié)論
IPv4地址在短期內(nèi)不會被耗盡并不是說明IPv6協(xié)議沒有很重要的研究、試驗與部署的價值。相反,IPv4的繼續(xù)健康的發(fā)展為IPv6協(xié)議的充分成熟,以及運營商積累更多的IPv6部署與運營的經(jīng)驗爭取了寶貴的時間。畢竟,沒有人會在IPv4地址完全耗盡的時候才開始研究下一代的IP協(xié)議。參與IPv4地址耗盡時間預(yù)測的APNIC的主席Paul Wilson本人也是IPv6協(xié)議的堅決擁護(hù)者,而被稱為“Intenet之父”的科學(xué)家Vin Cerf的一個關(guān)于IP網(wǎng)的遺憾就是沒有把IPv4的地址空間設(shè)計為128位。
顯然的是,IPv4網(wǎng)絡(luò)在繼續(xù)修修補(bǔ)補(bǔ)的情況下,仍然可以渡過一個相當(dāng)長的時間。但是大量的NAT設(shè)備破壞了Internet的可擴(kuò)展性,帶來了性能瓶頸,也增加了網(wǎng)絡(luò)的復(fù)雜度。這樣違背了互聯(lián)網(wǎng)的最基本理念:簡單。
IPv6并不能解決目前IPv4網(wǎng)絡(luò)上面臨的所有的問題。IPv6網(wǎng)絡(luò)的服務(wù)質(zhì)量仍然要寄希望于IPv4網(wǎng)絡(luò)上已經(jīng)在使用的差分服務(wù)或者M(jìn)PLS TE、RSVP來保證,或者新生的還沒有被詳細(xì)定義的流標(biāo)記使用規(guī)范;IPv6網(wǎng)絡(luò)的安全問題仍然需要終端廠商、設(shè)備廠商以至軟件開發(fā)人員定義詳細(xì)的接口和規(guī)范。同時,現(xiàn)在的網(wǎng)絡(luò)運營商還沒有積累許多的運行大規(guī)模IPv6網(wǎng)絡(luò)的經(jīng)驗。尤其重要的是,IPv6還沒有一個完整的商業(yè)模型,來促使運營商對網(wǎng)絡(luò)設(shè)備進(jìn)行升級,對用戶推廣IPv6的新型業(yè)務(wù)。
幸好,IPv6已經(jīng)成為未來安全的、有服務(wù)質(zhì)量保證的全新IP網(wǎng)絡(luò)的基本協(xié)議,并且它還有足夠的時間來成熟和完善。
作者:張浩鋒 解沖鋒 來源:中國聯(lián)通網(wǎng)站