IPv4/IPv6過渡技術

 IPv4/IPv6過渡技術


2009-09-20 15:24:15
 標籤:技術   [推送到技術圈]

版權聲明:原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://xuanbo.blog.51cto.com/499334/203557
1992年6月IETF公開徵求對下一代IP(IPng)的建議,隨後收到了若干個提案,到1994年就形成了Ipng的最後設計。1995年1月RFC 1752“下一代IP建議書”的發表是一個重要的里程碑。RFC1752概述了IPng 的需求,規定了PDU格式,突出了下一代IP在尋址、路由選擇和保安等方面採用的方法。這個新一代的IP現在已正式地稱作IPv6。
IPv6被設計成可以跟IPv4互操作,因爲要花許多年的時間完成從第4版到第6版的過渡。因此IPv6應該保留IPv4提供的最基本的服務—無連接服務。在另一方面,由於IP對於新出現的諸如實時視頻會議這類應用不能夠很好地支持,所以對其一些功能應該加以改變。
在很長的過渡期內,IPv6和IPv4必須共存,IPv6地址和IPv4地址也必須共存。同時還必須使新安裝的IPv6系統能夠向後兼容。這就是說,IPv6系統能夠接收和轉發IPv4分組,並且能夠爲IPv4分組選擇路由。
IPv4/IPv6過渡技術是用來在IPv4向IPv6演進的過渡期內,保證業務共存和互操作的。目前的各種IPv4/IPv6過渡技術,從功能用途上可以分成兩類:
l IPv4/IPv6業務共存技術
l IPv4/IPv6互操作技術
IPv4/IPv6業務共存技術用來保證這兩種網絡協議可以在公共互聯網中共同工作,在IPv6發展過程中這些技術可以幫助IPv6業務在現有的IPv4網絡基礎架構上工作。主要的IPv4/IPv6業務共存技術又可分爲兩類
l 雙棧技術
n 雙棧技術通過節點對IPv4和IPv6雙協議棧的支持,支持兩種業務的共存
l 隧道技術
n 隧道技術通過在IPv4網絡中部署隧道,實現在IPv4網絡上對IPv6業務的承載,保證業務的共存和過渡,已定義的隧道技術種類很多,主要包括手工配置隧道、兼容地址自動配置隧道、6over4、6to 4、MPLS隧道、ISATAP、隧道代理等技術。
IPv4/IPv6互操作技術通過對數據包的轉換實現在網絡過渡期中IPv4節點和IPv6節點之間的相互訪問。目前主要的技術包括SIIT、NAT-PT、BIS、BIA、DSTM等。
1.IPv4/IPv6業務共存技術 1.1. IPv6/IPv4雙協議棧
雙棧是指同時支持IPv4協議棧和IPv6協議棧。雙棧節點同時支持與IPv4和IPv6節點的通信,當和IPv4節點通信時需要採用IPv4協議棧,當和IPv6節點通信時需要採用IPv6協議棧。雙棧節點訪問業務時支持通過DNS解析結果選擇通信協議棧。即當域名解析結果返回IPv4或IPv6地址時,節點可用相應的協議棧與之通信。
雙棧方式是一種比較直觀的解決IPv4/IPv6共存問題的方式,但只有當通信雙方數據包通路上的所有節點設備(路由器等)都支持雙棧技術後,這種方式才能充分發揮其作用。
一個典型的IPv4/IPv6雙協議棧結構如下圖所示。在以太網中,數據報頭的協議字段分別用值0x86dd和00x0800來區分所採用的是IPv6還是IPv4。
clip_image002
圖1 IPv4/IPv6雙協議棧結構
雙棧方式的工作機制可以簡單描述爲:鏈路層解析出接收到的數據包的數據段,拆開並檢查包頭。如果IPv4/IPv6包頭中的第一個字段,即IP包的版本號是4,該包就由IPv4的協議棧來處理;如果版本號是6,則由IPv6的協議棧處理。
IPv4/IPv6雙協議棧的工作過程如下圖所示。
clip_image004
支持IPv4和IPv6的雙協議棧應用
如下圖所示,顯示了一個雙棧主機的工作的過程。
clip_image006
圖雙棧主機的工作過程
雙棧機制是使IPv6節點與IPv4節點兼容的最直接的方式,互通性好,易於理解。但是雙協議棧的使用將增加內存開銷和CPU佔用率,降低設備的性能,也不能解決地址緊缺問題。同時由於需要雙路由基礎設施,這種方式反而增加了網絡的複雜度。
下面是基於Cisco IOS的雙棧協議的配置。
clip_image008
1.2. 隧道技術
隨着IPv6網絡的發展,出現了許多局部的IPv6網絡。爲了實現這些孤立的IPv6網絡之間的互通,採用隧道技術。隧道技術是在IPv6網絡與IPv4網絡間的隧道入口處,由路由器將IPv6的數據分組封裝入到IPv4分組中。IPv4分組的源地址和目的地址分別是隧道入口和出口的IPv4地址。在隧道的出口處拆封IPv4分組並剝離出IPv6數據包。
隧道技術的優點在於隧道的透明性,IPv6主機之間的通信可以忽略隧道的存在,隧道只起到物理通道的作用。在IPv6發展初期,隧道技術穿越現存IPv4因特網實現了IPv6孤島間的互通,從而逐步擴大了IPv6的實現範圍,因而是IPv4向IPv6過渡初期最易於採用的技術。但是隧道技術不能實現IPv4主機與IPv6主機的直接通信。
IPv6網絡邊緣設備收到IPv6網絡的IPv6報文後,將IPv6報文封裝在IPv4報文中,成爲一個IPv4報文,在IPv4網絡中傳輸到目的IPv6網絡的邊緣設備後,解封裝去掉外部IPv4頭,恢復原來的IPv6報文,進行IPv6轉發。
clip_image010
12-16 IPv6穿越IPv4隧道
如下圖所示,採集到手工配置隧道的報文。
clip_image012
根據隧道節點的組成情況,隧道可分爲以下4種類型:路由器—路由器隧道、路由器—主機隧道、主機—主機隧道、主機—路由器隧道。在實踐中,根據隧道建立的方式不同,隧道技術可分爲:構造隧道、自動配置隧道、組播隧道以及IPv6toIPv4隧道。
隧道代理的主要功能是:根據用戶(雙棧結點)的要求建立、更改和拆除隧道;在多個隧道服務器中選擇一個作爲TEP(tunnelendpoint)IPv6地址,以實現負載均衡;負責將用戶的IPv6地址和名字信息存放到DNS(域名服務器)裏,實現節點IPv6的域名解析。
從這個意義上說,TB可以看作是一個虛擬的IPv6ISP,它爲已經連接到IPv4網絡上的用戶即TB的客戶提供了連接到IPv6網絡的一種便捷方式。
用於IPv6穿越IPv4網絡的隧道技術主要有:
? IPv6手工配置隧道
? 6to4自動隧道
? ISATAP自動隧道
? IPv6 over IPv4 GRE隧道
? 6PE隧道
1.2.1 IPv6手工配置隧道
IPv6手工配置隧道的源和目的地址是手工指定的,它提供了一個點到點的連接。IPv6手工配置隧道可以建立在兩個邊界路由器之間爲被IPv4網絡分離的IPv6網絡提供穩定的連接,或建立在終端系統與邊界路由器之間爲終端系統訪問IPv6網絡提供連接。隧道的端點設備必須支持IPv6/IPv4雙協議棧。其它設備只需實現單協議棧即可。
IPv6手工配置隧道要求在設備上手工配置隧道的源地址和目的地址,如果一個邊界設備要與多個設備建立手工隧道,就需要在設備上配置多個隧道。所以手工隧道通常用於兩個邊界路由器之間,爲兩個IPv6網絡提供連接。
一個手工隧道在設備上以一個虛接口存在,從IPv6側收到一個IPv6報文後,根據IPv6報文的目的地址查找IPv6轉發表,如果該報文是從此虛擬隧道接口轉發出去,則根據隧道接口配置的隧道源端和目的端的IPv4地址進行封裝。封裝後的報文變成一個IPv4報文,交給IPv4協議棧處理。報文通過IPv4網絡轉發到隧道的終點。
隧道終點收到一個隧道協議報文後,進行隧道解封裝。並將解封裝後的報文交給IPv6協議棧處理。 一個設備上不能配置兩個隧道源和目的都相同的IPv6手工隧道。如下圖所示,在Cisco IOS上手動配置隧道。
clip_image014
在隧道接口上,IPv6地址需要手工配置,並且隧道的源IPv4地址(Tunnel Source)和目的IPv4地址(Tunnel Destination)必須手工配置。隧道兩端的節點必須支持IPv6和IPv4協議棧。手工配置隧道在實際應用中總是成對配置的,即在兩臺邊緣設備上同時配置,可以將其看作是一種點對點的隧道。
1.2.2 6to4自動隧道
6to4隧道也屬於一種自動隧道,隧道也是使用內嵌在IPv6地址中的IPv4地址建立的。與IPv4兼容自動隧道不同,6to4自動隧道支持Router到Router、Host到Router、Router到Host、Host到Host。這是因爲6to4地址是用IPv4地址做爲網絡標識,其地址格式如下:
clip_image016
圖6to4隧道地址格式
其格式前綴(FP)爲二進制的001,其爲可聚合全局單播地址的格式前綴;TLA(Top Level Aggregator)爲0x0002,其爲頂級聚合標識符。也就是說,6to4地址可以表示爲2002::/16,而一個6to4網絡可以表示爲2002:IPv4地址::/48。
clip_image018
通過6to4自動隧道,可以讓孤立的IPv6網絡之間通過IPv4網絡連接起來。6to4自動隧道是通過Tunnel虛接口實現的,6to4隧道入口的IPv4地址手工指定,隧道的目的地址根據通過隧道轉發的報文來決定。如果IPv6報文的目的地址是6to4地址,則從報文的目的地址中提取出IPv4地址做爲隧道的目的地址;如果IPv6報文的目的地址不是6to4地址,但下一跳是6to4地址,則從下一跳地址中取出IPv4地址做爲隧道的目的地址。後者也稱爲6to4中繼。
6to4隧道常用的應用模型有兩種:
? 簡單應用模型
6to4隧道最簡單、最常用的應用是用來多個IPv6站點之間的互聯,每個站點至少必須有一個連接通向一個它們共享的IPv4網絡。這個IPv4網絡可以是Internet網絡也可以是某個組織團體內部的主幹網。關鍵是每個站點必須要一個全局唯一的IPv4地址,6to4隧道將使用該地址構照一個6to4/48的IPv6前綴:2002:IPV4地址/48。
IPv6報文在到達邊界路由器後,根據報文的IPv6目的地址查找轉發表,如果出接口是6to4自動隧道的Tunnel虛接口,且報文的目的地址是6to4地址或下一跳是6to4地址,則從6to4地址中取出IPv4地址做爲隧道報文的目的地址,隧道報文的源地址是Tunnel接口上配置的。
clip_image020
圖12-18 6to4隧道組網示意圖
如下圖是採集到報文。
clip_image022
如下圖所示,是基於Cisco IOS配置6to4隧道。
clip_image024
? 混合應用模型
在上面所描述的應用的基礎上,通過在純IPv6網絡的邊緣提供6to4中繼設備,實現其它6to4網絡接入純IPv6網絡中,實現該功能的設備我們稱之爲 6to4中繼路由器(6to4 Relay Router)。
隨着IPv6網絡的發展,普通IPv6網絡需要與6to4網絡通過IPv4網絡互通,這可以通過6to4中繼路由器方式實現。所謂6to4中繼,就是通過6to4隧道轉發的IPv6報文的目的地址不是6to4地址,但轉發的下一跳是6to4地址,該下一跳爲6to4中繼。隧道的IPv4目的地址從下一跳的6to4地址中獲得。如下圖所示。
clip_image026
圖12-19 6to4中繼組網示意圖
如果6to4網絡中的主機要與IPv6網絡互通,在其邊界路由器上配置路由指向的下一跳爲6to4中繼路由器的6to4地址,中繼路由器的6to4地址是與中繼路由器的6to4隧道的源地址相匹配的。6to4網絡中去往普通IPv6網絡的報文都會按照路由表指示的下一跳發送到6to4中繼路由器。6to4中繼路由器再將此報文轉發到純IPv6網絡中去。當報文返回時,6to4中繼路由器根據返回報文的目的地址(爲6to4地址)進行IPv4報文頭封裝,數據就能夠順利到達6to4網絡中了。
clip_image028
注意:
6to4地址內嵌的IPv4地址不能爲私有的IPv4地址(即12.0.0.0/8,172.16.0.0/12,192.168.0.0/16網段的地址)而必須是全局的IPv4地址。
1.2.3 ISATAP隧道
站內自動隧道尋址協議(ISATAP)是一種站點內部的IPv6體系架構將IPv4網絡視爲一個非廣播型多路訪問(NBMA)鏈路層的IPv6隧道技術,即將IPv4網絡當作IPv6的虛擬鏈路層。
ISATAP主要是用在當一個站點內部的純IPv6網絡還不能用,但是又要在站點內部傳輸IPv6報文的情況,例如站點內部有少數測試用的IPv6主機要互相通訊。使用ISATAP隧道允許站點內部同一虛擬鏈路上的IPv4/IPv6雙棧主機互相通訊。
clip_image030
在ISATAP站點上,ISATAP設備提供標準的路由器公告報文,從而允許站點內部的ISATAP主機進行自動配置;同時ISATAP設備也執行站點內的ISATAP主機和站點外的IPv6主機轉發報文的功能。
ISATAP使用的IPv6地址前綴可以是任何合法的IPv6 單點傳播的64 位前綴,包括全球地址前綴、鏈路本地前綴和站點本地前綴等,IPv4地址被置於IPv6地址最後的32比特上,從而允許自動建立隧道。
ISATAP很容易與其他過渡技術結合起來使用,尤其是在和6to4隧道技術相結合使用時,可以使內部網的雙棧主機非常容易地接入IPv6主幹網。
ISATAP 接口標識符
ISATAP使用的單播地址的形式是64比特的IPv6前綴加上64比特的接口標識符。64比特的接口標識符是由修正的EUI-64地址格式生成的,其中接口標識符的前32比特的值爲0000:5EFE,這就意味着這是一個ISATAP的接口標識符。
ISATAP的地址結構
ISATAP地址是指接口標識符中包含ISATAP接口標識符的單播地址,下圖顯示了ISATAP的地址結構:
格式如下:
clip_image032
圖ISATAP接口ID格式
如果IPv4地址是全局唯一的,則u位爲1,否則u位爲0。g位是IEEE羣體/個體標誌。ISATAP地址接口ID的形式看起來是00-00-5E-FE加IPv4地址的樣子。5E-FE 是IANA分配的。
從上圖中可以看到接口標識符中包含了IPv4的地址,該地址就是雙棧主機的IPv4地址,在自動建立自動隧道時將被使用。
例如:IPv6的前綴是2001::/64,嵌入的IPv4的地址是192.168.1.1,在ISATAP地址中,IPv4地址用十六進制數表達爲C0A8:0101,因此其對應的ISATAP地址爲:2001::0000:5EFE:C0A8:0101
如下圖採集到報文。
clip_image034
1.2.4 IPv6 over IPv4 GRE隧道
IPv6 over IPv4 GRE隧道使用標準的GRE隧道技術提供了點到點連接服務,需要手工指定隧道的端點地址。GRE隧道的傳輸協議是固定的,但乘客協議可以是協議中允許的任意協議(可以是IPv4、IPv6、OSI、MPLS等)。
clip_image036
clip_image038
圖 IPv6 over IPv4 GRE隧道
1.2.5 6PE
如果ISP(服務提供商)想實現一個IPv6網絡,對於網絡核心是基於IP的情況,可以在支持IPv6協議的邊緣路由器之間構造IP隧道,這些隧道可以充當支持IPv6協議的點到點的連接。在這些邊緣路由器之間交換的IPv6分組可以封裝在IP分組中透明的在骨幹網上傳輸。這些方案在大規模網絡可伸縮性方面不太好;MPLS技術則提供了另外的選擇:在啓動MPLS的IPv4骨幹網上傳輸IPv6數據報。這個解決方案稱爲IPv6提供商邊緣路由器(6PE),提供了一種可伸縮的IPv6早期部署的解決方法。它有以下一些特點:
IPv6協議僅僅在選擇的PE路由器上實施。 PE路由器使用多協議BGP(MP-BGP)會話在骨幹網上交換IPv6路由。MPLS標籤被PE路由器賦給IPv6路由,並直接在PE路由器之間交換,類似***路由。
使用兩層MPLS標籤在MPLS骨幹網上傳輸IPv6數據報。標籤棧中的第一標籤是出口PE路由器的指定LDP標籤。標籤棧中第二個標籤是指定PE IPv6標籤。
6PE解決方案的整體結構如圖所示:
clip_image040
圖12-20 6PE網絡示意圖
ISP網絡的IGP協議可以是OSPF或IS-IS,CE和6PE之間可以是靜態路由、IGP協議或EBGP。6PE要求IPv6站點必須通過CE連接到一個或多個運行MP-BGP(多協議擴展-邊界網關協議)的雙棧PE上,這些PE之間通過MP-BGP來交換IPv6的路由可達信息,通過隧道來傳送IPv6數據包。
6PE適合從邊緣到核心的網絡過渡策略。首先它在骨幹網和城域核心網仍然可以保持原有的IPv4協議,而只是在網絡邊緣通過MPLS技術來實現IPv4數據包和IPv6數據包的傳送。其次它擴展性較好,當原有網絡已經實現了MPLS時,各個邊緣網絡可以自主選擇網絡過渡時間和組網方式(本地網的組網方式不受MPLS隧道機制的影響)。當ISP想利用自己原有的IPv4/MPLS網絡,使其通過MPLS具有IPv6流量交換能力時,只需要升級PE路由器就可以了。所以對於運營商來說,使用6PE特性作爲IPv6過渡機制無疑是一個高效的解決方案,其操作風險也會要小得多。
2. IPv6與IPv4互操作技術
IPv6穿越IPv4技術是爲了實現IPv6節點之間的互通,而IPv6/IPv4互通技術是爲了實現不同協議之間的互通。也就是使IPv6主機可以訪問IPv4主機,IPv4主機可以訪問IPv6主機。相關的技術有:
l SIIT(Stateless IP/ICMP Translation)
l NAT-PT
2.1.SIIT 技術
SIIT(Stateless IP/ICMP Translation),無狀態IP/ICMP翻譯技術用於對IP和ICMP報文進行協議轉換,這種轉換不記錄流的狀態,只根據單個報文將一個IPv6報文頭轉換爲IPv4報文頭,或將IPv4報文頭轉換爲IPv6報文頭。SIIT不需要IPv6主機獲取一個IPv4地址,但對於SIIT設備來說,每一個IPv6主機有一個虛擬的臨時IPv4地址。
在SIIT中,有以下幾種地址類型:
IPv4-mapped:地址的形式爲“0::FFFF:a.b.c.d”,表示不支持IPv6能力的節點,這種地址是IPv4節點在IPv6側的映射地址。
IPv4-translated:地址的形式爲“0::FFFF:0:a.b.c.d”,表示一個支持IPv6的節點。該地址在發送到IPv4側時需要翻譯爲IPv4地址。
SIIT技術使用特定的地址空間來完成IPv4地址與IPv6地址的轉換。因爲SIIT無法進行地址複用,所以地址池的空間限制了IPv6節點的數量。在通訊過程中,當SIIT中IPv4地址池中地址分配完時,如果有新的IPv6節點需要同IPv4節點通信,就會因爲沒有剩餘的IPv4地址空間而導致SIIT無法進行協議轉換,造成通信失敗。所以SIIT技術所能應用的網絡規模不能很大。另外,由於無狀態,所以,不能很好地支持應用層數據中內嵌地址的應用。
22.NAT-PT技術
NAT-PT(Network Address Translation-Protocol Translation),允許只支持IPv6協議的主機與只支持IPv4協議的主機進行互聯,一個位於IPv4和IPv6網絡邊界的設備負責在IPv4報文與IPv6報文之間進行翻譯轉換。NAT-PT把SIIT協議轉換技術和IPv4網絡中動態地址轉換技術(NAT)結合在一起,它利用了SIIT技術的工作機制,同時又利用傳統的IPv4下的NAT技術來動態地給訪問IPv4節點的IPv6節點分配IPv4地址,很好地解決了SIIT技術中全局IPv4地址池規模有限的問題。同時,通過傳輸層端口轉換技術使多個IPv6主機共用一個IPv4地址。
NAT-PT設備上需要設置IPv4主機的轉換規則、IPv6主機的轉換規則、IPv6主機使用的IPv4地址。報文經過NAT-PT設備時,根據NAT-PT的轉換規則對報文進行協議轉換。轉換規則分爲如下幾種:
IPv4主機的靜態規則:
l 一個IPv4主機對應一個虛擬的IPv6地址。
IPv4主機的動態規則:
l 一組IPv4主機的地址如何映射成IPv6地址。通常是指定一個96位的前綴添加在原IPv4地址前面組成一個IPv6地址。
IPv6主機的靜態轉換規則:
l 一個IPv6主機對應一個虛擬IPv4地址。
IPv6主機的動態轉換規則:
l 一組IPv6主機與IPv4地址的對應關係,IPv4地址是多個IPv6主機共享的資源。
靜態NAT-PT 是由NAT-PT網關靜態配置v6和v4地址綁定關係。當v4主機與v6主機之間互通時,其報文在經過NAT-PT網關時,由網關根據配置的綁定關係進行轉換。不管是IPv6主機還是IPv4主機,如果配置了靜態綁定關係,則另外一側的主機可以主動向其發起連接。
clip_image042
靜態配置對那些經常在線,或需要能提供穩定連接的主機比較適合。對於那些不經常使用的主機,可以採用動態配置的方法,這樣可以配置簡單。
如下圖所示,IPv4側主機採用了靜態映射,而IPv6側主機採用動態映射。當PC1向PC2發送報文時,其源地址爲2001:db2::1,目的地址2001:ad::1。此報文在到達NAT-PT網關,目的地址符合IPv4靜態規則,IPv4報文的目的地址爲101.1.1.1。而IPv6報文的源地址符合IPv6主機的動態規則,則從規則的地址池中選擇一個未使用的地址,假設是16.1.1.10,作爲IPv4報文的源地址。那麼轉換後的IPv4報文就是源16.1.1.10,目的地址爲101.1.1.1。
clip_image044
圖 動態NAT-PT示意圖
在動態NAT-PT中,IPv4地址池中的地址可以複用,也就是若干個IPv6地址可以轉換爲一個IPv4地址,它利用了上層協議(UDP/TCP的端口)映射的方法。
動態NAT-PT改進了靜態NAT-PT配置複雜,消耗大量IPv4地址的缺點。由於它採用了上層協議映射的方法,所以只用很少的IPv4地址就可以支持大量的IPv6到IPv4的轉換。但是,由於IPv6側的映射是動態的,如果IPv4側向IPv6發起連接,由於不知道IPv6主機應用映射後的結果,所以無法直接向IPv6主機連接。這需要結合DNS ALG來實現。
ALG(Application Level Gateway),是應用層網關的含義。有些應用,比如DNS、FTP等,在應用層載荷中包含IP地址、端口等信息,需要對報文中的某些IP地址進行轉換。通過DNS ALG,可以做到IPv4與IPv6網絡中任一方均可主動發起連接,只需要配置一個DNS服務器的靜態映射即可。
IPv4主機要訪問IPv6主機www.a.com,首先向IPv6網絡中的DNS發出名字解析請求,報文類型爲“A”類查詢報文。這個請求到達NAT-PT後,NAT-PT對報文頭部按普通報文進行轉換。同時,由於DNS報文需要進行ALG處理,把“A”類查詢請求轉換成“AAAA”或“A6”類型,然後將此報文轉發給IPv6網絡內的DNS。
IPv6網絡中的DNS服務器收到報文後,查詢自己的記錄表,解析出主機www.abc.com的IPv6地址是2001:db2::1,迴應查詢結果。此報文被NAT-PT對報文頭進行轉換後,同時,DNS ALG將其中的DNS應答部分也進行修改,把“AAAA”或“A6”類轉成“A”類應答,並從IPv4地址池中分配一個地址17.1.1.11,替換應答中的IPv6地址2001:db2::1,並記錄二者之間的映射信息。
clip_image046
圖NAT-PT DNS ALG示意圖
IPv4主機在收到此DNS應答之後,就知道了主機www.abc.com的IPv4地址是17.1.1.11。於是發起到主機www.abc.com的連接。由於在NAT-PT中已經記錄了IPv4地址17.1.1.11與IPv6地址2001:db::1之間的映射信息,因此可以對地址進行轉換。
NAT-PT 不必修改已存在的IPv4網絡就可實現內部網絡IPv4主機對外部網絡IPv6主機的訪問,且通過上層協議映射使大量的IPv6主機使用同一個IPv4地址,節省了寶貴的IPv4地址。所以是一個很優秀的IPv4與IPv6網絡之間的過渡技術。但NAT-PT也有它的缺點,屬於同一會話的請求和響應都要通過同一NAT-PT設備,對NAT-PT設備的性能要求很高。
3. 配置示例 3.1.手工配置隧道
如下拓撲圖所示:
clip_image048
R1配置
ipv6 unicast-routing
!
interface Tunnel0
no ip address
ipv6 address 2001:DB:1::1/64
ipv6 enable
tunnel source 172.16.1.1
tunnel destination 172.16.1.2
tunnel mode ipv6ip
!
interface FastEthernet0/0
duplex full
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2001:2::1/64
!
logging alarm informational
ipv6 route ::/0 Tunnel0
!
R2配置
!
ipv6 unicast-routing
!
interface Tunnel0
no ip address
ipv6 address 2001:DB:1::2/64
ipv6 enable
tunnel source 172.16.1.2
tunnel destination 172.16.1.1
tunnel mode ipv6ip
!
interface FastEthernet0/0
ip address 172.16.1.2 255.255.255.0
duplex full
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2001:1::1/64
!
logging alarm informational
ipv6 route ::/0 Tunnel0
 
