音声 : 音声品質

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

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2010 年 11 月 10 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

このドキュメントでは、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 が付いている Cisco 3725 音声ゲートウェイか。 ソフトウェア リリース 12.3(4)T。

  • Catalyst 4000 スイッチ

  • Cisco CallManagers および IP Phone

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

表記法

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

設定

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

注: このドキュメントで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

ネットワーク構成図

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

/image/gif/paws/23442/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
!

!--- The Cisco Express Forwarding (CEF) mechanism needs to be enabled 
!--- in order for the set cos command that is 
!--- configured later to take effect.
!--- If this is not on, the router reminds you with 
!--- the error "CEF switching needed for 'set' operations".

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

!--- This command matches on all packets with the IP precedence of 5.
 
!
policy-map OutboundPolicy
class RTP
set CoS 5

!--- For all packets which previously matched on class-map RTP for 
!--- having precedence of 5, the CoS bit is now set to 5.

class class-default
set CoS 0

!--- All other traffic has a CoS of 0 and 
!--- carries a lower priority of delivery.

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

!--- There must be subinterfaces for FastEthernet to enable trunking, 
!--- as well as either dot1q or isl encapsulation.

ip address 10.120.16.112 255.255.255.0
service-policy output OutboundPolicy

!--- Apply the QoS to the interface that connects to the LAN
!--- via the Catalyst 4000.

!
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
!

!--- The CEF mechanism needs to be enabled 
!--- in order for the set cos command that is 
!--- configured later to take effect.
!--- If this is not on, the router reminds you with 
!--- the error "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

!--- Match on UDP port range 16384-32767 to single out 
!--- VoIP packets for policy-map.

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

!--- Match on all packets using TCP port 1720 which is 
!--- dedicated for H.225 call setup. 

!
policy-map OutboundPolicy
class RTP
set CoS 5

!--- For all VoIP packets that match the  UDP port range listed above,
!--- set the CoS bit to 5.

class Call-Control
set CoS 3
set ip precedence 3

!--- For all signaling and control packets that match access-list 
!--- 101, set the CoS bit to 3 and IP precedence to 3.

class class-default
set CoS 0

!--- All other traffic has a CoS of 0 and carries a 
!--- lower priority of delivery. 

!
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

!--- Apply your QoS to the interface that connects to the 
!--- LAN via the Catalyst 4000.

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

確認

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

特定の show コマンドは、Output Interpreter Tool登録ユーザ専用)によってサポートされています。このツールを使用すると、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