6.4 NAT-PT

(1)NAT-PT和NAT的差别

  ①NAT-PT(附带协议转换的网络地址转换)技术秉承NAT技术的思想,但在原理方面大有不同。

  ②NAT-PT和NAT本质的区别在于应用场合的不同。NAT是IPv4网络中公网、私网地址的相互转换,它是为了解决IPv4公网地址缺乏问题而NAT-PT则是IPv6和IPv4地址的相互转换,它是为了解决两者互通问题。在IPv4网络完全过渡到IPv6网络之间,两种类型之间直接通信可以通过NAT-PT来实现。

  ③NAT-PT作用于IPv4和IPv6网络边缘设备上,所有的地址转换都在该设备上实现,对于IPv4和IPv6网络来说是透明的,即用户不必改变目前的IPv4网络中主机的配置就可以实现IPv6网络与IPv4网络的通信

(2)NAT-PT和隧道的差别

  ①首先报文转换和转发方式不同:NAT-PT是对报文的网络层内容进行转换修改,剥离原先的报文头,替换为转换之后的报文头(如IPv4→IPv6或IPv6→IPv4),而隧道技术是对初始报文作另一层报文的封装

  ②NAT-PT会检查并且可以更改报文中的端口号;而隧道技术从来不会检查报文中的传输层内容。

  ③NAT-PT一般适用于IPv4和IPv6不同网络中主机互相访问的环境中;而隧道技术一般用于实现一种网络协议跨越另一种网络协议之间的通信。所以NAT-PT的环境只需有一台可以进行NAT-PT转换的设备即可,而构造一种隧道的环境必须有两台设备形成一个隧道。

(3)NAT-PT分类

  ①静态NAT-PT

    A.提供一对一的IPv6地址和IPv4地址的映射

    B.IPv6单协议网络内的节点要访问IPv4单协议网络内的每一个IPv4地址都必须在NAT-PT设备中配置。

    C.每一个目的IPv4在NAT-PT设备中被映射成一个具有预定义NAT-PT前缀的IPv6地址。在这种模式下,每一个IPv6映射到IPv4地址,需要IPv4地址可以双方发起连接

  ②动态NAT-PT

    A.NAT-PT网关向IPv6网络通告一个96位的地址前缀,并结合32位主机IPv4地址作为对IPv4网络中的主机的标识。

    B.从IPv6网络中的主机向IPv4网络发送的报文,其地址前缀与NAT-PT发布的地址前缀相同,这些报文都被路由到NAT-PT网关,由NAT-PT网关对报文头进行修改,取出其中的IPv4地址信息来替换目的地址,同时会修改端口号

    C.同时,NAT-PT网关定义了IPv4地址池,它从地址池中取出一个地址来替换IPv6报文的源地址,从而完成从IPv6地址到IPv4地址的转换

    D.由于动态NAT-PT只能由IPv6一侧首先发起连接,路由器把IPv6地址转换为IPv4地址后,IPv4主机才知道使用哪一个IPv4地址来标识IPv6主机。若从IPv4端首先发起连接,IPv4主机并不知道IPv6主机的IPv4地址,因为这个地址是NAT-PT网关从地址池中随机选择的,连接无法进行。

