QoS


1 機能概要

QoS ( Quality of Service ) とは、ネットワーク上で、ある特定の通信のための帯域を予約し、一定の通信速度を保証する技術です。
アプリケーションデータを分類・グループ化し、IPヘッダ内の DSCP や、IEEE802.1Q タグ内の CoS を参照してグループ毎の優先度に従い、データを転送します。


2 用語の定義

CoS (IEEE 802.1p Class of Service)

VLANタグヘッダ内にある3ビットのフィールドで優先度を表現し、0 ~ 7 の値をとる。
802.1p ユーザープライオリティとも呼ぶ。

IP Precedence

IPヘッダの TOS フィールド内にある 3 ビットのフィールドで優先度を表現し、0 ~ 7 の値をとる。
フレームを受信した機器に対して、該当フレームのトラフィッククラスを示すために使われる。

DSCP (Diffserv Code Point)

IP ヘッダの TOS フィールド内にある 6 ビットのフィールドで優先度を表現し、0 ~ 63 の値をとる。
DSCP は IP Precedence と同じ TOS フィールドを使用しているため、IP-Precedence と互換性がある。
フレームを受信した機器に対して、該当フレームのトラフィッククラスを示すために使われる。

デフォルト CoS

タグなしフレームに対して内部処理のために付与する CoS 値のこと。

送信キュー

本製品は、ポート毎に 8 個の送信キューをもつ。送信キューには、ID 0 ~ 7 が割り振られており、IDの数値が大きいほど、優先度が高いキューとなる。

トラストモード

送信キューID の決定を何に基づいて(信頼して)行うかを表す。
本製品では、受信フレームの CoS 値または DSCP 値を使用して、送信キューの振り分けをすることができる。
LAN ポート単位で設定が可能で、初期状態(QoS を有効化したとき)は CoS に設定されている。

送信キューID変換テーブル

CoS 値や DSCP 値から、送信キューID を決定するための変換テーブル。
CoS - 送信キューID変換テーブルと DSCP - 送信キューID変換テーブルの 2 種類があり、それぞれのトラストモードで使用される。
本製品では、これらのテーブルのマッピングを変更することはできない。

ポート優先度

受信ポート毎に設定された優先度。トラストモードが"ポート優先"の場合、そのポートで受信したフレームは、ポート優先度の設定に基づいて送信キューへ格納される。



3 機能詳細

3.1 QoS の有効・無効制御

本製品の QoS 制御は、工場出荷時、 無効 となっています。
QoS 制御の有効化は、 qos enable コマンドで行います。無効化する場合は、 no qos コマンドで行います。
QoS 制御コマンドのほとんどは、QoS が有効化されていないと実行することができません。
また、QoS 機能の状態は、 show qos コマンドで確認することができます。

3.2 QoS 処理フロー

QoSの処理フローは以下のようになります。



3.3 送信キューの割り当て

本製品はフレームを受信すると、フレーム内の CoS 値や DSCP 値 、受信ポートの ポート優先度 に基づいて、送信キューID の初期値を決定します。
フレームの CoS 値、DSCP 値のうち、何に基づいて送信キューを決定するかは、ポートの トラストモード によって決まります。
トラストモード は、 qos trust コマンドで変更することができ、初期設定(QoS 有効化時)は CoS に設定されています。

送信キューの割り当ては、 トラストモード 毎に以下のルールで行われます。

3.7 リマーキング

受信したフレームのCoS値またはDSCP値の書き換えを、ポート毎に行います。
特定のポートで受信したフレームの優先度を制御するために使用します。
リマーキングは送信キュー再割り当ての前に実行されるため、本製品の優先制御においてもリマーキング後のCoS値またはDSCP値が使用されます。


3.8 送信キューへの格納

一連の QoS 処理によって最終的に決定した送信キューへ、フレームを格納します。
本製品では、送信キュー混雑状況を解消するために、フレームを選択し、破棄する仕組みを提供します。


3.9 スケジューリング

スケジューリングにより、送信キューに格納されたフレームをどのような規則で送出するかを決定します。
輻輳制御の仕組みと合わせて、スケジューリングを適切に制御することによって、QoS を保証するのに役立ちます。(不適切なスケジューリングは QoS を劣化させます。)

本製品は、送信キューのスケジューリング方式として、 重み付きラウンドロビン方式(WRR) をサポートします。



別表1. 標準 PHB (RFC 推奨値)



4 関連コマンド

関連コマンドについて、以下に示します。
詳細は、コマンドリファレンスを参照してください。



5 コマンド実行例

5.1 DSCP 値を使用した優先制御

