音声 : 音声品質

音声用の QoS:LLQ で使用するための ToS-CoS パケット マーキング

2010 年 11 月 10 日 - ライター翻訳版
その他のバージョン: PDFpdf | 機械翻訳版 (2013 年 8 月 21 日) | 英語版 (2006 年 2 月 2 日) | フィードバック

目次

概要
前提条件
      要件
      使用するコンポーネント
      表記法
設定
      ネットワーク ダイアグラム
      設定
確認
トラブルシューティング
関連するシスコ サポート コミュニティ ディスカッション
関連情報

概要

このドキュメントでは、Class of Service(CoS)パラメータに Type of Service(ToS)をマッピングして、LAN 環境で Voice over IP(VoIP)用の Quality of Service(QoS)を実装する方法について説明します。

最近までは、ネットワーク トラフィックのバーストやバッファ オーバーフローに対するキャパシティが原因となって、エンタープライズ側で QOS が問題になることはない、という考え方が一般的でした。LAN 側で QoS を使用する目的は、帯域幅不足を補うためではなく、バッファ不足を防ぐためです。そのためには、それらのバッファを管理して、損失、遅延、遅延変動などを最小限に抑える QoS ツールが必要になります。比較的サイズの小さな伝送制御プロトコル(TCP)パケットが大量にやり取りされるデータ ネットワークは、基本的にバースト状態になりやすいため、高速なネットワークでは送信バッファが容量制限に達しやすい傾向にあります。出力バッファがいっぱいになると、入力側インターフェイスは新しいフロー トラフィックを出力バッファへ直ちに移すことができなくなります。入力バッファがいっぱいになると(この状況はすぐに発生する可能性があります)、パケット ドロップが発生します。このような状況では、パケットの損失によって音声品質の低下がもたらされる場合があります。

VoIP トラフィックには、パケットの遅延とパケットのドロップのどちらに対しても影響を受けやすい性質があります。LAN リンクは高速であるため、キュー バッファのサイズにかかわらず、遅延はそれほど大きな問題となりません。それに対して、ドロップはすべてのネットワークで常に音声品質に悪影響をもたらします。バッファが 100 % 使用されることで発生するトラフィック ドロップの可能性を防ぐ唯一の方法は、送信インターフェイスで複数のキューを使用することです。(遅延およびドロップによる影響を受けやすい)音声と映像を別々のキューに分けることで、データ送信バッファがデータ フローによって完全に使用されている場合でも、入力側インターフェイスでのフローのドロップを防ぐことができます。

トラフィック負荷の高いネットワークでは、VoIP ユーザの快適な通信を実現するためには、制御トラフィックの管理がきわめて重要になります。その理由は簡単です。たとえば、IP Phone はフックが外されると、基本的に Cisco CallManager に対して何をすべきかを問い合せます。Cisco CallManager は IP Phone に対してダイヤル トーンを再生するように指示します。Skinny Client Protocol 管理トラフィックおよび制御トラフィックに、ドロップまたは遅延が発生した場合には、ユーザの快適な通信に悪影響が及びます。QoS を実装するには、パケット ヘッダーに高い優先順位のマークを付け、Catalyst が識別できるようにそれらのヘッダーを Layer 2 ヘッダーに正しくマッピングさせます。これにより、LAN 上でやり取りされる音声パケットに、適切な優先順位を付与できます。



前提条件

要件

このドキュメントに関する特別な要件はありません。



使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco IOS® ソフトウェア リリース 12.3(4)T が稼働する Cisco 3725 音声ゲートウェイ

  • Catalyst 4000 スイッチ

  • Cisco CallManagers および IP Phone

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。対象のネットワークが実稼働中である場合には、どのような作業についても、その潜在的な影響について確実に理解しておく必要があります。



表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。



設定

このセクションでは、このドキュメントで説明する機能の設定に必要な情報を提供します。

注:このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことをご了承ください。



ネットワーク ダイアグラム

このドキュメントでは、次のダイアグラムで示されるネットワーク構成を使用しています。

tos-cos-1.gif



設定

このドキュメントでは、次の設定を使用します。

