三、NAT-PT技術:(Network Address Translation-Protocol Translation)将IPv4位址與協定和IPv6位址與協定互相轉換的技術。如下圖:
<a href="http://yuan2.blog.51cto.com/attachment/200912/1/446689_1259629689z1NH.png"></a>
在上圖中IPv6主機2001:db8:ffff:1::1 想和IPv4主機192.0.30.1通信,由于雙方工作在不同的協定下,是以不可能直接通過對方的位址通信,這時就需要NAT-PT邊緣路由器進行位址和協定的轉換操作。
過程:首先我們需要在邊緣路由器上做好轉換的映射關系(可以是靜态,動态,NAPT-PT)為了便于了解這裡以靜态映射說明。
在邊緣路由器上為圖中IPv6主機2001:db8:ffff:1::1映射一個IPv4位址 192.0.2.2 同時為圖中IPv4主機192.0.30.1映射一個IPv6位址2001:db8:ffff:ffff::a
這樣當圖中IPv6主機2001:db8:ffff:1::1想和IPv4主機192.0.30.1通信時,在自己一方網絡層源IP位址封裝2001:db8:ffff:1::1 目标IP可以封裝2001:db8:ffff:ffff::a
該IPv6資料包到達邊緣路由器後,路由器會根據之前定義好的映射關系進行轉換,會把IPv6報頭中的源IP2001:db8:ffff:1::1換成192.0.2.2,會将目的IP換成192.0.30.1也就是IPv4主機的接口位址,這樣就完成了V4協定和V6協定的轉換,回來的時候執行相反的操作,也就是,将IPv4報頭中的源IP位址192.0.30.1換成2001:db8:ffff:ffff::a 把目的IP換成2001:db8:ffff:1::1也就是IPv6主機的接口IP,這樣又完成了V4協定到V6協定的轉換。由于這種轉換不僅是位址的轉換還是協定的轉換,是以會大大增加資料包的傳遞延遲,除非不得不用時才會使用。
注意:轉換後的IPv4位址不能是RFC1918私有位址空間裡定義的位址。
配置舉例:
實驗平台:Cisco 3725+NM4T序列槽子產品+GT96100-FE快速以太網子產品
IOS: c3725-adventerprisek9-mz.124-9.T1.bin
實驗目标:通過配置靜态NAT-PT使R1連接配接的IPv6主機PC1能和R2連接配接的IPv4主機PC2互相通訊
實驗拓撲:如下圖
<a href="http://yuan2.blog.51cto.com/attachment/200912/1/446689_1259629690k7xX.jpg"></a>
R1配置:
R1(config)#ipv unicast-routing
R1(config)#int fa0/0
R1(config-if)#ipv add 2000::1/16
R1(config-if)#no shut
R1(config-if)#ipv6 nat //标記接口進行NAT-PT轉換
R1(config-if)#int s1/0
R1(config-if)#ip add 202.106.0.1 255.255.255.0
R1(config)#ipv6 nat v6v4 source 2000::2 202.106.0.3 //将PC1V6位址映射成指定V4位址
R1(config)#ipv6 nat v4v6 source 202.106.1.2 2001::1 //将PC2V4位址映射成指定V6位址
R1(config)#ipv6 nat prefix 2001::/96 //定義前緣長度,必須是96位
R1(config)#router eigrp 90
R1(config-router)#no au
R1(config-router)#network 202.106.0.0
R2配置:
R2(config)#int s1/0
R2(config-if)#ip add 202.106.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int fa0/0
R2(config-if)#ip add 202.106.1.1 255.255.255.0
R2(config)#router eigrp 90
R2(config-router)#no au
R2(config-router)#network 202.106.0.0
R2(config-router)#network 202.106.1.0
R1#debug ipv6 nat
IPv6 NAT-PT debugging is on
*Mar 1 00:12:29.307: IPv6 NAT: icmp src (2000::2) -&gt; (202.106.0.3), dst (2001::1) -&gt;
(202.106.1.2)
*Mar 1 00:12:29.403: IPv6 NAT: icmp src (202.106.1.2) -&gt; (2001::1), dst (202.106.0.3) -&gt;
(2000::2) //PC1主動Ping PC2 指令:ping 2001::1
*Mar 1 00:13:25.891: IPv6 NAT: icmp src (202.106.1.2) -&gt; (2001::1), dst (202.106.0.3) -&gt;
(2000::2)
*Mar 1 00:13:26.011: IPv6 NAT: icmp src (2000::2) -&gt; (202.106.0.3), dst (2001::1) -&gt;
(202.106.0.2) //PC2主動Ping PC1 指令:ping 202.106.0.3
互相通信成功,目标實作
本文轉自Y.weisheng 51CTO部落格,原文連結:http://blog.51cto.com/yuan2/237109,如需轉載請自行聯系原作者