フレームの DSCP 値に基づき送信キューを振り分け、優先制御を行います。

  1. QoS の有効化と受信ポート ( LAN ポート #1, #2 ) のトラストモードの設定をする。
    Yamaha(config)#qos enable … (QoS を有効にする)
    Yamaha(config)#interface port1.1 … (LAN ポート #1 に対する設定) 
    Yamaha(config-if)#qos trust dscp … (トラストモードを DSCP に変更)
    Yamaha(config-if)#exit 
    Yamaha(config)#interface port1.2 … (LAN ポート #2 に対する設定) 
    Yamaha(config-if)#qos trust dscp … (トラストモードを DSCP に変更)
    Yamaha(config-if)#exit 
    


5.2 CoS 値を使用した優先制御

フレームの CoS 値に基づき送信キューを振り分け、優先制御を行います。

  1. QoS の有効化と受信ポート ( LAN ポート #1, #2 ) のトラストモードの設定をする。
    Yamaha(config)#qos enable … (QoS を有効にする)
    Yamaha(config)#interface port1.1 … (LAN ポート #1 に対する設定) 
    Yamaha(config-if)#qos trust cos … (トラストモードを CoS に変更)
    Yamaha(config-if)#qos cos 2 … (タグ無しのフレームをCoS値 2 で受信したものとして扱う)
    Yamaha(config-if)#exit 
    Yamaha(config)#interface port1.2 … (LAN ポート #2 に対する設定) 
    Yamaha(config-if)#qos trust cos … (トラストモードを CoS に変更)
    Yamaha(config-if)#qos cos 2 … (タグ無しのフレームをCoS値 2 で受信したものとして扱う)
    Yamaha(config-if)#exit 
    



5.3 受信ポート毎に付与したDSCP値に基づく優先制御

受信ポート毎にDSCP値を付与し、そのDSCP値に基づいて送信キューを再度割り当てます。
以下の例の場合、LAN ポート #1で受信したフレームは最も優先度の高い送信キュー(ID: 7, 重み20%)に格納され、
LAN ポート #2で受信したフレームは次に優先度の高い送信キュー(ID: 5, 重み15%)に格納、
LAN ポート #3で受信したフレームは3つのLANポートのうち最も優先度の低い送信キュー(ID: 2, 重み10%)に格納されます。

  1. QoS の有効化および受信ポート( LAN ポート #1, #2, #3 ) のトラストモードとリマーキングの設定をする
    Yamaha(config)#qos enable … (QoS を有効にする)
    Yamaha(config)#interface port1.1 … (LAN ポート #1 に対する設定) 
    Yamaha(config-if)#qos trust dscp … (トラストモードを "DSCP" に変更)
    Yamaha(config-if)#remark dscp 56 … (LAN ポート #1 で受信したフレームのDSCP値を 56 に設定)
    Yamaha(config-if)#exit 
    Yamaha(config)#interface port1.2 … (LAN ポート #2 に対する設定) 
    Yamaha(config-if)#qos trust dscp … (トラストモードを "DSCP" に変更)
    Yamaha(config-if)#remark dscp 36 … (LAN ポート #1 で受信したフレームのDSCP値を 36 に設定)
    Yamaha(config-if)#exit 
    Yamaha(config)#interface port1.3 … (LAN ポート #3 に対する設定) 
    Yamaha(config-if)#qos trust dscp … (トラストモードを "DSCP" に変更)
    Yamaha(config-if)#remark dscp 0 … (LAN ポート #1 で受信したフレームのDSCP値を 0 に設定)
    Yamaha(config-if)#exit 
    



5.4 ポート優先トラストモードを使用した優先制御

受信ポート毎に指定したポート優先度に基づいて、送信キューを決定します。

  1. QoS の有効化と受信ポート( LAN ポート #1, #2, #3 ) のトラストモードの設定をする
    Yamaha(config)#qos enable … (QoS を有効にする)
    Yamaha(config)#interface port1.1 … (LAN ポート #1 に対する設定)
    Yamaha(config-if)#qos trust port-priority … (トラストモードを "ポート優先" に変更)
    Yamaha(config-if)#qos port-priority-queue 6 … (ポート優先度を 6 に設定)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.2 … (LAN ポート #2 に対する設定)
    Yamaha(config-if)#qos trust port-priority … (トラストモードを "ポート優先" に変更)
    Yamaha(config-if)#qos port-priority-queue 4 … (ポート優先度を 4 に設定)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.3 … (LAN ポート #3 に対する設定)
    Yamaha(config-if)#qos trust port-priority … (トラストモードを "ポート優先" に変更)
    Yamaha(config-if)#qos port-priority-queue 2 … (ポート優先度を 2 に設定)
    Yamaha(config-if)#exit
    



6 注意事項


7 関連文書

特になし


トップへ戻る