李超
摘要:隨著IPv6網(wǎng)絡(luò)在各個校園網(wǎng)中的普及,越來越多的用戶通過隧道方式接入了IPv6網(wǎng)絡(luò),但是傳統(tǒng)的GRE隧道需要具有公網(wǎng)IPv4地址才能使用,使得使用NAT設(shè)備后的用戶無法訪問IPv6網(wǎng)絡(luò)資源,本文介紹了Teredo草案,并進行了通過Teredo實現(xiàn)校園網(wǎng)私有地址用戶實現(xiàn)IPv6訪問的網(wǎng)絡(luò)部署研究。
關(guān)鍵詞:IPv6 over IPv4 NAT Teredo
1 Teredo概述
Teredo作為一項分配地址和自動隧道技術(shù),能跨越 IPv4 Internet完成IPv6的單播連接。通過UDP數(shù)據(jù)包實現(xiàn)在傳統(tǒng)的IPv4網(wǎng)絡(luò)上傳遞IPv6數(shù)據(jù)包,是一種IPv4到IPv6的過渡技術(shù)。
Teredo通過在站點內(nèi)的主機之間通過UDP數(shù)據(jù)包實現(xiàn)IPv6數(shù)據(jù)包隧道來解決現(xiàn)在NAT設(shè)備缺乏IPv6 over IPv4功能以及隧道穿越的配置問題。因為傳統(tǒng)的6to4 使用的是邊緣設(shè)備之間的隧道。這個時候主機之間隧道IPv4壓縮的IPv6數(shù)據(jù)包發(fā)送時,協(xié)議域的IPv4包頭設(shè)定為41。大多數(shù)的NAT只解析TCP或者UDP數(shù)據(jù)流,對其它協(xié)議的解析需要通過手動設(shè)置來實現(xiàn)或者是安裝專門負責(zé)處理解析的NAT編輯器。對包頭為41的協(xié)議的解析并不是所有NAT具備的通用功能,所以IPv4壓縮的IPv6通信傳輸不能通過一般的NAT。為了使IPv6數(shù)據(jù)傳輸能夠通過單個或多層NAT,IPv6數(shù)據(jù)包必須壓縮成IPv4下UDP格式的數(shù)據(jù)并且包含IPv4地址和UDP標(biāo)頭。由于UDP數(shù)據(jù)普遍能夠被NAT解析所以能夠通過多層NAT設(shè)備。
Teredo作為一種IPv6/IPv4轉(zhuǎn)換技術(shù),IPv6自動隧道能夠在處于單個或者多個IPv4 NAT設(shè)備后的主機之間實現(xiàn)。因為,借助IPv4 UDP數(shù)據(jù)格式Teredo進行發(fā)送。對于NAT來說,如果支持UDP端口解析,那么就能支持Teredo。來自Teredo主機的IPv6數(shù)據(jù)流就能夠通過NAT。
2 Teredo的組成
構(gòu)成Teredo隧道需要由Teredo服務(wù)器、Teredo中繼器和Teredo客戶端三部分組成。
2.1 Teredo客戶端
所謂Teredo客戶端是指IPv6/IPv4節(jié)點,該節(jié)點支持Teredo隧道接口,通過隧道界面數(shù)據(jù)包可以傳送給其它的Teredo客戶端和IPv6 Internet上的其它節(jié)點?;赥eredo的IPv6地址用的地址前綴的基礎(chǔ)上,Teredo客戶端與Teredo服務(wù)器建立通信獲得配置,同時幫助與IPv6 Internet上其它Teredo客戶端和服務(wù)器之間建立通信。
2.2 Teredo服務(wù)器
所謂Teredo服務(wù)器通常是指IPv6/IPv4節(jié)點,該節(jié)點連接IPv4 Internet與IPv6 Internet,并且支持Teredo隧道接口。對于Teredo服務(wù)器來說,就是幫助Teredo客戶端的地址配置以及協(xié)助在Teredo客戶端之間或者客戶端與純IPv6主機之間與其他Teredo客戶端建立通信連接。
2.3 Teredo中繼
在IPv4網(wǎng)絡(luò)上,Teredo客戶端之間以及與純IPv6主機之間傳送數(shù)據(jù)包的IPv6/IPv4路由器構(gòu)成所謂Teredo中繼。Teredo中繼和Teredo服務(wù)器協(xié)同工作,在Teredo客戶端之間以及與純IPv6主機之間幫助建立連接。在Teredo中繼中,借助UDP 3544端口對Teredo通信進行偵聽。
配置了公網(wǎng)地址的Teredo客戶端與IPv6主機之間的通信必須經(jīng)過Teredo中繼。但是,當(dāng)IPv6主機同時支持IPv6和IPv4,并且同時與IPv4 Internet和IPv6 Internet進行連接,那么,通過IPv4 Internet實現(xiàn)Teredo 客戶端與IPv6主機之間的通信,而不必經(jīng)過IPv6 Internet和Teredo中繼。
3 Teredo支持的NAT類型
NAT(網(wǎng)絡(luò)地址轉(zhuǎn)換)作為一個IETF(Internet工程任務(wù)組)標(biāo)準(zhǔn),在Internet上允許一個整體機構(gòu)出現(xiàn)一個公用IP地址。
NAT有以下三種類型:
3.1 Cone(Cone)NAT
在NAT轉(zhuǎn)換表中,完全NAT是指存儲了內(nèi)、外部地址和端口號,以及相互之間映射關(guān)系的NAT。如果NAT 轉(zhuǎn)換表開始工作,任何源地址和端口通往外部地址和端口的入站數(shù)據(jù)包都將被轉(zhuǎn)換。
3.2 受限NAT
在NAT轉(zhuǎn)換表中,受限NAT是指存儲了內(nèi)部地址和端口號與外部地址和端口號之間的映射,無論是特定的源地址,還是特定源地址與端口號。如果從未知外部地址或端口到外部目標(biāo)地址和端口的入站數(shù)據(jù)包與NAT轉(zhuǎn)換表相互吻合,那么就自動放棄此數(shù)據(jù)流。
3.3 對稱NAT
根據(jù)外部目標(biāo)地址,將相同的內(nèi)部地址和端口號映射到不同的外部地址和端口號的NAT就是對稱NAT。
由于Teredo中繼使用UDP 3544端口偵聽Teredo 通信,所以Teredo只能工作于Cone和受限NAT,不能工作于對稱NAT。
4 Teredo部署
在校園網(wǎng)與IPv6試驗床之間分別建立Teredo服務(wù)器與Teredo中繼,IPv6試驗床通過GRE隧道連入CERNET2國家網(wǎng)絡(luò)中心(如圖1)。
當(dāng)私網(wǎng)IP用戶要訪問IPv6網(wǎng)絡(luò)上的一個IPv6主機時,通過Teredo 客戶端會發(fā)送一個通信初始化數(shù)據(jù)包, Teredo 客戶端會首先對Teredo中繼的IPv4地址和UDP端口號進行驗證。這時經(jīng)由Teredo服務(wù)器,Teredo客戶端發(fā)送一個IPv6回應(yīng)請求消息。收到IPv6回應(yīng)請求消息后,Teredo服務(wù)器在IPv6網(wǎng)上把它發(fā)送給IPv6主機,若IPv6主機不在IPv6試驗床上,則通過GRE隧道封裝后訪問到外網(wǎng)CERNET2上。IPv6主機發(fā)送給Teredo客戶端的一個Teredo地址予以響應(yīng)。根據(jù)IPv6的網(wǎng)絡(luò)路由結(jié)構(gòu),Teredo中繼接收到含有Teredo地址的數(shù)據(jù)包。Teredo中繼將IPv6回應(yīng)請求進行重新封裝后,并直接發(fā)送給Teredo客戶端(也就是私網(wǎng)IP用戶)。
從IPv6主機發(fā)送初始化數(shù)據(jù)包至私網(wǎng)IP用戶時,也就是IPv6主機發(fā)送一個數(shù)據(jù)包至Teredo客戶端。結(jié)合IPv6網(wǎng)絡(luò)的結(jié)構(gòu),以Teredo地址打包的數(shù)據(jù)包被發(fā)送到Teredo中繼。在NAT之后,Teredo中繼對Teredo客戶端進行驗證。數(shù)據(jù)包與IPv4和UDP的標(biāo)志通過Teredo中繼壓縮在一起,從IPv6主機發(fā)送到Teredo客戶端。Teredo客戶端根據(jù)這個數(shù)據(jù)包的接收回執(zhí),儲存對應(yīng)于Teredo中繼的IPv4地址和UDP端口號,這樣,響應(yīng)數(shù)據(jù)包被發(fā)送給Teredo中繼。Teredo中繼接收到它們,除去IPv4和UDP標(biāo)志后,發(fā)送該IPv6數(shù)據(jù)包到IPv6主機。
5 結(jié)束語
綜上所述,由于UDP數(shù)據(jù)包對現(xiàn)有的NAT設(shè)備有較好的兼容性,通過Teredo草案可以較好的解決私網(wǎng)IPv4用戶通過UDP封裝后能較好的通過NAT設(shè)備,實行對IPv6資源的訪問問題。通過此方案也為校園網(wǎng)私網(wǎng)IP用戶能夠訪問IPv6網(wǎng)絡(luò)提供了一種較好的解決方法。
參考文獻:
[1]田鵬.IPv4網(wǎng)絡(luò)向IPv6網(wǎng)絡(luò)過渡中的隧道應(yīng)用研究[J].吉林建筑工程學(xué)院學(xué)報,2010(10).
[2]W.Richard Stevens.TCP/IP詳解[M].機械工業(yè)出版社,2007(4).
[3]傅光軒,高鴻峰,盧朝暉.下一代互聯(lián)網(wǎng)核心通信協(xié)議——IPv6原理及應(yīng)用[M].貴州教育出版社,2004.