張德楊 黃 鑫
(1.河南省科學技術信息研究院,河南 鄭州 450003;2.河南省新聞出版廣電局信息網(wǎng)絡視聽節(jié)目傳播監(jiān)管中心,河南 鄭州 450003)
IPv6與Teredo技術應用
張德楊1黃 鑫2
(1.河南省科學技術信息研究院,河南 鄭州 450003;2.河南省新聞出版廣電局信息網(wǎng)絡視聽節(jié)目傳播監(jiān)管中心,河南 鄭州 450003)
本文首先介紹了IPv6誕生的背景并與IPv4進行了比較,然后分析了三種常見的過渡技術:雙棧、隧道和轉(zhuǎn)換,最后討論了Teredo技術在W indows7上的應用。
IPv6;過渡技術;Teredo
目前,國際互聯(lián)網(wǎng)廣泛使用的IP協(xié)議是IPv4,即互聯(lián)網(wǎng)協(xié)議第四版。近十多年來,互聯(lián)網(wǎng)上各類應用蓬勃發(fā)展,IP地址的需求量越來越大,IP地址資源日趨緊張。2011年2月3日全球IP地址管理機構(gòu)“國際互聯(lián)網(wǎng)名稱與數(shù)字地址分配機構(gòu)”(ICANN)宣布,最后所剩的5組IP地址(基于互聯(lián)網(wǎng)通信協(xié)議IPv4)被分配給了全球5大區(qū)域互聯(lián)網(wǎng)注冊管理機構(gòu),IPv4地址總庫已經(jīng)枯竭。2011年4月,亞太互聯(lián)網(wǎng)絡信息中心(APNIC)宣布亞太地區(qū)IPv4地址也已經(jīng)分配完畢,最后1個A類地址只用于IPv6過渡,亞太區(qū)是全球首個無法滿足IPv4需求的地區(qū)。中國互聯(lián)網(wǎng)絡信息中心(CNNIC)最新調(diào)查顯示,截至2013年底,我國IPv4地址數(shù)量僅為3.31億(不含港澳臺地區(qū)),無法滿足約6億網(wǎng)民的需求。由于全球IPv4地址數(shù)已經(jīng)分配完畢,因而自2011年開始我國IPv4地址總數(shù)基本維持不變。
IPv4地址不足嚴重地制約了互聯(lián)網(wǎng)的應用和發(fā)展,面對全球IPv4地址即將用盡的問題,下一代IP協(xié)議IPv6應運而生,并提供數(shù)量“浩瀚”的新型IP地址。《IPv6全球部署評估報告》2011年調(diào)查結(jié)果數(shù)據(jù)顯示,約1600名國際調(diào)查對象中超過70%計劃2012年年底為其網(wǎng)絡部署IPv6。我國政府明確了今后一個時期我國發(fā)展下一代互聯(lián)網(wǎng)的路線圖和主要目標:2013年年底前開展國際互聯(lián)網(wǎng)協(xié)議第6版網(wǎng)絡(IPv6)小規(guī)模商用試點,2014年開始大規(guī)模部署和商用。
IPv4采用32位地址長度,其地址容量為2的32次方個,即4.3×10的9次方個,全球可用的IPv4地址只有大約43億個;IPv6地址采用128位地址長度,其地址容量達2的128次方個,即3.4× 10的38次方個。IPv6極大擴展了IP地址空間,全球平均每人可分配超過10億個地址,“可以為地球上的每粒沙子都分配一個IP地址”。IPv6的設計除了解決地址短缺問題以外,還考慮了在IPv4中解決不好的其他問題,主要有端到端IP連接、自動配置、網(wǎng)絡重編號、網(wǎng)絡聚合、服務質(zhì)量(QoS)、安全性、多播、移動性、即插即用等[1]。
IPv6與IPv4地址比較如下表[2]:
盡管IPv6是為了解決IPv4地址不足的問題而誕生的,但是IPv6并不直接向下兼容IPv4。為了使IPv4能夠順利過渡到IPv6,IPv6在設計過程中提供了一些特性,使過渡過程得以簡化。目前互聯(lián)網(wǎng)使用的IPv4規(guī)模非常龐大,從IPv4過渡到IPv6不可能一次性實現(xiàn),必須要經(jīng)過一個循序漸進的過程,在過渡過程中IPv4和IPv6必將共存與互通。現(xiàn)在已經(jīng)有許多機制能夠解決從IPv4到IPv6的過渡問題,它們的實現(xiàn)原理和應用環(huán)境各有側(cè)重,應用比較廣泛的過渡策略主要有雙棧策略、隧道策略以及轉(zhuǎn)換策略[3]。

