HuaweiSymantec之IPv6 over IPv4隧道

1. IPv6 over IPv4隧道原理

IPv6 over IPv4隧道機制是將IPv6數據報文前封裝上IPv4的報文頭,通過隧道(Tunnel)使IPv6報文穿越IPv4網絡,實現隔離的IPv6網絡的互通,如圖1-1所示。
  注意:
IPv6 over IPv4隧道兩端的設備必須支持IPv4/IPv6雙協議棧。
 
1 IPv6 over IPv4隧道原理圖
IPv6 over IPv4隧道對報文的處理過程如下:
l              IPv6網絡中的設備發送IPv6報文,到達隧道的源端設備。
l              隧道的源端設備根據路由表判定該報文要通過隧道進行轉發,將會在IPv6報文前封裝上IPv4的報文頭,通過隧道的實際物理接口將報文轉發出去。
l              封裝報文通過隧道到達隧道目的端設備,目的端設備判斷該封裝報文的目的地是本設備後,將對報文進行解封裝。
l              目的端設備根據解封裝後的IPv6報文的目的地址將報文進行轉發;如果目的地就是本設備,則將IPv6報文轉給上層協議處理。

2. 配置隧道和自動隧道

IPv6 over IPv4隧道可以建立在主機-主機、主機-設備、設備-主機、設備-設備之間。隧道的終點可能是IPv6報文的最終目的地,也可能需要進一步轉發。
根據隧道終點的IPv4地址的獲取方式不同,隧道分爲“配置隧道”及“自動隧道”。
l              如果隧道的終點不是IPv6報文的最終目的地,當IPv6報文通過隧道到達隧道終點後,隧道終點設備(通常爲路由器)會對封裝的IPv6報文進行解封裝,並轉發IPv6報文到最終目的地。在這種情況下,不能從IPv6報文的目的地址中自動獲取到隧道終點的IPv4地址,需要進行手工配置。這樣的隧道即爲“配置隧道”。
l              如果隧道的終點就是IPv6報文的最終目的地,則可以採用內嵌IPv4地址的特殊IPv6地址形式,實現從IPv6報文的目的地址中自動獲取隧道終點的IPv4地址。這樣的隧道即爲“自動隧道”。

3. IPv6 over IPv4隧道模式

