1

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

我没有任何可用的 ipv6 网络来执行任何测试。

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

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

有任何想法吗?

4

1 回答 1

3

绝对创建本地 IPv6 网络环境。IPv6 和 IPv4 中的很多事情都是一样的,但很多其他事情是不同的。在开发使用 IPv6 的应用程序时,您应该有一些实践经验。您不会期望从未使用过 IP 的人开发使用 IPv4 的应用程序,对吗?

一些关键区别:

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

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

于 2013-08-27T16:36:25.687 回答