3.2.6TO4自動隧道
如下拓撲圖所示
clip_image050
R1配置
!
ipv6 unicast-routing
!
!
interface Tunnel0
no ip address
no ip redirects
ipv6 unnumbered Ethernet1/0
tunnel source FastEthernet0/0
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
duplex full
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2002:AC10:101:2::/64 eui-64
!
!
logging alarm informational
ipv6 route 2002::/16 Tunnel0
!
R2配置
!
ipv6 unicast-routing
!
interface Tunnel0
no ip address
no ip redirects
ipv6 unnumbered Ethernet1/0
tunnel source FastEthernet0/0
tunnel mode ipv6ip 6to4
!
interface FastEthernet0/0
ip address 172.16.1.2 255.255.255.0
duplex full
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2002:AC10:102:1::/64 eui-64
!
logging alarm informational
ipv6 route 2002::/16 Tunnel0
!
使用show命令查看狀態
R1#show int tunnel 0
Tunnel0 is up, line protocol is up
Hardware is Tunnel
MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 172.16.1.1 (FastEthernet0/0), destination UNKNOWN
Tunnel protocol/transport IPv6 6to4
Fast tunneling enabled
Tunnel transmit bandwidth 8000 (kbps)
Tunnel receive bandwidth 8000 (kbps)
Last input 00:23:23, output 00:23:23, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
34 packets input, 4760 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
38 packets output, 4464 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 output buffer failures, 0 output buffers swapped out
 
