[index] CentreCOM AR560S コマンドリファレンス 2.9

QoS/概要・基本設定


  - 基本構成要素
   - インターフェース
   - QoSポリシー
   - トラフィッククラス
   - クラシファイア
  - 処理適用ポイント
   - 入力ポリシー
   - 出力ポリシー
   - トンネルポリシー
  - 基本設定手順
   - 設定手順例
   - QoSポリシーとインターフェース
   - トラフィッククラス
   - クラシファイア
    - クラシファイアの照合順序
  - 処理フローと詳細設定
   - パケット分類
   - プレマーキング
   - メータリング
    - シングルレート・メーター(srTCM)
    - ツインレート・メーター(trTCM)
    - 帯域クラス3に対する処理
   - キューへの格納
    - 輻輳制御(RED)
    - キューの設定
   - キューからの取り出し
    - 暗黙トラフィッククラス間の優先制御
    - ユーザー定義トラフィッククラス間の優先制御
   - リマーキング
   - 仮想帯域


本製品のQoS(Quality of Service)機能について説明します。

本製品は、ユーザーが定義したポリシーに基づき、各種トラフィックに個別のサービスレベルを割り当てるQoS機能を備えています。

QoS機能では、クラシファイアと呼ばれるパケットフィルターを用いてパケットをトラフィッククラスに分類し、それぞれに異なるサービスレベル(帯域、優先度など)を割り当てます。クラシファイアを用いることにより、IPアドレスやTCP/UDPポート、DSCP(DiffServ Code Point)などに基づいたQoSの制御が可能です。

本製品のQoS機能では、トラフィッククラスごとに次のような処理が可能です。


なお本製品は、LAN側スイッチポートにおいて、VLANタグヘッダーのIEEE 802.1pユーザープライオリティー値に基づいてパケットに送信キューを割り当てる802.1p QoSもサポートしています。これについては、「インターフェース」の章をご覧ください。

Note - QoS機能とプライオリティーフィルターは併用できません。

Note - QoS関連コマンドの機能モジュール名は「QOS」ではなく「SQOS」です(Software QOSの意)。コマンド入力時はご注意ください。

 

基本構成要素

QoS機能の基本的な構成要素について説明します。

本製品では、さまざまな設定要素を作成(定義)し、互いに関連付けることで、QoS機能の動作を制御します。次に基本的な設定要素の関係を示します。


以下、各要素について簡単に説明します。

 

インターフェース

QoSの処理は、パケットがインターフェースを通過するときに実行されます。本製品では、インターフェースにQoSポリシーを適用することで、そのインターフェースを通過するトラフィックを制御します。

QoSポリシーは、インターフェースへの入力時(受信後)とインターフェースからの出力時(送信前)をそれぞれ個別に指定できます。

なお、QoSの処理は低速な出力インターフェースで行うのが一般的です。

 

QoSポリシー

QoSポリシーは、QoS処理の実施に必要な情報をひとつにまとめる役割を持つ、QoS機能の中心的な設定要素です。

QoSポリシーは、他の要素を階層構造に束ね上げ、特定のインターフェースにおけるパケットの流れを制御します。

本製品では、QoSポリシーをインターフェースに関連付けることで、該当インターフェースを通過するパケットの流れを制御します。

 

トラフィッククラス

トラフィッククラスは、異なるQoS処理を適用するために分類した個々のトラフィックをあらわす設定要素です。

最大・最小帯域、出力時の優先度など、各トラフィックに対するQoS処理の内容はトラフィッククラスで設定します。

トラフィッククラスは、QoSポリシーの下にツリー状に配置して使用します。ツリー末端のトラフィッククラス(末端トラフィッククラス)にはパケットを格納するためのキューが用意され、それより上位のトラフィッククラス(中間トラフィッククラス)は下位クラスからの出力順序を制御します。

なお、QoSポリシーの直下には、デフォルトで次にあげる3つのトラフィッククラス(暗黙のトラフィッククラス)が存在しています。QoSポリシーは、これらの3つのトラフィッククラスから一定の比率(重み付け値の比率)でパケットを出力します(重み付きラウンドロビン(WRR/DWRR))。


 

クラシファイア

クラシファイアは、MACアドレス、IPアドレス、DSCP値、プロトコル、TCP/UDPポートなど、さまざまな条件に基づいてパケットをトラフィッククラスに分類する一種のパケットフィルターです。

QoSの処理フローにおいては、クラシファイアによるパケット分類が最初の処理となります。

 

処理適用ポイント

QoSの処理は、QoSポリシーを適用できる下記の3点で行われます。



通常、QoSポリシーは低速な出力インターフェースに適用します。これにより、狭い帯域を分け合うパケットの中でも、本当に重要なパケットだけを優先して送信するような制御が可能です。

一方、入力インターフェースにQoSポリシーを適用する場合は、通常高速なインターフェースに適用します。これは、高負荷環境において、ルーティング処理部への負荷を軽減するような場合に用いられます。これにより、本当に重要なパケットだけをルーティング処理部に送るような制御が可能です。

次に、入力インターフェースから出力インターフェースにいたるQoS処理の流れを示します。「入力時のQoS処理」と「出力時のQoS処理」は、パケットの分類条件に違いがあるだけで、QoS処理の内容自体は同じです。


 

入力ポリシー

入力インターフェースに適用したQoSポリシーを入力ポリシー(INPOLICY)と呼びます。

入力ポリシーはそれ自体CPUに負荷を与えるため、パケットの分類条件に大きな制限があります。入力ポリシーで使用するクラシファイアでは、802.1pユーザープライオリティー、DSCP値またはTOS値の3つのパラメーターしか使用することができません。これはおもに、前段の機器によってセットされた(マーキングされた)情報をもとに、重要なパケットを見分け、優先的にルーティング処理することを目的としています。なお、分類後のQoS処理には制限がありません。

 

出力ポリシー

出力インターフェースに適用したQoSポリシーを出力ポリシー(OUTPOLICY)と呼びます。

一般的に、主要なQoS処理は出力ポリシーに基づいて行われます。出力ポリシーでは、パケットの分類条件には制限がありません。クラシファイアのすべてのパラメーターを使用することができます。

 

トンネルポリシー

VPN(IPsec、GRE)やIPv6のトンネルインターフェースに適用したQoSポリシーをトンネルポリシー(TUNNELPOLICY)と呼びます。

トンネルポリシーは、基本的に出力ポリシーのトンネルインターフェース版です。トンネルポリシーでは、パケットがカプセル化される前にQoS処理が適用されます。なお、トンネルポリシーでは、おもにレイヤー3以上のパラメーターにもとづいてパケットを分類します。

 

基本設定手順

ここでは、QoS機能の基本的な設定手順について解説します。

QoS機能の設定は、各種の設定要素を作成し、QoSポリシーの下にそれらを関連付け、QoSポリシーをインターフェースに適用する作業と言えます。

設定の手順に明確な決まりはありません。要素間の上下関係(QoSポリシーとトラフィッククラス、トラフィッククラスとクラシファイアなど)を作るときにツリー構造の上位から行うことを除けば、どのような順番でもかまいませんが、ここでは2つほど例を挙げておきます。


