SpeedData

traceroute_monitoring

Traceroute計測・監視

Tracerouteとは

Tracerouteとは、IPネットワークにおいて、ある端末から別の端末までの経路情報を取得するツールです。
コマンドとしては、Linuxであればtraceroute、Windowsであればtracertです。
Tracerouteによって、どのようなIPアドレスを経由して、どのくらいの速度で通信できているかを計測・監視することが可能です。

Tracerouteで、ネットワーク通信における重要な3つの情報を取得できます。

レイテンシ
通信の起点となる端末から、相手先端末まで、パケットを送ったら戻ってくるまでの時間です。
インターネットの通信を高速道路に例えるならば、レイテンシは速度に該当します。
Webサイト、ストリーミング、Web会議、ゲームなど、現在のインターネット上の殆どのアプリケーションは、リアルタイム性が求められるため、このレイテンシの値が重要です。
ホップ数
通信の起点となる端末から、相手先端末まで、どれだけのノード(ネットワーク機器やサーバ)を経由したか、その数です。
インターネットの通信を高速道路に例えるならば、ホップ数は料金所やインターチェンジに該当します。
ホップ数が少ない程に、より安定してより高速な通信が可能になります。
品質管理や統計学で「分散の加法性」と呼ばれる、ノード毎の通信のばらつき(分散)が足されていくのを小さくできるからです。
パケットロス
通信の起点となる端末から、相手先端末まで、通信を行った場合にパケットが消失してしまった回数です。
インターネットの通信を高速道路に例えるならば、パケットロスは自動車の事故に該当します。
パケットが消失してしまった場合には、再度、送りなおす必要があり、その処理時間分、相手先端末でパケットからデータを組み立てるまでの時間が遅延することになります。

レイテンシとスループット:インターネット品質の真の指標

従来、日本では通信回線の品質を「下り1Gbps」のようなスループットで評価してきました。しかし、この指標は必ずしも実際のユーザー体験を反映していません。

スループットは大容量ファイルのダウンロードには重要ですが、日常的なWebブラウジング、ストリーミング、オンラインゲームなどでは、その高速性を十分に活用できません。
これらのアプリケーションでは、数Mbpsで十分な場合が多いのです。

さらに、高スループットが必ずしも良好な接続品質を意味するわけではありません。
レイテンシが大きかったり、パケットロスが発生していても、スループットは高い数値を示すことがあります。
これは、TCPプロトコルの再送メカニズムにより、データの整合性が保たれるためです。

一般的な速度測定サイト(例:fast.com)は、主にスループットを推定していますが、これは接続品質の一側面に過ぎません。
より包括的な評価には、Cloudflareの Speed Testのような、リアルタイムでスループットの変動を示すツールが有用です。

現代のインターネットサービスの品質管理においては、スループットよりも以下の指標がより重要です。

これらの指標を総合的に監視することで、より正確にユーザー体験を反映した接続品質の評価が可能になります。

結論として、高スループットは魅力的な数字ですが、実際のインターネット利用では、低レイテンシと安定した接続の方が重要です。
ユーザーと事業者の両方が、これらの指標に注目することで、より良いインターネット体験の実現につながるでしょう。

Traceroute計測・監視とは

Traceroute計測・監視は、日本道路交通情報センターの高速道路の混雑状況のニュースのように、各地から自社Webサイトまでのレイテンシ、ホップ数、パケットロスを計測・監視します。
CDNを使っている場合には、CDNが割り当てたEdge Serverまでのレイテンシ、ホップ数、パケットロスを計測・監視します。

サービスに遅延や接続障害が発生した際に、Tracerouteのデータがあると、下のレイヤーでの通信が確保できているかどうかの判断が可能となります。
また、Layer3のIP、Layer4のTCPやUDPでの遅延が生じている、パケットロスが発生している場合は、当然ながら、障害や遅延の際の対応策が変わります。

監視するサービスに合わせたプロトコル選択