3.3.ISATPA隧道
如下拓撲圖所示
clip_image052
R1配置
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
duplex full
!
interface Ethernet1/0
ip address 192.168.10.100 255.255.255.0
duplex half
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.1.2
R2配置
!
ipv6 unicast-routing
!
!
interface Tunnel1
no ip address
no ip redirects
ipv6 address 2001:2::/64 eui-64
ipv6 enable
no ipv6 nd ra suppress
tunnel source FastEthernet0/0
tunnel mode ipv6ip isatap
!
interface FastEthernet0/0
ip address 172.16.1.2 255.255.255.0
duplex full
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2001:1::1/64
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.1.1
計算機配置
此計算機操作系統爲windows serve r 2003,配置本地連接爲192.168.10.129,
打開命令提示符,指定ISATAP路由器地址,並啓用ISATAP隧道功能,如下圖所示:
clip_image054
clip_image056
查看其狀態,如下圖所示:
clip_image058
使用命令查看其獲取的IPv6 ISATAP地址,如下圖所示:
clip_image060
使用ping命令來測試是否正常通信。
clip_image062
使用show命令查看其路由器狀態。
R2#sh interfaces tunnel 1
Tunnel1 is up, line protocol is up
Hardware is Tunnel
MTU 1514 bytes, BW 9 Kbit, DLY 500000 usec,
reliability 255/255, txload 1/255, rxload 1/255
Encapsulation TUNNEL, loopback not set
Keepalive not set
Tunnel source 172.16.1.2 (FastEthernet0/0), destination UNKNOWN
Tunnel protocol/transport IPv6 ISATAP
Fast tunneling enabled
Tunnel transmit bandwidth 8000 (kbps)
Tunnel receive bandwidth 8000 (kbps)
Last input 00:12:16, output 00:12:16, output hang never
Last clearing of "show interface" counters never
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/0 (size/max)
5 minute input rate 0 bits/sec, 0 packets/sec
5 minute output rate 0 bits/sec, 0 packets/sec
21 packets input, 2488 bytes, 0 no buffer
Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
25 packets output, 2500 bytes, 0 underruns
 
