假设一个计算机是 IPv4 和 IPv6 双栈的,通常的话,访问 IPv4 地址就走 IPv4 的网络,访问 IPv6 地址就走 IPv6 的网络。但如果访问的不是 IP 地址,而是一个域名,该由什么决定到底访问 IPv4 地址还是访问 IPv6 地址呢?
是这个应用程序本身决定的还是有操作系统或者是网络配置决定的呢,会不会一个域名配置了 AAAA 记录,没有配置 A 记录,但应用程序就要求只能用 IPv4 地址?
如果这个域名既配置了 A 记录又配置了 AAAA 记录,那是用 IPv4 地址还是用 IPv6 地址呢?
1
avrillavigne 2021-02-15 00:47:01 +08:00
|
2
wwqgtxx 2021-02-15 00:47:20 +08:00 via iPhone
根据程序使用的 net 库决定,比如 golang 标准库是同时访问 AAAA 和 A 记录的地址(既 v4/v6 之间并发,v4/v6 组内顺序访问),然后选择第一个连上的地址
|
3
raptium 2021-02-15 02:45:24 +08:00 via iPhone
|