いずれの場合も、QoS機能の設定をするときは、実現したいことを明確にし、あらかじめよく計画を練っておくことが重要です。

ここでは、最初に基本的な設定例を紹介したのち、QoSポリシーの基本設定要素である、QoSポリシー、トラフィッククラス、クラシファイア、インターフェースのそれぞれについて、設定の要点を説明します。

ここで説明していない要素(機能)の設定方法については、「QoS処理の流れ」をご覧ください。また、全体的な設定例については設定例集をご覧ください。

 

設定手順例

次に基本的な設定手順例を示します。ここでは、次のようなQoS制御を行うものとします。

Note - 以下の例は「手順」を示すことが目的であり、必ずしも実際的なものではありませんのでご注意ください。


  1. QoSポリシーを作成します。


  2. インターフェースにQoSポリシーを適用します。送信パケットに対してQoS処理を行うので、OUTPOLICY(出力ポリシー)として指定します。


  3. トラフィッククラスを作成します。ここでは「音声パケット」と「SIPパケット」に対応する2つのトラフィッククラスを作成し、絶対優先方式(PQ)の優先度(有効範囲は0〜15。15が最高)を設定します。

    なお、明示的に分類しなかったパケットは暗黙のデフォルトトラフィッククラス(優先度0)に割り当てられるため、「その他パケット」に対応するトラフィッククラスを作成する必要はありません。


  4. QoSポリシーにトラフィッククラスを割り当てます。


  5. クラシファイアを作成し、パケットの分類条件を定義します。ここでは「音声パケット」と「SIPパケット」を識別する2つのクラシファイアを作成します。


    Note - ここでは音声パケットがUDPポート16300〜16320を使うと仮定しています。

  6. トラフィッククラスにクラシファイアを割り当てます。


  7. QoS機能を有効化します。


 

QoSポリシーとインターフェース

QoS機能の中心要素はQoSポリシーです。

本製品のQoS機能では、インターフェースにQoSポリシーを適用することで、そのインターフェースを通過(送信時と受信時を個別に設定可能)するトラフィックを制御します。

QoSポリシーが適用されたインターフェースを通るパケットは、次のような流れで処理されます。

  1. トラフィッククラスに分類(classify)
  2. キューに格納(enqueue)
  3. キューから取り出し(dequeue)

各QoSポリシーでは以下の項目を指定できます。詳細はCREATE SQOS POLICYコマンドの説明をご覧ください。


■ QoSポリシーを作成するには、CREATE SQOS POLICYコマンドを使います。


■ QoSポリシーの設定を変更するには、SET SQOS POLICYコマンドを使います。


■ QoSポリシーでは、パケットの出力速度(仮想帯域)を制限することができます。仮想帯域はVIRTBWパラメーターで指定します。


■ QoSポリシーをインターフェースに割り当てるには、SET SQOS INTERFACEコマンドを使います。QoSポリシーを適用できるインターフェースには次の種類があります。

表 1
インターフェース種別
書式
備考
通常のインターフェース
Ethernet ethX ethは固定文字列、Xは番号 eth0, eth1
フレームリレー frX frは固定文字列、Xは番号 fr0, fr1
PPP pppX pppは固定文字列、Xは番号 ppp0, ppp1
スイッチインスタンス swi0 swi0は固定文字列。LAN側スイッチ全体を表す swi0
トンネルインターフェース
GRE greX greは固定文字列、XはGREフィルターの番号 gre1, gre2
IPv6(IPv6 over IPv4, 6to4) virtX virtは固定文字列、Xは番号。 virt0, virt1
IPsec ipsec-policyname ipsec-は固定文字列、policynameはIPsecポリシー名 ipsec-vpn, ipsec-ota


通常のインターフェース(ethX、pppX、frX、swi0)には、入力ポリシー(INPOLICY)と出力ポリシー(OUTPOLICY)を別々に割り当てます。また、トンネルインターフェース(greX、virtX、ipsec-policyname)の場合は、トンネルへの入力時(カプセル化の直前)にポリシーを適用します(TUNNELPOLICY)。

QoSの主目的は、低速なインターフェースからの出力順序を制御するものなので、通常は出力インターフェースにポリシーを適用します。たとえば、ppp0から出力されるパケットに対して、QoSポリシー「1」を適用するには、次のようにします。


入力ポリシーは、おもに高速なインターフェースにおいてパケットの選別を行う場合に使用します。これにより、ルーティング処理にかかる負荷を減らすことができます。たとえば、eth0から入力されるパケットに対して、QoSポリシー「2」を適用するには、次のようにします。


トンネルインターフェースにQoSポリシーを適用するときは、SET SQOS INTERFACEコマンドのTUNNELPOLICYパラメーターを使います。

たとえば、GREトンネルインターフェースに対してQoSポリシー「3」を適用するには、次のようにします。GREトンネルインターフェースは「greX」の形式で指定します。「X」の部分はGREフィルター(ADD GREコマンドで作成し、ADD IP INTERFACEコマンドのGREパラメーターで適用)の番号になります。次の例ではGREフィルター「1」によって識別されるトンネルに対してQoSポリシー「3」を適用しています。


また、IPv6 over IPv4トンネルインターフェースvirt0に対して、QoSポリシー「4」を適用するには、次のようにします。


また、IPsecポリシーvpnにQoSポリシー「5」を適用するには、次のようにします。インターフェース名として「ipsec-policyname」(「policyname」の部分はIPsecポリシー名で置き換える)を使うことに注意してください。


Note - 通常のインターフェースには、INPOLICYとOUTPOLICYを1つずつ適用できます。トンネルインターフェースには、TUNNELPOLICYを1つだけ適用できます。

Note - QoSポリシーは、複数のインターフェースで使用することができます。また、QoSポリシーには、複数のトラフィッククラスを割り当てることができます。

■ インターフェースに適用したQoSポリシーを削除(適用解除)するには、SET SQOS INTERFACEコマンドにおいて、QoSポリシー番号の代わりにキーワードNONEを指定します。たとえば、ppp0の出力ポリシーを「なし」にするには、次のようにします。


■ QoSポリシーの情報は、SHOW SQOS POLICYコマンドで確認できます。TREEオプションを使用すると、QoSポリシーの階層構造(ポリシー → トラフィッククラス → クラシファイア)を確認することもできます。


 

トラフィッククラス

トラフィッククラスは、同じQoS処理を適用すべきトラフィック(たとえば、「ビデオトラフィック」)をひとまとめにしたものです。個々のトラフィックに対するQoS処理の内容はトラフィッククラスで設定します。

トラフィッククラスは、QoSポリシーの下にツリー状に配置して使用します。末端のトラフィッククラスにはパケットを格納するためのキューが用意され、それより上位のトラフィッククラスは下位クラスからの出力順序を制御します。

各トラフィッククラスでは以下の項目を指定できます。


■ トラフィッククラスを作成するには、CREATE SQOS TRAFFICCLASSコマンドを使います。


■ トラフィッククラスの設定を変更するには、SET SQOS TRAFFICCLASSコマンドを使います。


