概要
このドキュメントでは、Active Measurement Protocol(AIP)と、遅延測定のための同期ビット(Sビット)の使用について説明します。IOS-XRプラットフォームでのSビットのサポートについて説明します。
前提条件
要件
次の項目に関する基本的な知識が推奨されます。
-
One-way Active Measurement Protocol(OWAMP)
-
Two Way Active Measurement Protocol(TWAMP)
-
Cisco ASR 9000シリーズアグリゲーションサービスルータ(ASR9000)
使用するコンポーネント
このドキュメントの情報は、次に基づくものです。 Cisco ASR9000デバイス:IOS-XR 5.3.4リリース
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。
問題:TWAMP Sビットが誤って設定されている
TWAMPを使用すると、2台のTWAMP対応デバイス間の単方向およびラウンドトリップのパフォーマンスを測定できます。 サードパーティのプローブと、IOS-XR 5.3.4上で動作するCRS/ASR9000デバイスとの間で、TWAMPベースのInternet Protocol Service Level Agreement(IP SLA)をテストすると、TWAMPサーバによってSビットがFalseに設定されます。したがって、プローブ装置では一方向遅延は計算しない。
TWAMP Fundamental
RFC4656で規定されている単方向アクティブ測定プロトコル(OWAMP)は、ネットワークデバイス間の単方向メトリックを測定するための共通プロトコルを提供します。OWAMPは、双方向で使用して、2つのネットワーク要素間の双方向の一方向メトリックを測定できます。ただし、往復または双方向の測定には対応していません。
RFC5357で規定されているTwo Way Active Measurement Protocol(TWAMP)は、標準ベースの非常に効果的なパフォーマンスモニタリングプロセスです。IPベースネットワークのラウンドトリップおよび双方向メトリックのパフォーマンス測定が追加され、RFC-4656で定義されているOne-Way Active Measurement Protocol(OWAMP)仕様を拡張したものです。TWAMPは、ベンダーに依存しない方法で、TWAMPがサポートする2つのエンドポイント間の単方向およびラウンドトリップのパフォーマンスを正確に測定します。
RFC4656(One-Way Active Measurement Protocol)によると、タイムスタンプを生成する側に外部ソースを介してUTCと同期されるクロックがある場合は、最初のビットSを設定する必要があります。
たとえば、次の場合はSビットを設定する必要があります。
- Global Positioning System(GPS)ハードウェアは、現在の位置と時間を取得したことを示すために使用されます。
- Network Time Protocol(NTP;ネットワークタイムプロトコル)は、外部ソース(ストラタム0のソースなど)と同期していることを示すために使用されます。
- 時刻源に対する外部同期の概念はなく、Sビットは設定しないでください。
The Error Estimate specifies the estimate of the error and
synchronization. It has the following format:
0 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|S|Z| Scale | Multiplier |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
TWAMPエンティティ:
TWAMPシステムは、次の4つの論理エンティティで構成されます。
・サーバ:1つ以上のTWAMPセッションを管理し、エンドポイントでセッションごとのポートを設定します。
・セッションリフレクタ:TWAMPテストパケットを受信するとすぐに測定パケットを反映します。
・コントロールクライアント:TWAMPテストセッションの開始と停止を開始します。
・ session-sender:セッションリフレクタに送信されるTWAMPテストパケットをインスタンス化します。
TWAMPプロトコル:
TWAMPプロトコルには、次の3つのメッセージ交換カテゴリがあります。
メッセージは、コントロールクライアントとサーバ間のセッション接続を確立します。まず、チャレンジレスポンスメカニズムを介して、通信されたピアのIDが確立されます。サーバはランダムに生成されたチャレンジを送信します。このチャレンジに対して、コントロールクライアントは、共有秘密から取得したキーを使用してチャレンジを暗号化することで応答を送信します。IDが確立されると、次のステップでは、後続のTWAMP-ControlコマンドとTWAMP-Testストリームパケットにバインドされるセキュリティモードをネゴシエートします。
注:サーバは、複数のコントロールクライアントからの接続要求を受け入れることができます。
TWAMP-ControlプロトコルはTCP上で動作し、測定セッションのインスタンス化と制御に使用されます。コマンドのシーケンスは次のとおりですが、接続セットアップの交換とは異なり、TWAMP-Controlコマンドは複数回送信できます。ただし、複数のrequest-sessionコマンドをsession-startコマンドの前に送信することはできますが、メッセージが順序どおりに発生することはありません。
◦ Request-Session
◦ Start-Session
◦ Stop-Session
TWAMP-TestはUDP上で動作し、セッション送信側とセッションリフレクタの間でTWAMP-Testパケットを交換します。これらのパケットには、パケットの出力と入力の瞬間を含むタイムスタンプフィールドが含まれます。さらに、各パケットには、送信者(セッション送信者またはセッションリフレクタ)と外部の時刻源(GPSやNTPなど)との同期スキューを示すエラー推定値が含まれています。パケットにはシーケンス番号も含まれます。
TWAMP-ControlとTWAMP-testストリームには、非認証、認証、暗号化の3つのセキュリティモードがあります。
トラブルシュート
プラットフォームによっては、特定の設定や導入に依存してハードウェアのタイムスタンプを提供することがあります。特に、Cisco ASR9000シリーズルータでは、クロックソースとしてPrecision Time Protocol(PTP)同期が必要です。 このソリューションは、すべてのユーザシナリオで使用できるとは限りません。タイムスタンプの他のソース(NTPクロックソース、RouteProcessor(RP)で動作するデーモンを介して)を使用できるようにするために、ipsla hw-timestamp disableの新しい設定が導入されました。これにより、他のプラットフォーム依存層によって提供されるタイムスタンプ値が無視され、プラットフォームに依存しないタイムスタンプに戻されます。
NTPクロック同期が有効でアクティブになっている場合は、IP SLA設定でhw-timestamp disableコマンドを使用して、ハードウェアタイムスタンプを無効にします。
ipsla
hw-timestamp disable
responder
twamp
timeout 100
!
!
server twamp
timer inactivity 100
Cisco ASR 9000シリーズアグリゲーションサービスルータ、リリース6.0.1のリリースノート では、新しいTWAMP精度拡張機能が導入されています。
TWAMP Accuracy Enhancementは、TWAMP測定のマイクロ秒単位の精度を提供します。この機能拡張により、入力および出力のタイムスタンプを可能な限りワイヤに近い位置に収集して、より正確なデータを得ることができます。
IOS XRリリースを6.1.X以降にアップグレードすると、TWAMP Accuracy Enhancement機能を使用して、目的の動作が実現したことを確認できます。
次の手順を実行して、問題とパケットキャプチャのトラブルシューティングを行うことができます
- Twampサーバとレスポンダ(120など)のタイムアウト値を高く設定して、情報が収集前にあまり早く期限切れにならないようにします。
- デバッグを有効にする必要があるため、デバッグログメッセージをロギングバッファに送信するようにデバイスを設定してください。ロギングバッファのサイズは、テスト中のデバッグメッセージのロールオーバーを防ぐために十分な大きさに設定する必要があります。
- デバイスとプローブの間で交換されるすべてのパケットがキャプチャされることを確認します(UDPプローブパケットだけでなく、セッション確立のためのTCPもキャプチャします)。
- テストが実行される場所に応じて、ASR9000またはCRSデバイスから次のコマンドを収集します。
ステップ 1:プローブからテストを開始する前に、次の情報を収集します。
- terminal length 0
- show install active sum
- admin show platform
- admin show hw-module fpd location all
- show run
- IPSLA Twamp標準
- vshow ipsla twamp status
- show ntp status
- show ntp associations detail
ステップ2:デバイスですべてのTwampデバッグを有効にしてから、ログをクリアします。
- パケットキャプチャの開始
- プローブからのテストの開始
注:これがプローブで実行される唯一のTwampテストである場合、出力が多すぎることはありません。
ステップ3:テストが終了した後、次のコマンドを収集します
- show log
- show ipsla twamp connection detail
- show ipsla twamp connection requests
- show ipsla twamp session
- show ipsla trace twamp all verbose
- show ipsla trace twamp initialization verbose
解決策:IOS-XRでSビットが実装されることはありません
RFC 4656によると、時刻源に外部同期の概念がない場合、ビットは設定されません。したがって、SビットはIOS-XRプラットフォームでは実装されません。