[index] CentreCOM 8700SLシリーズ コマンドリファレンス 2.9

# スイッチング/QoS

      - プライオリティータグと送信キュー
      - 送信キューの重み付けと最大送信遅延時間
      - ハードウェアIPフィルターによるIPベースのQoS

パケットごとに送信時の優先度を変化させるQoS（Quality of Service）機能について解説します。本製品はIEEE 802.1p準拠のプライオリティータグに基づくQoSと、IPヘッダー等の情報に基づくIPベースのQoSに対応しています。

プライオリティータグと送信キュー

802.1QのVLANタグヘッダーには、3ビットのユーザープライオリティーフィールド（802.1p）が設けられています。

本製品は、このフィールドの値にしたがって、受信フレームの送信に優先度をつけることができます。
本製品の各ポートは、それぞれ4レベル（0〜3）の送信キューを備えています（キュー3が優先度最高）。フレームは相対的にもっとも優先度の高いキューからのみ送信されます。たとえば、キュー3とキュー2にフレームが格納されている場合、キュー3が空になるまでキュー2内のフレームは送信されません。
割り当てられる帯域は次のようになります（数値は一番左が相対的にもっともレベルの低いキュー、一番右が相対的にもっともレベルの高いキューに割り当てられる帯域（％）を示しています）。

- 同時に2つのレベルのキューにパケットがある場合 → 0：100
- 同時に3つのレベルのキューにパケットがある場合 → 0：0：100
- 同時に4つのレベルのキューにパケットがある場合 → 0：0：0：100

受信フレームがどのキューに入れられるかは、ユーザープライオリティー値とキューのマッピング設定によって決まります。デフォルトのマッピングは次のとおりです。VLANタグ付きのフレームは、このマッピングにしたがって処理されます。

表 1
ユーザープライオリティー | キュー番号
0 | 1
1 | 0
2 | 0
3 | 1
4 | 2
5 | 2
6 | 3
7 | 3

■ VLANタグのないフレーム（タグなしフレーム）は、次のように扱われます。

- 宛先MACアドレスが本製品の場合 → ユーザープライオリティー4
- 宛先MACアドレスが本製品以外の場合 → ユーザープライオリティー0

本製品によってルーティングされるIP、IPv6パケットは、宛先MACアドレスが本製品になるため、プライオリティー4で処理されます。一方、本製品によってルーティングされるIPマルチキャストパケットは、宛先MACアドレスが本製品ではなく、マルチキャストMACアドレスなので、プライオリティー0で処理されます。その他のレイヤー2スイッチングされるパケットは、プライオリティー0で処理されます。
■ ユーザープライオリティー値とキューのマッピングを変更するには、SET QOS HWPRIORITYコマンドを使います。たとえば、下図のようなマッピングにするには、次のコマンドを実行します。

`SET QOS HWPRIORITY QUEUE=0,0,0,1,1,2,2,3 ↓`

表 2
ユーザープライオリティー | キュー番号
0 | 0
1 | 0
2 | 0
3 | 1
4 | 1
5 | 2
6 | 2
7 | 3

■ ユーザープライオリティーとキューのマッピングを確認するにはSHOW QOS HWPRIORITYコマンドを使います。

送信キューの重み付けと最大送信遅延時間

特に設定を行わないと、前述の帯域割り当てでも説明したように、送信キューのレベル（優先度）の高いパケットが優先的に送信され、レベルの高いキューのパケット送信が終了するまで次のレベルのキューのパケットは送信されません（Strict Priority-based Scheduling）。
本製品では、高いレベルの送信キューのパケット送信が終了するまで待つことなく、低いレベルのキューのパケット送信を行うように設定することが可能です。
これには、次の2つの方式があります。

- 送信キューの重み付けを行い、ラウンドロビンで送信していく方式（Weighted Round-Robin Scheduling）
- 送信キューごとに最大送信遅延時間を保証する方式（Weighted Round-Robin With Bounded Delay）

> Note - 8748SLで以下の設定（MAXPACKETS、MAXLATENCY）を行った場合は、ポートグループ「1〜24、50」と「25〜48、49」をまたぐパケットに対してQoSが機能しません。

