这个测试检测什么?
浏览器会像打开普通网站一样,访问几个很小的测试地址:
纯 IPv4 和纯 IPv6 网站:两种网络能不能通,各自用的是哪个地址。
双栈网站(两种地址都有):浏览器选哪个,以及会不会先等 IPv6 超时再改用 IPv4。
IPv6 大数据包:在新连接上发一个足够大的请求,必须用满尺寸的数据包。路径 MTU 有问题时,小请求正常、大请求石沉大海,表现就是网页一直转圈。
不带域名的地址(一个 IPv6、一个 IPv4):不靠 DNS 能不能用 IPv6,以及你是不是在使用 NAT64 的纯 IPv6 网络上。
每项测试同时问两三家服务(DNSPod、icanhazip、Cloudflare、ipify),取最先响应的那家,一家被墙或变慢不会导致测试失败。
分数怎么算?
满分 10 分,参考 test-ipv6.com 的思路,衡量网络对 IPv6 的准备程度:能打开纯 IPv6 网站 4 分,IPv6 大数据包能通过 2 分,双栈网站打开不用等 2 分,不靠 DNS 也能用 IPv6 1 分,浏览器优先用 IPv6 1 分。IPv6 首次响应超过 3 秒扣 1 分。完全没有 IPv6 是 0 分,不过所有网站仍然可以通过 IPv4 正常访问。
10 分表示 IPv6 处处可用,而且不会拖慢上网。
没有 IPv6,怎么开通?
现在多数运营商都提供 IPv6,常常只是没打开。进路由器管理页面,找到 IPv6(或 WAN → IPv6)设置,选运营商用的方式,一般是 DHCPv6 或「原生」,并打开前缀委派(PD)。然后确认局域网侧会给设备分配 IPv6 地址(SLAAC 或 DHCPv6)。
光猫拨号的话,IPv6 可能要在光猫里打开,或者把光猫改成桥接、由路由器拨号。路由器没有 IPv6 选项、或者运营商没开通,就打客服问。手机流量一般都有 IPv6,即使家里 Wi-Fi 没有。
没有 IPv6 也不影响上网:所有网站照常走 IPv4,只是用不了纯 IPv6 的网站和应用。
IPv6 地址能通,纯 IPv6 网站却打不开?
说明 IPv6 连接本身没问题,但 DNS 没有返回 IPv6 地址(AAAA 记录),浏览器根本不知道网站有 IPv6 地址。常见原因:路由器开了「过滤 AAAA 记录」或「IPv6 DNS 过滤」(不少国内路由器默认打开),DNS 服务器丢掉了 AAAA 记录,或者代理软件自己接管了 DNS。
在路由器里关掉 AAAA 过滤,或者换成公共 DNS,比如 223.5.5.5、119.29.29.29。
大数据包测试(MTU)是什么?
数据按包传输,每个包最大约 1500 字节。有些 IPv6 线路(隧道、PPPoE 拨号、配置不当的路由器)上,满尺寸的包过不去某一段链路,而告诉对方「发小一点」的消息又被拦截了。小请求正常,连接看起来没问题,但大网页、图片、下载会一直卡住。
测试在新连接上向一个纯 IPv6 站点发 3.5 KB 的请求,双向都需要满尺寸的包。如果小的 IPv6 测试通过、这项失败,可以在路由器的 IPv6 或 WAN 设置里调低 MTU(PPPoE 可以试 1480 或 1452),或者联系运营商。
IPv6 能用,浏览器为什么选了 IPv4?
浏览器会同时尝试两种地址,谁先连上用谁(Happy Eyeballs)。IPv4 胜出,说明在你的网络上 IPv6 建立连接更慢,或者系统优先用 IPv4:Windows 对隧道 IPv6(6to4、Teredo)就是这样,很多代理和 VPN 软件也只转发 IPv4。这不算故障,纯 IPv6 网站照样能打开。
开着代理或 VPN,测的是谁?
基本是代理的。开了代理,测试站点是经过代理访问的,显示的地址和 IPv6 支持情况都是代理服务器的;代理只转发 IPv4 的话,看起来就像没有 IPv6。要测自己的网络,先关掉代理(或者让这些测试地址直连),再重新测试。
什么是使用 NAT64 的纯 IPv6 网络?
有些移动网络只给手机分配 IPv6。为了还能访问只有 IPv4 的网站,运营商的 DNS 会给这些网站编一个 IPv6 地址(DNS64),再由网关转换(NAT64)。用域名能正常打开网站,但直接输入 IPv4 地址就连不上,测试正是据此判断的。这是正常的部署方式,几乎所有应用都能用。
会收集我的数据吗?
不会。测试请求从你的浏览器直接发到各个测试站点,它们和任何网站一样能看到你的 IP 地址。本站收不到任何结果;分享链接里只有分数和各项耗时,不包含你的 IP 地址。代码在 GitHub 上开源。