IP SLA (ICMP, UDP, TCP probes)

IP-SLAとは

Cisco IP SLA は、ネットワークのパフォーマンスをリアルタイムで監視・測定する技術です。これにより、ネットワーク上の様々なロケーション間での応答時間、遅延、ジッタ、パケット損失、音声品質などのデータを収集し、サービスレベルアグリーメント(SLA)の評価やトラブルシューティングに活用できます。IP SLA は、SNMP 経由でアクセス可能で、CiscoWorks IPM や他のパフォーマンス管理ツールと連携して、より正確なサービスレベルの保証とネットワーク管理を実現します。

ICMPエコー、ICMPパスエコー、ICMPジッタ、ICMPパスジッタについて

IP SLA で使用される ICMP ジッタ、ICMP エコー、ICMP パスエコー、ICMP パスジッタには、それぞれ異なる目的と機能があります。それぞれの違いを以下に詳しく説明します。

ICMP エコー (ICMP Echo)

  • 概要: ICMP エコーは、基本的な Ping と同じ機能を持ちます。ターゲットの IP アドレスに対して ICMP エコーリクエストを送信し、応答(エコーリプライ)を受け取るまでの往復時間(RTT: Round Trip Time)を測定します。
  • 用途: 主にネットワークの接続性と基本的な遅延(ラウンドトリップ遅延)を確認するために使用されます。
  • 特徴: シンプルで基本的な遅延測定を行うオペレーションです。

ICMP パスエコー (ICMP Path Echo)

  • 概要: ICMP パスエコーは、ICMP エコーの機能に加えて、パケットが通過する経路上の各ホップ(ルーター)の遅延を測定します。トレースルートと似た機能を持ち、各ホップごとの応答時間を個別に計測できます。
  • 用途: 経路上のどのホップで遅延が発生しているかを特定するために使用されます。より詳細な遅延分析が可能です。
  • 特徴: 通過する各ルーターの遅延を測定でき、ネットワーク経路上の問題を特定するのに役立ちます。

ICMP ジッタ (ICMP Jitter)

  • 概要: ICMP ジッタは、特定のターゲットに対して複数の ICMP エコーリクエストを一定の間隔で送信し、その応答時間の変動(ジッタ)を測定します。これは、遅延の安定性や一貫性を評価するために使用されます。
  • 用途: リアルタイムアプリケーション(例えば VoIP)におけるパフォーマンスを評価する際に、ジッタを測定してネットワークの安定性を確認します。
  • 特徴: 一連の ICMP エコーの応答時間の変動を測定し、遅延の一貫性や変動(ジッタ)を評価します。

ICMP パスジッタ (ICMP Path Jitter)

  • 概要: ICMP パスジッタは、ICMP パスエコーと ICMP ジッタを組み合わせたものです。経路上の各ホップごとにジッタを測定し、遅延の変動(ジッタ)やパケットロスを分析します。
  • 用途: 経路上のどのホップでジッタや遅延の変動が発生しているかを特定し、リアルタイムアプリケーションのパフォーマンスを評価する際に使用されます。
  • 特徴: 各ホップごとのジッタと遅延を測定し、経路上のパフォーマンスを詳細に評価します。特にリアルタイムアプリケーションにおける品質評価に有効です。

UDPエコー、UDPジッターについて

IP SLAで使用されるUDPエコーとUDPジッターは、ネットワークパフォーマンスを測定するための2つの主要な手法です。それぞれの機能と用途は以下の通りです。

UDPエコー (UDP Echo)

概要: UDPエコーは、IP SLAでネットワークの応答時間(遅延)を測定するために使用される操作です。送信元デバイスから宛先デバイスにUDPパケットを送信し、その応答時間を計測します。TCP/IPに比べ、UDPは接続を確立しないプロトコルであるため、軽量で高速な通信が可能です。

特徴:

  • 遅延測定: 送信元から宛先までの往復時間(RTT: Round-Trip Time)を計測します。
  • トラブルシューティング: ネットワーク上の応答性を確認するため、特定のアプリケーションのパフォーマンス問題の診断に使用されます。
  • シンプルな設定: UDPエコーは、設定が比較的簡単で、リアルタイムでネットワークの基本的な応答性を把握するために利用されます。

UDPジッター (UDP Jitter)

