IPv6 测试

你的 IPv6 比 IPv4 慢吗?

下面的测试让同一批网络分别走 IPv4 和 IPv6,同时测延迟。两边连的是同一家网络,所以快慢的差别来自你的运营商给两种协议的线路,跟服务器无关。结果下方讲 IPv6 为什么常常更慢,以及怎么解决。

 

IPv4 和 IPv6 谁更快

同一批网络,两种协议同时测延迟,越低越快
网络IPv4IPv6IPv6 − IPv4
Cloudflare全球节点………
Google全球节点(中国大陆除外)………
Akamai全球节点………
DNSPod中国大陆节点………
IPv6 不应答时,浏览器等多久

…

IPv6 本身比 IPv4 慢吗?

不慢。IPv6 的包头大一点,但差别小到测不出来。真正拉开差距的是线路:运营商的 IPv6 可能链路更少、更绕,和其他网络的 IPv6 互联更少,或者干脆走隧道。所以有的网络 IPv6 更快(不用 NAT,设备更新),有的明显更慢。上面的对比会告诉你是哪一种。

IPv6 为什么会慢、会卡?

常见原因,按出现多少排列:

  • 线路绕路:很多运营商的 IPv6 出国或连到其他网络时,经过的交换点比 IPv4 少,延迟多出几十毫秒。在国内访问境外网站,IPv6 经常绕路。
  • MTU 有问题:满尺寸的 IPv6 数据包在某段链路(PPPoE 拨号、隧道)上丢了,小请求正常,大网页卡住。上面的大数据包测试查的就是这个。
  • 隧道:6to4 和 Teredo 的 IPv6 要绕到很远的中继服务器。
  • 路由器或光猫:固件太旧;IPv6 防火墙把回包丢了;或者路由器自己的上联没有 IPv6,却给设备分了 IPv6 地址。
  • 代理或 VPN 只接管 IPv4,IPv6 的流量直接出去了。

IPv6 慢怎么解决?

先换个时间再测:只有晚上慢,是运营商那边拥堵。大数据包测试没通过的话,在路由器的 WAN 或 IPv6 设置里调低 MTU(PPPoE 拨号可以试 1480 或 1452)。升级固件,重启路由器和光猫。如果 IPv6 一直慢很多,把上面的数字发给运营商,这是他们线路的问题。在那之前也不用太担心:IPv6 连得慢时,浏览器会自动改用 IPv4(Happy Eyeballs),大部分网站照常能用。

要不要关掉 IPv6?

一般不要。关掉以后,只有 IPv6 的网站、部分应用和游戏会用不了,微软也不支持关闭 IPv6 的 Windows。如果你的 IPv6 确实更差,可以改成 IPv4 优先,IPv6 留给需要它的服务:Windows 把注册表值 DisabledComponents 设为 0x20(微软官方的「IPv4 优先于 IPv6」);Linux 在 /etc/gai.conf 里取消「precedence ::ffff:0:0/96 100」这一行的注释。