Tracerouteは、Webサイトやアプリの性能の計測・監視の基本となるネットワークの接続性と性能を監視する上で重要な役割を果たします。
サービス、Webサイトやアプリで使っているプロトコルに合わせて、Tracerouteを実行する必要があります。

実装

ターゲットなるホスト名、もしくはIPアドレスを頂きます。
札幌、東京、大阪、福岡の国内4都市から、定常的にTracerouteを実行して、経路上のレイテンシとパケットロスを計測・監視します。

計測頻度で、パケットロスを検知する確率が変わります。
パケットロスの発生確率は、途中経路のネットワーク機器の品質や負荷に問題が無ければ、ポアソン分布に従います。
計測頻度は、1分、5分、15分からお選び頂きますが、1分が推奨です。

CatchpointのTracerouteは、Pietrasantaピエトラサンタ Tracerouteで稼働します。

Tracerouteで使うプロトコルと仕組み

ICMP

ICMPを使ったTracerouteは、ICMPが主にエラー検出用であるため、経路上のエラーがないかどうかを検証する可用性の目的で使います。
ICMPを使ったTracerouteの仕組みは、以下の通りです。

ICMP Tracerouteの利点

広範な互換性
ICMPはインターネットプロトコルスタックの中核的な部分であるため、ほぼ全てのインターネット接続デバイスがICMPをサポートしています。
そのため、ICMP Tracerouteは広範囲のデバイスと互換性があります。
簡易性と普及度
ICMP Tracerouteは初期のTraceroute実装であり、その動作原理はよく理解されています。
多くのシステムとネットワーク管理者がICMP Tracerouteに親しみ、それを用いることでネットワーク経路の問題を迅速に特定できます。
経路追跡
ICMP Tracerouteは、パケットが経由するルーターのリストと、それぞれのルーターまでのラウンドトリップタイム(RTT)を提供します。
これにより、経路上のネットワーク遅延やパケットロスの発生源を特定できます。
ネットワーク診断
ICMP Tracerouteは、特定の宛先への経路に問題があるかどうかを確認するための強力なツールです。

TCP

TCPを使ったTracerouteは、ICMPをネットワーク機器でブロックしている場合に使うことが多かったです。
昨今ではHTTP/HTTPSなど、TCP上で稼働するプロトコルの基本性能を確認するために使うようになりました。

TCP Tracerouteは、ポート番号として80番や443番を指定しますが、それは最終目的地で使います。
途中経路では、一般的に未使用のポートに対して、TCP SYNパケットを送ります。

TCP Tracerouteの利点

ファイアウォールとの互換性
一部のファイアウォールやネットワークデバイスはICMPパケット(通常のtracerouteで使用される)をブロックまたは制限しますが、ほとんどのデバイスはTCPパケットを許可するため、TCP Tracerouteは経路上でブロックされる可能性が低いです。
HTTP/TCPの実際のパスの確認
TCP Tracerouteは、HTTP/1.1やHTTP/2のようなTCPベースのプロトコルの通信が実際に経由する経路を確認するのに役立ちます。
これは特にTCPとUDPでルーティングが異なる可能性があるネットワーク環境で有用です。
ポートレベルの診断
TCP Tracerouteを使用すると、特定のTCPポート(例えばHTTPの80番ポートやHTTPSの443番ポート)への経路を確認することができます。
これにより、特定のサービスに影響を与える可能性のあるネットワークの問題を特定できます。
経路上の問題の特定
TCP Tracerouteは、通信が失敗した場合や遅延がある場合など、TCP通信に問題が発生している原因を追跡するのに役立ちます。
パケットがどのルータを経由して、どこで遅延またはロスが発生しているかを確認することができます。

TCP InSession

ネットワーク診断において、従来の Traceroute には重要な制限がありました。
セキュリティ対策として ICMP パケットがドロップされたり、ファイアウォールでブロックされることで、トレース結果が不完全になり、問題の特定が困難になることがありました。
TCPのACKを使用したTracerouteも、ロードバランサーの存在により往復のパケット経路が異なる場合があり、正確な経路把握に課題がありました。

