当前位置: 首页 > 范文大全 > 优秀范文 >

NAT-PT与DNS-ALG转换机制研究

发布时间:2022-03-23 09:09:01 | 浏览次数:

zoޛ)j馓@L3 @L>>5 iS?wvvvv]4}8m5^ti9'z(Fq, p.ay&j)jgjay^ƥj!jwZbqb{ږ翦 +v-j؜4Mܧjh4L3R׽uۢ"http://www.yzmjgc.com/p/jihua/" target="_blank" class="keylink">计划》。计划指出,到2018年末国内IPv6活跃用户数要达到2亿,2020年末达到5亿,2025年末中国IPv6规模要达到世界第一[1],从这里可以看出下一代互联网对整个网络发展的重要性。在下一代互联网的实现技术上,不同的实现方法及技术决定了下一代互联网的发展与部署。NAT-PT(Network Address Translation-Protocol Translation,网络-协议地址转换)[2]技术是用于IPv6 和IPv4 网络之间的网络地址转换协议,通过修改IPv4和IPv6协议报文头来转换IPv4和IPv6网络地址及其他参数,实现IPv4和IPv6网络之间互相通信[3]。本文以实验的形式阐述其工作原理、配置过程及应用环境,进而加深对NAT-PT技术的理解与应用。

在NAT-PT技术研究上,主要是进行理论研究与应用研究。在理论上,文献[3]对 NAT-PT技术进行了理论分析并编程实现了该协议的部分功能,文献[4]对IPv4到IPv6三种过度技术进行了比较。在应用上,文献[5-6]使用不同的技术实现了NAT-PT在集群服务中的应用,文献[7-9]论述了NAT-PT技术在云计算环境下的移动IPv4/IPv6的虚拟机迁移问题。总的来说,目前在实验研究方面很少出现对NAT-PT技术的理论论述及实验验证研究。本文采用实验验证的方式,首先对静态NAT-PT技术从报文转换角度进行论述其IP地址转换,然后对动态NAT-PT技术转换原理及IPv6到IPv4地址的动态转换过程进行论述,最后在DNS-ALG技术上从应用角度以域名方式对IPv4及IPv6网络互相访问工作过程及应用特点进行论述。

2 NAT-PT实验环境及基本配置

在实验环境上,为了降低对实验设备的要求,使用思科网络模拟器GNS3实现虚拟化实验环境。实验网络拓扑如图1所示,图中PC0,R0及R1的F0/0接口为IPv6区域,PC1,R2及R1的F0/1接口为IPv4区域,Server0为DNS服务器,网段及接口使用情况见拓扑图。

为了实现整个网络的通信功能,在各设备相应接口上配置相应的IP地址及静态路由等基本网络参数,以实现NAT-PT域内及与其他网络的通信。为了实现NAT-PT的IPv4与IPv6地址的转换,我们定义2001:3::/96网段为NAT-PT操作預定义前缀。这个网段可以是任意IPv6地址,但是其长度必须是96bits。其他IP地址见图1所示。

在R0路由器上的IPv6单协议网络中产生的、去往2001:3::/96这个目的地址的流量被路由到R1也就是NAT-PT网关,其他网段的流量使用默认路由方式发送到与其相连的IPv6路由器,如2001::1。

R0基本参数配置命令如下:

3 静态NAT-PT报文转换分析

3.1 静态NAT-PT配置

静态NAT-PT是由NAT-PT网关静态地绑定IPv6和IPv4地址。当IPv4主机和IPv6主机之间进行互通时, 其报文在经过NAT-PT网关时, NAT-PT网关根据配置的绑定关系进行转换[10]。

在NAT-PT网关R1上配置F0/0接口的IPv6地址为2001:2::2/64,F0/1接口的IPv4地址为2.2.2.1/24,F0/0/0接口的IPv4地址为1.1.1.1/24,配置IPv4及IPv6网段的默认路由,并配置静态NAT-PT转换,实现IPv4及IPv6域中的PC机的互相访问。在图1中的PC0的IPv6地址为2001:1::2/64,PC1的IPv4地址为3.3.3.2/24。为了实现它们之间的互相访问,需要在R1上开启NAT-PT转换,并且配置它们的映射IP地址。PC0的IPv4映射地址为2.2.2.3,PC1的IPv6映射地址为预定义网段的IPv6地址2001:3::1。在NAT-PT转换器R1的配置命令为:

3.2 静态NAT-PT协议分析

为了验证NAT-PT转换技术,实现IPv4及IPv6网络PC间的互相访问,必须使用映射后的IP地址进行访问,即PC0访问PC1的IP地址为2003:3::1,PC1访问PC0的IP地址为2.2.2.3。

