這個測試檢查什麼?
看你的網路能不能用 IPv6,會不會因為 IPv6 拖慢上網。瀏覽器會像開一般網站一樣,連到幾個很小的測試位址:
只有 IPv4 和只有 IPv6 的網站:兩種網路各自通不通,用的是哪個位址。
雙堆疊網站(IPv4 和 IPv6 位址都有):瀏覽器選哪一個,會不會先乾等 IPv6 逾時才改用 IPv4。
IPv6 大封包:在新連線上送出一個夠大的請求,必須用到最大尺寸的封包。線路的 MTU 有問題時,小請求正常、大請求一去不回,看起來就是網頁一直轉圈圈。
沒有網域名稱的 IP 位址(一個 IPv6、一個 IPv4):不靠 DNS 能不能連 IPv6,以及你是不是在只有 IPv6、靠 NAT64 打開 IPv4 網站的網路上。
每項測試同時詢問兩到四家服務(Cloudflare、Google、DNSPod、AliDNS、icanhazip、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,即使家裡的 Wi-Fi 沒有。
沒開通也不影響上網:所有網站照樣走 IPv4,只是用不了只有 IPv6 的網站和 App。
IPv6 位址連得上,只有 IPv6 的網站卻打不開?
表示 IPv6 線路本身沒問題,是 DNS 沒有回傳 IPv6 位址(也就是 AAAA 紀錄),瀏覽器根本不知道這個網站有 IPv6 位址。常見原因:路由器開了「過濾 AAAA 紀錄」,DNS 伺服器把 AAAA 紀錄丟掉了,或是代理軟體自己接管了 DNS。
解決方法:在路由器裡關掉 AAAA 過濾,或改用公共 DNS,例如 1.1.1.1、8.8.8.8、101.101.101.101。
大封包測試(MTU)是什麼?
網路上的資料是一個個封包傳送的,每個封包最大約 1500 位元組(這個上限叫 MTU)。有些 IPv6 線路(通道、PPPoE 撥接、沒設定好的路由器)上,最大尺寸的封包過不了某一段,而提醒對方「傳小一點」的訊息又被擋掉。結果是小請求正常、看起來能上網,但大網頁、圖片和下載會一直卡住。
測試在新連線上向一個只有 IPv6 的站點送出 3.5 KB 的請求,來回都要用到最大尺寸的封包。如果小的 IPv6 測試通過、這項沒通過,可以到路由器的 IPv6 或 WAN 設定調低 MTU(PPPoE 撥接可試 1480 或 1452),或聯絡電信業者。
IPv6 可以用,瀏覽器為什麼選了 IPv4?
這不算故障,只有 IPv6 的網站照樣打得開。瀏覽器會同時嘗試兩種位址,誰先連上就用誰(這個機制叫 Happy Eyeballs)。IPv4 勝出,代表在你的網路上 IPv6 建立連線比較慢,或系統優先使用 IPv4:Windows 對通道 IPv6(6to4、Teredo)就是這樣,很多代理和 VPN 軟體也只轉送 IPv4。
開著代理或 VPN,測到的是誰?
大多是代理的。開著代理時,測試站點是透過代理連線的,顯示的位址和 IPv6 支援情況都是代理伺服器的;代理只轉送 IPv4 的話,看起來就像你沒有 IPv6。想測自己的網路,請先關掉代理(或讓這些測試位址直連),再重新測試。
只有 IPv6、靠 NAT64 打開 IPv4 網站的網路是什麼?
這是一種正常的網路架構,幾乎所有 App 都能用,不需要處理。有些行動網路只配發 IPv6 給手機。為了還能打開只有 IPv4 的網站,電信業者的 DNS 會替這些網站產生一個 IPv6 位址(DNS64),再由閘道轉換成 IPv4(NAT64)。用網域名稱能正常打開網站,但直接輸入 IPv4 位址就連不上,測試就是靠這一點判斷出來的。
會收集我的資料嗎?
本站收不到你的測試結果。大部分測試請求是從你的瀏覽器直接送到各個測試站點(Cloudflare、Google 等),它們和你開的任何網站一樣,看得到你的 IP 位址。
路徑 MTU 和「IPv6 不回應時瀏覽器等多久」連的是 1ms.dog 自己在東京的伺服器(v4.ipv6.1ms.dog、v6.ipv6.1ms.dog、he.ipv6.1ms.dog)。它看得到你的 IP 位址、連線的封包大小(MSS)和連線發起的時間;某個協定連不上時,頁面還會把測出的那個位址送給它,問它看到了什麼。這些只在記憶體裡留一分鐘,用來回答這個頁面,不寫日誌,也不存檔。
只有你按分享時,結果才會放進連結:連結只包含各項結果和耗時,國家只在你勾選時才會帶上,不含 IP 位址。程式碼在 GitHub 上開源,伺服器的程式碼也在裡面。
IPv4 和 IPv6 比較測的是什麼?
四家網路(Cloudflare、Google、Akamai、DNSPod)各有一個只走 IPv4 和一個只走 IPv6 的入口。測試同時連向兩邊,在已建立的連線上測延遲(取三次中最小的),所以差值反映的是電信業者給兩種協定的線路,和伺服器無關。結論取兩種協定都有回應的網路的差值中位數,相差 10 ms(或 15%)以內算一樣快。
它不影響分數:IPv6 慢一點也照樣能用。Google 在中國大陸沒有回應;DNSPod 的伺服器在中國大陸,從其他地區測兩邊都會很慢,它的差值反映的是連到中國的線路。