■ トラフィッククラスでは、パケットの出力速度(仮想帯域)を制限することができます。仮想帯域はVIRTBWパラメーターで指定します。これにより、該当トラフィッククラスの使用帯域を指定値までに制限可能です。


■ パケットは、末端トラフィッククラスに備えられたキューに格納されます。したがって、キューに関する設定は末端トラフィッククラスでのみ有効です。


■ 同一階層のトラフィッククラス間では、絶対優先方式(PQ)または重み付きラウンドロビン(WRR/DWRR)によってパケットの出力順序が決定されます。

■ トラフィッククラスに優先度(PRIORITY)が設定されている場合は、絶対優先方式(PQ)によって出力順序が決まります。PRIORITYパラメーター、WEIGHTパラメーターのどちらも指定しなかった場合は、デフォルトでPRIORITY=1となります。


最優先で送信したいトラフィッククラスにはPRIORITY=15(優先度最高)を設定します。PRIORITY=15のトラフィッククラスは、優先度の低いすべてのトラフィッククラス、および、すべての重み付きトラフィッククラスよりも優先されます。


■ トラフィッククラスに重み付け値(WEIGHT)が設定されている場合は、重み付きラウンドロビン(WRR/DWRR)によって出力順序が決まります。次の例では、トラフィッククラス「3」と「4」に10:20の重みを付けています。


Note - WRR/DWRRのどちらを使用するかは、上位のトラフィッククラス(CREATE SQOS TRAFFICCLASSコマンド)またはQoSポリシー(CREATE SQOS POLICYコマンド)のWEIGHTSCHEDULERパラメーターの値で決まります。

■ トラフィッククラスでメータリング(帯域使用量計測)を行う場合は、あらかじめCREATE SQOS METERコマンドでメーター(帯域使用量計測器)を作成しておき、その番号をMETERパラメーターで指定します。


■ プレマーキング、リマーキングの動作は、PREMARKBWCL、PREMARKDSCP、REMARKING、REMARKVLANPRIパラメーターで指定します。DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成(CREATE SQOS DSCPMAPコマンド)・編集(SET SQOS DSCPMAPコマンド)し、QoSポリシー作成時(または作成後)にDSCPMAPの番号を指定しておいてください(CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター)。


■ トラフィッククラスをQoSポリシーに割り当てるには、ADD SQOS POLICY TRAFFICCLASSコマンドを使います。QoSポリシーが適用されたインターフェースにおいて、パケットのチェック(クラシファイアとの照合)はトラフィッククラスの番号順(昇順)に行われます。


■ トラフィッククラスには、子トラフィッククラスを割り当てることもできます。これには、ADD SQOS TRAFFICCLASS SUBCLASSコマンドを使います。


Note - トラフィッククラスは、1つのQoSポリシーかトラフィッククラス(中間トラフィッククラス)にしか割り当てることができません。末端トラフィッククラスには複数のクラシファイアを割り当てることができます。

■ トラフィッククラスの情報は、SHOW SQOS TRAFFICCLASSコマンドで確認できます。


 

クラシファイア

QoS機能の中心要素がQoSポリシーだとすると、末端の要素はクラシファイアです。クラシファイアは、汎用のパケットフィルターで、アドレス、プロトコルなどをもとにパケットを「トラフィッククラス」に分類する働きを持ちます。

本製品のQoS機能では、パケットをトラフィッククラスに分類し、クラスごとに処理を行いますが、これらの分類の第一歩はクラシファイアによって行われます。

■ クラシファイアはCREATE CLASSIFIERコマンドで作成します。入力ポリシー(INPOLICY)、出力ポリシー(OUTPOLICY)、トンネルポリシー(TUNNELPOLICY)では、それぞれ使用できるパラメーター(分類条件)が異なるので注意してください。


次に、クラシファイアの分類条件についてまとめます。

IN、OUT、TUN欄では、QoSポリシーの種類(IN = 入力ポリシー、OUT = 出力ポリシー、TUN = トンネルポリシー)ごとに、CREATE CLASSIFIERコマンドのどのパラメーターが使用可能であるかを示しています(○ = 使用可能、× = 使用不可)。

表 2:クラシファイアの条件パラメーター
項目名
説明
IN
OUT
TUN
備考
レイヤー1
IINTERFACE 入力インターフェース(ethX、frX、pppX) × IPORT、EPORTとの同時使用は不可
IPORT 入力スイッチポート × × IINTERFACEとの同時使用は不可
EPORT 出力スイッチポート × × スイッチインスタンス(swi0)に適用した出力ポリシーでのみ有効。IINTERFACE、PPPINDEXとの同時使用は不可
レイヤー2
MACSADDR (Ethernet)送信元MACアドレス × ×  
MACDADDR (Ethernet)宛先MACアドレス × ×  
MACTYPE (Ethernet)レイヤー2アドレス種別。L2UCAST(ユニキャスト)、L2BMCAST(マルチキャストとブロードキャスト)、ANY(すべて)のいずれか × ×  
SVLAN 入力VLAN × ×  
DVLAN 出力VLAN × ×  
VLANPRIORITY 802.1pユーザープライオリティー ×  
PPPINDEX 出力PPPインターフェース番号 × × EPORTとの同時使用は不可
レイヤー3
IPSADDR (IPv4ヘッダー)始点IPv4アドレス/マスク長 ×  
IPSADDR (IPv6ヘッダー)始点IPv6アドレス/プレフィックス長 ×  
IPDADDR (IPv4ヘッダー)終点IPv4アドレス/マスク長 ×  
IPDADDR (IPv6ヘッダー)始点IPv6アドレス/プレフィックス長 ×  
IPDSCP (IPv4/IPv6ヘッダー)DSCP(DiffServ Code Point) IPTOSとの同時使用は不可
IPTOS (IPv4ヘッダー)TOS優先度(precedence) IPDSCPとの同時使用は不可
IPFRAG (IPv4パケット)フラグメント化されているかどうか ×  
IPPROTOCOL (IPv4/IPv6ヘッダー)プロトコルタイプ(レイヤー4プロトコルタイプ) ×  
レイヤー4
TCPFLAGS (TCPヘッダー)制御フラグ ×  
TCPSPORT (TCPヘッダー)始点ポート ×  
TCPDPORT (TCPヘッダー)終点ポート ×  
UDPSPORT (UDPヘッダー)始点ポート ×  
UDPDPORT (UDPヘッダー)終点ポート ×  


■ 末端トラフィッククラスにクラシファイアを割り当てるには、ADD SQOS TRAFFICCLASS CLASSIFIERコマンドを使います。


Note - 子クラスを持つトラフィッククラス(中間トラフィッククラス)にはクラシファイアを割り当てられません。

Note - クラシファイアは、複数の末端トラフィッククラスに割り当てることができます。ただし、同一ポリシー内で同じクラシファイアを複数回使うことはできません。

 

クラシファイアの照合順序

QoSポリシー内におけるクラシファイアの照合順序は次のようになります。

  1. クラシファイアが関連付けられている末端トラフィッククラスを番号の小さいものから大きいものの順に照合します。

  2. 末端トラフィッククラス内では、クラシファイアを番号の小さいものから大きいものの順に照合します。