概要: UDPジッターは、IP SLAでジッター(パケット到着間隔の変動)、遅延、パケット損失などの複雑なネットワークパフォーマンスメトリックを測定する操作です。VoIPやビデオストリーミングなどのリアルタイムアプリケーションにおいて、ネットワークの品質を評価するために特に重要です。

特徴:

  • ジッター測定: 連続するUDPパケットの到着間隔の変動を測定します。ジッターが大きいと、リアルタイム通信の品質が低下します。
  • パケット損失: 送信したUDPパケットが途中で失われた場合、これを検出します。高いパケット損失率はネットワークの品質低下を示します。
  • 遅延測定: 各パケットの送信と受信にかかる時間(片方向および往復)を測定し、全体的なネットワーク遅延を評価します。
  • 順序の確認: パケットが順序どおりに到着しているかを確認し、パケットの並び順が崩れている場合、その影響を評価します。

用途:

  • リアルタイムアプリケーション: VoIPやビデオ会議など、リアルタイム性が求められるアプリケーションの品質評価に不可欠です。
  • 詳細なネットワーク分析: 単なる遅延測定以上に、ネットワークの細かなパフォーマンス問題を特定し、トラブルシューティングに役立ちます。

TCP接続操作とは

IP SLAのTCP接続操作は、TCP(Transmission Control Protocol)を使用してネットワーク上の接続応答時間を測定するための機能です。これは、特定のポート番号で指定された宛先デバイスとの間にTCP接続を確立し、その接続にかかる時間を計測します。この操作は、ネットワークの可用性やパフォーマンスを評価するのに役立ちます。

IP-SLA設定

宛先デバイスでの設定

(オプション) ソースからの制御メッセージに応答して、Cisco デバイス上の IP SLA Responder 機能を一時的に有効にします。デフォルトで有効です。
Device(config)#ip sla responder

送信元デバイスでの設定( ICMPエコー)

IP SLAコンフィギュレーションモードに入ります。
Device(config)#ip sla operation-number

ICMP エコー操作を定義します。
Device(config)#icmp-echo {destination-ip-address | destination-hostname } [source-ip {ip-address | hostname } | source-interface interface-name ]

destination-ip-address | destination-hostname宛先のIPv4アドレスかIPv6アドレス、またはホスト名を指定します
source-ip {ip-address | hostname}(任意)送信元のアドレスまたはホスト名を指定します。指定がない場合は宛先に最も近いIPアドレスが選択されます。
source-interface interface-name(任意)送信元のインターフェイスを指定します。

送信元デバイスでの設定( ICMPパスエコー)

IP SLAコンフィギュレーションモードに入ります。
Device(config)#ip sla operation-number

ICMP パスエコー操作を定義します。
Device(config)#path-echo { destination-ip-address | destination-hostname } [ source-ip { ip-address | hostname } ]

destination-ip-address | destination-hostname宛先のIPv4アドレスかIPv6アドレス、またはホスト名を指定します
source-ip {ip-address | hostname}(任意)送信元のアドレスまたはホスト名を指定します。指定がない場合は宛先に最も近いIPアドレスが選択されます。

送信元デバイスでの設定( ICMPジッタ)

Device(config)#ip sla operation-number

ICMP ジッタ操作を定義します。
Device(config)#icmp-jitter { destination-ip-address | destination-hostname } [ interval milliseconds ] [ num-packets packet-number ] [ source-ip { ip-address | hostname } ]

destination-ip-address | destination-hostname宛先のIPv4アドレスかIPv6アドレス、またはホスト名を指定します
interval milliseconds(任意)パケット間の間隔(ミリ秒単位)を指定します。 デフォルトの値は 20 ms です。
num-packets packet-number(任意)各動作で送信されるパケット数を指定します。 デフォルト値は、1 動作につき 10 パケットです。
source-ip {ip-address | hostname}(任意)送信元のアドレスまたはホスト名を指定します。指定がない場合は宛先に最も近いIPアドレスが選択されます。

送信元デバイスでの設定( ICMPパスジッタ)

IP SLAコンフィギュレーションモードに入ります。
Device(config)#ip sla operation-number

ICMP パスエコー操作を定義します。
Device(config)#path-jitter {destination-ip-address | destination-hostname } [source-ip {ip-address | hostname }] [num-packets packet-number ] [interval milliseconds ] [targetOnly ]