■ 設定は、SET QOS HWQUEUEコマンドで行います。送信キューに重み付けを行う場合は、次のように設定します。

`SET QOS HWQUEUE=3 MAXPACKETS=10 ↓
SET QOS HWQUEUE=2 MAXPACKETS=5 ↓
SET QOS HWQUEUE=1 MAXPACKETS=2 ↓
SET QOS HWQUEUE=0 MAXPACKETS=1 ↓
`

この比率にしたがって、各キューのパケットは順番に送信されます。

> Note - 最大送信パケット数を設定して、送信キューに重み付けを行うには、すべてのキューに最大送信パケット数を設定してください。最大送信パケット数が設定されているキューと設定されていないキューがあると、設定されていないキューのパケットが先に送信されます。

最大送信遅延時間を設定するには、次のように設定します。

`SET QOS HWQUEUE=3 MAXLATENCY=100 ↓
SET QOS HWQUEUE=2 MAXLATENCY=500 ↓
SET QOS HWQUEUE=1 MAXLATENCY=700 ↓
SET QOS HWQUEUE=0 MAXLATENCY=1200 ↓
`

低いレベルのキューに最大送信遅延時間を設定することで、高いレベルのキューのパケット送信中でも、低いレベルのキューの送信が開始されます。また、低い送信レベルのキューに最大送信遅延時間を設定した場合は、高いレベルのキューの最大送信遅延時間を短く設定すれば、待ち時間は短くなります。
■ 送信キューの重み付け、最大送信遅延時間設定は、SHOW QOS HWQUEUEコマンドで確認できます。
■ 各設定の優先順位は、優先度の高いものから、最大送信遅延時間、送信キューのレベル、最大送信パケット数の順になります。

ハードウェアIPフィルターによるIPベースのQoS

ハードウェアIPフィルターを利用すると、IPアドレスやTOS優先度などのIPヘッダー情報、TCPやUDPのポート番号などに基づき、受信パケットを送信するときのキューレベルを設定することができます。
ハードウェアIPフィルターによるQoSでは、マッチしたパケットに内部的なプライオリティーを付与し、SET QOS HWPRIORITYコマンドのマッピングに基づき送信キューレベルを決定します。この場合のプライオリティーは仮想的なものであり、受信フレームにプライオリティータグが付いている必要はありません。
■ ハードウェアIPフィルターを使って特定のパケットを任意の送信キューに入れるには、ACTIONパラメーターでSENDCOSを指定し、PRIORITYパラメーターで希望するユーザープライオリティーを指定します。たとえば、次のようなフィルターを設定すると、始点アドレスが192.168.10.2のIPパケットに対して、内部的なユーザープライオリティー7が付与されます。

`ADD SWITCH L3FILTER MATCH=SIPADDR SCLASS=HOST ↓
ADD SWITCH L3FILTER=1 ENTRY SIPADDR=192.168.10.2 PRIORITY=7 ACTION=SENDCOS ↓
`

パケット送信時には、プライオリティーとキューのマッピング設定にしたがい、プライオリティー7に対応するキューに該当パケットが入れられます。
■ 次の例では、SSHトラフィックをユーザープライオリティー5に相当するキューから送出します。

`ADD SWITCH L3FILTER MATCH=PROTOCOL,TCPDPORT ↓
ADD SWITCH L3FILTER MATCH=PROTOCOL,TCPSPORT ↓
ADD SWITCH L3FILTER=1 ENTRY PROTOCOL=TCP TCPDPORT=22 PRIORITY=5 ACTION=SENDCOS ↓
ADD SWITCH L3FILTER=2 ENTRY PROTOCOL=TCP TCPSPORT=22 PRIORITY=5 ACTION=SENDCOS ↓
`

ハードウェアIPフィルターの詳細については、「スイッチング」/「ハードウェアIPフィルター」をご覧ください。

(C) 2003 - 2010 アライドテレシスホールディングス株式会社

PN: J613-M0019-01 Rev.P