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