一个应用程序(比如浏览器)在访问双栈的网络的域名时,走 IPv4 网络还是 IPv6 网络是由什么决定的?

2021-02-15 00:11:42 +08:00
 7DLNU56W

假设一个计算机是 IPv4 和 IPv6 双栈的,通常的话,访问 IPv4 地址就走 IPv4 的网络,访问 IPv6 地址就走 IPv6 的网络。但如果访问的不是 IP 地址,而是一个域名,该由什么决定到底访问 IPv4 地址还是访问 IPv6 地址呢?

是这个应用程序本身决定的还是有操作系统或者是网络配置决定的呢,会不会一个域名配置了 AAAA 记录,没有配置 A 记录,但应用程序就要求只能用 IPv4 地址?

如果这个域名既配置了 A 记录又配置了 AAAA 记录,那是用 IPv4 地址还是用 IPv6 地址呢?

1844 次点击
所在节点    互联网
3 条回复
avrillavigne
2021-02-15 00:47:01 +08:00
wwqgtxx
2021-02-15 00:47:20 +08:00
根据程序使用的 net 库决定,比如 golang 标准库是同时访问 AAAA 和 A 记录的地址(既 v4/v6 之间并发,v4/v6 组内顺序访问),然后选择第一个连上的地址
raptium
2021-02-15 02:45:24 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/753336

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX