qt双栈ipv4& ipv6应用程序

时间:2013-08-27 15:26:47

标签: qt ipv6

我有一个用Qt(v4)编写的ipv4客户端/服务器网络应用程序,我必须将其移植到ipv6中(实际上客户端移植是最重要的一个),以这种方式创建双栈ipv4& ipv6应用程序。

我没有任何可用的ipv6网络,以便进行任何测试。

我尝试了以下但没有成功:

  • 找到一个可以进行ipv6验证的工具:没有很多,通常记录很少,通常用于C语言
  • 创建本地ipv6网络环境

任何想法?

1 个答案:

答案 0 :(得分:3)

绝对创建本地IPv6网络环境。 IPv6中的许多工作与IPv4相同,但很多其他方面都有所不同。在开发使用IPv6的应用程序时,您应该有一些实践经验。您不会指望从未使用过IP的人开发使用IPv4的应用程序,对吗?

一些关键差异:

  • IPv6地址以十六进制编写
  • IPv6主机可能有多个地址
    • fe80:开头的IPv6地址
      这是链接本地地址。每个IPv6主机都有一个用于它拥有的每个接口。链路本地地址存在于每个链路(以太网段,LAN)上,并且它们在每个LAN上使用相同的地址范围。因此无法对它们进行路由,但仅在局域网内进行通信时它们非常有用。
    • 2000: - 3fff:范围内的某些内容开头的一个或多个IPv6地址
      这些地址是您用于正常互联网通信的全局可路由地址。
    • 零个或多个IPv6地址以fc00: - fdff:范围内的某些内容开头,这些是唯一的本地地址(ULA)。它们在房屋,建筑物,组织等内部进行路由。它们不会被路由到全球互联网,因此您无法与他们一起提供公共服务。
    • 当然也许是一个或多个IPv4地址
  • NAT(几乎)从未与IPv6一起使用。 ULA地址 NAT到公共地址。

获得体验的最佳方式是使用连接到真实IPv6 Internet的IPv6连接。如果您的ISP无法为您提供IPv6(他们应该使用IPv6,但许多ISP仍然处于闲置状态),您可以使用隧道代理服务,如SixXSHurricane Electric。它们将为您提供带有/ 48个地址的IPv6-over-IPv4隧道。这对于2 ^ 64个主机的65536个子网来说已经足够了。对于开发网络来说绰绰有余:-) SixXS的好处是它们可以提供可以在NAT路由器后面运行的客户端软件。 Hurricane Electric的优势在于注册程序更加容易。