首先PC1访问PC0,即IPv4到IPv6的访问,在PC1上访问PC0的命令为PING 2.2.2.3,其结果可以通信,说明它们之间是能够通信的。那么在NAT-PT网关R1上其数据包是如何转换的呢?将模拟器工作模式切换为模拟方式,在R1上的抓包结果如图2。

图2结果可以看出,从F0/1接口来的入包(In Layers)的源IP地址为3.3.3.2,这是PC1的IPv4地址,目标IP地址是2.2.2.3,这是PC0的IPv6映射地址。但是,从F0/0接口的出包已经转换为IPv6数据包了,其源IPv6地址是2001:3::1,这是PC1的映射IPv6地址。目的地址为2001:1::2,这是PC0的真实IPv6地址。从这里可以看到,NAT-PT转换器确实进行了IPv4及IPv6地址的转换。实现了不同类型IP地址的通信功能。

与上述类似,IPv6网络也可以实现到IPv4网络的访问,即PC0到PC1的访问,在PC0上访问PC1命令为PING 2001:3::1,其结果同样可以通信。在R1上的抓包结果如图3。

从图中结果可以看出,来自F0/0接口的是IPv6报文,其源地址为2001:1::2是PC0的IP地址,目标地址为2001:3::1是PC1的映射地址,而经过NAT-PT转换后从出接口F0/1发出的IPv4地址的源IP地址是2.2.2.3是PC0的映射地址,目标地址是3.3.3.2是PC1的IP地址。

4 动态NAT-PT转换过程分析

静态NAT-PT虽然解决了IPv4及IPv6地址之间的映射,实现不同IP之间的互通,但是其映射关系都是手工配置的,需要大量的管理工作量,并且要消耗大量的IPv4地址。动态NAT-PT定义了IPv4 地址池,NAT-PT 网关从此地址池中取出一个地址来替换IPv6 报文的源地址,动态地给访问IPv4 节点的IPv6 节点分配IPv4 地址而不需要手工配置,并且能够复用IPv4地址,很好地解决了SIIT 技术中全局IPv4 地址池规模有限的问题[11]。

在实验环境上,在GNS3模拟器下使用c3640-js-mz.124-12.image路由器IOS实现该功能。在R0使用Loopback0(IPv6地址2001:1::1/64)代替PC0,在R2使用Loopback0(IPv4地址3.3.3.1/24)代替PC1。其拓扑图如图4所示。

第一条定义IPv6 ACL “ipv6-net”,定义了允许访问的源IPv6网络;第二条定义IPv6 ACL “v4map”来匹配需要进行IPv4-mapped的源与目标流量;第三条定义IPv4地址池v6v4-pool;第四条定义了IPv6到IPv4的转换关系,并且应用了前面定义的IPv6 ACL“ipv6-net”及IPv4地址池v6v4-pool;最后使用ipv6 nat prefix 2001:3::/96 v4-mapped v4map命令定义保留给NAT-PT的IPv6前缀并关联v4map这条IPv6 ACL。

通过这样配置就实现了IPv6网络到IPv4网络的自动匹配与访问。下面以访问R1的Loopback0口的IP地址3.3.3.1为例来说明其转换及访问过程。

当在R0上访问R1的Loopback0口时要使用IPv6地址进行访问。由于配置了IPv6保留给NAT-PT的IPv6前缀2001:3::/96,因此访问R2的Loopback0口的IPv6地址就是2001:3::303:301。其中303:301是R2的Loopback0口的IPv4地址3.3.3.21的双字节值,2001:3是保留给NAT-PT的IPv6前缀。在NAT-PT网关R1上开启NAT-PT的调试功能

其中,第一行是R0发送给R1的信息,源IPv6地址2001:2::1被转换为IPv4地址2.2.2.10,这个就是IPv4地址池的第一个IP地址;目标IPv6地址2001:3::303:301是R0发出命令時的目标R2的Loopback0口IPv6地址,但是从R1发送给R2时,从该IPv6地址的最低32位取得目标主机的IPv4地址3.3.3.1。这样根据转换后的IPv4地址就可以实现与R2通信了。第二行是R2发送给R1的信息,其原始信息是IPv4地址,到达R1后通过查NAT-PT表重新转换为IPv6地址再发送给R0。具体转换关系为源地址3.3.3.1转换为2001:3:303:301,目标地址2.2.2.10转换为2001:2::1。其他数据与此类似,不再赘述。

5 DNS-ALG应用分析

