トラフィック制御 / Quality of Service


おもな構成要素
インターフェース
QoSポリシー
QoSルール
キュー制御方式
基本設定


QoS(Quality of Service)機能は、ユーザー定義のルールにしたがってIPv4/IPv6パケットを分類し、出力(送信)時に優先順位や帯域配分をコントロールする機能です。分類したパケットへのマーキングや、出力インターフェースの帯域を制限することも可能です。


おもな構成要素

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


インターフェース

QoS機能は、ルーティング可能インターフェース(IPv4/IPv6インターフェース)からのパケット出力時に適用されます。
出力インターフェースではパケットの分類に基づくマーキングと帯域制御/優先制御が可能です。
また、出力インターフェースでは、インターフェース全体としての送信帯域を制限することも可能です。

QoSポリシー

QoSポリシーは、おもにQoS機能で使用する出力キューの構造を定義します。
本製品のQoSはソフトウェアによって実現されるため、キュー制御方式(PQ、WRR、HTB)、キューの数、各キュー間の優先順位や帯域配分、最小・最大帯域、キュー長、DSCPマーキング値などを自由に設定できます。個々のキューは「クラス」という構成要素に対応し、QoSポリシーをルートとするツリー構造を形成します。また、ツリー内では最大3レベルまでクラスを階層化することが可能です。

QoSポリシー内には、下記のクラスが暗黙のうちに存在します。


1つのQoSポリシーが持てるクラスは最大128個ですが、これにはデフォルトクラスが含まれるため、ユーザー定義可能なクラスは127個です。

1つのQoSポリシーは複数のインターフェースに関連付けられますが、1つの出力インターフェースに関連付けられるQoSポリシーは1つだけです。

QoSルール

QoSルールは、パケットの分類条件と適用するキューを指定するものです。
分類条件の指定には、UTMのファイアウォール機能やNAT機能と同様、送信元と宛先のエンティティー定義、および、アプリケーション定義を用います。
また、条件にマッチしたパケットを格納するキューは、QoSポリシー内の末端クラス名によって指定します。

キュー制御方式

QoSポリシーツリー内の同一階層にあるクラスの間では、次の3つのキュー制御方式のいずれかを使用してクラス間の制御が行われます。


基本設定

QoS機能の基本的な設定方法を示します。
QoSの具体的な使用例については「設定例集」をご覧ください。

■ QoS機能の設定を行うには、最初にtraffic-controlコマンドを実行してトラフィックコントロールモードに入り、traffic-control enableコマンドでQoS機能を有効化します。

awplus(config)# traffic-control
awplus(config-tc)# traffic-control enable


■ 出力インターフェースの総帯域(最大送信レート)を制限するには、interfaceコマンドで仮想帯域を設定します。
たとえば、eth1インターフェースの最大送信レートを50Mbpsに制限するには次のようにします。

awplus(config-tc)# interface eth1 virtual-bandwidth 50mbit


■ トラフィック単位でQoSを適用するには、QoSポリシーとQoSルールの設定が必要です。
QoSポリシーの設定はトラフィックコントロールモードのpolicyコマンドとサブモードの各種コマンドで行います。
QoSルールの設定はトラフィックコントロールモードのruleコマンドで行います。

QoSポリシーとQoSルールは両方そろって初めて意味をなしますので、以下ではいくつか具体的な例を挙げながら、QoSポリシーとQoSルールの設定方法を説明します。

なお、QoSルールの指定に使用する宛先エンティティーでは、出力インターフェースを特定するため、1つ以上のインターフェースと関連付けられている必要があります(ip subnet / ipv6 subnetコマンドで interface パラメーターが指定されていること)。
次に、以下の各例で使用しているゾーン「qos」の設定例を示します。

zone qos
 network wan
  ip subnet 0.0.0.0/0 interface eth1
 network lan
  ip subnet 192.168.10.0/24 interface eth2


また、以下の各例において、アプリケーション定義は例示用の「AppA」、「AppB」、「AppC」(一部の例では「AppC1」、「AppC2」、「AppC3」)、を使用しています。これらはそれぞれ架空のアプリケーションA、B、C(C1、C2、C3)を表すものとお考えください。

Note - エンティティー定義、アプリケーション定義の詳細については、「UTM」/「エンティティー定義」「UTM」/「アプリケーション定義」をご覧ください。


■ DSCPマーキングの設定は、QoSポリシー内の各クラスで優先度やウェイト、最小・最大帯域の設定と同時に行います。
class(htb)class(priority)class(wrr)sub-class(htb)sub-class(priority)sub-class(wrr)sub-sub-class(htb)sub-sub-class(priority)sub-sub-class(wrr)の各コマンドにおいて、set-dscpパラメーターで対象パケットにセットするDSCP値を指定してください。
DSCPマーキングの設定は、PQ、WRR、HTBいずれのキュー管理方式でも行えます。

awplus(config-tc)# policy MYQOS priority
awplus(config-tc-policy)# class HIGH priority-level 11 set-dscp 31
awplus(config-tc-policy)# class MED priority-level 10 set-dscp 30
awplus(config-tc-policy)# class LOW priority-level 9 set-dscp 29


■ QoS機能の有効・無効など全般的な情報はshow traffic-controlコマンドで確認できます。

awplus# show traffic-control


■ QoSルールの情報はshow traffic-control ruleコマンドで確認できます。

awplus# show traffic-control rule


■ QoSルールが有効かどうかをチェックするには、show traffic-control rule config-checkコマンドを使います。

QoSルールの作成時にはエンティティーとアプリケーションの両定義を使用しますが、これらの定義が不完全な場合(指定したアプリケーションやエンティティーが未定義である、アプリケーション定義でIPプロトコルが未指定、など)、該当ルールは有効にならず無視されてしまいます。

このような事態を避けるには、ルール作成後にshow traffic-control rule config-checkコマンドを実行してルールが有効かどうかをチェックしてください。

awplus# show traffic-control rule config-check
Rule 15:
  "To" entity does not exist

同コマンドでは、無効なルールがある場合、それが理由とともに示されます。

この例では、次の理由によりルール「15」が無効であることが示されています。

また、次の例では、すべてのルールが有効であることが示されています。

awplus# show traffic-control rule config-check
All rules are valid


QoSルールは次の場合に無効とされます。

■ QoSの統計情報はshow traffic-control countersコマンドで確認できます。

awplus# show traffic-control counters


■ インターフェースに設定した送信レートの上限値(仮想帯域)や、QoSルールによって予約された帯域などの情報は、show traffic-control interfaceコマンドで確認できます。

awplus# show traffic-control interface


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

PN: 613-002311 Rev.A