qt双栈ipv4&;ipv6应用程序

qt双栈ipv4&;ipv6应用程序,qt,ipv6,Qt,Ipv6,我有一个用Qt(v4)编写的ipv4客户机/服务器网络应用程序,我必须将其移植到ipv6中(实际上,客户机移植是最重要的一个),以这种方式创建一个双堆栈ipv4和ipv6应用程序 我没有任何可用的ipv6网络来执行任何测试 我尝试了以下方法,但没有成功: 找到一个进行ipv6验证的工具:没有太多,通常没有很好的文档记录,而且通常用于C语言 创建本地ipv6网络环境 有什么想法吗?一定要创建一个本地IPv6网络环境。IPv6中的许多功能与IPv4中的功能相同,但其他许多功能不同。在开发使用IP

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

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

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

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

有什么想法吗?

一定要创建一个本地IPv6网络环境。IPv6中的许多功能与IPv4中的功能相同,但其他许多功能不同。在开发使用IPv6的应用程序时,您应该有一些实际操作经验。你不会期望从未使用过IP的人开发一个使用IPv4的应用程序吧

一些关键区别:

  • IPv6地址以十六进制形式写入
  • IPv6主机可能有多个地址
    • 以fe80开头的IPv6地址:
      这是链路本地地址。每个IPv6主机的每个接口都有一个。链路本地地址存在于每个链路(以太网段、LAN)上,并且它们在每个LAN上使用相同的地址范围。因此,不可能对它们进行路由,但当仅在局域网内通信时,它们非常有用
    • 一个或多个IPv6地址,以范围
      2000:
      -
      3fff:

      中的某个内容开头。这些地址是用于正常internet通信的全局可路由地址
    • 零个或多个IPv6地址以范围
      fc00:
      -
      fdff:

      内的内容开头,这些是唯一的本地地址(ULA)。它们在房屋、建筑物、组织等内部路由。它们没有路由到全球互联网,因此您无法使用它们访问公共服务
    • 当然,可能还有一个或多个IPv4地址
  • NAT(几乎)从未与IPv6一起使用。ULA地址不是公共地址

获得体验的最佳方式是使用连接到真正IPv6 internet的IPv6连接。如果您的ISP不能为您提供IPv6(现在他们应该提供,但许多ISP仍在松懈),您可以使用或之类的隧道代理服务。他们将为您提供一个IPv6-over-IPv4隧道,其中包含48个地址。这对于2^64个主机的65536个子网来说已经足够了。对于开发网络来说已经足够了:-)SixX的好处是,它们提供了可以在NAT路由器后面运行的客户端软件。飓风电力公司的好处是注册程序要容易得多。

我有SixXS和HE隧道。我从未等待过超过24小时的Sixx添加/更改。他似乎也有5条隧道的限制,并封锁了25号港口。SixXS不阻塞端口25,并允许您想要的隧道数量(前提是您有信用证)。