在动态NAT-PT中实现了IPv4与IPv6之间的动态映射,减少了静态NAT-PT的配置工作量。但是,只能从IPv6网络端对IPv4主机访问,没法从IPv4网络端对IPv6主机访问。采用DNS-ALG技术不仅实现了IPv4及IPv6间的双向访问,而且可以使用域名方式进行访问,这样大大方便了其访问方式,具有很好的应用价值[12]。

在IPv4及IPv6的转换应用中主要是不同IP平台的客户端对IPv4及IPv6应用服务器的访问,这些服务器都配置固定的IP地址,如果需要IP地址转换都在NAT-PT网关上使用静态NAT-PT进行IPv4及IPv6映射。而且在DNS服务器上对相应的IP地址添加DNS的A记录或AAAA记录,这样就实现了基于域名的访问。

本实验采用图1的拓扑结构及静态NAT-PT配置基础。在Server0上配置DNS域名如图5所示。

图中pc0.ipv6.com域名对应于PC0的静态映射后的IPv4地址2.2.2.3,它需要经NAT-PT网关转换为其IPv6地址2001:1::2(见R1的NAT-PT配置IPv6到IPv4地址映射命令: ipv6 nat v6v4 source 2001:1::2 2.2.2.3)后才能进行访问。另外配置了server0的域名server0.ipv4.com。这样就可以使用域名方式对PC0及server0进行访问了。由于Cisco Packet Tracer 6模拟器的DNS服务不支持AAAA记录,因此没有设置IPv6地址的域名。

在PC1上配置DNS的IP地址对应为server0的IP地址1.1.1.2,使用域名分別访问PC0及server0结果如图6所示。

从图6可以看出,IPv4网络中的服务器Server0经DNS解析后的IP地址为1.1.1.2,PC0经DNS解析后的IP地址为2.2.2.3,这个结果与DNS服务器的配置是相符的。PC0的IPv4地址经NAT-PT网关转换为IPv6地址后发送给PC0,这样就实现了IPv4网络到IPv6网络的通信。其转换过程与静态NAT-PT转换相同,不再赘述。

6 结语

通过本文的讨论,使我们从实验的角度更加明白了NAT-PT的工作原理与工作过程,并且对NAT-PT在各种环境下的使用有了充分的认识,为合理使用NAT-PT技术进行了有益的探索。

参考文献:

[1] 中共中央办公厅国务院办公厅.推进互联网协议第六版(IPv6)规模部署行动计划[OL] http:///zhengce/ 2017-11/26/content_5242389.htm

[2] Tsirtsis G. Network Address Translation- Protocol Translation (NAT-PT) [S]. RFC 2766, 2000.

[3] Nordmark E. Stateless IP/ICMP Translation Algorithm (SIIT) [S].RFC 2765, 2000.

[4] 陈俊,傅光轩.NAT-PT过渡技术的分析和实现[J].贵州师范大学学报(自然科学版),2009,27(2):102-106.

[5] 王炅,林展锋,郭海丰.IPv6过渡技术的研究与仿真[J]. 甘肃联合大学学报(自然科学版),2013,27(4):61-64.

[6] 肖辽亮,赵凯辉,邓木生. NAT-PT簇的负载均衡[J].计算机工程,2008,34(9):136-138.

[7] 陈俊, 陈孝威.基于移动IPv4/IPv6演进云计算框架设计[J].计算机应用研究,2011,28(6):2321-2323.

[8] 陈俊, 陈孝威.移动I Pv4 /I Pv6 的虚拟机迁移过渡框架[J].计算机应用,2011,31(5):1180-1183.

[9] 陈俊, 陈孝威.云计算IPv4/IPv6 虚拟机在线迁移系统设计[J].计算机工程与设计,2011,32(6):1880-1884.

[10] 刘昕.IPv4与IPv6动态NAT-PT技术的实现[J].微型电脑应用,2011,27(12):61-62+IV.

[11] 张平,孙少鹏,李春青. NAT-PT技术研究及实现[J].无线电工程, 2013,43(5):7-9+28.

[12] 王子龙,陈光武. 结合DNS-ALG的NAT-PT技术研究与实现[J].无线电工程, 2012,45(11):56-57+60.

【通联编辑:代影】

推荐访问: 机制 转换 研究 PT NAT
本文标题:NAT-PT与DNS-ALG转换机制研究
链接地址:http://www.yzmjgc.com/youxiufanwen/2022/0323/35555.html

版权声明:
1.赢正文档网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《NAT-PT与DNS-ALG转换机制研究》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

版权所有:赢正文档网 2010-2024 未经授权禁止复制或建立镜像[赢正文档网]所有资源完全免费共享

Powered by 赢正文档网 © All Rights Reserved.。粤ICP备19088565号