能走这条路,不等于这次一定走它
你家附近有两条路。一条路刚刚有人走通过,并不表示你下一次出门也一定选它:目的地、出发时间和已经走到哪里,都可能不同。IPv6 能连通,而访问本站时使用 IPv4,也不矛盾。
在本站 IPv6 测试页,你可能看到“IPv6 连接”通过,同时“本站本次连接”显示 IPv4。准确的读法是:本轮确认了 IPv6 连通,但本站接口这一次看到的是 IPv4 地址。不能把这两句话合并成“IPv6 没有用”或“浏览器永远优先 IPv4”。
这里说的“有 IPv6”,首先指工具已经确认连通。若只是电脑设置里出现了一个 IPv6 地址,还要分清地址类型,不能直接当成互联网 IPv6 已可用;相关判断见第 8 章。下面主要讨论测试页已经有 IPv6 结果、本站这一项却仍是 IPv4 的情况。
三行结果,来自不同的检测请求
页面会分别检查 IPv4、IPv6,再请求本站自己的接口。接口就是接收请求并返回信息的窗口。前两项主要回答对应连接有没有得到结果,第三项根据本站接口返回的地址,识别它属于 IPv4 还是 IPv6。
| 检测行 | 这项在观察什么 | 不能直接推断 |
|---|---|---|
| IPv4 连接 | 本轮是否确认 IPv4 连通,以及有没有取得地址 | 所有网站都必须使用 IPv4 |
| IPv6 连接 | 本轮是否确认 IPv6 连通,以及有没有取得地址 | 访问其他目标也一定使用 IPv6 |
| 本站本次连接 | 本站接口这一趟请求所见地址的协议 | 两种协议的速度排名或浏览器全局偏好 |
这不是让两个外部接口比赛,谁先返回就把谁设成“浏览器优先”。IPv6 接口成功与本站接口使用 IPv4,是两趟请求的观察。它们面对的目标不同,不能把前一趟的成功结果直接当成后一趟的选路要求。
同样,“本站本次连接”不是对整张网页全部资源逐个检查。它显示 IPv4,不能保证页面的每一张图片、每一个其他请求都使用 IPv4,更不能代表其他网站。
连接开始时,不只是看有没有 IPv6
访问一个域名,客户端需要先获得可连接的地址。DNS像查号台,通常用 A 记录提供 IPv4 地址,用 AAAA 记录提供 IPv6 地址。设备具备 IPv6 连接能力,不代表对每个目标、在每一次解析中,都一定拿到同样的候选地址。
拿到候选地址之后,还涉及源地址、目的地址的选择与连接尝试。系统有默认选择规则,应用也可能采用自己的策略。这里的“默认规则”不等于本站测试页读到了某个系统开关;仅看第三行,无法反推出这台设备的完整优先级配置。
为了减少等待,客户端可以使用 Happy Eyeballs,常译为“快乐眼球”:安排不同候选地址的连接尝试,让用户不必一直等一条迟迟没有成功的路径。它并不是所有浏览器都严格执行的“先等固定几百毫秒,再切换 IPv4”口诀。
因此,IPv4 被选中,可能涉及地址解析、地址排序、连接建立过程或其他策略。本站没有把这些过程逐项测出来。页面结果不能证明 IPv6 一定比 IPv4 慢,更不能说明慢了多少;连接建立的选择,也不能当作之后下载速度的比较。
重新检测,不一定重新建立连接
还有一个容易忽略的原因:浏览器可能沿用已经建立好的连接。连接复用可以理解为电话还没挂,就继续问下一个问题,不必每句话都重新拨号。网络协议允许在同一条连接上处理多个请求,具体是否复用取决于实际环境。
本站的“重新检测”会再次发送检测请求,但不会替浏览器强制关闭所有现有连接。如果这次本站请求继续使用原来的 IPv4 连接,第三行仍可能是 IPv4。这是一个需要核查的可能性,不能只凭显示不变就断定确实发生了连接复用。
也要分清网页缓存与连接复用。缓存是把已取得的内容留作后用;复用则是继续使用已有的通信连接。本工具的查询要求绕过浏览器的 HTTP 缓存取得结果,但这不等于每次都必须新建连接、重新选择协议。
所以,连续点击很多次“重新检测”,不能算作很多次相互独立的协议竞赛。刷新页面、新开标签页,也不能一概当作已清空连接。记录“多次仍显示 IPv4”有用,但它证明的是这些观察,而不是某条线路永远不会被选用。
哪些原因可以考虑,哪些还需要证据
| 可能因素 | 可以继续核查什么 | 两行结果本身证明不了什么 |
|---|---|---|
| 目标地址解析或候选地址不同 | 当次解析结果、系统与浏览器的相关配置 | 本站一定没有 IPv6 地址 |
| 路径或连接建立情况不同 | 对应目标的连接诊断,而不是另一个接口的成功记录 | IPv6 的速度一定较差 |
| 已有连接被继续使用 | 浏览器的连接记录,确认是否新建或复用 | 每次重测都重新比较过两种协议 |
| 代理或受管理网络改变请求路径 | 实际转发配置及管理员提供的诊断信息 | 终端网卡一定只有 IPv4 |
如果请求经过中间转发,服务侧看到的协议也不一定能描述终端到目的地的每一段链路。不要因为网页显示 IPv4,就直接认定电脑本身没有 IPv6;也不要因为外部 IPv6 接口有结果,就假定本站请求必然经过同样的路径。
这张表列的是排查方向,不是故障清单。有些项目需要管理员或浏览器诊断记录才能确认。普通读者暂时没有这些信息,可以写“未核查”,不必为了补齐解释去修改 DNS、代理或系统策略。
怎样做一次有用的对照
- 先保存完整结果。记下时间、设备、浏览器、网络,以及 IPv4、IPv6、本站本次连接三行。IPv6 是取得地址还是只确认连通,也要分别记。
- 同条件重测。在同一设备、同一网络完成一次重测,观察 IPv6 是否持续有结果;不把同条件重测当作强制新建连接的实验。
- 只换一个条件。用同一设备上已有的另一款浏览器,或让同一设备切换网络后重新测试。每次只比较一项变化,不同时改系统和路由器设置。
- 按结果决定下一步。IPv6 持续有结果但本站用 IPv4,继续记录或针对具体访问问题求助;若 IPv6 已变为未知,再按第 9 章的排查顺序检查。
例如,“同一电脑和 Wi-Fi,浏览器甲的 IPv6 通过、本站用 IPv4,浏览器乙的 IPv6 通过、本站用 IPv6”,是一份模拟对照描述。它提示两种浏览器环境存在差异,却不能直接锁定为其中某个扩展、连接复用或全局优先级造成。
如果切换网络后结果改变,也先记下变化,不要直接说原网络“坏了”。IPv6 对某个接口成功、对另一个目标的连接选择不同,需要结合各自的请求理解。
需要处理的是具体问题,不是非得换成 IPv6
如果本站能正常打开、IPv6 检测也有结果,只是第三行显示 IPv4,这一现象本身不足以认定网络故障。测试页是观察工具,不会因为少了本站 IPv6 连接对应的分值,就要求你把网络改成只能用 IPv6。
如果你遇到的是某个应用连不上、访问经常中断,或有明确的 IPv6 使用要求,就把具体目标和故障表现一并记录,交给管理员或运营商核查。不要只发一个分数,也不要用本站这一趟请求替代对那个应用的诊断。
为了改变第三行而禁用 IPv4、强改优先级或关闭防火墙,会改变原来的测试条件,却未必解释原先为什么选了 IPv4。先保留可用配置,再根据证据处理具体问题;分数的完整含义可回看第 7 章。
小结
- IPv6 连通与本站本次使用 IPv4 可以同时成立,因为它们对应不同请求。
- 本站接口的结果不是全局优先级、页面全部资源的协议清单,也不是线路测速。
- 地址解析、连接选择、连接复用和中间转发都可能影响结果,具体原因需要另外核查。
- 重新检测不保证重建连接;对照时每次只改变一个条件,不为追求显示 IPv6 而盲目改设置。
现在可以回到 IPv6 测试页,把“能连通”和“本次用了什么”分开读;再到首页查看查询到的地址。想补充基础概念,可以阅读第 2 章 IPv4 和 IPv6 有什么区别。