实现 Teredo

虽然不需要为 Teredo 进行编程更改,但建议开发人员进行细微更改,从而有效使用 Teredo 接口:

  • 只有能够使用 Teredo 的 IPv6 流量的应用程序是可能的。 但是,在开发应用程序协议时,应考虑处理 IPv4 和 IPv6 流量。 应用程序需要绑定到套接字选项中的AF_INET6或AF_UNSPEC。
  • 需要能够侦听来自 Internet 的未请求流量的应用程序才能在Windows防火墙内启用网络地址转换 (NAT) 遍历选项。 这是通过调用 INetFwPolicy2 API,将“Edge 遍历”选项设置为VARIANT_TRUE来实现的。 Windows Vista 可确保当应用程序需要 Teredo 地址时可用。 因此,使用 Teredo 接口时,Teredo 地址会自动稳定。 如果应用程序希望确保 Teredo 地址稳定,则调用 NotifyStableUnicastIpAddressTable API 会触发 Teredo 转换为稳定状态。
  • 应用程序还可以使用 IPV6_PROTECTION_LEVEL Winsock 套接字选项来设置保护级别,从而允许未经请求的入站流量通过防火墙。 有关详细信息,请参阅 接收来自 Teredo 的未经请求的流量

Internet 协议帮助程序 (IP 帮助程序) 特定 Teredo 函数的实现作为如何验证 Teredo 地址并将其提供给应用程序的示例。 有关详细信息,请参阅将 Teredo 与 IP 帮助程序配合使用