3.4.靜態NAT-PT配置
如下圖所示:
clip_image064
R1配置
!
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
duplex full
!
interface Ethernet1/0
ip address 192.168.10.100 255.255.255.0
duplex half
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.1.2
no ip http server
no ip http secure-server
!
R2配置
!
ipv6 unicast-routing
!
interface FastEthernet0/0
ip address 172.16.1.2 255.255.255.0
duplex full
ipv6 nat
!
interface Ethernet1/0
no ip address
duplex half
ipv6 address 2001:1::1/64
ipv6 nat
!
ip classless
ip route 0.0.0.0 0.0.0.0 172.16.1.1
no ip http server
no ip http secure-server
!
logging alarm informational
ipv6 nat v4v6 source 192.168.10.129 2001:2::A
ipv6 nat v6v4 source 2001:1::20C:29FF:FEA1:4275 172.16.2.10
ipv6 nat prefix 2001:2::/96
!
使用兩臺計算機相互信,如下圖所示:
clip_image066
clip_image068
使用debug ipv6 nat 和show命令查看其輸出:
R2#
*Sep 20 13:27:38.758: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:27:38.766: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:27:39.630: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:27:39.694: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:27:40.666: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:27:40.670: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:27:41.682: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:27:41.702: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
R2#sh ipv6 nat translations
Prot IPv4 source IPv6 source
IPv4 destination IPv6 destination
--- --- ---
192.168.10.129 2001:2::A
--- 172.16.2.10 2001:1::20C:29FF:FEA1:4275
192.168.10.129 2001:2::A
--- 172.16.2.10 2001:1::20C:29FF:FEA1:4275
--- ---
R2#
*Sep 20 13:28:03.758: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:28:03.846: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:28:04.798: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:28:04.862: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:28:05.810: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:28:05.866: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
*Sep 20 13:28:06.826: IPv6 NAT: icmp src (2001:1::20C:29FF:FEA1:4275) -> (172.16.2.10), dst (2001:2::A) -> (192.168.10.129)
*Sep 20 13:28:06.882: IPv6 NAT: src (192.168.10.129) -> (2001:2::A), dst (172.16.2.10) -> (2001:1::20C:29FF:FEA1:4275)
R2#sh ipv6 nat translations
Prot IPv4 source IPv6 source
IPv4 destination IPv6 destination
--- --- ---
192.168.10.129 2001:2::A
--- 172.16.2.10 2001:1::20C:29FF:FEA1:4275
192.168.10.129 2001:2::A
--- 172.16.2.10 2001:1::20C:29FF:FEA1:4275
--- ---
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章