このドキュメントでは、Cisco IOS® サービス保証エージェント(SAA)機能、Round Trip Time Monitor(RTTMON)機能、および Cisco ルータを使用したデータ ネットワーク上での遅延、ジッター、およびパケット損失を測定する方法について説明します。
データ ネットワーク上の新たなアプリケーションの登場によって、お客様が新しいアプリケーションの展開による影響を正確に予測することがますます重要になりつつあります。つい最近までは、帯域幅をアプリケーションに割り当て、上位層プロトコルのタイムアウトと再送信の機能によって、トラフィック フローの急増する特性にアプリケーションを適応させることは簡単でした。しかし現在では、音声やビデオなどのまったく新しいアプリケーションは、データ ネットワークの伝送特性の変化の影響を受けやすくなっています。導入を確実に成功させるためには、まったく新しいアプリケーションを導入する前にネットワークのトラフィック特性を理解することが欠かせません。
Voice over IP(VoIP)は、遅延やジッターと呼ばれるネットワーク動作の影響を受けやすく、平均的なユーザが許容できないレベルまで音声アプリケーションの品質が低下する可能性があります。遅延は、ネットワーク内においてポイントツーポイントでかかる時間です。遅延は、片方向の遅延と往復遅延のいずれかとして測定されます。一方向の遅延を計算するには高価で高度なテスト機器が必要であり、これらは大部分の企業のお客様の予算範囲と専門知識を超えるものです。ただし、ラウンドトリップの遅延の測定はもっと簡単で、それほど高価ではない機器を使用するだけで済みます。一般的には、一方向の遅延は、ラウンドトリップの遅延を測定し、その結果を 2 で割って求めます。VoIP では一般的に、150 ミリ秒の遅延まではコールの品質を許容します。
ジッターは、ポイントツーポイントでの一定時間内の遅延の変動です。VoIP コールにおいて伝送の遅延があまりにも大きく変動する場合、コール品質が著しく低下します。ネットワーク上で許容されるジッターの大きさは、音声パス上のネットワーク機器のジッター バッファの大きさに影響を受けます。使用可能なジッター バッファが大きければ大きいほど、ネットワークのジッターの影響を減らすことができます。
パケット損失とは、データ パスでパケットを失うことであり、音声アプリケーションの品質が著しく低下します。
VoIP アプリケーションを導入する前には、音声アプリケーションが機能するかどうかを判断するために、データ ネットワーク上の遅延、ジッター、およびパケット損失を評価することが重要です。遅延、ジッター、およびパケット損失の測定は、トラフィックの優先順位付けや、データ ネットワーク機器におけるバッファリング パラメータの正しい設計と設定に役立ちます。
SAA および RTTMON MIB は、バージョン 12.0 (5)T 以降で使用可能な Cisco IOS ソフトウェアの機能です。これらの機能を使用すると、データ ネットワーク上の遅延、ジッター、およびパケット損失の統計をテストして収集できます。Internetwork Performance Monitor(IPM)は、機能を設定して SAA と RTTMON のデータをモニタできる Cisco ネットワーク管理アプリケーションです。SAA 機能と RTTMON 機能は、小型の Cisco IOS ルータをお客様のエンド ステーションをシミュレーションするエージェントとして展開することで、遅延、ジッター、およびパケット損失を測定するために使用できます。これらのルータは、遅延とジッターのプローブと呼ばれます。また、ベースライン値が決定されていれば、リモート モニタリング(RMON)アラームとイベント トリガーを使用して遅延とジッターのプローブを設定できます。これによって、遅延とジッターのプローブでは、あらかじめ定められた遅延とジッターのサービス レベルでネットワークをモニタできるようになり、しきい値を超えた場合にはネットワーク管理システム(NMS)ステーションに対してアラートを送信できるようになります。
Cisco IOS ソフトウェア コード バージョン 12.05T 以降が搭載された Cisco ルータ 17xx 以降を展開し、Cisco IOS SAA 機能を設定することで、遅延とジッターを測定できます。キャンパス ネットワーク内のホストの隣にルータを配置する必要があります。これにより、エンドツーエンド接続の統計情報が得られます。ネットワーク内のすべての音声パスを測定することは現実的ではないため、一般的な音声パスの統計サンプリングが得られる一般的なホストの位置にプローブを配置します。次に例の一部を示します。
ローカルのキャンパス間のパス
384 kbs フレーム リレー回線を介したローカルのキャンパスからリモートのキャンパスへのパス
ATM 相手先固定接続(PVC)を介したローカルのキャンパスからリモートのキャンパスへのパス
Foreign Exchange Station(FXS)ポートを使用して Cisco ルータに接続された従来型の電話を使用する VoIP 展開の場合は、電話に接続されたルータを、遅延とジッターのプローブとして動作するように使用します。展開後、プローブによって統計情報が収集され、ルータ内の Simple Network Management Protocol(SNMP)MIB テーブルにデータが入力されます。その後、Cisco IPM アプリケーションまたは SNMP ポーリング ツールによって、このデータにアクセスできます。また、ベースライン値が確立されると、遅延、ジッター、およびパケット損失のしきい値を超えた場合に NMS ステーションにアラートを送信するように SAA を設定できます。
テスト メカニズムとして SAA を使用する利点の 1 つは、音声コールをシミュレーションできる点です。たとえば、G.711 音声コールをシミュレーションするとします。RTP/UDP ポート 14384 以上が使用され、およそ 64 kb/s であり、パケット サイズが 200 バイトであることがわかっています(ペイロードの 160 バイト + IP/UDP/RTP の 40 バイト(非圧縮))。次に示すように、SAA の遅延またはジッタのプローブを設定することで、このタイプのトラフィックをシミュレーションできます。
ジッターの動作では次を行う必要があります。
RTP/UDP ポート番号 14384 にリクエストを送信します。
172 バイト パケット(160 ペイロード + 12 バイト RTP ヘッダー サイズ)+ 28 バイト(IP + UDP)を送信します。
サイクルごとに 3,000 パケットを送信します。
60 秒の間 20 ミリ秒間隔で各パケットを送信し、次のサイクルを開始する前に 10 秒休止します。
これらのパラメータでは 60 秒間 64 kb/s が得られます。
((3,000 データグラム * 160 バイト/データグラム/ 60 秒)) * 8 ビット/バイト = 64 kb/s
ルータの設定は、次のようになります。
rtr 1 type jitter dest-ipaddr 172.18.179.10 dest-port 14384 num-packets 3000+ request-data-size 172* frequency 70 rtr schedule 1 life 2147483647 start-time now
注:IP+UDPはrequest-data-sizeでは考慮されません。これは、ルータによって内部的にサイズに自動的に追加されるためです。
注:現在、Cisco IOSは動作ごとに1,000パケットのみをサポートしています。将来のリリースではこの制限が引き上げられる予定です。
次の例のルータでは、60 秒ごとに 60 秒間の音声コールをシミュレーションし、双方向での遅延、ジッター、パケット損失が記録されます。
注:遅延の計算はラウンドトリップ時間であり、一方向の遅延を取得するには2で除算する必要があります。
saarouter1# rtr responder rtr 1 type jitter dest-ipaddr 172.18.179.10 dest-port 14384 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now saarouter2# rtr responder rtr 1 type jitter dest-ipaddr 172.18.178.10 dest-port 14385 num-packets 1000 request-data-size 492 rtr schedule 1 life 2147483647 start-time now saarouter3# rtr responder rtr 1 type jitter dest-ipaddr 172.18.179.100 dest-port 14385 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now saarouter4# rtr responder rtr 1 type jitter dest-ipaddr 172.18.178.100 dest-port 14385 num-packets 1000 request-data-size 492 frequency 60 rtr schedule 1 life 2147483647 start-time now
遅延とジッターのプローブでデータの収集が開始され、このデータは続いて SNMP MIB テーブルに配置されます。rttMonStats テーブルでは、過去 1 時間のすべてのジッター動作の 1 時間平均が提供されます。rttMonLatestJitterOper テーブルでは、完了した最後の動作の値が提供されます。遅延とジッターの一般的な統計情報を得るには、1 時間ごとに rttMonStats テーブルをポーリングします。より詳細な統計情報を得るには、ジッター動作よりも高い頻度で rttMonLatestJitterOper テーブルをポーリングします。たとえば、遅延とジッターのプローブによって 5 分ごとにジッターが計算されている場合、5 分より短い間隔で MIB をポーリングしないようにしてください。
次のスクリーン キャプチャでは、HP OpenView Network Node Manager MIB のポーリングによって収集された rttMonJitterStatsTable からのデータを示しています。
次の SAA データ グラフは、一対の遅延とジッターのプローブについて、8 時間にわたる遅延、ジッター、およびパケット損失のデータ ポイントをまとめたものです。
データは、遅延とジッターのプローブのコマンド ラインで、Cisco IOS の show コマンドを使用して表示することもできます。コマンド ラインからデータを収集し、それを後で分析するためにテキスト ファイルにエクスポートするために、Perl Expect スクリプトを使用できます。また、遅延、ジッター、およびパケット損失のリアル タイムのモニタとトラブルシューティングに、コマンド ライン データを使用できます。
次の例では、saarouter1 ルータでの show rtr collection-stats コマンドによるコマンド出力を示しています。
#show rtr collection-stats 100 Collected Statistics Entry Number: 100 Target Address: 172.16.71.243, Port Number: 16384 Start Time: 13:06:04.000 09:25:00 Tue Mar 21 2000 RTT Values: NumOfRTT: 600 RTTSum: 873 RTTSum2: 1431 Packet Loss Values: PacketLossSD: 0 PacketLossDS: 0 PacketOutOfSequence: 0 PacketMIA: 0 PacketLateArrival: 0 InternalError: 0 Busies: 0 Jitter Values: MinOfPositivesSD: 1 MaxOfPositivesSD: 1 NumOfPositivesSD: 23 SumOfPositivesSD: 23 Sum2PositivesSD: 23 MinOfNegativesSD: 1 MaxOfNegativesSD: 1 NumOfNegativesSD: 1 SumOfNegativesSD: 1 Sum2NegativesSD: 1 MinOfPositivesDS: 1 MaxOfPositivesDS: 1 NumOfPositivesDS: 7 SumOfPositivesDS: 7 Sum2PositivesDS: 7 MinOfNegativesDS: 1 MaxOfNegativesDS: 1 NumOfNegativesDS: 18 SumOfNegativesDS: 18 Sum2NegativesDS: 18 Entry Number: 100 Target Address: 172.16.71.243, Port Number: 16384 Start Time: 14:06:04.000 09:25:00 Tue Mar 21 2000 RTT Values: NumOfRTT: 590 RTTSum: 869 RTTSum2: 1497 Packet Loss Values: PacketLossSD: 0 PacketLossDS: 0 PacketOutOfSequence: 0 PacketMIA: 0 PacketLateArrival: 0 InternalError: 0 Busies: 0 Jitter Values: MinOfPositivesSD: 1 MaxOfPositivesSD: 1 NumOfPositivesSD: 29 SumOfPositivesSD: 29 Sum2PositivesSD: 29 MinOfNegativesSD: 1 MaxOfNegativesSD: 1 NumOfNegativesSD: 7 SumOfNegativesSD: 7 Sum2NegativesSD: 7 MinOfPositivesDS: 1 MaxOfPositivesDS: 1 NumOfPositivesDS: 47 SumOfPositivesDS: 47 Sum2PositivesDS: 47 MinOfNegativesDS: 1 MaxOfNegativesDS: 1 NumOfNegativesDS: 5 SumOfNegativesDS: 5 Sum2NegativesDS: 5
初期のデータ収集によってベースライン値が確立された後、ネットワーク内での遅延、ジッター、およびパケット損失の各レベルをモニタするには、いくつかの方法があります。その 1 つの方法は、SAA threshold コマンドを使用する方法です。もう 1 つの方法は、RMON アラームとイベントと呼ばれる、Cisco IOS メインライン コードの機能を使用する方法です。
SAA 機能セットの threshold コマンドでは、動作に対する反応イベントを生成して履歴情報を保存する上昇しきい値(ヒステリシス)が設定されます。遅延とジッターのプローブで次の SAA しきい値を設定することによって、ジッターのモニタリングが有効になり、5 ミリ秒のしきい値の違反について SNMP トラップが作成されます。
saarouter1# rtr 100 rtr reaction-configuration 100 threshold-falling 5 threshold-type immediate
遅延とジッターのプローブでは、SAA Cisco IOS 機能または Cisco IOS RMON アラームとイベントの方法を使用して、あらかじめ定められたしきい値がモニタされます。どちらの場合も、ルータによって遅延、ジッター、およびパケット損失がモニタされ、しきい値違反が SNMP トラップで NMS ステーションに通知されます。
次の RMON アラームとイベント トラップの設定では、上昇しきい値が最大ラウンドトリップ時間 140 ミリ秒を超える場合に、saarouter1 で SNMP トラップが生成されます。最大ラウンドトリップ時間が 100 ミリ秒未満に戻ったときにも別のトラップが送信されます。このトラップはルータ上のログと NMS ステーション 172.16.71.19 に送信されます。
saarouter1# rmon alarm 10 rttMonJitterStatsRTTMax.100.120518706 1 absolute rising-threshold 140 100 falling-threshold 100 101 owner jharp rmon event 100 log trap private description max_rtt_exceeded owner jharp rmon event 101 log trap private description rtt_max_threshold_reset owner jharp
ジッターは一方向の遅延の変動であり、発信された連続パケットの送受信タイム スタンプに基づいて計算されます。
タイムスタンプ | 送信者 | レスポンダ |
---|---|---|
T1 | pkt1 の送信 | |
T2 | pkt1 の受信 | |
T3 | pkt1 の応答の返信 | |
T4 | pkt1 の応答の受信 | |
T5 | pkt2 の送信 | |
T6 | pkt2 の受信 | |
T7 | pkt2 の応答の返信 | |
T8 | pkt2 の応答の受信 |
上記のパケット 1 とパケット 2 について、次の送信元と宛先の計算を使用します。
発信元から宛先までのジッター(JitterSD)= (T6-T2) - (T5-T1)
宛先から発信元までのジッター(JitterDS)= (T8-T4) - (T7-T3)
2 つの連続したパケットごとのタイム スタンプを使用してジッターが計算されます。例:
Router1 send packet1 T1 = 0 Router2 receives packet1 T2 = 20 ms Router2 sends back packet1 T3 = 40 ms Router1 receives packet1 response T4 = 60 ms Router1 sends packet2 T5 = 60 ms Router2 receives packet2 T6 = 82 ms Router2 sends back packet2 T7 = 104 ms Router1 receives packet2 response T8 = 126 ms Jitter from source to destination (JitterSD) = (T6-T2) - (T5-T1) Jitter from source to destination (JitterSD) = (82 ms - 20 ms) - (60 ms - 0 ms) = 2 ms positive jitter SD Jitter from destination to source (JitterDS) = (T8-T4) - (T7-T3) Jitter from destination to source (JitterDS) = (126 ms - 60 ms) - (10 4ms - 40 ms) = 2 ms positive jitter DS
CISCO1720:10/100BaseTモジュラルータ(2つのWANスロットとCisco IOS IPソフトウェアを搭載)
MEM1700-16U24D:Cisco 1700 16 MB ~ 24 MB DRAMファクトリアップグレード
MEM1700-4U8MFC:Cisco 1700 4 MB ~ 8 MBミニフラッシュカードファクトリアップグレード
CAB-AC:電源コード、110 V
S17CP-12.1.1T:Cisco 1700 IOS IP PLUS
改定 | 発行日 | コメント |
---|---|---|
1.0 |
02-Dec-2013 |
初版 |