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 的網站、部分 App 和遊戲會無法使用,微軟也不支援關閉 IPv6 的 Windows。如果你的 IPv6 真的比較差,可以改成 IPv4 優先,IPv6 留給需要它的服務:Windows 把登錄值 DisabledComponents 設為 0x20(微軟官方的「IPv4 優先於 IPv6」);Linux 在 /etc/gai.conf 裡取消「precedence ::ffff:0:0/96 100」這一行的註解。