双方向アクティブ測定プロトコルを理解する
TWAMP(Two-Way Active Measurement Protocol)を使用して、ネットワーク内の任意の 2 つのデバイス間のネットワーク パフォーマンスを測定する方法について説明します。
RFC 5357に記載されているTWAMP(Two-Way Active Management Protocol)は、一方向の機能ではなく、双方向または往復の測定を提供するOWAMP(One-Way Active Management Protocol)の拡張機能です。往復遅延にホスト クロックの同期は必要なく、リモート サポートは単純なエコー機能である可能性があるため、双方向測定が役立ちます。ただし、この目的のためのインターネット制御メッセージプロトコル(ICMP)エコー要求/応答(pingで使用)には、いくつかの欠点があります。TWAMP は、タイムスタンプを使用して、他の方法よりも精度が高い 2 方向または往復メトリックを測定するためのオープン プロトコルを定義します(処理遅延も考慮できます)。
機能エクスプローラー:双方向アクティブ測定プロトコルを使用して、特定の機能に対するプラットフォームおよびリリースのサポートを確認します。
プラットフォームに関連する注意事項については、「 プラットフォーム固有のTWAMP動作 」セクションを参照してください。
TWAMP のメリット
-
TWAMPプローブ設定は、専用のテストデバイスを使用せずに、ネットワークをエンドツーエンドでアクティブ化、テスト、監視、トラブルシューティングするのに役立ちます。
-
TWAMP タイムスタンプは、他の方法よりも精度が高い 2 方向または往復メトリックを提供します(処理遅延も考慮できます)。
-
TWAMP はサービス品質保証契約(SLA)準拠の確認に使用されることがよくあります。そのコンテキストでは TWAMP 機能がよく使用されます。
-
往復遅延にホスト クロック同期は必要ないため、双方向測定は一方向測定よりも優れています。これは、リフレクタがパケットに独自のシーケンス番号を配置するため可能になります。
RPM クライアントと TWAMP サーバーを同じデバイス上で設定しないことをお勧めします。これにより、RPM プローブ結果にいくつかの問題が発生する可能性があります。
TWAMP(Two-Way Active Measurement Protocol)を理解する
通常、TWAMP は、特定の役割を果たす 2 台のデバイス上のインターフェイス間で動作します。TWAMP は、SLA(サービス レベル アグリーメント)準拠のチェックに使用されることがよくあります。そのコンテキストでは、TWAMP 機能が提示されることがよくあります。TWAMP は 2 つの関連プロトコルを使用し、複数の定義済み要素間を動作させます。
-
TWAMP-Control—テストセッションを開始、開始、終了します。TWAMP-Control プロトコルは、Control-Client 要素と Server 要素の間で動作します。
-
TWAMP-Test—2つのTWAMP要素間でテストパケットを交換します。TWAMP-Test プロトコルは、Session-Sender 要素と Session-Reflector 要素の間で実行されます。
4 つの要素を 図 1 に示します。
の 4 つの要素
4 つの異なる TWAMP デバイスが TWAMP 制御クライアント、サーバー、セッション送信者、セッションリフレクタの 4 つの論理ロールを実行できますが、デバイスによって果たす役割は異なります。一般的な実装では、1 つのデバイス内の制御クライアントとセッション送信者のロール(TWAMP コントローラまたは TWAMP クライアントと呼ばれる)と、もう一方のデバイス内のサーバーとセッションリフレクタのロール(TWAMP レスポンダーまたは TWAMP サーバーと呼ばれる)を組み合わせます。この場合、各デバイスは(制御クライアントとサーバー間の)TWAMP-Control プロトコルと(セッション送信者とセッションリフレクター間の)TWAMP-Test プロトコルの両方を実行します。
実装されている TWAMP クライアントサーバー アーキテクチャは次のようになります。
-
TWAMP クライアント
-
Control-Clientは、TWAMPテストセッションを設定、開始、停止します。
-
セッション送信者は、TWAMPサーバーのセッションリフレクタに送信されるTWAMPテストパケットを作成します。
-
-
TWAMPサーバー
-
セッションリフレクタは、テストパケットを受信すると測定パケットを送り返しますが、そのような情報の記録は保持しません。
-
サーバーは、TWAMP クライアントとの 1 つ以上のセッションを管理し、TCP ポートで制御メッセージをリッスンします。
-
これらの要素のTWAMPクライアントプロセスおよびTWAMPサーバープロセスへのパッケージングを 図2に示します。
TWAMP ライトのサポート
TWAMP Lightは、RFC 5357の付録Iで定義されているように、テストパラメーターがネゴシエートされるのではなく事前定義されているTWAMPのステートレスバージョンです。テストポートでサーバーが受信したすべてのテストパケットは反射され、すぐに忘れられます。これらをサポートするデバイスでは、IPv6リンクローカルターゲットアドレスを含むIPv6ターゲットアドレスを設定することもできます。
機能エクスプローラー:双方向アクティブ測定プロトコルを使用して、特定の機能に対するプラットフォームおよびリリースのサポートを確認します。
シンプルな双方向アクティブ測定プロトコル(STAMP)のサポート
RFC 8762「シンプルな双方向アクティブ測定プロトコル」で定義されているように、STAMPは、RFC 5357の付録I「双方向アクティブ測定プロトコル (TWAMP)」で定義されたTWAMPライト動作モードを標準化し、拡張したものです。STAMPをサポートするデバイスでは、STAMP準拠のリフレクタが対称的なペイロードサイズ(RFC 6038に準拠)を確保し、反映されたペイロードのシーケンス番号がクライアントフレームからコピーされるか独立して生成されるかに応じて、ステートレスモードまたはステートフルモードで動作します。ステートフルリフレクタは、ドロップが発生した方向を検出できます。以前のリリースでは、対称ペイロードとステートレスリフレクションをサポートしていました。ステートフルリフレクション、STAMP標準への完全準拠、クライアントの単方向ドロップ値をサポートします。STAMPクライアントだけでなく、TWAMP管理モードクライアントでも一方向ドロップ値をサポートしています。Junos OS Evolvedの場合、STAMPは[edit services monitoring twamp server light]階層レベルで設定されます。ステートフルリフレクションは、stateful-sequenceステートメントで設定します。サーバーでは、offload-typeの新しいデフォルトがinline-timestampではなくpfe-timestampになりました。
プラットフォームとリリースのサポートを確認するには 、「機能エクスプローラー:シンプルな双方向アクティブ測定プロトコル(STAMP)」 を使用します。
静的ルート追跡
Junos OS Evolvedリリース24.4R1より、静的ルートトラッキングのサポートをJunos OS Evolvedに拡張し、TWAMP(Two-Way Active Measurement Protocol)テストのサポートも開始しました。TWAMPプローブを使用して、リンクステータスを検出し、プローブ結果に基づいて優先ルートの状態を変更します。追跡される静的ルートは IPv4 または IPv6 にすることができ、各 IPv4 および IPv6 で追跡される静的ルートは最大 16 個のネクスト ホップをサポートします。また、各 IPv4 または IPv6 宛先プレフィックスに対して、メトリック、ルート優先、タグ値を設定することもできます。ただし、Junos OS Evolvedデバイスでは、この機能を異なる方法で設定します。 sla-tracking ステートメントは、 [edit routing-options] 階層レベルで設定します。また、別のコマンド show route sla-tracking を使用して、これらのルートに関する情報を確認することもできます。
パス設定のためのセグメントルーティングサポート
サポートするPTXルーター向けのJunos OS Evolvedリリース24.4R1以降、サポートするMXルーター向けのJunos OSリリース25.4R1以降、SRアーキテクチャを広範に規定するRFC 8402で定義されているセグメントルーティング(SR)に対するTwo-Way Active Measurement Protocol(TWAMP)へのサポートが追加されました。TWAMP プローブでは、2 種類の SR をサポートしています。
-
SR-MPLS: ラベルのリストを使用し、それぞれがセグメント終了ノードを表します。
-
SRv6: RFC 8754で導入されたタイプ4のIPv6ルーティングヘッダーを使用し、各セグメントエンドノードはIPv6アドレスまたはIPv6セグメント識別子(SID)として表されます。
TWAMP プローブがリフレクタに到達する SR-MPLS または SRv6 セグメントのリストを指定できます。さらに、リフレクタからクライアントへのリターンパスに同じ情報を指定できます。このリターンパス情報は、 Simple TWAMP(STAMP)Extensions for セグメントルーティング Networks(draft-ietf-ippm-stamp-srpm)で提案されている拡張、すなわち、セグメントルーティングタイプに応じて必要に応じて、リターンパスTLVとそのリターンセグメントリストサブTLVを使用することで、プローブ自体に埋め込まれます。TWAMP プローブは、ルーティングエンジンまたはパケット転送エンジンのいずれかでタイムスタンプされます。
この機能をJunos OS Evolvedに設定するには、[edit services monitoring twamp client control-connection name test-session session-name] 階層レベルでsource-routingステートメントを含めます。この機能をJunos OS用に設定するには、[edit services rpm twamp client control-connection name test-session session-name] 階層レベルでsource-routingステートメントを含めます。
タイムスタンプ
ほとんどのプラットフォームのデフォルトでは、タイムスタンプはパケット転送エンジンのホストプロセッサで設定されます。プローブメッセージの通信における遅延を考慮するために、プローブパケットのタイムスタンプをパケット転送エンジンハードウェアにオフロードできます。この種のタイムスタンプはインラインタイムスタンプと呼ばれ、パケットがデバイスから出る直前に、ジェネレーターまたはリフレクタのハードウェアでタイムスタンプが行われます。このオフロードとインラインタイムスタンプのサポートは、リリース、プラットフォーム、ラインカードサポートによって異なります。
-
Junos OS: Junos OSリリース25.4R1より前は、
si-またはsp-インターフェイスを設定することで、インラインタイムスタンプを有効にすることができました。Junos OSリリース25.4R1以降、サポートするMXラインカードでは、offload-type inline-timestampオプションを使用してタイムスタンプをパケット転送エンジンハードウェアにオフロードできます。このインラインタイムスタンプ機能は、フレックスアルゴとSR-MPLSもサポートしています。si-インターフェイスがTWAMP用のMXルーターで設定されている場合、このオプションがタイムスタンプのデフォルトになります。si-インターフェイス実装をデバッグするには、noneまたはpfe-timestampオプションのいずれかを設定する必要があります。offload-type (inline-timestamp | none | pfe-timestamp)ステートメントは、[edit services rpm twamp client control-connection name test-session name]、[edit services rpm twamp server]、[edit services rpm twamp server light]のいずれかの階層レベルで設定します。 -
Junos OS Evolved: タイムスタンプは、IPv4トラフィックのルーティングエンジンまたはパケット転送エンジンによって設定されます。IPv6トラフィックの場合、タイムスタンプはルーティングエンジンによってのみ設定されます。IPv6トラフィックについては、Junos OS Evolved 22.3R1以降、パケット転送エンジンのタイムスタンプがサポートされています。Junos OS Evolved Release 22.3R1より前は、IPv6トラフィックでは、
[edit services monitoring twamp client control-connection name test-session name]階層レベルのoffload-typeステートメントをnoneとして設定する必要があります。サポートされているデバイス向けの Junos OS Evolved リリース 22.4R1 以降、offload-typeステートメントのinline-timestampingオプションを設定して、ハードウェアがインラインで設定するタイムスタンプを有効にすることができます。サーバー向けJunos OS Evolved リリース 23.4R1 以降、offload-typeステートメントのデフォルトがinline-timestampではなくpfe-timestampになりました。Junos OS Evolvedリリース25.4R1以降、インラインタイムスタンプ機能はフレックスアルゴとSR-MPLSもサポートしています。
Junos OS EvolvedにおけるTWAMPサポートの違い
TWAMP に対する Junos OS Evolved のサポートは、以下に限定されます。
-
IPv4およびIPv6トラフィックは、制御セッションとテストセッション用のみ。Junos OS Evolvedリリース21.4R1以降、IPv6送信元アドレスとターゲットアドレス(リンクローカルアドレスを除く)は、クライアントリスト、制御接続、およびテストセッションでサポートされます。
-
プローブ統計と履歴
-
セッションのステータスの制御とテスト
-
テストセッションプローブの生成と受信、およびリフレクション
-
システムログメッセージとSNMPトラップのみによるエラー報告
-
非認証モードのみ
TWAMP の Junos OS Evolved サポートには、Junos OS に含まれていない機能も含まれています。
-
Junos OS Evolvedリリース23.4R1以降、RFC 8762、 シンプルな双方向アクティブ測定プロトコル (STAMP)がサポートされています。RFC 8762は、RFC 5357の付録I、TWAMP (Two-Way Active Measurement Protocol )で定義されたTWAMPライト動作モードを標準化し、拡張したものです。詳細については、「 Simple Two-Way Active Measurement Protocol(STAMP)サポート」を参照してください。
-
Junos OS Evolvedリリース24.4R1以降、この機能をサポートするデバイスでは、TWAMPを使用した静的ルート追跡がサポートされています。詳細については、 静的ルートトラッキング を参照してください。
プラットフォーム固有のTWAMP動作
機能エクスプローラー:双方向アクティブ測定プロトコルを使用して、特定の機能に対するプラットフォームおよびリリースのサポートを確認します。
お使いのプラットフォームに固有の動作を確認するには、以下の表を使用してください。
| プラットフォーム | の違い |
|---|---|
| ACXシリーズ |
|
| EXシリーズ |
制御クライアントとセッション送信者(TWAMP クライアント)の両方が、同じジュニパーネットワークス ルーター上に存在します。ただし、TWAMP クライアントでは、サーバーとセッション リフレクターが同一システム上にある必要はありません。そのため、ジュニパー TWAMP クライアントは、サードパーティーのサーバー実装と連携できます。 |
| MXシリーズ |
|
| PTXシリーズ |
|
| QFX10000シリーズ |
制御クライアントとセッション送信者(TWAMP クライアント)の両方が、同じジュニパーネットワークス ルーター上に存在します。ただし、TWAMP クライアントでは、サーバーとセッション リフレクターが同一システム上にある必要はありません。そのため、ジュニパー TWAMP クライアントは、サードパーティーのサーバー実装と連携できます。 |
| QFX5000シリーズ(Junos OS Evolved) |
Junos OS Evolvedでは、TWAMPは |
| SRXシリーズ(SRX300、SRX320、SRX340、SRX345、SRX550M、SRX1500、SRX4100、SRX4200デバイスとvSRX仮想ファイアウォールインスタンス) |
|
MXシリーズの場合、次の表は、RPMクライアントとサーバーのサポート、TWAMPクライアント(制御コンポーネントを含む)とTWAMPサーバー(レスポンダーコンポーネントを含む)のサポート、タイムスタンプを実行するハードウェアの関係を示しています。
| TWAMP 機能のサポート |
ルーティングエンジンのタイムスタンプ |
MS-PIC/MS-DPCタイムスタンプ |
MS-MIC/MS-MPC タイムスタンプ |
パケット転送エンジン(マイクロカーネル)タイムスタンプ |
パケット転送エンジン(LU)タイムスタンプ( |
| RPMクライアント |
はい |
はい |
はい |
はい |
いいえ |
| RPMサーバー |
はい |
はい |
はい |
はい |
いいえ |
| TWAMP クライアント |
いいえ |
いいえ |
いいえ |
はい |
はい |
| TWAMPサーバー |
いいえ |
はい |
いいえ |
はい(レスポンダーの設定は不要) |
はい |
サービスインターフェイス(sp-、 ms-、 si- インターフェイス)のサポートはすべて少し異なります。
表3は、MPC、MS-MIC/MPC、およびインラインでのMXシリーズTWAMPおよび関連するタイムスタンプサポートに関する情報を示しています。
| 機能 |
役割 |
IPバージョン |
サポート(Y/N) |
タイムスタンプインライン |
MPC のタイムスタンプ(ハードウェアタイムスタンプ) |
MPC(si-interface)のタイムスタンプ |
MS-MIC/MPC(delegate-probes)のタイムスタンプ |
|---|---|---|---|---|---|---|---|
| TWAMP |
マネージドクライアント |
IPv4 |
Y |
N |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |
| IPv6 |
N |
N |
N |
N |
N |
||
| 管理対象サーバー |
IPv4 |
Y |
N |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |
|
| IPv6 |
N |
N |
N |
N |
N |
| 機能 |
役割 |
IPバージョン |
サポート(Y/N) |
タイムスタンプインライン |
MPC のタイムスタンプ(ハードウェアタイムスタンプ) |
MPC(si-interface)のタイムスタンプ |
MS-MIC/MPC(delegate-probes)のタイムスタンプ |
|---|---|---|---|---|---|---|---|
| TWAMP |
ライトクライアント |
IPv4 |
Y |
Y(μsec)(リリース25.4R1以降) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |
| IPv6 |
Y |
Y(μsec)(リリース25.4R1以降) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |
||
| ライトサーバー |
IPv4 |
Y |
Y(μsec)(リリース25.4R1以降) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |
|
| IPv6 |
Y |
Y(μsec)(リリース25.4R1以降) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
Y(μsec) 最大1000プローブ |
N |