destination-ip-address | destination-hostname宛先のIPv4アドレスかIPv6アドレス、またはホスト名を指定します
source-ip {ip-address | hostname}(任意)送信元のアドレスまたはホスト名を指定します。指定がない場合は宛先に最も近いIPアドレスが選択されます。
num-packets packet-number(任意)各動作で送信されるパケット数を指定します。 デフォルト値は、1 動作につき 10 パケットです。
interval milliseconds(任意)パケット間の間隔(ミリ秒単位)。 デフォルトは 20 です。
targetOnly(任意)テスト パケットを宛先だけに送信します(パスはトレースされません)。

送信元デバイスでの設定( UDPエコー)

Device(config)#ip sla operation-number

UDPエコー操作を定義します。
Device(config)#udp-echo {destination-ip-address | destination-hostname } destination-port [source-ip {ip-address | hostname } source-port port-number ] [control {enable | disable }]

送信元デバイスでの設定(UDPジッタ)

Device(config)#ip sla operation-number

UDPジッタ操作を定義します。
Device(config)#udp-jitter {destination-ip-address | destination-hostname } destination-port [source-ip {ip-address | hostname }] [source-port port-number ] [control {enable | disable }] [num-packets number-of-packets ] [interval interpacket-interval ]

送信元デバイスでの設定(TCP接続)

Device(config)#ip sla operation-number

TCP接続操作を定義します。
Device(config)#tcp-connect {destination-ip-address | destination-hostname } destination-port [source-ip {ip-address | hostname } source-port port-number ] [control {enable | disable }]

オプション

データ パターンの 16 進数値を設定します。
Device(config)#data-pattern hex value

履歴バケットの数を設定します。
Device(config)#history buckets-kept size

統計配信の数を設定します。
Device(config)#history distributions-of-statistics-kept size

拡張履歴収集を有効にします。
Device(config)#history enhanced [interval seconds ] [buckets number-of-buckets ]

履歴テーブルに保存される情報のタイプを定義します。
Device(config)#history filter {none | all | overThreshold | failures }

IP SLA 操作を繰り返すレートを設定します。
Device(config)#frequency seconds

統計が維持される時間数を設定します。
Device(config)#history hours-of-statistics-kept hours

履歴テーブルに保持されるライフ数を設定します。
Device(config)#history lives-kept lives

SNMP所有者を設定します。
Device(config)#owner owner-id

要求パケットのペイロード内のプロトコル データ サイズを設定します。
Device(config)#request-data-size bytes

各統計配信の時間間隔を設定します。
Device(config)#history statistics-distribution-interval milliseconds

ユーザー指定の識別子を作成します。
Device(config)#tag text

ネットワーク監視統計を計算するための上限しきい値を設定します。
Device(config)#threshold milliseconds

要求パケットからの応答を待機する時間を設定します。
Device(config)#timeout milliseconds

IPv4 ネットワークの場合のみ、IP SLA 操作の IPv4 ヘッダー内の ToS バイトを定義します。
Device(config)#tos number

IPv6 ネットワークの場合のみ、サポートされている IP SLA 操作の IPv6 ヘッダー内のトラフィック クラス バイトを定義します。
Device(config)#traffic-class number

 IPv6 ネットワークの場合のみ、サポートされている IP SLA 操作の IPv6 ヘッダーのフロー ラベル フィールドを定義します。
Device(config)#flow-label number

各応答パケットのデータ破損がチェックされます。
Device(config)#verify-data

マルチプロトコル ラベル スイッチング (MPLS) 仮想プライベート ネットワーク (VPN) 内の監視を許可します。
Device(config)#vrf vrf-name

IP SLAのスケジュール

個々の IP SLA 操作のスケジューリング パラメータを設定します。
Device(config)#ip sla schedule operation-number [life {forever | seconds }] [start-time {[hh:mm:ss ] [month day | day month ] | pending | now | after hh:mm:ss }] [ageout seconds ] [recurring ]

Device(config)#ip sla group schedule group-operation-number operation-id-numbers {schedule-period schedule-period-range | schedule-together } [ageout seconds ] frequency group-operation-frequency [life {forever | seconds }] [start-time {hh:mm [:ss ] [month day | day month ] | pending | now | after hh:mm [:ss] }]

設定例

ICMPエコーの設定と動作確認

統計結果を表示します。

参考文献

Configuring IP SLAs ICMP Echo Operations
IP SLAs Configuration Guide

IP SLA コマンド リファレンス、Cisco IOS XE Release 3SE(Catalyst 3850 スイッチ)