これらの課題に対応するため、Catchpointは2023年5月にTCP InSessionモニター機能を導入しました。
Catchpoint は、SACK を効率的に利用する新アルゴリズムを開発しました。 この「Pietrasantaピエトラサンタ Traceroute」と名付けられたTracerouteは、以下の特徴を持ちます。

この革新的なアプローチは、従来の Traceroute の限界を克服し、より正確で信頼性の高いネットワーク診断を可能にします。

TCP InSession の主な利点

高いセキュリティ互換性
ファイアウォールやネットワークデバイスによるブロックを回避。
1デバイスあたり1つのACKのみを送信し、過剰なACK検出による制限を防ぎます。
TCP ベースプロトコルの実経路確認
HTTP/1.1 や HTTP/2 などの TCP ベースプロトコルが実際に通過する経路を正確に追跡します。
高速な診断処理
短時間で処理を完了し、「その瞬間」のネットワーク状況を適切に捉えます。
複雑なネットワーク環境での正確性
ロードバランサーが介在する環境でも、正確な経路情報を追跡し、問題箇所を特定します。

UDP

UDP Traceroute は、ゲームやストリーミング配信のようなUDPベースのプロトコルを使用するアプリケーションのネットワーク経路を調査するための重要なツールです。
このツールは、UDP データパケットが通過するルーターとその遅延を可視化し、ネットワークの問題を特定するのに役立ちます。

UDP と TCP では通過するネットワーク経路が異なる場合があるため、UDP Traceroute は UDP 特有の問題を診断する上で特に有用です。

UDP Traceroute の主な利点

広範な互換性
IPとUDPに依存するため、ほとんどのシステムやネットワークデバイスでサポートされています。
詳細な経路トレース
パケットが通過するルーターとその遅延を明確に表示します。
効果的なネットワーク診断
経路上の問題、遅延、パケットロスの発生箇所を特定します。
UDPサービスの最適化
ゲーム、VoIP やストリーミングなど、UDPベースのサービスのパフォーマンス問題を診断するのに特に有効です。

UDP Traceroute の活用シナリオ

QUIC Traceroute

QUIC(Quick UDP Internet Connections)は、World Wide Web の運用でますます使用される現代的なプロトコルです。
UDP をベースとしながら、接続確立、輻輳制御、暗号化といった高度なメカニズムを提供します。
HTTP/3 が QUIC をトランスポート層として採用していることからも、その重要性が伺えます。

QUIC Traceroute は、この次世代プロトコルに特化したネットワーク診断ツールです。
特に、QUIC の初期ハンドシェイクフェーズで使用される QUIC Initial パケットの経路を追跡することで、ネットワークの問題を特定し、QUIC ベースのアプリケーションのパフォーマンスを最適化するのに役立ちます。

QUIC Tracerouteの主な利点

QUICサポートの確認
宛先が QUIC をサポートしているかどうかを検証します。
HTTP/3互換性の推測
デフォルトポート443を使用することで、HTTP/3サポートの可能性を判断します。
ネットワーク最適化
QUIC 特有の問題を診断し、パフォーマンスを向上させます。

QUIC Traceroute の活用シナリオ

データ

散布図

Tracerouteの散布図

累積分布関数

Tracerouteの累積分布関数

個票の詳細データ

Tracerouteの個票の詳細データ

長所・短所

長所

短所

アラート/レポート機能

アラート機能

エラー検知
パケットロスを検知した場合には、即座に、指定のメールアドレスにアラートメールを送信することが可能です。
遅延検知
レイテンシの閾値を設定し、その値を超えた観測値を計測した場合には、即座に指定のアドレスにアラートメールを送信することが可能です。

レポート機能

日次で、Tracerouteのレイテンシについて、グラフ化したレポートを指定のメールアドレスに送信することが可能です。