服务器/计算机/用户/应用程序如何知道使用 IPv6 地址与 IPv4 地址通过 Internet 请求资源?
San*_*ann 29
客户端确定的第一件事是哪些协议可用。让我们假设 IPv4 和 IPv6 都可用(否则选择哪个协议的答案是微不足道的;)然后它将对 A(IPv4 地址)和 AAAA(IPv6 地址)记录进行 DNS 查找。如果只返回一种类型,那么它将使用它。如果同时返回 IPv4 和 IPv6 地址,则默认行为在一定程度上取决于客户端软件。通常使用RFC 3484。
根据官方标准,它应该更喜欢 IPv6,但是因为有一些(0.01% 或更少)机器错误配置了 IPv6,客户端变得更聪明。现在大多数浏览器会尝试通过 IPv6 进行连接,但如果它们在 300 毫秒内没有获得有效连接,它们将尝试通过 IPv4 并行连接。然后使用成功的第一个连接。这在Happy Eyeballs RFC 中有介绍。
苹果在 Lion 中改变了这一点。操作系统实际上会跟踪所有连接的性能,如果它确定 IPv4 连接的延迟比 IPv6 连接低,它将开始首选 IPv4。但是如果 IPv4 连接变慢,它可能会切换回 IPv6。查看此邮件列表线程以讨论此功能。
对于用户来说,使用 IPv4 还是 IPv6 无关紧要,只要它有效即可。IPv4 和 IPv6 应该同样提供。网站在 IPv4 上的工作方式应该与 IPv6 上的完全一样,等等。
IPv4 将继续使用多年。一旦新服务(网站、游戏等)仅通过 IPv6 部署,它将变得无法使用,因为没有更多新的 IPv4 地址可供使用。在某些时候,所有在 IPv4 上工作的东西也将在 IPv6 上工作。在那个时候禁用 IPv4 将节省时间和金钱(为什么要在一个足够的情况下维护两个协议?)。
| 归档时间: |
|
| 查看次数: |
20229 次 |
| 最近记录: |