次に具体例を挙げて説明します。次図では、最初に末端トラフィッククラス(TC 10、23、25、45、46)の中でもっとも番号の小さいTC 10から順番にクラシファイアの照合が行われます。

TC 10には2つのクラシファイア(CL 5と6)が関連付けられていますが、これらも番号の小さい順に5、6の順番で照合されます。したがって、本ポリシーの適用されているインターフェースでは、クラシファイア5、6、3、4、1、2、9、10、7、8の順でパケットのチェックが行われます。

パケットは、最初にマッチしたクラシファイアが関連付けられている末端トラフィッククラスの所属となります。どのクラシファイアにもマッチしなかったパケットは、デフォルトトラフィッククラスの所属となります。


 

処理フローと詳細設定

ここでは、個々のQoS機能について、全体的なQoS処理の流れにしたがって解説します。

次に、パケットに対するQoS処理の流れを示します。この図の処理フローは、入力ポリシー、出力ポリシー、トンネルポリシーのすべてにおいて同じです。異なるのは、「パケット分類」における分類条件だけです。


表 3:末端トラフィッククラスにおけるQoS処理の流れ
-
大分類
小分類
処理内容
1 パケット分類(classify) - クラシファイアにより、パケットをトラフィッククラスに分類します。どのクラシファイアにもマッチしなかったパケットは、デフォルトトラフィッククラスに分類します。また本製品自身が送受信する制御パケットなどは、システムトラフィッククラスに分類します
2 プレマーキング(premark) - プレマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、帯域クラスの初期値を割り当てたりします。プレマーキングの設定がされていない場合は、帯域クラスの初期値として1が割り当てられます
3a メータリング(meter) メータリング メーターが指定されている場合、パケットがどの程度帯域を使用しているかを計測し、計測結果に基づきパケットを3つの「帯域クラス」に分類します
3b 帯域クラス3の処理 「帯域クラス3(帯域を使いすぎ)に対する処理(BWCLASS3ACTION)が指定されている場合、帯域クラス3に該当するパケットを破棄するか、該当するパケットの処理を一時停止します。一時停止の場合、設定によってログやSNMPトラップによる通知も可能です
4a キューへの格納(enqueue) RED REDカーブセットが指定されている場合、REDアルゴリズムを使用して、キュー長が限界に達する前にパケットをランダムに破棄して輻輳を回避します
4b Tail/Head-drop キュー長が限界に達している場合は、キューの先頭(Head-drop)または末尾(Tail-drop)からパケットを破棄します
4c キューへの格納 パケットをキューに格納します
5 キューからの取り出し(dequeue) - 上位トラフィッククラスまたはQoSポリシーの要請にしたがい、パケットをキューから取り出します
6 リマーキング(remark) - リマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、新しい帯域クラスを割り当てたりします。また、802.1p値の書き換えも可能です
7 仮想帯域(virtual bandwidth) - 仮想帯域(VIRTBW)が設定されている場合、指定された帯域をオーバーしない速度でパケットを次のステップに送り出します


表 4:中間トラフィッククラス、QoSポリシーにおけるQoS処理の流れ
-
大分類
小分類
備考
8 キューからの取り出し(dequeue) - 上位トラフィッククラス、QoSポリシー、インターフェースなどからの要請にしたがい、下位のトラフィッククラスからパケットを取り出します。配下に複数のトラフィッククラスが存在する場合は、各トラフィッククラスの優先度(PRIORITY)や重み付け値(WEIGHT)に基づき、絶対優先方式(PQ)や重み付きラウンドロビン(WRR/DWRR)といったアルゴリズムを用いて取り出す順序を制御します
9 仮想帯域(virtual bandwidth) - 仮想帯域(VIRTBW)が設定されている場合、指定された帯域をオーバーしない速度でパケットを次のステップに送り出します
10a メータリング(meter) メータリング メーターが指定されている場合、パケットがどの程度帯域を使用しているかを計測し、計測結果に基づきパケットを3つの「帯域クラス」に分類します
10b 帯域クラス3の処理 「帯域クラス3(帯域を使いすぎ)に対する処理(BWCLASS3ACTION)が指定されている場合、帯域クラス3に該当するパケットを破棄するか、該当するパケットの処理を一時停止します。一時停止の場合、設定によってログやSNMPトラップによる通知も可能です
11 リマーキング(remark) - リマーキングの設定がなされている場合は、設定内容にしたがってパケットのDSCP値を書き換えたり、新しい帯域クラスを割り当てたりします。また、802.1p値の書き換えも可能です


以下では、各ステップについて解説します。

 

パケット分類

ポリシーベースのQoS処理で最初に行われるのは、クラシファイアによってパケットをトラフィッククラスに分類(classify)することです。

パケットとクラシファイアの照合は、QoSポリシー内のトラフィッククラス番号順で行われます。また、トラフィッククラス内では、クラシファイア番号順に行われます。

クラシファイアの設定については、本章の「基本設定手順」をご覧ください。

 

プレマーキング

プレマーキング(premark)は、トラフィッククラスに分類されたパケットに対して行われる最初のQoS処理です。プレマーキングは、末端のトラフィッククラスでのみ実施されます。

プレマーキングでは、パケットに対してDSCP値の書き換えと帯域クラス(後述)の割り当てを行うことができます。この機能は、おもに次の用途を想定しています。


DSCP値の書き換え、帯域クラスの割り当てには2つの方法があります。


プレマーキングの設定は、トラフィッククラス単位で行います。

■ プレマーキングの設定をするには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのPREMARKBWCL、PREMARKDSCPパラメーターを使います。PREMARKBWCLは帯域クラスの割り当てに関する設定、PREMARKDSCPはDSCP値の書き換えに関する設定です。

■ PREMARKBWCLに1〜3の数値を指定した場合、トラフィッククラスの全パケットに指定した値の帯域クラスが割り当てられます。たとえば、トラフィッククラス「10」のすべてのパケットに帯域クラス2を割り当てるには、次のようにします。


Note - PREMARKBWCLパラメーターを省略した場合は、トラフィッククラスの全パケットに帯域クラスの初期値として1が割り当てられます。

■ PREMARKBWCLにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値をインデックスとしてプレマーキング用DSCPMAPテーブルを参照し、結果として得られた帯域クラスをパケットに割り当てます。

DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成(CREATE SQOS DSCPMAPコマンド)・編集(SET SQOS DSCPMAPコマンド)し、QoSポリシー作成時(または作成後)にDSCPMAPの番号を指定しておいてください(CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター)。

たとえば、プレマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31のパケットに帯域クラス1を、DSCP値32〜63のパケットに帯域クラス2を割り当てるには、次のようにします。


■ PREMARKDSCPに0〜63の数値を指定した場合、トラフィッククラスの全パケットに指定した値のDSCP値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットにDSCP値31を書き込むには次のようにします。


■ PREMARKDSCPにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値をインデックスとしてプレマーキング用DSCPMAPテーブルを参照し、結果として得られたDSCP値がパケットに書き込まれます。

DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成(CREATE SQOS DSCPMAPコマンド)・編集(SET SQOS DSCPMAPコマンド)し、QoSポリシー作成時(または作成後)にDSCPMAPの番号を指定しておいてください(CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター)。

