◆ QoSの設計はEnd-to-Endで意識する
QoSの設計はEnd-to-Endで意識する必要があります。つまり、音声デバイスやPCデバイスが接続された
CatalystスイッチでQoSを有効化して、途中で経由するルータでもQoSを有効化し、宛先デバイスが接続
されたCatalystスイッチでもQoSを有効化することで(送信元から宛先までに経由する全てのデバイスで)
QoSを有効化することによって、そのネットワークでは適切なサービス品質を実現できます。
記事の以降の解説図は、パケットの優先度情報(CoS値、DSCP値)がどのように遷移していくのかを、
Catalystスイッチのマッピングテーブルでどのように変換されていくのかを、そして、そのパケットが
どのようにキューにマッピングされていくのかを示した図です。解説図を参照することでQoSを有効に
したネットワークにおいて、パケットがどのように遷移するのかを理解できます。
なお、Catalystの機種によってQoSのアーキテクチャが異なるので、詳細はマニュアルをご参照下さい。
◆ QoSを有効にしたネットワークでのパケットの遷移 - その1(パケットの送出)
先ず、下図でデータパケットの遷移を見ていきましょう。PCから送受信されるWeb、FTP、Mail用などの
データパケットは一般的にDSCP値などの優先度情報は付加されていません。そのため下図のパケット状態
で送信されていきます。そもそもPCのNICでトランクポート(タグ付きVLAN)をサポートしていなければ
CoS値を付加することはできないので、PCから送出されるパケットのCoS値は基本的に「 0 」となります。
次に、音声パケットの遷移を見ていきましょう。Cisco IP Phoneなど、一般的なIP Phoneから送出される パケットは、IP Phoneから送出される時点で、Layer2ではCoS値=5、Layer3ではDSCP値=46( EF )の マーキングが行われています。そのため、下図のパケットの状態で送信されていきます。
◆ QoSを有効にしたネットワークでのパケットの遷移 - その2(分類)
PCから送出されたパケットはCatalystスイッチのポートに着信します。CatalystスイッチでQoSが有効に
されていて「分類」というアクションのためにそのポート上で「mls qos trust dscp」と設定していると
します。その場合、そのパケットのCoS値ではなく、DSCP値の情報に基づいて処理が行われていきます。
※ QoSを有効化しても、インターフェースの設定状態はデフォルトではuntrust状態であり、どの優先度
情報も信頼されていない状態であり、どの優先度を信頼するのか mls qos trust で定義する必要があります。
※ Catalyst3850からはインターフェースの設定状態はデフォルトでは「trust」状態に変更となりました。
データパケットの場合はDSCP値=0、音声パケットの場合はDSCP値=46であることから、この値をもとに
各パケットはマッピングテーブルを参照したり、Catalystのポートで格納されるキューが決定していきます。
◆ 参考:QoSの理解を深める - 信頼境界とは
Catalyst QoSの実装において、優先度情報がマーキングされた値を「信頼する範囲」と「信頼しない範囲」の
境界のことを信頼境界と言います。信頼境界は「優先度情報をマーキングするポイント」とも言えることから
信頼する範囲と信頼しない範囲は一般的に以下のように分類することができます。
信頼境界 |
説明 |
信頼する範囲 |
スイッチやルータなど管理者により管理するネットワーク部分
|
信頼しない範囲 |
クライアントPCやプリンターなどエンドユーザが所有するエッジ部分 |
Cisco IP Phoneは音声トラフィックにあらかじめ優先度情報をマーキング(CoS=5、DSCP=46)してから
パケットを送出できるため「優先度情報をマーキングするポイント」になることができます。以上のことから
Cisco IP Phoneは「信頼する範囲」側に位置付けられます。以上の内容の解説図は以下となります。
ネットワークデバイスにとって、マーキングする処理は一定の負荷となるため、その負荷を減らすために
マーキング処理はネットワークの入り口であるエッジ部分で行うことが推奨です。Cisco IP Phoneでは、
デフォルトで音声トラフィックに対してマーキング(CoS=5、DSCP=46)処理を行っていることから、
その音声パケットを受信するCatalystスイッチのポートでは、その優先度情報を信頼(trust)すれば良い
だけとなり負荷が軽減されます。
QoSを有効化したCatalystスイッチのポートは、デフォルトで信頼されていない(untrust)状態なので
Cisco IP Phoneが音声パケットに「CoS=5、DSCP=46」としてマーキングしていても、デフォルトでは
信頼せずにその値を「0」としてつまり「CoS=0、DSCP=0」に上書きされる状態となるため、信頼境界
におけるCatalystスイッチのポートでは、mls qos trust コマンドにより信頼する設定が必要があります。
|