论文部分内容阅读
由于IPv4的地址资源在2012年左右将要耗尽,以及现有的基于IPv4的网络对流媒体、安全性等的支持不够,所以IETF很早就制定了下一代网络协议IPv6。IPv6吸收了IPv4的优点并在此基础上对其进行了改进,能够给用户提供更好的网络服务,所以IPv6取代IPv4是必然趋势。但是目前的IT基础设施都是基于IPv4的,所以IPv4过渡到IPv6需要一个很长的阶段。在此期间,IPv4将与IPv6共存,这就要求IPv4网络与IPv6网络能够进行透明的通信。
NAT-PT既执行地址翻译,又进行协议翻译,其中NAT对IPv4地址和IPv6地址进行翻译,PT按照语义等价的原则对IPv4报文和IPv6报文进行相互翻译。另外,NAT-PT与相应的ALG结合使用,例如DNS-ALG和FTP-ALG,使得IPv4应用程序和IPv6应用程序之间可以通信。使用NAT-PT作为过渡机制的一个优点是,现有主机无需任何改变,因为NAT-PT的配置都是在NAT-PT网关上进行的。通过使用NAT-PT,无需对现有网络进行任何改变就能使IPv6网络主机与现有的IPv4网络主机通信。
本文首先介绍IPv6协议的新特点,并与IPv4协议进行比较,对IPv4向IPv6过渡的过渡原则作了深入的分析。对隧道、双栈、翻译等几种常用的过渡技术进行探讨,并对NAT-PT的原理和通信过程进行了详细研究。在此基础上提出基于NAT-PT技术的网络过渡解决方案,给出了NAT-PT的网关设计方案,实现功能包括地址翻译、协议翻译和部分ALG,并且通过实验对NAT-PT进行了验证。论文在地址转换部分的研究过程中,利用哈希表和Patricia树相结合的数据结构,改进了原有地址映射表的存储结构,提高了算法的查找效率,改善了系统地址转换性能。
本文主要工作包括以下几个方面:
1.深入分析比较了双栈、隧道、翻译三种典型的过渡技术的原理和适用场合,对他们的优缺点进行了对比。
2.深入研究SIIT和NAT-PT技术的原理和通信过程。SIIT对IP/ICMP报文进行协议翻译,能够实现IPv4网络节点与IPv6网络节点之间的通信,但是由于它是无状态的,SIIT无法对IPv4地址进行复用,所以地址池的大小限制了IPv6节点的数量。NAT-PT把SIIT协议转换技术与IPv4网络中网络地址转换技术(NAT)相结合,它利用了SIIT技术的工作机制,同时又利用了传统的IPv4下的NAT技术来动态地给访问IPv4节点的IPv6节点分配IPv4地址,很好地解决了SIIT技术中全局IPv4地址池规模有限的问题,可以大规模应用。
3.设计了一种基于Patricia树并辅之以Hash表的高速网络环境下地址映射记录的快速搜索算法,加快了地址映射项的搜索过程,提高了NAT-PT的性能。
4.设计了IPv4与IPv6两种协议族之间的转换算法,包括IPv4与IPv6的相互转换、ICMPv4与ICMPv6的相互转换,在UDP和TCP的检验和调整部分设计了一种新的检验和更新算法。在IP分片情况下,使IPv4与IPv6协议之间更好的对应转换。使ICMPv4与ICMPv6协议各种类型报文之间具有更好的对应关系。
5.设计并实现一种基于Linux平台的NAT-PT转换网关,包括地址翻译、协议翻译和DNS-ALG三个部分。通过实验结果表明NAT-PT网关具有较好的性能。
NAT-PT网关可以解决IPv4与IPv6网络共存阶段中IPv4主机与IPv6主机互通的问题,改进的NAT-PT网关更适合应用于像学校和企业等中大规模的网络。