たとえば、プレマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31のパケットはDSCP値を1に書き換え、DSCP値32〜63のパケットはDSCP値を2に書き換えるには、次のようにします。


■ DSCPMAPはCREATE SQOS DSCPMAPコマンドで作成し、SET SQOS DSCPMAPコマンドで編集します。


プレマーキング用DSCPMAPテーブルは、DSCP値をインデックスとする書き換え対応表で、各エントリーには書き換え後のDSCP値と帯域クラスが格納されています。

DSCPMAPを作成した直後、プレマーキング用テーブルはすべてのDSCP値を帯域クラス1にマップする設定(DSCP値は書き換えない)、リマーキング用テーブルはDSCP値も帯域クラスも一切変更しない設定になっています。DSCPMAPの内容を編集するには、SET SQOS DSCPMAPコマンドを使います。

■ プレマーキング用DSCPMAPテーブルの編集は、SET SQOS DSCPMAPコマンドで行います。たとえば、DSCP値が61のパケットに対して、DSCP値3、帯域クラス1を割り当てるには、つぎのようにします。


■ プレマーキングの設定内容は、SHOW SQOS TRAFFICCLASSコマンドで確認できます。


■ DSCPMAPの設定内容は、SHOW SQOS DSCPMAPコマンドで確認できます。


 

メータリング

本製品で帯域制御を行うための手段の1つにメータリング(meter)があります。これは、ユーザーの設定した基準値(最大・最小帯域と許容バーストサイズ)をもとに、各トラフィッククラスが実際にどの程度の帯域を使用しているかを計測するもので、各パケットが帯域設定にどの程度適合しているかを判断する基準となります。メータリングは、プレマーキングの後、キューへの格納前に行われます。

計測の結果、パケットは次に示す3つの「帯域クラス」に分類されます。

表 5:3つの帯域クラス
帯域クラス
帯域使用量
取り扱い方法(一例)
1 少ない 帯域割り当ての優先度は最高
2 中程度 帯域割り当ての優先度は中
3 使いすぎ 帯域割り当ての優先度は最低。輻輳時は優先的に破棄


帯域クラス3(使いすぎ)に分類されたパケットは、メータリング後に破棄したり、出力を一時停止したりすることが可能です。また、REDアルゴリズムの適用時やリマーキング時には、帯域クラスごとに異なる処理を行うことが可能です。

Note - プレマーキングの設定を特に行っておらず、また、メータリングも実施しない場合、プレマーキングのデフォルト設定により、パケットはデフォルトの帯域クラス1として扱われます。

メータリングを行うには、メーター(帯域使用量計測器)と呼ばれる設定要素を作成し、計測基準値(帯域とバーストサイズ)を指定した上で、QoSポリシーまたはトラフィッククラスで作成したメーターを使用するよう指示します。

メーターには、基準値の数によって、シングルレート・メーターとツインレート・メーターの2種類があります。これらはそれぞれ、RFC2697(srTCM = Single Rate Three Color Meter)、RFC2698(trTCM = Two Rate Three Color Marker)に基づいた動作を行います。

 

シングルレート・メーター(srTCM)

シングルレート・メーター(srTCM)では、1つの帯域しきい値(MAXBANDWIDTH)と2つのバーストサイズしきい値(MAXBURSTSIZE、MINBURSTSIZE)、あわせて3つの設定値に基づいて、各パケットを帯域クラスに分類します。

Note - 本製品のシングルレート・メーターはRFC2697に準じていますが、基準値などの用語は異なったものを使っています。また、本章における説明は概念的なもので、メーターの動作を厳密に説明しているわけではありません。メーターの動作原理についてはRFC2697をご参照ください。また、基準値名の対応については次の表を参照してください。なお、帯域クラス1、2、3は、RFCにおける緑(green)、黄(yellow)、赤(red)に対応しています。

表 6:本製品とRFC2697のsrTCM基準値名称対応表
本製品
RFC2697
MAXBANDWIDTH CIR (Committed Information Rate)
MAXBURSTSIZE EBS (Excess Burst Size)
MINBURSTSIZE CBS (Committed Burst Size)


シングルレート・メーターは、次の判定基準にしたがってパケットを帯域クラスに分類します。

表 7:シングルレート・メーターの判定基準
帯域クラス
帯域使用量
判定基準
1 少ない バーストサイズ <= MINBURSTSIZE
2 中程度 MINBURSTSIZE < バーストサイズ <= MAXBURSTSIZE
3 使いすぎ バーストサイズ > MAXBURSTSIZE



ここでのバーストサイズとは、トラフィックの流入量がMAXBANDWIDTHを超えた場合に、MAXBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMAXBANDWIDTH以下であれば、バーストサイズは0です。

トラフィックが瞬間的にMAXBANDWIDTHをオーバーしても、超過している時間が短ければ、バーストサイズはMINBURSTSIZE以内にとどまり、すべてのパケットが帯域クラス1として扱われることになります。

これに対し、MAXBANDWIDTHをオーバーしている時間が長くなると、バーストサイズがMINBURSTSIZEを超えることがあります。この場合、MINBURSTSIZEを超えてバッファリングされたパケットには、帯域クラス2が割り当てられます。さらに時間が経過すると、バーストサイズがMAXBURSTSIZEを超えますが、この超過分は帯域クラス3となります。

■ シングルレート・メーターを作成するには、CREATE SQOS METERコマンドのTYPEパラメーターにsrTCMを指定し(省略しても同じ)、MAXBANDWIDTH(CIR)、MAXBURSTSIZE(EBS)、MINBURSTSIZE(CBS)の3つのパラメーターを指定します。このとき、少なくともMINBURSTSIZEとMAXBURSTSIZEのどちらかを、予期される最大パケットサイズ以上に設定する必要があります。また、通常はMINBURSTSIZE < MAXBURSTSIZEとなるように設定します。

■ メーターの作成時にIGNOREBWCLASS=YESを指定すると、すでにパケットに帯域クラスが割り当てられていた場合に、これを無視させることができます(Color-blind)。この場合、純粋に帯域使用量の計測結果に基づいて新たな帯域クラスを割り当てます。一方、IGNOREBWCLASS=NO(デフォルト)を指定したときは、すでに割り当てられた帯域クラスを基準として、同じクラスかそれよりも適合性の低いクラスにだけ分類します(Color-aware)。

表 8:IGNOREBWCLASSパラメーターの効果
元の帯域クラス
メータリングの結果割り当てられうる帯域クラス
YES (color-blind)時
NO (color-aware)時
1 1, 2, 3 1, 2, 3
2 1, 2, 3 2, 3
3 1, 2, 3 3


 

ツインレート・メーター(trTCM)

ツインレート・メーター(trTCM)では、2つの帯域しきい値(MAXBANDWIDTH、MINBANDWIDTH)と2つのバーストサイズしきい値(MAXBURSTSIZE、MINBURSTSIZE)、あわせて4つの設定値に基づいて、パケットを帯域クラスに分類します。

