IPv6 ISATAP過渡技術(shù)淺談
由于從IPv4向IPv6過渡已經(jīng)是大勢(shì)所趨,但是由于IPv4的成功和廣泛使用,所以目前有很多的研究者都在積極探索從IPv4向IPv6過渡的技術(shù)。目前已經(jīng)出現(xiàn)的技術(shù)從實(shí)現(xiàn)上可以分為雙棧、翻譯和隧道三種,從實(shí)現(xiàn)的網(wǎng)絡(luò)層次上分為核心網(wǎng)、企業(yè)網(wǎng)和主機(jī)三種。
ISATAP 站內(nèi)自動(dòng)隧道尋址協(xié)議(ISATAP:Intra-Site Automatic Tunnel Addressing Protocol)過渡技術(shù)采用了雙棧和隧道技術(shù)。ISATAP將IPv4地址嵌入到IPv6地址中,當(dāng)兩臺(tái)ISATAP主機(jī)通信時(shí),自動(dòng)抽取出IPv4地址建立隧道,不需要通過其它特殊網(wǎng)絡(luò)設(shè)備,只要彼此間IPv4網(wǎng)絡(luò)保持通暢即可實(shí)現(xiàn)。這種技術(shù)不要求隧道端節(jié)點(diǎn)必須具有全球***的IPv4地址,只要雙棧具有IPv4單播地址即可(公有地址和私有地址都允許)。
1、IPv6 ISATAP技術(shù)原理
雙棧主機(jī)在與其他主機(jī)或路由器通信之前,首先要獲得一個(gè)ISATAP地址。雙棧主機(jī)先向ISATAP服務(wù)器發(fā)送路由請(qǐng)求,得到一個(gè)64位的IPv6地址前綴,然后再加上64位的接口標(biāo)識(shí)符::0:5EFE:x.x.x.x(這里的x.x.x.x是雙棧主機(jī)的IPv4單播地址),這樣就構(gòu)成一個(gè)ISATAP地址。雙棧主機(jī)配置了ISATAP地址后,成為一個(gè)ISATAP客戶機(jī),就可以再IPv4域內(nèi)和其他的ISATAP客戶機(jī)進(jìn)行通信了。一般來說,ISATAP地址的配置既支持無狀態(tài)地址自動(dòng)配置方式,也支持手工配置方式。
1.1、同一個(gè)IPv4域內(nèi),兩臺(tái)ISATAP客戶機(jī)間的通信過程如下
①雙棧主機(jī)1獲得雙棧主機(jī)2的ISATAP地址后,將需要發(fā)送的數(shù)據(jù)包交給ISATAP接口進(jìn)行發(fā)送;
②ISATAP從該數(shù)據(jù)包的IPv6源地址和目的地址中提取出相應(yīng)的IPv4源和目的地址,并對(duì)該數(shù)據(jù)包用IPv4頭部進(jìn)行封裝;
③封裝后的數(shù)據(jù)包按照其IPv4目的地址被發(fā)送到雙棧主機(jī)2;
④雙棧主機(jī)2接收到該數(shù)據(jù)包后對(duì)其解封裝,得到原始IPv6數(shù)據(jù)包;
⑤雙棧主機(jī)2通過與上述過程類似的過程將應(yīng)答數(shù)據(jù)返回給雙棧主機(jī)1。
從上面的通信過程中我們可以看出,ISATAP實(shí)際上是將IPv4網(wǎng)絡(luò)作為一個(gè)承載平臺(tái),通過在其上面建立一個(gè)IPv6-in-IPv4自動(dòng)隧道來完成IPv6通信的。
1.2、ISATAP客戶機(jī)與其他網(wǎng)絡(luò)之間的通信
ISATAP主機(jī)除了可以在ISATAP域內(nèi)與其他ISATAP主機(jī)通信外,還可以通過ISATAP路由器實(shí)現(xiàn)與其他網(wǎng)絡(luò)的通信。比如,ISATAP主機(jī)可以通過ISATAP路由器與IPv6網(wǎng)絡(luò)中的IPv6服務(wù)器進(jìn)行通信,
①ISATAP主機(jī)獲得ISATAP地址(站點(diǎn)本地地址),并將下一跳躍點(diǎn)next hop設(shè)為ISATAP 路由器的ISATAP地址(站點(diǎn)本地地址);
②當(dāng)ISATAP主機(jī)送出目的地為所在子網(wǎng)絡(luò)以外的地址時(shí),ISATAP先將IPv6數(shù)據(jù)包進(jìn)行IPv4封裝,然后以隧道方式送到ISATAP 路由器的IPv4地址;
③ISATAP 路由器除去IPv4包頭后,將IPv6 數(shù)據(jù)包轉(zhuǎn)送給IPv6網(wǎng)絡(luò)中的目的IPv6服務(wù)器;
④IPv6服務(wù)器直接將應(yīng)答的IPv6數(shù)據(jù)包發(fā)回給ISATAP網(wǎng)絡(luò);
⑤在應(yīng)答IPv6數(shù)據(jù)包經(jīng)過ISATAP路由器時(shí),ISATAP路由器先將應(yīng)答IPv6數(shù)據(jù)包進(jìn)行IPv4封裝,然后再轉(zhuǎn)發(fā)給ISATAP主機(jī);
⑥ISATAP主機(jī)收到應(yīng)答數(shù)據(jù)包后,將數(shù)據(jù)包去掉IPv4包頭,恢復(fù)成原始IPv6數(shù)據(jù)包。
通過上述步驟,ISATAP主機(jī)與IPv6網(wǎng)絡(luò)中的IPv6服務(wù)器完成了一次完整的數(shù)據(jù)通信過程。
2、IPv6 ISATAP地址解析相關(guān)機(jī)制
ISATAP過渡技術(shù)通過IPv6的鄰居發(fā)現(xiàn)機(jī)制(參見IETF RFC 2461)來實(shí)現(xiàn)路由重定向、鄰居不可達(dá)檢測(cè)(NUD)和路由下一跳選擇。
ISATAP地址的獲得是由鏈路層IPv4地址通過靜態(tài)計(jì)算得到的。在獲得了ISATAP地址之后,主機(jī)通過發(fā)送鄰居請(qǐng)求和接收鄰居宣告消息來確認(rèn)鄰居是否可達(dá)。另外,主機(jī)還需要執(zhí)行鄰居不可達(dá)檢測(cè)。因?yàn)槭窃谀骋粋€(gè)ISATAP域內(nèi)實(shí)現(xiàn)的,所以它假設(shè)IPv4地址是不重復(fù)的,這樣ISATAP地址也就不需要進(jìn)行重復(fù)地址檢測(cè)。
ISATAP節(jié)點(diǎn)在執(zhí)行路由器和前綴發(fā)現(xiàn)時(shí),除了使用鄰居發(fā)現(xiàn)中的數(shù)據(jù)結(jié)構(gòu)前綴列表和默認(rèn)路由器列表外,ISATAP鏈路還增加了一個(gè)新的數(shù)據(jù)結(jié)構(gòu)——潛在路由器列表(PRL),以及一個(gè)新的配置變量PrlRefreshInterval。潛在路由器列表列出潛在的、可供ISATAP節(jié)點(diǎn)使用的路由器;變量PrlRefreshInterval用來設(shè)置初始化之后連續(xù)兩次PRL重新刷新的間隔秒數(shù)。
3、IPv6 ISATAP技術(shù)的優(yōu)點(diǎn)
ISATAP過渡技術(shù)具有如下優(yōu)點(diǎn):
①ISATAP過渡技術(shù)所使用的IPv6地址前綴可以是任何合法的IPv6 單點(diǎn)傳播的64 位前綴,包括全球性地址前綴(以2001:,2002:,3ffe:開頭)、鏈路本地前綴(以fe80:開頭)和站點(diǎn)本地前綴(以fec0:開頭)等等,這使得該項(xiàng)技術(shù)很容易與其他過渡技術(shù)結(jié)合起來使用,尤其是在和6to4隧道技術(shù)相結(jié)合使用時(shí),可以使內(nèi)部網(wǎng)的雙棧主機(jī)非常容易地接入IPv6主干網(wǎng);
②ISATAP過渡技術(shù)不要求隧道端節(jié)點(diǎn)必須具有全球惟一的IPv4地址,只要雙棧主機(jī)具有IPv4單播地址即可,不管該地址公有的還是私有的都可以。這樣也就有效地避免了IPv4地址不足的問題;
③ISATAP過渡技術(shù)不需要站點(diǎn)提供特殊的IPv4服務(wù)(例如多播等),實(shí)現(xiàn)起來簡(jiǎn)便易行;
④使用ISATAP過渡技術(shù)時(shí),在邊界網(wǎng)關(guān)上不影響聚合范圍的情況下,能夠在IPv4站點(diǎn)內(nèi)部署新的IPv6主機(jī),因此可用于內(nèi)部私有網(wǎng)中各雙棧主機(jī)之間進(jìn)行IPv6通信。