## qos-class cbq

> CBQ(Class-Based-Queueing)のキュー構造を指定します。CBQでは次のような階層構造をとります。

> rootクラス ├contlorクラス ├任意のユーザ定義クラス（例：DATA-CLASS） └defaultクラス ※さらに下位の階層も定義できます

> rootクラスは、論理的に回線全体を示すクラスです。
> contlorクラスは、制御パケット用のクラスです。デフォルトでICMP、IGMP、RSVP等が割り当て済みです。
> defaultクラスは、どのクラスにも該当しないパケットのクラスです。
> なお、帯域制御(CBQ)を有効にするためには、root、contlor、defaultの3つのクラスを設定することが必要です。
> FITELnet-F120ではユーザ定義クラスとして、各インタフェース毎に16クラス、装置全体で計64クラスまでクラス分けすることができます。
> また、各クラスに優先度を設定し送信処理に優先度を付けることもできます。

### 設定例１　WANインターフェースの帯域制御を設定します

ROOT-CLASS ├CONTROL-CLASS (5%) ├DATA-CLASS (75%) └DEFAULT-CLASS (20%)

> rootクラスを設定（帯域は100%）

> Router(config)#interface wan 1 Router(config-if ewan 1)# qos-class cbq ROOT-CLASS bandwidth 100 parent NULL

> contlorクラスの帯域を親クラスの帯域(ROOT-CLASS)の5%とする

> Router(config)#interface wan 1 Router(config-if ewan 1)# qos-class cbq CONTROL-CLASS bandwidth 5 parent ROOT-CLASS control

> データクラスの帯域を親クラス(ROOT-CLASS)の帯域の75%とする

> Router(config)#interface wan 1 Router(config-if ewan 1)# qos-class cbq DATA-CLASS bandwidth 75 parent ROOT-CLASS

> ※別途、クラス名「DATA-CLASS」についてルールの定義が必要です（qos-filter参照）

> defaultクラスの帯域を親クラス(ROOT-CLASS)の帯域の20%とする

> Router(config)#interface wan 1 Router(config-if ewan 1)# qos-class cbq DEFAULT-CLASS bandwidth 20 parent ROOT-CLASS default

### 設定例２　設定例１のDATA-CLASSの下層にTCPデータ用の「TCP-CLASS」を設定します

ROOT-CLASS ├CONTROL-CLASS ├DATA-CLASS │ 　　　　　　└TCP-CLASS (70%) └DEFAULT-CLASS

> DATA-CLASSの下層にTCPデータ用の「TCP-CLASS」を置き、帯域を親クラス（DATA-CLASS）の70%とする。
> ただし、上位クラス（DATA-CLASS）に割り振られた帯域以上に設定することはできません。
> 帯域不足の場合、親クラスに空きがあればその帯域も利用する。

> Router(config)#interface wan 1 Router(config-if ewan 1)# qos-class cbq TCP-CLASS bandwidth 70 parent DATA-CLASS borrow

### コマンド書式

> qos-class cbq <クラス名> bandwidth <帯域使用率> parent <親クラス名> [ priority <優先度> ] [ delay <最大遅延時間> ] [borrow] [red] [default] [control]

### パラメータ

> パラメータ | 設定内容 | 設定範囲 | 省略時の値
> --- | --- | --- | ---
> クラス名 | CBQのクラス名称を設定します。 | - | 省略不可
> 帯域使用率 | 回線全帯域の帯域幅に対する帯域使用率（単位：%）を指定します。 IPsecインタフェースに対して帯域制御を行った場合は、送信時にEWAN側の帯域制御も適用されます。IPsecインタフェース→EWANの順に２段階に帯域制御されます。 | 1〜100 | 省略不可
> 親クラス名 | 親クラス名を指定します。設定しているクラスが、ルートクラスに属する場合はNULLを記述します。 | - | 省略不可
> priority <優先度> | 優先度を指定します。優先度が高いクラスは、優先度の低いクラスに比べ、送信処理の時間が増えます。 この値が大きいほど、優先度は高くなります。 | 0〜2 | 0
> delay <最大遅延時間> | このクラスの最大遅延時間（単位：m秒）を設定します。 | 1〜9999 | 0
> borrow | 帯域不足で送信できない場合に、親クラスに空きがあればその帯域を利用するかどうかを指定します。 その帯域を利用する場合は、borrowを指定します。 | borrow | 親クラスの帯域を利用しない
> red | キューバッファ管理方式に、RED（Random Early Detection）を使用する場合に、redを指定します。 REDを使用しない場合は、キューバッファがいっぱいになってからパケットを破棄（Tail-Drop）しますが、REDを使用した場合は、キューあふれによる輻輳が発生する前にランダム破棄を開始するため、TCPのようなトラフィックを変動できるようなプロトコルでは、より早く破棄を感知できるので、通信全体でみると効率が良くなります。 | red | REDを使用しない
> default | デフォルトクラスの場合に指定します。デフォルトクラスは、ルートクラスに属している必要があります。 | default | default以外
> control | コントロールクラスの場合に指定します。コントロールクラスは、ルートクラスに属している必要があります。 | control | control以外

### この設定を行わない場合

> CBQ方式のQoS制御を行なうことはできない。

## 設定モード

> 各インタフェース設定モード

トップページへ