论文部分内容阅读
随着Internet的高速发展,现有的互联网核心协议IPv4 的许多不足逐渐暴露出来,已经阻碍了Internet的发展。为了解决IPv4的不足,下一代Internet协议IPv6诞生了,它不仅解决了IPv4遇到的问题,而且还给IP带来了一些新特性,对未来的应用提供了更好的支持。相对IPv4,IPv6具有无可比拟的优越性,其代替IPv4是必然的。但是不可能也没有必要在同一时间把所有设备都升级到IPv6,IPv6代替IPv4将是一个渐近的过程,因此从IPv4升级到IPv6将有一个长期的过渡过程。IPv4通过几十年的发展,网络已经遍布全球,资源相当丰富,而IPv6的资源则很少,如果能实现IPv6/IPv4网络的互操作,使IPv6网络中的主机能够访问IPv4网络的资源,这将在很大程度上增加Ipv6对用户的吸引力,减小网络的升级成本和加快IPv6的推广、普及。而要实现IPv4/IPv6的互操作,必须进行IPv4/IPv6转换网关的研发。本文提出的转换网关主要由三个模块组成即:1)Windows下网络数据包的拦截模块,2)数据包的地址管理和转换模块,3)数据包的协议转换模块。网络数据包的拦截是通过Windows的NDIS驱动程序方式实现的。转换网关作为一个插入在网络驱动程序和协议驱动程序间的中间层驱动程序,它可以拦截到所有的网络数据包,并根据转换网关的要求作出相应的处理,然后进行转发,达到对IP头进行地址和语义转换的目的。地址转换模块实现了三种方式的转换即1)静态地址转换,2)动态地址转换,3)地址/端口转换。协议转换模块主要处理了IPv4和IPv6头相应域的语义转换,ICMPv4和ICMPv6类型及代码的相应转换以及进行IP头中的地址和语义域转换后对TCP/UDP校验各域的修改算法。最后,我们用VC++6.0和Windows DDK实现了转换网关并对其进行了数据包转换延迟测试,网络带宽测试和常见应用程序的实际操作测试,转换网关在这些测试中表现很好,完全达到了中、小型网络对转换网关的性能要求,因此它是一个非常适用的IPv4/IPv6转换网关实现方案,具有较大的应用、推广价值。