Note - 本製品のツインレート・メーターはRFC2698に準じていますが、基準値などの用語は異なったものを使っています。また、本章における説明は概念的なもので、メーターの動作を厳密に説明しているわけではありません。メーターの動作原理についてはRFC2698をご参照ください。また、基準値名の対応については次の表を参照してください。なお、帯域クラス1、2、3は、RFCにおける緑(green)、黄(yellow)、赤(red)に対応しています。

表 9:本製品とRFC2698のtrTCM基準値名称対応表
本製品
RFC2698
MAXBANDWIDTH PIR (Peak Information Rate)
MINBANDWIDTH CIR (Committed Information Rate)
MAXBURSTSIZE PBS (Peak Burst Size)
MINBURSTSIZE CBS (Committed Burst Size)


ツインレート・メーターは、次の判定基準にしたがってパケットを帯域クラスに分類します。

表 10:ツインレート・メーターの判定基準
帯域クラス
帯域使用量
判定基準
1 少ない バーストサイズ(MIN) <= MINBURSTSIZE
2 中程度 バーストサイズ(MIN) > MINBURSTSIZE かつ バーストサイズ(MAX) <= MAXBURSTSIZE
3 使いすぎ バーストサイズ(MAX) > MAXBURSTSIZE



ここでのバーストサイズ(MIN)とは、トラフィックの流入量がMINBANDWIDTHを超えた場合に、MINBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMINBANDWIDTH以下であれば、バーストサイズ(MIN)は0です。

同様に、バーストサイズ(MAX)とは、トラフィックの流入量がMAXBANDWIDTHを超えた場合に、MAXBANDWIDTH超過分としてバッファリングされたデータ量を示しています。トラフィック量がMAXBANDWIDTH以下であれば、バーストサイズ(MAX)は0です。

トラフィックが瞬間的にMINBANDWIDTHをオーバーしても、超過している時間が短ければ、バーストサイズ(MIN)はMINBURSTSIZE以内にとどまり、すべてのパケットが帯域クラス1として扱われることになります。

これに対し、MINBANDWIDTHをオーバーしている時間が長くなると、バーストサイズ(MIN)がMINBURSTSIZEを超えることがあります。この場合、MINBURSTSIZEを超えてバッファリングされたパケットには、帯域クラス2が割り当てられます。

さらにトラフィックが増えると、今度は帯域使用量がMAXBANDWIDTHを超過することがありますが、その時間が長引きバーストサイズ(MAX)がMAXBURSTSIZEを超えると、超過分のパケットには帯域クラス3が割り当てられます。

■ ツインレート・メーターを作成するには、CREATE SQOS METERコマンドのTYPEパラメーターにtrTCMを指定し、MAXBANDWIDTH(PIR)、MAXBURSTSIZE(PBS)、MINBANDWIDTH(CIR)、MINBURSTSIZE(CBS)の4つのパラメーターを指定します。このとき、MINBURSTSIZEとMAXBURSTSIZEの両方を1以上の値に設定する必要があります。また、RFC2698では、MINBURSTSIZEとMAXBURSTSIZEの両方を、予期される最大パケットサイズ以上に設定することを推奨しています。

■ メーターの作成時にIGNOREBWCLASS=YESを指定すると、すでにパケットに帯域クラスが割り当てられていた場合に、これを無視させることができます(Color-blind)。この場合、純粋に帯域使用量の計測結果に基づいて新たな帯域クラスを割り当てます。一方、IGNOREBWCLASS=NO(デフォルト)を指定したときは、すでに割り当てられた帯域クラスを基準として、同じクラスかそれよりも適合性の低いクラスにだけ分類します(Color-aware)。

表 11:IGNOREBWCLASSパラメーターの効果
元の帯域クラス
メータリングの結果割り当てられうる帯域クラス
YES (color-blind)時
NO (color-aware)時
1 1, 2, 3 1, 2, 3
2 1, 2, 3 2, 3
3 1, 2, 3 3


 

帯域クラス3に対する処理

帯域クラス3(使いすぎ)に分類されたパケットに対しては、トラフィッククラス(CREATE SQOS TRAFFICCLASSコマンド)、QoSポリシー(CREATE SQOS POLICYコマンド)のBWCLASS3ACTIONパラメーターで「破棄」「出力一時停止」の指定が可能です。

■ BWCLASS3ACTION=DROPを指定すると、帯域クラス3(使いすぎ)に分類されたパケットをキューへの格納前に破棄することができます。


■ BWCLASS3ACTION=PAUSEを指定すると、帯域クラス3に分類されたパケットの送信を一時的に停止することができます。送信停止時間はPAUSETIMEパラメーターで変更できます。また、PAUSEACTIONパラメーターの指定によって、送信停止時にログを記録したり、SNMPトラップを送信したりすることもできます。


■ BWCLASS3ACTION=NONE(デフォルト)の場合、帯域クラス3のパケットはすぐには破棄されませんが、REDカーブセットの設定によって輻輳時に優先的に破棄したり、リマーキング時に特別なマークを付け次ホップのルーターに通知したりすることが可能です。

 

キューへの格納

本製品のQoS機能では、末端のトラフィッククラスごとにキューが用意されます。

キューが混雑している場合の動作には次の2つがあります。デフォルトはREDなしです。


また、REDなしの場合は、破棄順序として次の2つがあります。デフォルトはTail-dropです。


 

輻輳制御(RED)

通常は、キューの長さがあらかじめ設定された最大値を超えた場合に超過分のパケットを破棄します。

これに対し、RED(Random Early Detection/Discard)は、キュー長が上限に達する前にパケットを徐々に破棄していくことで、キューの枯渇を予防したり、トランスポート層の輻輳回避メカニズムを有効に機能させたりするためのアルゴリズムです。REDを使用すれば、より細やかな帯域制御を実現できます。

Note - REDアルゴリズムは流量制御や輻輳回避の機能を持つTCPトラフィックに対してもっとも効果を発揮します。UDPのように輻輳制御機能を持たないプロトコルに対しては効果がありませんのでご注意ください。

REDアルゴリズムの設定は、平均キュー長とパケット破棄率の関係を示す「REDカーブ」を定義し、これをスイッチポートに割り当てることによって行います。

REDカーブは以下のパラメーターによって定義します。


各パラメーターを図示すると次のようになります。平均キュー長がSTARTからSTOPの間にある場合、パケットは0からDROPの間の確率でランダムに破棄されます。パケットの破棄率は平均キュー長がSTOPに近づくにつれ高くなっていき、STOPのときDROPとなります。平均キュー長がSTOPを超えると、すべてのパケットが破棄されます。平均キュー長がSTART以下のときはパケットは破棄されません。


本製品では、各キュー(末端トラフィッククラス)における3つの帯域クラスのそれぞれに対して、REDカーブを個別に設定できます(帯域クラス3を最初に破棄、次に帯域クラス2、最後に帯域クラス1を破棄、といった設定が可能)。

これら3個のREDカーブを束ねたものを「REDカーブセット」と呼びます。実際には、キュー(末端トラフィッククラス)に「REDカーブセット」を割り当てます。

