QoS

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/SFP ポート単位で設定が可能で、初期状態(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の処理フローは以下のようになります。

image

3.3. 送信キューの割り当て

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

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

  • トラストモードが "CoS" の場合

    • 受信フレームが VLAN タグ付きフレームの場合、タグ内の CoS 値を使用して、送信キューID を決定します。

    • 受信フレームが VLAN タグ無しフレームの場合、本製品で管理する デフォルト CoS を使用して、送信キューID を決定します。
      初期設定(QoS 有効化時)、 デフォルト CoS0 に設定されています。 qos cos コマンドで変更することができます。

    • CoS値から送信キューIDへの変換は、CoS-送信キューID変換テーブルによって行われます。
      本テーブルはシステムで一つ保有し、初期設定(QoS 有効化時)では、以下が設定されています。 qos cos-queue コマンドで変更することができます。

      CoS 値 送信キューID Traffic Type

      0

      2

      Best Effort

      1

      0

      Background

      2

      1

      Standard(spare)

      3

      3

      Excellent Effort(Business Critical)

      4

      4

      Controlled Load(Streaming Multimedia)

      5

      5

      Video(Interactive Media) less than 100 msec latency and jitter

      6

      6

      Voice(Interactive Media) less than 10 msec latency and jitter

      7

      7

      Network Control(Reserved Traffic)

  • トラストモードが "DSCP" の場合

    • IPヘッダ内の DSCP 値を使用して、送信キューID を決定します。

    • DSCP値から送信キューIDへの変換は、DSCP-送信キューID変換テーブルによって行われます。
      本テーブルはシステムで一つ保有し、初期設定(QoS 有効化時)では、以下が設定されています。 qos dscp-queue コマンドで変更することができます。

      DSCP 値 送信キューID Traffic Type

      0 - 7

      2

      Best Effort

      8 –15

      0

      Background

      16 - 23

      1

      Standard(spare)

      24 - 31

      3

      Excellent Effort(Business Critical)

      32 - 39

      4

      Controlled Load(Streaming Multimedia)

      40 - 47

      5

      Video(Interactive Media) less than 100 msec latency and jitter

      48 - 55

      6

      Voice(Interactive Media) less than 10 msec latency and jitter

      56 - 63

      7

      Network Control(Reserved Traffic)

  • トラストモードが "ポート優先" の場合

    • ポート優先度 に従って送信キューID を決定します。

    • 初期設定(QoS 有効化時)では、 ポート優先度2 に設定されています。設定は qos port-priority-queue コマンドで変更することができます。

3.4. リマーキング

受信したフレームのCoS値またはDSCP値の書き換えを、ポート毎に行います。
特定のポートで受信したフレームの優先度を制御するために使用します。
リマーキングは送信キュー再割り当ての前に実行されるため、本製品の優先制御においてもリマーキング後のCoS値またはDSCP値が使用されます。
トラストモードが "ポート優先" の場合は、リマーキングによって送信キューID を変更することはできません。

3.5. 送信キューへの格納

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

  • テールドロップ
    本製品では、送信キューの溢れ対策として、 テールドロップ 方式を採用します。
    テールドロップによって破棄されたフレームは、フレームカウンターによってカウントされます。

  • テールドロップのしきい値を変更することはできません。

  • 各ポートはパケットバッファを共有しており、各ポートの送信キューが使用できるパケットバッファの割合はパケットバッファの使用状況によって変動します。

  • show qos queue-counters コマンドにより、各送信キューがどれだけパケットバッファを使用しているか確認することができます。

  • 送信キューの使用状況は、 show qos queue-counters コマンドで確認することができます。

  • テールドロップによって破棄されたパケット数は show interface, show frame-counter コマンドで確認することができます。

3.6. スケジューリング

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

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

  • 絶対優先方式 (SP : Strict Priority)
    キューの優先度の高いものから優先的に送信します。
    優先度の高いキューにフレームが格納されている場合には、それより優先度の低いキューからは全く送信することができなくなります。

    image

  • 重み付きラウンドロビン方式 (WRR : Weighted Round Robin)
    各キューに 重み が設定され、その比率によってフレームを送信します。
    優先度の低いキューからも、ある一定の割合にて送信をすることができます。
    重み は以下の表に従って決定されます。

  • 各送信キューの重み

    送信キューID Weight Ratio

    7 (highest priority)

    4

    20%

    6

    4

    20%

    5

    3

    15%

    4

    3

    15%

    3

    2

    10%

    2

    2

    10%

    1

    1

    5%

    0 (lowest priority)

    1

    5%

image

送信キューに対するスケジューリングの設定は、インターフェース単位ではなく、システムで一つの設定となります。
スケジューリングの設定は、 qos scheduling コマンドを使用します。
初期設定(QoS 有効化時)では、スケジューリング設定は WRR となっています。

3.7. Web会議アプリケーション向け最適設定

Web GUIから、Web会議アプリケーション向けのQoS設定を簡単に行うことができます。
使用するWeb会議アプリケーションを選択するだけの簡単な操作で、「Zoom Meetings」や「Microsoft Teams」といったWeb会議アプリケーションの通信を優先させることができます。

  • Web 会議アプリケーション向け最適設定ページ
    image

Web 会議アプリケーション向け最適設定では以下の設定を行います。

  • QoS を有効にします。

  • すべてのポートのトラストモードを DSCP に設定します。

  • 最適化対象の Web 会議アプリケーションで使用する DSCP値を、優先度の高い送信キューに割り当てます。Web会議アプリケーションで使用するDSCP値は以下のとおりです。
    Web会議アプリケーションの設定により、Web会議アプリケーションで使用するDSCP値をデフォルト値から変更している場合は、 qos dscp-queue コマンドでDSCP値と送信キューの紐づけを変更してください。

    • Zoom Meetings

      • 56 (Audio)

      • 40 (Video/Screen sharing)

    • Microsoft Teams

      • 46 (Audio)

      • 34 (Video)

      • 18 (Application/Screen sharing)

  • 最適化対象の Web 会議アプリケーションで使用しない DSCP 値を、最も優先度の低い送信キューに割り当てます。

  • すべての送信キューのスケジューリングを絶対優先方式に設定します。

本Web会議アプリケーション向け最適設定機能は、スイッチ単体のQoS設定を行う機能です。QoSの効果を最大限に活かすには、ルーターを含むネットワーク全体で一貫したQoS設定を行う必要があります。
また、Web会議アプリケーションのDSCP値をデフォルトから変更している場合は、別途、DSCPの送信キュー割り当ての設定を変更してください。

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

PHB DSCP値 RFC

Default

0

RFC2474

CS (Class Selector)

CS0

0

RFC2474

CS1

8

CS2

16

CS3

24

CS4

32

CS5

40

CS6

48

CS7

56

AF (Assured Forwarding)

AF11

10

RFC2597

AF12

12

AF13

14

AF21

18

AF22

20

AF23

22

AF31

26

AF32

28

AF33

30

AF41

34

AF42

36

AF43

38

4. 関連コマンド

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

操作項目 操作コマンド

QoS の有効・無効制御

qos enable

デフォルト CoS の設定

qos cos

トラストモードの変更

qos trust

CoS - 送信キューID 変換テーブルの設定

qos cos-queue

DSCP - 送信キューID 変換テーブルの設定

qos dscp-queue

ポート優先度の設定

qos port-priority-queue

スケジューリング方式の設定

qos scheduling

QoS 機能の設定状態の表示

show qos

LAN/SFPポートの QoS 情報の表示

show qos interface

送信キュー使用率の表示

show qos queue-counters

リマーキングの設定

remark

5. コマンド実行例

5.1. DSCP 値を使用した優先制御(SP)

フレームの DSCP 値に基づき送信キューを振り分け、優先制御(SP)を行います。
SP 優先制御により、LANポート#3 からは DSCP 値の大きなフレームが優先的に処理されるようにします。

  • DSCP 優先制御 設定例
    image

  1. QoS の有効化と受信ポート ( LAN ポート #1, #2 ) のトラストモードの設定をする。

    Yamaha(config)#qos enable (1)
    Yamaha(config)#interface port1.1 (2)
    Yamaha(config-if)#qos trust dscp (3)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.2 (4)
    Yamaha(config-if)#qos trust dscp (5)
    Yamaha(config-if)#exit
    1 QoS を有効にする
    2 LAN ポート #1 に対する設定
    3 トラストモードを DSCP に変更
    4 LAN ポート #2 に対する設定
    5 トラストモードを DSCP に変更
  2. スケジューリング方式を設定する。

    Yamaha(config)# qos scheduling sp

5.2. CoS 値を使用した優先制御(WRR)

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

  • CoS 値を使用した優先制御 設定例
    image

  1. QoS の有効化と受信ポート ( LAN ポート #1, #2 ) のトラストモードの設定をする。

    Yamaha(config)#qos enable (1)
    Yamaha(config)#interface port1.1 (2)
    Yamaha(config-if)#qos trust cos (3)
    Yamaha(config-if)#qos cos 2 (4)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.2 (5)
    Yamaha(config-if)#qos trust cos (6)
    Yamaha(config-if)#qos cos 2 (7)
    Yamaha(config-if)#exit
    1 QoS を有効にする
    2 LAN ポート #1 に対する設定
    3 トラストモードを CoS に変更
    4 タグ無しのフレームをCoS値 2 で受信したものとして扱う
    5 LAN ポート #2 に対する設定
    6 トラストモードを CoS に変更
    7 タグ無しのフレームをCoS値 2 で受信したものとして扱う
  2. スケジューリング方式を設定する。

    Yamaha(config)# qos scheduling wrr

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

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

  • 受信ポート毎に付与したDSCP値に基づく優先制御 設定例
    image

  • 受信ポートごとのリマーキングの設定

    • LAN ポート #1 (port1.1) で受信したフレームをDSCP値 56 に設定する。

    • LAN ポート #2 (port1.2) で受信したフレームをDSCP値 36 に設定する。

    • LAN ポート #3 (port1.3) で受信したフレームをDSCP値 0 に設定する。

  1. QoS の有効化および受信ポート( LAN ポート #1, #2, #3 ) のトラストモードとリマーキングの設定をする

    Yamaha(config)#qos enable (1)
    Yamaha(config)#interface port1.1 (2)
    Yamaha(config-if)#qos trust dscp (3)
    Yamaha(config-if)#remark dscp 56 (4)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.2 (5)
    Yamaha(config-if)#qos trust dscp (6)
    Yamaha(config-if)#remark dscp 36 (7)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.3 … (8)
    Yamaha(config-if)#qos trust dscp (9)
    Yamaha(config-if)#remark dscp 0 (10)
    Yamaha(config-if)#exit
    1 QoS を有効にする
    2 LAN ポート #1 に対する設定
    3 トラストモードを "DSCP" に変更
    4 LAN ポート #1 で受信したフレームのDSCP値を 56 に設定
    5 LAN ポート #2 に対する設定
    6 トラストモードを "DSCP" に変更
    7 LAN ポート #1 で受信したフレームのDSCP値を 36 に設定
    8 LAN ポート #3 に対する設定
    9 トラストモードを "DSCP" に変更
    10 LAN ポート #1 で受信したフレームのDSCP値を 0 に設定

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

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

  • ポート優先度による優先制御 設定例
    image

  • 受信ポートごとの優先度の設定

    • LAN ポート #1 (port1.1) の優先度を 6 に設定する。

    • LAN ポート #2 (port1.2) の優先度を 4 に設定する。

    • LAN ポート #3 (port1.3) の優先度を 2 に設定する。

  1. QoS の有効化と受信ポート( LAN ポート #1, #2, #3 ) のトラストモードの設定をする

    Yamaha(config)#qos enable (1)
    Yamaha(config)#interface port1.1 (2)
    Yamaha(config-if)#qos trust port-priority (3)
    Yamaha(config-if)#qos port-priority-queue 6 (4)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.2 (5)
    Yamaha(config-if)#qos trust port-priority (6)
    Yamaha(config-if)#qos port-priority-queue 4 (7)
    Yamaha(config-if)#exit
    Yamaha(config)#interface port1.3 (8)
    Yamaha(config-if)#qos trust port-priority (9)
    Yamaha(config-if)#qos port-priority-queue 2 (10)
    Yamaha(config-if)#exit
    1 QoS を有効にする
    2 LAN ポート #1 に対する設定
    3 トラストモードを "ポート優先" に変更
    4 ポート優先度を 6 に設定
    5 LAN ポート #2 に対する設定
    6 トラストモードを "ポート優先" に変更
    7 ポート優先度を 4 に設定
    8 LAN ポート #3 に対する設定
    9 トラストモードを "ポート優先" に変更
    10 ポート優先度を 2 に設定

6. 注意事項

  • 論理インターフェースに所属しているLAN/SFPポートにQoSの設定が適用されている場合、論理インターフェースの最若番の所属ポートに適用されている設定が、他の所属ポートにも適用されます。

7. 関連文書

特になし

8. 商標名称について

  • Zoom はZoom Video Communications,Incの米国及びその他の国における登録商標または商標です。

  • Microsoft Teams は、米国 Microsoft Corporation の米国及びその他の国における登録商標または商標です。