(4)实战:配置静态NAT-PT

  ①路由器配置(并不是所有的路由器都支持NAT-PT,本例采用思科unzip-c3640-js-mz.124-10.bin

//R1路由器
R1#conf t
R1(config)#interface fastEthernet /
R1(config-if)#ip address 192.168.10.10 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#interface serial /
R1(config-if)#clock rate
R1(config-if)#ip address 131.107.0.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#ip route 12.10.12.0 255.255.255.0 131.107.0.2 //添加到12.10.12.0网段的路由
R1(config)#exit //R2路由器(NAT-PT路由器)
R2#conf t
R2(config)#ipv6 unicast-routing
R2(config)#interface serial /
R2(config-if)#ip address 131.107.0.2 255.255.255.0
R2(config-if)#ipv6 nat
//启用该接口的IPv6 Nat功能
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#interface serial /
R2(config-if)#clock rate
R2(config-if)#ipv6 address :::/
R2(config-if)#ipv6 nat
//启用该接口的IPv6 Nat功能
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 192.168.10.0 255.255.255.0 131.107.0.1 //添加到192.168.10.0/24的路由
R2(config)#ipv6 route :::/ ::: //添加到2001:1::/64网段的路由
//将v6映射成v4,从而能在ipv4网络中可以访问到ipv6主机。
R2(config)#ipv6 nat v6v4 source 2001:1::2 12.10.12.12 //配置静态NAT-PT映射,将源IPv6映射为IPv4地址
//将v4映射成v6,从而能在ipv6网络中可以访问到ipv4主机。
R2(config)#ipv6 nat v4v6 source 192.168.10.20 2001:3::122 //配置静态NAT-PT映射,将源IPv4映射为IPv6地址
R2(config)#ipv6 nat prefix 2001:3::/96 //IPv6前缀,定义将IPv4网络映射到IPv6的2001:3::/96网段
R2(config)#exit
R2# //R3路由器
R3#conf t
R3(config)#ipv6 unicast-routing //启用IPv6路由转发功能
R3(config)#interface serial /
R3(config-if)#ipv6 address :::/
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#interface fastEthernet /
R3(config-if)#ipv6 address :::/
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#ipv6 route :::/ ::: //添加到2001:3::/64网段的路由
R3(config)#exit
R3#

  ②Win7虚拟机:放入VMnet1网络,IPv4为192.168.10.20/24,默认网关192.168.10.10。Win8虚拟机:放入VMnet8网络,IPv6设置为2001:1::2/64,默认网关为2001:1::1。

  ③测试:在R2上打开IPv6 nat调试开关(R2# debug IPv6 nat)。然后让Win7虚拟机ping 12.10.12.12Win8虚拟机ping 2001:3::122并观察IPv6 nat的调试输出(注意观察源和目标地址的变化)

//跟踪NAT调试结果
R2#debug ipv6 nat //打开IPv6 nat调试开关(关闭时用no debug ipv6 nat)
IPv6 NAT-PT debugging is on
R2#
*Mar ::40.363: IPv6 NAT: src (192.168.10.20) -> (:::), dst (12.10.12.12) -> (:::)
*Mar ::40.431: IPv6 NAT: icmp src (:::) -> (12.10.12.12), dst (:::) -> (192.168.10.20)
R2#
*Mar ::41.371: IPv6 NAT: src (192.168.10.20) -> (:::), dst (12.10.12.12) -> (:::)
*Mar ::41.431: IPv6 NAT: icmp src (:::) -> (12.10.12.12), dst (:::) -> (192.168.10.20)

(5)实战:配置动态NAT-PT

  ①路由器配置

//R1路由器
R1#conf t
R1(config)#interface fastEthernet /
R1(config-if)#ip address 192.168.10.10 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#interface serial /
R1(config-if)#clock rate
R1(config-if)#ip address 131.107.0.1 255.255.255.0
R1(config-if)#no sh
R1(config-if)#exit
R1(config)#ip route 12.10.12.0 255.255.255.0 131.107.0.2 //指定到12.10.12.0/24网段的路由 //R2路由器
R2#conf t
R2(config)#ipv6 unicast-routing
R2(config)#interface serial /
R2(config-if)#ip address 131.107.0.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#interface serial /
R2(config-if)#clock rate
R2(config-if)#ipv6 address :::/
R2(config-if)#no sh
R2(config-if)#exit
R2(config)#ip route 192.168.10.0 255.255.255.0 131.107.0.1
R2(config)#ipv6 route :::/ :::
R2(config)#interface serial / //在R2的接口用ipv6的nat
R2(config-if)#ipv6 nat //启用IPv6地址转换
R2(config-if)#exit
R2(config)#interface serial /
R2(config-if)#ipv6 nat
R2(config-if)#exit
R2(config)#ipv6 access-list v4map permit :::/ any //定义访问控制列表
R2(config)#ipv6 access-list v6list permit :::/ any //定义允许访问IPv4网络的IPv6网段
R2(config)#ipv6 nat prefix :::/ v4-mapped v4map //定义IPv4充当的IPv6网段 (前缀)
R2(config)#ipv6 nat v6v4 pool v4pool 12.10.12.10 12.10.12.100 prefix-length //定义IPv4地址池(名为v4pool)
R2(config)#ipv6 nat v6v4 source list v6list pool v4pool //配置动态映射
R2(config)#exit //R3路由器
R3#conf t
R3(config)#ipv6 unicast-routing
R3(config)#interface serial /
R3(config-if)#ipv6 address :::/
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#interface fastEthernet /
R3(config-if)#ipv6 address :::/
R3(config-if)#no sh
R3(config-if)#exit
R3(config)#ipv6 route :::/ :::
R3(config)#exit

  ②测试:Win7A和Win7B虚拟机IP设置与上例相同。让Win7B虚拟机ping 2001:3::c0a8:0a14(即,2001:3::192.168.10.20,注意只能从IPv6主动访问IPv4网络)。同时,可以在R2#debug ipv6 nat进行跟踪。

//查看NAT调试结果
R2#debug ipv6 nat
IPv6 NAT-PT debugging is on
R2#
*Mar ::30.223: IPv6 NAT: icmp src (:::) -> (12.10.12.10), dst (:::C0A8:A14) -> (192.168.10.20)
*Mar ::30.291: IPv6 NAT: src (192.168.10.20) -> (:::C0A8:A14), dst (12.10.12.10) -> (:::)
R2#
*Mar ::31.423: IPv6 NAT: icmp src (:::) -> (12.10.12.10), dst (:::C0A8:A14) -> (192.168.10.20)
*Mar ::31.535: IPv6 NAT: src (192.168.10.20) -> (:::C0A8:A14), dst (12.10.12.10) -> (:::)

第11章 拾遗5:IPv6和IPv4共存技术(3)_NAT-PT技术【全书完】的更多相关文章

  1. 第11章 拾遗5:IPv6和IPv4共存技术(1)_双栈技术和6to4隧道技术

    6. IPv6和IPv4共存技术 6.1 双栈技术 (1)双协议主机的协议结构 (2)双协议栈示意图 ①双协议主机在通信时首先通过支持双协议的DNS服务器查询与目的主机名对应的IP地址. ②再根据指定 ...

  2. 第11章 拾遗5:IPv6和IPv4共存技术(2)_ISATAP隧道技术

    6.3 ISATAP隧道技术 (1)基本概念 ①在一个IPv4网络中主机与路由器之间创建一条ISATAP隧道,以便让该主机可以访问IPv6网络中的资源. ②条件:IPv4中的PC主机需要支持IPv4和 ...

  3. 第11章 拾遗4:IPv6(1)_报文格式和地址类型

    1. IPv4和IPv6协议栈的比较 (1)IPv6取代IPv4,支持IPv6的动态路由协议都属于IPv6协议(如RIPng.OSPFv3). (2)Internet控制消息协议IPv6版(ICMPv ...

  4. 第11章 拾遗4:IPv6(2)_给计算机配置IPv6地址

    4. 给计算机配置IPv6地址 4.1 无状态自动配置IPv6地址 (1)网络拓扑 ①无状态地址自动配置是指不需要DHCP服务器进行管理,由客户端向路由器发送前缀请求(RS)询问其所在网段.路由器收到 ...

  5. 第11章 拾遗4:IPv6(3)_配置IPv6路由

    5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...

  6. 第11章 拾遗3:虚拟局域网(VLAN)

    1. 虚拟局域网(VLAN) (1)VLAN是建立在物理网络基础上的一种逻辑子网,它将把一个LAN划分成多个逻辑的局域网(VLAN),每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内 ...

  7. 第11章 拾遗1:网络地址转换(NAT)和端口映射

    1. 网络地址转换(NAT) 1.1 NAT的应用场景 (1)应用场景:允许将私有IP地址映射到公网地址,以减缓IP地址空间的消耗 ①需要连接Internet,但主机没有公网IP地址 ②更换了一个新的 ...

  8. ipv6转ipv4 NAT64与DNS64基本原理概述

    原文: https://blog.csdn.net/zhangjie1989/article/details/51464251 1.NAT64与 DNS64背景 在 IPv6网络的发展过程中,面临最大 ...

  9. IPv6地址格式示例及IPv6与IPv4的区别分析

    认识IPv6地址 IPv4地址是类似 A.B.C.D 的格式,它是32位,用\".\"分成四段,用10进制表示: 而IPv6地址类似X:X:X:X:X:X:X:X的格式,它是128 ...

随机推荐

  1. skipper backend 负载均衡配置

    skipper 对于后端是支持负载均衡处理的,支持官方文档并没有提供,实际使用中,这个还是比较重要的 同时支持健康检查. 格式 hello_lb_group: Path("/foo" ...

  2. DOM Access and Manipulation JS 操纵DOM

    JS 操纵DOM 有两种很简单的方式: 如果知道ID 的情况下. 我们可以使用 document.getElementById 我们还可以使用 document.getElementById(&quo ...

  3. EMC EMI 自行评估记录

    EMC EMI 自行评估记录 设备 频谱仪 网房 评估 设置频谱频率为 30M 1G. 给频谱仪接一个天线,将被测试的机器上电然后在不同的角度换,看频谱仪上的数值. 可以绕上去,但不要和 PCB接触.

  4. LambdaAOP

    项目地址 :  https://github.com/kelin-xycs/LambdaAOP LambdaAOP 一个 用 C# 实现的 使用 Lambda 表达式 的 AOP 这是 一个 用 C# ...

  5. async await 的 实质 本质

    async await  的 实质 就是 用 “状态机” 来 取代 函数层层调用 . async await  的 本质 是 语法糖,  和 提高性能 什么的 没什么关系 . 为了避免理解歧义, 我把 ...

  6. oauth 2.0 授权流程图

    1.授权码模式(authorization code) 7 步  后面 拿到授权码以后,就是向 资源服务器请求资源了. 2.简化模式(implicit): 在上面的第4 步的返回中,已经包含了 acc ...

  7. vim使用技巧大全

    1.vim清空内容 光标移到第一行,然后在非插入模式按10000后然后点dd .要嫌笨的话就在非插入模式下输入:.,$d 一回车就全没了 2.vim光标跳转操作 1.跳到文本的最后一行:按“G”,即“ ...

  8. 如何在Macbook苹果笔记本上按右键点击(适用小米黑苹果)

    1.按下Control键.保持按下Control(Ctrl)键,同时点击鼠标. 这一操作相当于在一个双键鼠标上右击. 点击鼠标后,你可以松开Control键. 该方法适用于单键鼠标或者MacBook ...

  9. Set ARITHABORT Option设置为ON

    MSDN注释中提到,应该总是将Set ARITHABORT Option设置为ON,原因有四: 1,如果SSMS和application client的设置不同,那么会导致application cl ...

  10. window下sh文件在linux转码

    本文转载自:https://blog.csdn.net/omiconlee/article/details/53407438 1)在Windows下转换: 利用一些编辑器如UltraEdit或Edit ...