首页 文章

qt双栈ipv4和ipv6应用程序

提问于
浏览
1

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

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

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

  • 找到一个可以进行ipv6验证的工具:没有很多,通常记录很少,通常用于C语言

  • 创建本地ipv6网络环境

有任何想法吗?

1 回答

  • 3

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

    一些关键的区别:

    • IPv6地址以十六进制编写

    • IPv6主机可能有多个地址

    • fe80: 开头的IPv6地址
      这是链接本地地址 . 每个IPv6主机都有一个用于它拥有的每个接口 . 链路本地地址存在于每个链路(以太网段,LAN)上,并且它们在每个LAN上使用相同的地址范围 . 因此无法对它们进行路由,但只有在LAN内进行通信时它们才非常有用 .

    • 一个或多个以 2000: - 3fff: 范围内的内容开头的IPv6地址
      这些地址是您用于正常Internet通信的全局可路由地址 .

    • 零个或多个以 fc00: - fdff: 范围内的内容开头的IPv6地址
      这些是唯一的本地地址(ULA) . 它们在房屋,建筑物,组织等内部路由 . 它们不会被路由到全球互联网,因此您无法与他们一起接触公共服务 .

    • 当然也许是一个或多个IPv4地址

    • NAT(几乎)从未与IPv6一起使用 . ULA地址未被NAT到公共地址 .

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

相关问题