根據對IPv6報文的封裝方式的不同,IPv6 over IPv4隧道分爲以下幾種模式:
l              IPv6手動隧道
l              IPv4兼容IPv6自動隧道
l              6to4隧道
l              ISATAPIntra-Site Automatic Tunnel Addressing Protocol,站點內自動隧道尋址協議)隧道
l              IPv6-over-IPv4 GREGeneric Routing Encapsulation,通用路由封裝)隧道(簡稱GRE隧道)
在上面列出的隧道模式中,IPv6手動隧道及GRE隧道爲配置隧道;IPv4兼容IPv6自動隧道、6to4隧道及ISATAP隧道爲自動隧道。
(1)        IPv6手動隧道
手動隧道是點到點之間的鏈路,一條鏈路就是一個單獨的隧道。主要用於邊緣路由器-邊緣路由器或主機-邊緣路由器之間定期安全通信的穩定連接,可實現與遠端IPv6網絡的連接。
(2)        IPv4兼容IPv6自動隧道
IPv4兼容IPv6自動隧道是點到多點的鏈路。隧道兩端採用特殊的IPv6地址:IPv4兼容IPv6地址,其格式爲:0:0:0:0:0:0:a.b.c.d/96,其中a.b.c.dIPv4地址。通過這個嵌入的IPv4地址可以自動確定隧道的終點,使IPv6隧道的建立非常方便。但由於它必須使用IPv4兼容IPv6地址,仍依賴於IPv4地址,在使用時有一定的侷限性。
(3)        6to4隧道
l              普通6to4隧道
6to4隧道是點到多點的自動隧道,主要用於將多個IPv6孤島通過IPv4網絡連接到IPv6網絡。6to4隧道通過IPv6報文的目的地址中嵌入的IPv4地址,可以自動獲取隧道的終點。6to4隧道採用特殊的地址:6to4地址,其格式爲:2002:abcd:efgh:子網號::接口ID/64,其中2002表示固定的IPv6地址前綴,abcd:efgh表示該6to4隧道對應的32IPv4源地址,用16進製表示(如1.1.1.1可以表示爲0101:0101)。通過這個嵌入的IPv4地址可以自動確定隧道的終點,使隧道的建立非常方便。
由於6to4地址的64位地址前綴中的16位子網號可以由用戶自定義,前綴中的前48位已由固定數值、隧道起點或終點設備的IPv4地址確定,使IPv6報文通過隧道進行轉發成爲可能。6to4隧道可以實現IPv6網絡的互連,克服了IPv4兼容IPv6自動隧道使用的侷限性。
l              6to4中繼
6to4隧道只能將前綴爲2002::/16的網絡連接起來,但在IPv6網絡中也會使用像2001::/16這樣的IPv6網絡地址。爲了使這些地址可達,必須有一臺6to4路由器作爲網關轉發到IPv6網絡的報文,這臺路由器就叫做6to4中繼(6to4 relay)路由器。如下圖所示,6to4網絡的邊緣路由器Router A需配置一條靜態路由,下一跳地址指向6to4中繼路由器Router C6to4地址,這樣,所有去往IPv6網絡的報文都會被轉發到6to4中繼路由器,之後再由6to4中繼路由器轉發到IPv6網絡中,從而實現6to4網絡(地址前綴以2002開始)與IPv6網絡的互通。
2 6to4隧道和6to4中繼原理圖
(4)        ISATAP隧道
隨着IPv6技術的推廣,現有的IPv4網絡中將會出現越來越多的IPv6主機,ISATAP隧道技術爲這種應用提供了一個較好的解決方案。ISATAP隧道是點到點的自動隧道技術,通過在IPv6報文的目的地址中嵌入的IPv4地址,可以自動獲取隧道的終點。使用ISATAP隧道時,IPv6報文的目的地址和隧道接口的IPv6地址都要採用特殊的地址:ISATAP地址。ISATAP地址格式爲:Prefix(64bit):0:5EFE:ip-addressip-address形式爲a.b.c.d 或者abcd:efgh,其中abcd:efgh表示32IPv4源地址。通過這個嵌入的IPv4地址就可以自動建立隧道,完成IPv6報文的傳送。ISATAP隧道主要用於在IPv4網絡中IPv6路由器-IPv6路由器、IPv6主機-IPv6路由器的連接。
3 ISATAP隧道原理圖
(5)        GRE隧道
使用標準的GRE協議可對IPv6報文進行封裝,使IPv6報文能通過隧道穿越IPv4網絡。與IPv6手動隧道相同,GRE隧道也是點到點之間的鏈路,每條鏈路都是一條單獨的隧道。GRE隧道主要用於邊緣路由器-邊緣路由器、主機-邊緣路由器定期安全通信的穩定連接。相關配置請參見“×××分冊”中的“GRE配置”。

4. 快速終結

對於到達本機的隧道報文,如果報文的源IP地址與快速終結子網地址匹配,則將此隧道報文送到IPv6引擎進行轉發或者上送CPU的處理。
如果是需要轉發的報文,則由IPv6引擎去掉隧道報文的IP封裝,取得原始入隧道IPv6報文後直接進行轉發。
快速終結功能支持的隧道類型爲IPv6 over IPv4隧道,分爲以下兩種情況:
l              對於配置隧道(如GRE over IPv4隧道、IPv6手動隧道),當使能快速終結後,系統自動將隧道目的地址作爲快速終結子網地址,掩碼爲255.255.255.255,因此沒有用於指定快速終結子網和掩碼的命令expediting subnet
l              對於自動隧道(如IPv4兼容IPv6自動隧道、6to4隧道、ISATAP隧道),在配置了expediting enable命令後,需要配置expediting subnet命令指定快速終結子網和掩碼。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章