在Linux平台及IPv4环境中构建IPv6测试环境

发表于:2009-2-05 13:41

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:蒋莹滢    来源:developerworks

分享:

  2.2.6 DNS 考虑

  在网络应用中,客户端一般使用域名来访问服务器端。在测试 IPv6 的环境中,必须使用 IPv6 的地址来访问,这就需要一个支持 IPv6 的 DNS 域名服务器,对于一定的域名返回其 IPv6 的地址。目前可以使用在 Linux 平台的 BIND 9 来搭建这样的 DNS 服务器。但是其配置相对比较复杂,还可以使用一种相对简便的方法。即利用 Linux 和 Windows 平台均支持的 hosts 文件来配对域名与其相应的 IPv6 地址。这需要在客户端的相应 hosts 文件中加入一些 IPv6 地址的配置信息。

  在 Linux 平台上,hosts 文件一般位于 /etc/hosts,在此文件中加入如下一行:

  2002:9ba:b4e:6::3 www.someipv6site.com

  这样就指定了 www.someipv6site.com 的 IPv6 地址为 2002:9ba:b4e:6::3。而在 Windows 平台上 hosts 文件位于 %WINDIR%\System32\drivers\etc\hosts,其格式与 Linux 平台上相同。

  2.3 IPv6 和 IPv4 混合环境兼容性测试

  从 IPv4 到 IPv6 的过渡是一个漫长而复杂的过程,不可能在短期内实现完全转换,所以在产品的开发及测试过程中除了考虑 IPv6 网络内的通讯还需要充分考虑现实网络环境中很可能出现的 IPv6 网络和 IPv4 网络的混合环境,这就需要测试应用程序在此环境下的兼容性。 本节将介绍一些需要模拟的情况。

  模拟以下3种网络情况首先都需要在现有的 IPv4 局域网环境中选择一台机器作为路由服务器,并按照2.2.3节的描述进行相关配置。这样与该路由连接于同一个 Switch 上的计算机都将会被自动分配一个 IPv6 的地址。如果仍然没有获得 IPv6 的地址,请关闭计算机和路由服务器上的防火墙。然后按照 2.2.4 节中的描述选择一台计算机设置为 ProxyPass。

  2.3.1客户端和服务器端均运行于 IPv6 的网络环境

  这种情况的验证相对比较简单,只需要在客户端将服务器的地址设为前面配置的 ProxyPass 的 IPv6 的地址便能实现客户端和服务器端 IPv6 到 IPv6 的交互。这就是2.2节介绍的情况。

  图 4. 客户端和服务器端均运行于 IPv6 的网络环境

  

  2.3.2 客户端运行于 IPv6 网络,服务端运行于 IPv4 网络

  对于客户端和服务器端分别处于 IPv6 和 IPv4 环境的情况,需要在局域网环境中增加代理 (proxy) 作为两者之间的桥梁,该代理与上述路由服务器位于同一个网络之中,因而也拥有 IPv6 的地址和 IPv4 的地址。客户端所设置的目的服务器端地址为 IPv4 的地址,设置的代理地址为该代理的 IPv6 的地址,这样客户通过 IPv6 协议与代理直接进行通讯,而代理接受到客户端所设置的 IPv4 格式的服务器地址后则通过 IPv4 协议与服务端交互,这样便模拟实现了客户端位于 IPv6 网络而服务器端位于 IPv4 网络的情况。

  图 5. 客户端运行于 IPv6 网络,服务端运行于 IPv4 网络

  

  2.3.3 客户端运行于 IPv4 网络,服务端运行于 IPv6 网络

  模拟位于 IPv4 网络中的客户端与位于 IPv6 网络中的服务器端进行交互需要使用 Proxy 和 ProxyPass 来进行环境搭建。客户端将 ProxyPass 所在的 IPv6 的地址设置为服务器端的地址,将 Proxy 所在的 IPv4 的地址设置为代理的地址,这样客户端与代理之间通过 IPv4 协议进行通讯。代理在获取到客户端所配置的 IPv6 协议的 ProxyPass 地址后将通过 IPv6 协议与 ProxyPass 进行交互。ProxyPass 收到客户端发送的请求后将通过 IPv4 的协议发送给真正的位于 IPv4 网络中的服务器进行处理。这样在客户端就模拟实现了 IPv4 网络到 IPv6 网络的通讯。

  图 6. 利用代理将客户端映射到与服务器端同一局域网内

  

  三、总结

  在本文中,我们通过使用现有的 IPv4 网络配合 Linux 平台上的 Apache 服务器,达到了模拟 IPv6 的 HTTP/HTTPS 网络环境的目的,从而可以在有限的硬件资源之下开发和测试网络应用软件对 IPv6 的支持。这项技术还可以应用到其他的网络协议之上,只需使用具备类似于 Apache 服务器转发技术的代理服务器。因此这项技术具有一定的通用性。

55/5<12345
100家互联网大公司java笔试题汇总,填问卷领取~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号