この設定は、802.1p ヘッダー部分の CoS 値に ToS/Differentiated Services Code Point(DSCP; DiffServ コード ポイント)値をマッピングする方法を示しています。これを実装する方法は多数ありますが、設計によってそれぞれ多少の違いが見られます。次に示す 2 つの設定例の目的は同一であり、どちらを使用しても同じ結果になります。ToS ビットで IP 優先順位を最優先を意味する(5)に設定するパケットは、VoIP パケットのみにしてください。他のトラフィックについては、このビットを 5 に設定しないでください。音声キュー内で不必要なトラフィックの重複が生じる場合があるためです。

注:LLQ の設定は、Catalyst 4000 など、ネットワーク内の他のデバイス上で行われますが、このドキュメントでは説明しません。

この最初の例では、RTP ストリームだけが IP 優先順位 5 にマッチします。RTCP や H.225/245 シグナリング パケットおよびメッセージング パケットはマッチしません。

Cisco 3660(例 1)

!
ip cef
!

!--- 後の部分で設定する set cos コマンド を有効にするために、 
!--- Cisco Express Forwarding(CEF)メカニズムをイネーブルにする 
!--- 必要があります。
!--- イネーブルになっていない場合は、ルータからエラー 
!--- 「CEF switching needed for 'set' operations」が出力されます。

! 
class-map match-all RTP
match ip precedence 5 

!--- このコマンドは、優先順位が 5 に設定されているすべてのパケットについてマッチングを行います。
 
!
policy-map OutboundPolicy
class RTP
set CoS 5

!--- 前に class-map RTP で優先順位 5 にマッチしたすべてのパケットの 
!--- CoS ビットが 5 に設定されます。

class class-default
set CoS 0

!--- その他のすべてのトラフィックの CoS は 0 になるため、 
!--- 配信の優先順位は低くなります。

!
interface FastEthernet0/0
no ip address
no ip mroute-cache
duplex auto
speed auto
!
interface FastEthernet0/0.816
encapsulation dot1Q 816

!--- トランキングをイネーブルにするには、dot1q または isl カプセル化だけでなく、 
!--- ファーストイーサネットのサブインターフェイスも存在している必要があります。

ip address 10.120.16.112 255.255.255.0
service-policy output OutboundPolicy

!--- Catalyst 4000 経由で LAN に接続しているインターフェイスに
!--- QoS を適用します。

!
dial-peer voice 99131 voip
destination-pattern 9913109
session target ipv4:10.120.17.133
 ip qos dscp cs5 media
no vad
!

注:コマンド ip qos dscp は、Cisco IOS ソフトウェア リリース 12.2(2)T で導入されました。これは、ip precedence(ダイヤルピア)を置き換えるコマンドです。Cisco IOS ソフトウェア リリース 12.2(2)T より前のバージョンが稼働しているすべてのルータでは、ダイヤルピアの設定に ip precedence を使用できます。

2 番目の例では、policy-map のクラスに対するマッチング パラメータが異なります。次に示す設定では、RTP ストリームだけでなく、H.225 コール セットアップ パケットに対してもマッチングが行われます。RTP ストリームにマッチさせる条件も若干異なります。ここでは、IP ヘッダーではなく、UDP ポートの範囲のみが確認されます。UDP ポートが 16384 〜 32767 の範囲内にある場合には、タグが追加されて policy-map に送信されます。

Cisco 3660(例 2)

!
ip cef
!

!--- 後の部分で設定する set cos コマンドを有効にするために、 
!--- CEF メカニズムをイネーブルにする 
!--- 必要があります。
!--- イネーブルになっていない場合は、ルータからエラー 
!--- 「CEF switching needed for 'set' operations」が出力されます。
!
class-map match-all Call-Control
match access-group 101
!
class-map match-all RTP
match ip rtp 16384 16383

!--- UDP ポート範囲 16384 〜 32767 についてマッチングを行い、 
!--- policy-map に送信する VoIP パケットを選別します。

!
access-list 101 permit tcp host 10.120.16.112 any eq 1720

!--- H.225 コール セットアップ専用の TCP ポート 1720 を使用して、 
!--- すべてのパケットについてマッチングを行います。

