どうやって原因の区間を見分けるのですか?
ページは複数の経路を同時に測ります:最寄りの Cloudflare 拠点、東京・フランクフルト・バージニアのクラウドリージョン、選んだサービス、そして公開 STUN サーバーへの UDP。5 秒ごとに比べ、すべてが同時に悪化すれば手元側(Wi‑Fi、ルーター、回線)、近くは正常で遠くだけ悪化すれば長距離の経路、1 つのサービスだけならそのサービス、Web は正常で UDP だけロスしていればゲームや通話が途切れる、と判定します。
どの判定にも根拠と確度を示します。
プロキシを使っていても正確ですか?
区間を分けて見ます。中国本土でプロキシを使っている場合、プロキシを通らない中国国内サイトで自分の回線を、プロキシ経由の最寄り Cloudflare 拠点でプロキシサーバーまでの区間を、遠くのクラウドリージョンでその先を測ります。3 つを比べれば、回線・サーバーまで・その先のどこが原因かがわかります。プロキシアプリが TUN や fake-ip モードだと UDP もプロキシを通ることがあり、判定には確度を添えます。
UDP のパケットロスはどう測るのですか?
Web ページは UDP を直接送れないため、公開 STUN サーバー(Cloudflare、Google、中国本土では Xiaomi と Bilibili も)に自分のグローバルアドレスを問い合わせます。1 回の問い合わせが UDP の 1 往復です。要求が失われると、ブラウザは 250 ms 後に再送するので応答が遅れます。この遅れた応答を数えてロス率を推定します。サーバー側でわざと 2%、5%、10% を落として確かめたところ、それぞれ 1〜2%、4〜5%、8〜9% と出ました。
1 サーバーあたり毎分約 80 回の応答なので、正確な割合には数分以上のデータが必要です。
何ホップ目が悪いかまでわからないのはなぜ?
Web ページは ICMP を送れず、traceroute もできないので、経路を区間に分けて判定するしかなく、どのルーターかまでは特定できません。それでも、Wi‑Fi と回線、長距離の経路、プロキシ、相手のサービスのどれかという、たいていの疑問には答えられます。
「診断」と「監視を続ける」の違いは?
診断は 2 分間測り、20 秒で暫定の判定を出します。「いま重いか、どこが原因か」に答えます。監視は「停止」を押すまで続き、区間ごとに 5 秒で 1 マスを記録し、10 秒以上悪化した時間帯をイベントにします。オフライン、ネットワークの種類やグローバルアドレスの変化も記録します。調子が良くなったり悪くなったりするときは、監視を続けたまま別のことをして、あとで記録を見れば、どの区間がいつ、どれくらい悪かったかがわかります。バックグラウンドのタブでも測り続けます。
「ルーター」の行はどこから来るのですか?
測定を始めると、ページはよくあるアドレスで家のルーターを探し、見つかれば「ルーター」の行を追加します。すると手元側の問題をさらに分けられます:ルーターまでも悪化していれば Wi‑Fi か家の中のネットワーク、ルーターは正常でその先が悪化していれば回線の接続です。Chrome は最初に、このページがローカルネットワークにアクセスしてよいかを尋ね、許可したときだけ測ります。ほかのブラウザはまだ対応しておらず、この行は出ません。
データはアップロードされますか?
いいえ。すべての要求はブラウザから測定先のサイトや STUN サーバーへ直接送られ、結果はこのページにだけ残り、閉じれば消えます。
結果を共有するとき、リンクに含まれるのは判定・数値・区間ごとの状態だけで、IP アドレスは含まれません。国と Cloudflare 拠点は、チェックを入れたときだけ含まれます。