class(priority)
- モード
- トラフィックコントロール・ポリシーモード --> トラフィックコントロール・ポリシー・クラスモード
- カテゴリー
- トラフィック制御 / Quality of Service
構文
(config-tc-policy)# class NAME priority-level <0-15> [max RATE & queue-length <2-65536> & set-dscp <0-63> & red-curve NAME & sub-class-policy SCHED]
(config-tc-policy)# class NAME
(config-tc-policy)# no class NAME
コマンド説明
対象QoSポリシーに第一階層クラスを追加する。本コマンドは、policyコマンドで指定した第一階層クラス間のキュー制御方式がPQの場合に使う。
- sub-class-policyパラメーターを指定した場合は、サブクラス(第二階層クラス)の設定を行うためのトラフィックコントロール・ポリシー・クラスモードに移行する。
- sub-class-policyパラメーターを指定しなかった場合はトラフィックコントロール・ポリシーモードのまま移動しない。
なお、単に「class NAME」とした場合は、第二階層クラスの設定を行うためのトラフィックコントロール・ポリシー・クラスモードに移行する(指定したクラスがすでに存在しており、sub-class-policyが指定されていることが前提)。
パラメーター
NAME- クラス名
priority-level <0-15>- 対象クラスの優先度。15がもっとも高く、0がもっとも低い
max RATE- 対象クラスの最大トラフィックレート。単位として「kbit」(Kbps)、「mbit」(Mbps)、「gbit」(Gbps)のいずれかを指定すること。有効範囲は 1kbit ~ 100gbit。初期状態では未設定
queue-length <2-65536>- 末端クラスの最大キュー長(パケット数)。中間クラス(sub-class-policyを指定したクラス)では指定できない。初期値は1000
set-dscp <0-63>- 末端クラスでパケットにセットするDSCP値。中間クラス(sub-class-policyを指定したクラス)では指定できない。初期状態では未設定
red-curve NAME- 末端クラス内の各フローに適用するREDカーブテンプレート(red-curveコマンド)。中間クラス(sub-class-policyを指定したクラス)では指定できない。初期状態では未設定
sub-class-policy SCHED- 配下にサブクラス(第二階層クラス)を作成する場合に指定する。本パラメーターを指定した場合、本クラスは中間クラスとなり、第二階層クラスの設定を行うためのトラフィックコントロール・ポリシー・クラスモードに移行する。
SCHEDは第二階層クラス間のキュー制御方式で下記から選択する
priority- PQ(絶対優先キュー)
wrr- WRR(重み付きラウンドロビン)
htb- HTB(階層型トークンバケット)
使用例
第一階層クラス間でPQを使うQoSポリシー「qos-pq」配下に3つの第一階層クラス「high」、「mid」、「low」を作成し、それぞれに優先度15、7、1を設定する。また、第一階層クラス「low」に対しては、配下に第二階層クラス「http」、「ftp」、「tftp」を作成し、4:3:2のWRRで送信するよう設定している。
awplus(config-tc)# policy qos-pq priority awplus(config-tc-policy)# class high priority-level 15 awplus(config-tc-policy)# class mid priority-level 7 awplus(config-tc-policy)# class low priority-level 1 sub-class-policy wrr awplus(config-tc-class)# sub-class http weight 4 awplus(config-tc-class)# sub-class ftp weight 3 awplus(config-tc-class)# sub-class tftp weight 2