Class-Based Policing



 ◆ ポリシングとは

 ポリシングとは、特定のトラフィックに対してインターフェース上で
受信または送信できる帯域幅を制限
 できる技術です。ポリシングの実装には、「Class-Based Policing」によるポリシングと「CAR」による
 ポリシングの大きく2種類があります。違いは以下の通りです。なお、推奨は Class-Based Policing です。

各機能 Class-Based Policing CAR
イネーブル方式 MQC上で設定 インターフェース上で設定
設定用コマンド policeコマンドを使用 rate-limitコマンドを使用
適合トラフィックと
超過トラフィックへのアクション
3つのアクション
confrom, exceed, violation
2つのアクション
conform, exceed
トークンバケット方式

シングルトークンバケット
デュアルトークンバケット

シングルトークンバケット
レート制限の手法

シングルレート
デュアルレート

-



 ◆ シングルトークンバケットとデュアルトークンバケットの違い

 簡単に言えば、policeコマンド構文で「violate-action」を使用しなければ、シングルトークンバケット
 が採用されて、policeコマンド構文で「violate-action」を使用した場合は、デュアルトークンバケットの
 アルゴリズムが採用されます。さらに詳細に学習したい方は以下の技術解説をご参考頂ければと思います。

 ・ Class-Based Policing - シングルトークンバケットの仕組み
 ・ Class-Based Policing - デュアルトークンバケットの仕組み


 ◆ シングルトークンレートとデュアルレートの違い

 簡単にいえば、policeコマンド構文で「
cir 」キーワードと「 pir 」キーワードの2つを指定して、2つの
 レートを指定した場合にデュアルレートとなります。これらのキーワードを指定せずCIR値、Bc値、Be値
 だけを指定した場合にはシングルレートとなります。一般的に、Policingはシングルレートで実装されます。


 ◆ Class-Based Policingコマンド

 CARではルータのインターフェースに対して直接ポリシングの設定を行いますが、Class-Based Policingでは、
 classに対してポリシングの設定を行います。Class-Based PolicingのポリシングはCARのポリシングと同様、
 トークンバケット方式を採用しているが、Class-Based Policingではシングルトークンバケット方式だけでなく
 デュアルトークンバケット方式もサポートします。※
値(Valid values)はIOSバージョンにより異なります。

 ◆ Class-Based Policingのコマンド構文:シングルレート( シングルトークンバケット方式 or デュアルトークバケット方式 )
 (config)#
policy-map name
 (config-pmap)#
class-map name
 
(config-cmap-c)# police bps burst-normal burst-max conform-action action exceed-action action violation-action action

構成要素 説明
bps  CIR(保証された平均レート)。単位は「bps」。Valid values are 8000 to 200000000。
burst-normal  Bc(通常バーストサイズ)。単位は「bytes」。Valid values are 1000 to 51200000。
burst-max  Be(超過バーストサイズ)。単位は「bytes」。Valid values are 1,000 to 51200000。
conform-action  CIRのレート以内の場合のアクション。デフォルト値は「transmit」。
exceed-action  CIRのレートを越えた場合のアクション。デフォルト値は「drop」。
violation-action  通常バーストと超過バーストを越えた場合のアクション。デフォルト値は「drop」。

 ※ burst-maxはシングルトークンバケットの場合、つまり「violation-action」が使用されていない場合は無視される値となります。

主なアクション 説明
transmit  パケットが転送される。
drop  パケットが廃棄される。
set-dscp-transmit  パケットを新しいDSCP値に変更した上で転送する。
set-prec-transmit  パケットを新しいIPプレシデンス値に変更した上で転送する。
set-qos-transmit  パケットを新しいQoSグループの値に変更した上で転送する。


 上記の設定でポリシーマップを作成後、最後にインターフェースに作成したポリシーマップを適用します。

 ◆ Class-Based Policingの適用
 (config)#
interface interface-id
 (config-if)#
service-policy input | output policy-name



 ◆ 参考:Cisco推奨のBc値とBe値の算出方法

対象 公式 公式の詳細
normal burst( Bc )  Bc = CIR × 1/8 × 1.5  Bc = configured rate ×(1byte)/(8bits)× 1.5 seconds
extended burst(Be)  Be = Bc × 2  Be = normal burst × 2



QoS

ネットワークエンジニアとして

Copyright (C) 2002-2017 ネットワークエンジニアとして All Rights Reserved.