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