论文部分内容阅读
随着IPv6应用的不断普及,IPv6网络和现行IPv4网络的互通势必会越来越重要。IPv4网络已发展了将近30年,IPv6不可能在短时间内取代IPv4,因此如何平稳的由IPv4向IPv6过渡是每一个网络工作者关心的问题。现在IPv4向IPv6的过渡策略主要有双协议栈技术、隧道技术和NAT-PT技术。
NAT-PT是目前应用较多的过渡策略,NAT-PT非常适合纯IPv4网络和纯IPv6网络之间的通信。IPv6的普及将以IPv6小岛出现的形式为主,所以解决IPv6小岛和IPv4海洋之间的通信是IPv6和IPv4之间通信的首要问题,而NAT-PT正是基于这样的应用诞生的。NAT-PT既要执行地址翻译,还要进行协议翻译,其中NAT对IPv4地址和IPv6地址进行翻泽,PT按照语义等价的原则对IPv4报文和IPv6报文进行相互翻译。
NAT-PT的使用场合是以IPv6小岛访问IPv4海洋为主的应用,以企业网、校园网和政府网为例,这些网络内部以及对外都有大量的通信需求,但是外部Internet对这些网络的访问量不是很大。如果IPv4海洋对IPv6小岛有大量的访问,NAT-PT可能会由于IPv4地址池容量的不够而导致某些通信不能顺利完成。
现有的网络中有许多应用层的协议,为了实现某些特定功能,会将IP地址信息和TCP/UDP端口信息作为数据的一部分进行传输。由于NAT-PT的基本功能只对IP网络层和TCP/UDP传输层进行转换处理,若不对应用层数据中的IP和TCP/UDP端口信息进行相应的处理,则应用层的通信将可能无法完成,因此NAT-PT必须结合应用层网关才能完整实现IPv4和IPv6互通的功能。DNS是支撑当今互联网的最关键的应用层协议之一,因此DNS-ALG的实现显得尤为重要。
本论文主要研究NAT-PT中DNS-ALG的算法实现,DNS-ALG是NAT-PT一个重要子模块。DNS-ALG的基本作用是实现DNS报文的转换处理,同时DNS-ALG成功实现了IPv4主机对IPv6网络的穿越。本文首先介绍了NAT-PT协议的研究和设计,为DNS-ALG没计和实现提供技术背景,然后针对DNS-ALG的技术原理进行具体的研究和分析,设计并实现了DNS协议的应用层转换网关。
通过对DNSv4和DNsv6协议的研究和比较,根据软件丌发的完整过程:需求分析、概要设计、详细设计、编码、单元测试、集成测试、系统测试,成功的开发出一套算法实现DNS-ALG。通过系统测试,证实了整套算法的完整性和正确性,实现了IPv4网络和IPv6网络互相通信。
该算法的设计和实现完全基于RFC标准,包括rfc1034、rfc1035、rfc2766等。