比較項目IPv4文本表示法點分十進制如192.168.0.1子網(wǎng)掩碼未指定地址回環(huán)地址公用地址IPv6冒分十六進制(取消前置零、一次零壓縮)如:FF01:0:0:AB:0:0:0:101 =FF01::AB:0:0:0:101或FF01:0:0:AB::101僅使用前綴長度表示法(CIDR)如1080:0:FF:0::/64(無掩碼)::/128::1/128可匯聚全球單播地址:2001::/16,2002::/16,3FFE::/16私有地址本地站點地址(FEC0::/10)多播地址FF00::/8被請求節(jié)點地址(FF02::1:FF00:0000/104)D類地址(224.0.0.0/4)無,作為多播的特例廣播地址以點陣十進制表示法或前綴長度表示法(CIDR)0.0.0.0 127.0.0.1 A類,B類,C類10.0.0.0/8 172.16.0.0/12 192.168.0.0/16自動配置的地址兼容IPv4的IPv6地址IPv4映射的IPv6地址本地鏈路地址(FE80::/10)::A.B.C.D::FFFF:A.B.C.D網(wǎng)絡廣播地址、子網(wǎng)廣播地址、全子網(wǎng)定向廣播地址和有限廣播地址169.254.0.0/16 A.B.C.D A.B.C.D
2.1 雙棧策略
雙棧策略是指網(wǎng)絡節(jié)點同時具有IPv4和IPv6兩個協(xié)議棧,這樣節(jié)點可以根據(jù)需要對數(shù)據(jù)進行IPv4封裝或者IPv6封裝,IPv4或者IPv6分組數(shù)據(jù)按照各自的協(xié)議進行接收、處理、發(fā)送,使得網(wǎng)絡節(jié)點既能與IPv4網(wǎng)絡也能與IPv6網(wǎng)絡通信。雙棧策略的優(yōu)點是概念清晰,易于理解,網(wǎng)絡規(guī)劃相對簡單,同時可以充分發(fā)揮IPv4或者IPv6協(xié)議的優(yōu)點;雙棧策略的缺點是對網(wǎng)絡節(jié)點設備的要求較高,需要其同時支持IPv4和IPv6協(xié)議,維護大量的協(xié)議和數(shù)據(jù),此外網(wǎng)絡升級改造將牽涉到網(wǎng)絡中的所有節(jié)點設備,投資大、建設周期長。
2.2 隧道策略
隧道策略是指網(wǎng)絡節(jié)點之間利用一種協(xié)議來傳輸另一種協(xié)議的數(shù)據(jù)技術,類似于在網(wǎng)絡節(jié)點之間打通一條隧道來傳輸數(shù)據(jù)。具體來說是指在隧道入口以一種協(xié)議的形式來對另外一種協(xié)議數(shù)據(jù)進行封裝并發(fā)送,在隧道出口對接收到的協(xié)議數(shù)據(jù)解封裝并做相應的處理。通過隧道技術可以在IPv4數(shù)據(jù)包中封裝IPv6數(shù)據(jù)包,也可以在IPv6數(shù)據(jù)包中封裝IPv4數(shù)據(jù)包。隧道策略的優(yōu)點是能夠充分利用現(xiàn)有的網(wǎng)絡投資,因此在過渡初期是一種方便的選擇;缺點是在隧道的入口處會出現(xiàn)負載協(xié)議數(shù)據(jù)包的拆分,在隧道出口處會出現(xiàn)負載協(xié)議數(shù)據(jù)包的重組,因此增加了隧道出入口的實現(xiàn)復雜度,不利于大規(guī)模的應用。
2.3 轉(zhuǎn)換策略。雙棧策略和隧道策略要求網(wǎng)絡節(jié)點都支持雙棧,如果在網(wǎng)絡中純IPv4節(jié)點需要與純IPv6節(jié)點之間進行通信,則由于協(xié)議棧的不同,需要對這些協(xié)議進行轉(zhuǎn)換。對應協(xié)議的轉(zhuǎn)換可以分為兩個層面來進行,一是IPv4與IPv6網(wǎng)絡層的協(xié)議轉(zhuǎn)換,主要是通過NAT-PT技術來實現(xiàn),二是IPv4與IPv6應用層的協(xié)議轉(zhuǎn)換,主要通過應用層網(wǎng)關ALG來實現(xiàn)。轉(zhuǎn)換策略的優(yōu)點是不需要對IPv4和IPv6節(jié)點進行升級改造;缺點是IPv4節(jié)點訪問IPv6節(jié)點的實現(xiàn)方法比較復雜,網(wǎng)絡設備進行協(xié)議轉(zhuǎn)換、地址轉(zhuǎn)換的處理開銷較大。因此,該策略一般是在其他互通方式無法使用的情況下使用。
上述各種過渡策略均有各自的優(yōu)缺點,其應用環(huán)境各有側(cè)重,目前,還沒有一種普遍適用的過渡技術。在實際網(wǎng)絡建設中,應根據(jù)擴展性、安全性、網(wǎng)絡性能等多方面因素綜合考慮,選擇適合網(wǎng)絡自身特征的過渡策略。
目前大多數(shù)ISP不提供IPv6接入服務,因此普通用戶無法直接接入IPv6網(wǎng)絡。Teredo是IPv4到IPv6過渡技術中一項地址分配和自動隧道技術,它使主機通過服務器將IPv4與IPv6互相轉(zhuǎn)換,從而使主機接入IPv6網(wǎng)絡。使用ISATAP等隧道技術需要主機有公網(wǎng)IPv4地址,而Teredo技術適用內(nèi)網(wǎng)主機,如通過路由或NAT聯(lián)網(wǎng)的主機[4]。
微軟支持Teredo技術,Windows XP SP2以上版本內(nèi)置Teredo,并且Windows vista以上版本默認啟用,雖然默認“普通應用”沒有啟用Teredo,但是可以使用它連接到IPv6網(wǎng)絡。
本文以Windows7為例介紹建立Teredo過程。
第一步:啟動IP Helper服務。windows就可以使用IPv6轉(zhuǎn)換技術(6to4、ISATAP、端口代理和Teredo)和IP-HTTPS提供隧道連接。
第二步:在注冊表里加下面這個鍵值:[HKEY_LOCAL_MA?CHINESYSTEMCurrentControlSetservicesDnscacheParameters]新建“AddrConfigControl”=DWORD:0x00000000;添加注冊表鍵值是使Windows應該程序能夠?qū)⒂蛎ㄟ^DNS解析為IPv6地址。
第三步:內(nèi)網(wǎng)主機類型需以管理員權(quán)限運行CMD,執(zhí)行以下命令:
netsh int teredo set state enterpriseclient
netsh int ipv6 delete prefixpolicy 2001::/32
這兩個命令分別使Teredo跳過受管理的網(wǎng)絡檢測和優(yōu)先解析路由IPv6地址,這樣NAT后的主機就可以使用Teredo技術連接到IPv6網(wǎng)絡,而且主機使用的IPv4網(wǎng)絡不受影響。
這樣Teredo建立完成,可以正常連接IPv6網(wǎng)絡了,以下是IPv6測試網(wǎng)站:http://test-ipv6.com、http://6rank.edu.cn、http:// www.kame.net、http://bgp.he.net、http://ipv6.google.com。
上述操作使Windows操作系統(tǒng)具有了IPv4和IPv6雙棧功能,但是IPv6數(shù)據(jù)是通過Teredo隧道封裝在IPv4的UDP包中穿越NAT出去,所有數(shù)據(jù)仍然是很大IPv4網(wǎng)絡中傳輸。如果NAT支持UDP端口解析,那么它就支持Teredo,但是對稱NAT是一個例外[5]。有些軟件會阻止UDP端口3544,這也會導致Teredo隧道不能使用。Teredo是作為接入IPv6網(wǎng)絡備用轉(zhuǎn)換技術而設計的,如果IPv6、6to4或者ISATAP等連接可以使用,那么主機就不要作為Teredo的客戶端。現(xiàn)在,越來越多的IPv4 NAT經(jīng)過了升級以便能夠支持6to4,而且IPv6連接變得越來越普遍,Teredo將會使用得越來越少,直到最后完全被放棄。
[1]IPv6[EB/OL].http://baike.baidu.com/view/5228.htm.
[2]IP Version 6 Addressing Architecture[EB/OL].http://tools. ietf.org/htm l/rfc2373.
[3]楊巧霞.IPv4/IPv6過渡技術和方案分析[EB/OL].http:// www.qqread.com/network-special/v300371.htm l.
[4]Teredo:Tunneling IPv6 over UDP through Network Address Translations(NATs)[EB/OL].http://tools.ietf.org/htm l/rfc4380.
[5]teredo[EB/OL].http://baike.baidu.com/view/2224124.htm.
TP393.04
A
1671-0037(2014)12-78-2
張德楊(1979-),男,工程碩士,工程師,研究方向:計算機網(wǎng)絡、軟件工程和應用技術研究。