Note - プレマーキングの設定を特に行っておらず、また、メータリングも実施しない場合、プレマーキングのデフォルト設定により、パケットはデフォルトの帯域クラス1として扱われます。

デフォルトでは、3つのREDカーブセット0〜2が定義されています。デフォルトのREDカーブセットを変更・削除することはできません。

■ REDカーブセットは、CREATE SQOS REDコマンドで作成します。ユーザー定義のREDカーブセットは61個まで作成可能です。


■ REDカーブセットのパラメーター変更は、SET SQOS REDコマンドで行います。


■ キュー(末端トラフィッククラス)にREDカーブセットを適用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのREDパラメーターを使います。これにより、該当トラフィッククラスのパケットをキューに格納するとき(格納する前に)、指定したREDカーブセットの設定に基づいてREDアルゴリズムが適用されます。


 

キューの設定

キューの設定は末端トラフィッククラスで行います。

■ 最大キュー長は、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのMAXQLENパラメーターで指定します。


■ キュー長があらかじめ設定された最大値を超えた場合は、超過分のパケットを破棄します。各キュー(末端トラフィッククラス)では、キューの末尾から(新しいほうから)パケットを破棄するか(Tail-drop)、キューの先頭から(古いほうから)パケットを破棄するか(Head-drop)を選択可能です。

デフォルトの設定では、すべての末端トラフィッククラスでTail-dropが使用されます。Head-dropはリアルタイム性の高いトラフィックなどで有効な場合があります。

■ Tail-dropを使用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQUEUEDROPパラメーターにTAIL(デフォルト)を指定します。これにより、該当トラフィッククラスのキューが混雑しているとき、Tail-dropアルゴリズムが適用されます。


■ Head-dropを使用するには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQUEUEDROPパラメーターにHEADを指定します。これにより、該当トラフィッククラスのキューが混雑しているとき、Head-dropアルゴリズムが適用されます。


■ 最大キュー長を超過したときに、ログメッセージを残したり、SNMPトラップで通知したりすることもできます。これには、CREATE SQOS TRAFFICCLASSコマンド、SET SQOS TRAFFICCLASSコマンドのQLIMITEXCEEDACTIONパラメーターを使います。


 

キューからの取り出し

キューに格納されたパケットをどのような順序で出力するかは、各トラフィッククラスに設定された優先度(PRIORITY)または重み付け値(WEIGHT)によって決まります。

キューからの取り出しは、おおまかに次の流れで行われます。

  1. インターフェース(またはトンネル)がQoSポリシーに対してパケットを要求する。

  2. QoSポリシーは、配下のトラフィッククラス(システム、ルート、デフォルト)のどれかにパケットを要求する。どのトラフィッククラスに要求するかは、3つのクラスの重み付け値(WEIGHT)をもとに、重み付きラウンドロビン(WRR/DWRR)アルゴリズムを適用して決定する。

  3. トラフィッククラスは、自身が末端トラフィッククラスであればキューからパケットを取り出し、QoSポリシーに引き渡す。中間トラフィッククラスの場合は、子クラスのどれかにパケットを要求する。どの子クラスに要求するかは、各子クラスに設定された優先度(PRIORITY)や重み付け値(WEIGHT)をもとに、絶対優先方式(PQ)か重み付きラウンドロビン(WRR/DWRR)アルゴリズムを適用して決定する。

  4. 末端トラフィッククラスに到達するまで手順3を繰り返す。

次に、キューからの取り出しを中心にしたQoS処理の流れ図を示します。


 

暗黙トラフィッククラス間の優先制御

QoSポリシー直下にある暗黙のトラフィッククラス(システム、ルート、デフォルト)間では、重み付きラウンドロビン(WRR/DWRR)アルゴリズムによって出力順序が決定されます。デフォルトでは、3つのトラフィッククラスには次のような重み付けがなされています。


これにより、輻輳状態であっても、システムトラフィッククラスには全帯域の約20%が、ルートトラフィッククラス(と配下のユーザー定義トラフィッククラス全体)には約80%が確保されます。

Note - WRR(Weighted Round Robin)では重み付け値をパケット単位でしか考えないため、パケットサイズの大きなトラフィックは、重み付け値の比率以上の帯域を消費する可能性があります。一方、改良型のDWRR(Deficit Weighted Round Robin)ではパケットサイズを考慮するため、重み付け値の比率がより実際の帯域配分比率に近くなります。

一方、輻輳時、重み付け値が0のデフォルトトラフィッククラスからはパケットが出力されません。デフォルトトラフィッククラスからパケットが出力されるのは、システム、ルートの両トラフィッククラスに送信すべきパケットがないときだけとなります。

■ システムトラフィッククラスの重み付け値は、QoSポリシーのSYSTEMTRAFFICパラメーターで変更できます(CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンド)。有効範囲は5〜50です。


■ ルートトラフィッククラスの重み付け値は、直接変更することはできませんが、システムトラフィッククラス、デフォルトトラフィッククラスの重み付け値を変更することにより、間接的に変更可能です。ルートトラフィッククラスの重み付け値は、次の式で求めることができます。したがって、ルートトラフィッククラスの重み付け値の有効範囲は30〜95となります。


■ デフォルトトラフィッククラスの重み付け値は、次の方法で変更できます。有効範囲は0〜20です。
  1. 重み付けされたトラフィッククラスを作成します。デフォルトトラフィッククラスとして使用する場合、重み付け値の有効範囲は0〜20です。また、WEIGHTパラメーターを指定しないと優先度付き(デフォルト値 PRIORITY=1)のトラフィッククラスになるのでご注意ください。


  2. 作成したトラフィッククラスの番号を、QoSポリシーのDEFAULTTRAFFICCLASSパラメーターに指定します。


 

ユーザー定義トラフィッククラス間の優先制御

ルートトラフィックの下に配置されるユーザー定義のトラフィッククラス間での出力順序は、トラフィッククラスのツリー構造と各種パラメーターによって決まります。


ここでは、ルートトラフィッククラスの直下に次のようなトラフィッククラスツリーがあるものと想定して説明します。3つのトラフィッククラスには、それぞれ次のような優先度、重み付け値が設定されています。


ルートトラフィッククラスに出力順がまわってきたとき、配下のトラフィッククラス1、2、3のいずれかからパケットが出力されます。この例では、次のような順序になります。


■ 他よりも優先的に送信したいトラフィッククラスには、優先度(PRIORITY)を設定して絶対優先方式(PQ)で送信されるよう設定します。遅延やゆらぎに弱いトラフィッククラスには、高い優先度を設定してください。優先度の有効範囲は0〜15です(15が最優先)。


■ すべてのトラフィッククラスに優先度を設定した場合、ユーザー定義トラフィッククラス間では絶対優先方式(PQ)の優先制御が行われます。ただし、同じ優先度を持つトラフィッククラス間ではラウンドロビンされます。また、暗黙のトラフィッククラス(システム、ルート、デフォルト)間では重み付きラウンドロビン(WRRかDWRR)による優先制御が行われます。

■ 絶対優先方式(PQ)ではなく一定の比率で各トラフィッククラスから順番に出力(ラウンドロビン)したい場合は、各トラフィッククラスに重み付け値(WEIGHT)を設定します。たとえば、次のように設定した場合、