!
policy-map OutboundPolicy
class RTP
set CoS 5

!--- 上記の UDP ポート範囲にマッチしたすべての VoIP パケットの
!--- CoS ビットを 5 に設定します。

class Call-Control
set CoS 3
set ip precedence 3

!--- access-list 101 にマッチしたすべてのシグナリング パケットおよび制御パケットの 
!--- CoS ビットを 3 に設定し、IP 優先順位を 3 に設定します。

class class-default
set CoS 0

!--- その他のすべてのトラフィックの Cos は 0 になるため、 
!--- 配信の優先順位は低くなります。

!
interface FastEthernet0/0
no ip address
no ip mroute-cache
duplex auto
speed auto
!
interface FastEthernet0/0.816
encapsulation dot1Q 816
ip address 10.120.16.112 255.255.255.0
service-policy output OutboundPolicy

!--- Catalyst 4000 経由で LAN に接続しているインターフェイスに 
!--- QoS を適用します。

!
dial-peer voice 99131 voip
destination-pattern 9913109
session target ipv4:10.120.17.133
 ip qos dscp cs5 media 
no vad
!



確認

このセクションでは、設定が正常に動作しているかどうかを確認する際に役立つ情報を提供しています。

特定の show コマンドは、アウトプットインタープリタ登録ユーザ専用)でサポートされています。このツールを使用すると、show コマンドの出力を分析できます。一部ツールについては、ゲスト登録のお客様にはアクセスできない場合がありますことをご了承ください。

  • show policy-map interface:指定されたサービス ポリシー マップのすべてのクラスのマッチ カウンタを表示します。

これでルータは、CoS ビットに ToS ビットをマッピングするように設定されました。トラフィックが実際に設定どおりにマーキングされているかどうかを確認するには、次に示す show policy-map interface コマンドを使用します。

次に示す最初の例では、539 VoIP パケットは class-map にマッチするため、すべての 539 パケットの CoS ビットは 5 に設定されます。このタイプのキューイングでは、輻輳がアクティブになるまで待機する必要がありません。ファースト イーサネット インク上を通過する音声トラフィックが存在する限り、すべてのパケットは適宜マーキングされます。次に示す 2 番目の例では、VoIP パケットの CoS 値が 5 に設定されるだけでなく、シグナリング パケットの CoS 値も設定に従って 3 に設定されます。

Cisco 3660(例 1) の場合:

vdtl-3660-16a#show policy-map interface fastethernet 0/0.816
 FastEthernet0/0.816  
  Service-policy output: OutboundPolicy

    Class-map: RTP (match-all)
      539 packets, 42042 bytes
      5 minute offered rate 2000 bps, drop rate 0 BPS
      Match: ip precedence 5 
      QoS Set
        CoS 5
          Packets marked 539

    Class-map: class-default (match-any)
      13 packets, 1803 bytes
      5 minute offered rate 0 BPS, drop rate 0 BPS
      Match: any 
      QoS Set
        CoS 0
          Packets marked 13

Cisco 3660(例 2)の場合:

vdtl-3660-16a#show policy-map interface fastethernet 0/0.816
 FastEthernet0/0.816 

  Service-policy output: OutboundPolicy

    Class-map: RTP (match-all)
      370 packets, 28860 bytes
      5 minute offered rate 0 BPS, drop rate 0 BPS
      Match: ip rtp 16384 16383
      QoS Set
        CoS 5
          Packets marked 370

    Class-map: Call-Control (match-all)
      26 packets, 2697 bytes
      5 minute offered rate 0 BPS, drop rate 0 BPS
      Match: access-group 101
      QoS Set
        ip precedence 3
          Packets marked 26
        CoS 3
          Packets marked 26

    Class-map: class-default (match-any)
      4363 packets, 515087 bytes
      5 minute offered rate 0 BPS, drop rate 0 BPS
      Match: any 
      QoS Set
        CoS 0
          Packets marked 4363
vdtl-3660-16a#


トラブルシューティング

現在のところ、この設定に関する特定のトラブルシューティング情報はありません。




関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 23442