トレースルートツール

ブラウザは生のICMP/UDPプローブを送信できません。近い視点からトレースルートを実行するには、下記の外部サービスを1つ使ってください。

結果

トレースルート(traceroute)は、パケットが宛先に届くまでに通過するルーターを一覧にします。サイトが遅いとき、原因はたいてい特定の1ホップに現れます。混雑したピアリングリンク、誤った経路に流れたトランジット、パケットを黙って破棄するファイアウォールなどです。ブラウザはtracerouteに必要な生のICMP/UDPプローブを送信できないため、このページ自体は追跡を実行しません。入力されたターゲットを整形し、インターネット上の複数地点から追跡できる信頼性の高い公開サービスへ、入力済みの状態で引き渡します。問題が自分の回線側にないときは、まさにこの方式が有効です。自分の接続を調べたい場合は、tracertまたはtracerouteをローカルで実行してください。どちらの場合も、出力の読み方はこのページで学べます。

役立つtracerouteの実行手順

  1. 1

    ホスト名またはIPを入力する

    完全なURLでも構いません。リンクを生成する前に`https://`や末尾のパスを取り除きます。

  2. 2

    プローブサービスを開く

    どのリンクもターゲットが入力済みの状態で開きます。Check-host.netと複数拠点のトレースルートページは多数の地域から同時に測定し、HackerTargetは自社の観測地点から昔ながらの追跡を実行します。

  3. 3

    ホップ一覧を読む

    各行が1台のルーターです。ホップ番号、ホスト名/IP、往復時間が並び、通常はホップごとに3回の測定値が表示されます。

  4. 4

    問題のホップを特定する

    遅延の大きな跳ね上がり、`* * *`(応答なし)、同じネットワーク内で続く長い連なりは、たいてい問題の在り処を示します。

  5. 5

    ルーティングレベルへ掘り下げる

    問題がネットワーク間にある場合は、BGP.toolsのリンクでASパスとピアリング情報を確認できます。自分の回線を測るには、`tracert`または`traceroute`をローカルで実行してください。

tracerouteの仕組みを1段落で

Tracerouteは、意図的に小さいTTL(time-to-live)を設定したパケットを送信します。最初のパケットはTTL=1なので、最初のルーターがそれを0に減らし、ICMPの「time exceeded」メッセージを返します。TTL=2で2台目のルーターが判明し、以降も同様に続きます。TTLが実際のホップ数に達した時点で、パケットは宛先に到達します。返ってきた応答から、経路上の各ルーターのIPアドレスと応答時間が分かります。

出力の読み方

記号/パターン 通常の意味
* * * ホップが応答しなかった。ファイアウォールまたはICMPのレート制限
遅延の大きな跳ね上がり そのルーターが地理的に遠いか、混雑している
5ホップ以上で同じ遅延 それらのルーターが同じ物理拠点にある
ホスト名にループがある MPLSまたは非対称ルーティング。ASパスを確認
追跡が途中で終わる 宛先のファイアウォールにブロックされた(クラウドホストでは一般的)

自分のマシンから実行する

  • Windows:tracert example.com
  • macOSとLinux:traceroute example.com
  • 継続的な統計:mtr example.com(パッケージマネージャーでインストール)

ローカル実行は、どのオンラインサービスにも見えない、自分の接続から出発する経路を測定します。上のリンクは各サービスの拠点から測定するものです。「自分の回線が問題」なのか「サイト側のトランジットが問題」なのかを切り分けるには、両方を使ってください。

ヒント

  • 1回きりのtracerouteはノイズが多めです。mtr(継続プローブ)は断続的な問題に対してはるかに信頼できるデータを返します。
  • 少なくとも2つの地域から追跡を実行してください。一方にだけ現れる問題は、すぐに場所を絞り込めます。
  • ICMPベースのtraceroute(-I)は、UDPベースが失敗する場面で成功することがあります。ファイアウォールが両者を別々に扱うためです。
  • 各ホップでのDNS逆引きは出力を遅くします。プローブサービスに-n相当のオプションがあれば使ってください。
  • クラウドホスト(AWS、Cloudflare)では、宛先がロードバランサーの背後に隠れていることが多く、追跡は実サーバーの1〜2ホップ手前で終わります。これは正常です。

よくある質問

ドイツにある当社の1台のサーバーからのtracerouteでは、ロサンゼルスのユーザーに起きている問題はほとんど分かりません。HackerTargetやCheck-host.netのようなサービスは多数の地域から測定しており、診断時に本当に必要なのはそれです。そして自分のマシンからの追跡なら、自分の回線をカバーできます。

そのルーターがタイムアウト内にプローブへ応答しなかったという意味です。多くのルーターは意図的にtracerouteのトラフィックを制限したり破棄したりします。その空白の先で追跡が続いていれば経路自体は正常で、ルーターが沈黙しているだけです。

あります。応答は行きと異なることのある戻りの経路を通って返ってきます。途中の遅いホップは、実際には戻りだけが遅いのかもしれません。MTRやTCPベースのtracerouteを使えば、この曖昧さを減らせます。

現代のバックボーンネットワークはトラフィックを大きく集約しています。送信元と宛先の両方がティア1ネットワーク上にあれば、大陸間で8ホップというのは普通です。

ホスト名は、通常のページリクエストと同じように検証と外部リンクの生成のために当社サーバーへ送られ、ステップ形式の画面ではページURLにも表示されます。各外部サービスがホスト名を知るのは、あなたがそのリンクをクリックしたときだけです。

関連ツール

このツールは他の言語でも利用できます