トラフィッククラス1、2、3、4からは、60:30:12:6、すなわち、10:5:2:1の比率でパケットが順番に出力されます。

Note - 暗黙のトラフィッククラス(システム、ルート、デフォルト)はWEIGHTの合計が100になっていますが、ユーザー定義のトラフィッククラスの場合、WEIGHTの合計は100でなくてもかまいません。

■ 重み付きラウンドロビンのアルゴリズムにWRR/DWRRのどちらを使用するかは、上位のトラフィッククラス(CREATE SQOS TRAFFICCLASSコマンド)またはQoSポリシー(CREATE SQOS POLICYコマンド)のWEIGHTSCHEDULERパラメーターで指定します。デフォルトはWRRです。


Note - WRR(Weighted Round Robin)では重み付け値をパケット単位でしか考えないため、パケットサイズの大きなトラフィックは、重み付け値の比率以上の帯域を消費する可能性があります。一方、改良型のDWRR(Deficit Weighted Round Robin)ではパケットサイズを考慮するため、重み付け値の比率がより実際の帯域配分比率に近くなります。

■ 絶対優先方式(PQ)と重み付きラウンドロビン(WRR/DWRR)を併用することも可能です。優先度(PRIORITY)を指定したトラフィッククラス間では絶対優先方式(PQ)、重み付け値(WEIGHT)を指定したトラフィッククラス間では重み付きラウンドロビン(WRR/DWRR)が使用されます。なお、前述のとおり、優先度付きのトラフィッククラスは、重み付けされたトラフィッククラスよりも優先的に出力されます。


この例では、トラフィッククラス1、2を絶対優先方式(PQ)で出力し、その後(トラフィッククラス1、2に出力すべきパケットがない場合)トラフィッククラス3、4から、12:6、すなわち、2:1の比率でパケットが順番に出力されます。

■ 重み付けされた下位トラフィッククラス間の優先制御方式(WRR/DWRR)、各トラフィッククラスの優先度、重み付け値は、SHOW SQOS POLICYコマンド、SHOW SQOS TRAFFICCLASSコマンドで確認できます。「Weight Scheduler」、「Weight」、「Priority」欄をご覧ください。


SHOW SQOS POLICYコマンドにTREEパラメーターを付けると、QoSポリシー、トラフィッククラスの階層構造を、優先制御の方式や優先度、重み付け値とともに一覧できます。


 

リマーキング

リマーキング(remark)は、キューから取り出され、上位の要素に渡される前のパケットに対して行われるQoS処理です。プレマーキングと異なり、リマーキングはすべてのトラフィッククラスとQoSポリシーで実施できます。

リマーキングでは、プレマーキングと同じように、DSCP値と帯域クラスの変更を行うことができます。また、802.1pユーザープライオリティー値を書き換えることもできます。この機能は、おもに次の用途を想定しています。


DSCP値の書き換えには2つの方法があります。


帯域クラスの書き換えについては、リマーキング用DSCPMAPテーブルのみを使用できます。

802.1pユーザープライオリティー値については、トラフィッククラス、QoSポリシーのすべてのパケットに同じ値を割り当てる方法のみを使用できます。

リマーキングの設定は、トラフィッククラス、QoSポリシー単位で行います。

■ リマーキングの設定をするには、CREATE SQOS TRAFFICCLASSコマンド、CREATE SQOS POLICYコマンドのREMARKING、REMARKVLANPRIパラメーターを使います。REMARKINGはDSCP値と帯域クラスの書き換えに関する設定、REMARKVLANPRIは802.1pユーザープライオリティー値の書き換えに関する設定です。

■ REMARKINGに0〜63の数値を指定した場合、トラフィッククラス、QoSポリシーの全パケットに指定した値のDSCP値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットにDSCP値31を書き込むには次のようにします。


■ REMARKINGにキーワードUSEDSCPMAPを指定した場合は、パケットのDSCP値と帯域クラスをインデックスとしてリマーキング用DSCPMAPテーブルを参照し、結果として得られたDSCP値と帯域クラスをパケットに割り当てます。

DSCPMAPを使用する場合は、あらかじめDSCPMAPを作成(CREATE SQOS DSCPMAPコマンド)・編集(SET SQOS DSCPMAPコマンド)し、QoSポリシー作成時(または作成後)にDSCPMAPの番号を指定しておいてください(CREATE SQOS POLICYコマンド、SET SQOS POLICYコマンドのDSCPMAPパラメーター)。

たとえば、リマーキング用DSCPMAPテーブルを使用して、DSCP値0〜31で帯域クラス3のパケットはDSCP値を61に書き換え、DSCP値32〜63で帯域クラス3のパケットはDSCP値を62に書き換えるには、次のようにします。


■ DSCPMAPはCREATE SQOS DSCPMAPコマンドで作成し、SET SQOS DSCPMAPコマンドで編集します。


リマーキング用DSCPMAPテーブルは、DSCP値と帯域クラスをインデックスとする書き換え対応表で、各エントリーには書き換え後のDSCP値と帯域クラスが格納されています。

DSCPMAPを作成した直後、プレマーキング用テーブルはすべてのDSCP値を帯域クラス1にマップする設定(DSCP値は書き換えない)、リマーキング用テーブルはDSCP値も帯域クラスも一切変更しない設定になっています。DSCPMAPの内容を編集するには、SET SQOS DSCPMAPコマンドを使います。

■ リマーキング用DSCPMAPテーブルの編集は、SET SQOS DSCPMAPコマンドで行います。たとえば、DSCP値が61、帯域クラスが3のパケットに対して、新しいDSCP値1、帯域クラス2を割り当てるには、つぎのようにします。


■ REMARKVLANPRIに0〜7の数値を指定した場合、トラフィッククラス、QoSポリシーの全パケットに指定した値の802.1pユーザープライオリティー値が書き込まれます。たとえば、トラフィッククラス「10」のすべてのパケットに802.1pユーザープライオリティー値7を書き込むには次のようにします。


■ リマーキングの設定内容は、SHOW SQOS TRAFFICCLASSコマンド、SHOW SQOS POLICYコマンドで確認できます。


■ DSCPMAPの設定内容は、SHOW SQOS DSCPMAPコマンドで確認できます。


 

仮想帯域

トラフィッククラスとQoSポリシーでは、仮想帯域(virtual bandwidth)を設定することができます。これにより、トラフィッククラスやQoSポリシーを通過するトラフィックの帯域を指定値までに絞り込むことができます。

仮想帯域はトラフィッククラスとQoSポリシーに設定することができます。QoS処理されるパケットは、最終的に必ずQoSポリシーを通過するため、トラフィッククラスの仮想帯域がQoSポリシーの仮想帯域よりも大きくても、最終的にはQoSポリシーの仮想帯域を超えることはありません。

■ 仮想帯域の設定は、CREATE SQOS TRAFFICCLASSコマンド、CREATE SQOS POLICYコマンドのVIRTBWパラメーターで行います。たとえば、QoSポリシー「1」の仮想帯域を10Mbpsまでに制限するには、次のようにします。








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

PN: 613-001314 Rev.G