客户端程序如何选择使用 IPv6 还是 IPv4 协议?
客户端确定的第一件事是哪些协议是可用的。假设客户端 IPv4 和 IPv6 都是可用的,客户端将对 A(IPv4 地址)和 AAAA(IPv6 地址)记录进行 DNS 查询。如果只返回同一种结果,那么使用该版本的 ip 协议。如果同时返回 IPv4 和 IPv6 地址,默认行为取决于客户端软件的情况,通常会参考 RFC 3484 。
根据官方标准,应该优先使用 IPv6,但由于有一些(0.01%或更少)机器错误地配置了 IPv6,客户端需要更加聪明。现在的大多数浏览器都会尝试通过 IPv6 进行连接,但如果在 300 毫秒内没有建立有效连接,他们就会尝试通过 IPv4 进行并行连接,然后使用第一个成功的连接。这在 Happy Eyeballs RFC 中有所描述。
Apple 在 Lion(系统版本)修改这个逻辑,它实际上跟踪了所有连接的性能,如果它确定 IPv4 连接的延迟低于 IPv6 连接,它就会开始倾向于 IPv4。但如果 IPv4 连接变得更慢,它可能会切换回 IPv6。
对于用户来说,使用 IPv4 还是 IPv6 并不重要,只要它能正常工作。网站在 IPv4 和 IPv6 上的工作应该是完全一样的。
IPv4 将在未来的许多年里继续使用。新的服务(网站、游戏等)应被部署到 IPv6 上,因为没有新的 IPv4 地址可供使用了。在未来某个时候,所有在 IPv4 上运行的服务也将在 IPv6 上运行。到那时,禁用 IPv4 将节省时间和金钱(既然一个协议就足够了,为什么还要维护两个协议呢)。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论