次の例では、ファスト イーサネット インターフェイス 0/0 から出るすべてのパケットに関して、平均レートを 8000 ビット/秒、ノーマルバーストサイズを 1000 バイト、超過バーストサイズを 1000 バイトに指定したクラスベースポリシングを設定します。
class-map access-match
match access-group 1
exit
policy-map police-setting
class access-match
police 8000 1000 1000 conform-action transmit exceed-action set-qos-transmit 1 violate-action drop
exit
exit
service-policy input police-setting
ファスト イーサネット インターフェイス 0/0 から出る一連のパケットの処理方法は、パケットのサイズ、および準拠トークンバケットと超過トークンバケットに残っているバイト数に応じて異なります。一連のパケットは、次のルールに基づいてポリシングされます。
(パケット間の時間(= T - T1)X ポリシング レート)/8 バイト
-
準拠バケット B のバイト数が 0 以上の場合、パケットは準拠し、パケットで準拠処理が実行されます。パケットが準拠している場合、B バイトが準拠バケットから削除され、準拠処理が実行されます。このシナリオでは、超過バケットには影響ありません。
-
準拠バケット B のバイト数が 0 未満の場合、超過トークン バケットでパケットによるバイトがチェックされます。超過バケット B のバイト数が 0 以上の場合、超過処理が実行され、超過トークン バケットから B バイトが削除されます。このシナリオでは、準拠バケットからバイトは削除されません。
-
超過バケット B のバイト数が 0 未満の場合、パケットはレートに違反しているため、違反処理が実行されます。パケットに対する処理が完了します。
この例では、初期トークン バケットはフルの 1000 バイトで開始します。450 バイトのパケットを受信すると、準拠トークン バケットに使用可能なバイトが十分あるため、パケットは準拠しています。パケットにより準拠処理(送信)が実行され、450
バイトが準拠トークン バケットから削除されます(残り 550 バイト)。
次のバケットが 0.25 秒後に到達し、準拠トークン バケットに 250 バイト追加された場合
((0.25 X 8000)/8)、準拠トークン バケットには 800 バイト残ります。次のパケットが 900 バイトの場合、準拠トークン バケットでは 800 バイトしか使用できないため、パケットは準拠していません。
フルの 1000 バイトで始まる超過トークン バケット(超過バースト サイズで指定)に使用可能なバイトがあるかどうかがチェックされます。超過トークン バケットには使用可能なバイトが十分あるため、超過処理(QoS 送信値を 1 に設定)が実行され、超過バケットから
900 バイトが取られ、超過トークン バケットの残りは 100 バイトになります。
次のパケットが 0.40 秒後に到達し、トークン バケットに 400 バイトが追加されます((.40 X 8000)/8)。これで、準拠トークン バケットには 1000 バイトあり(準拠バケットで使用可能な最大トークン数)、200 バイトが準拠トークン
バケットをオーバーフローします(準拠トークン バケットの容量を満たすために必要なのは 200 バイトだけのため)。これらのオーバーフロー バイトは、超過トークン バケットに置かれ、超過トークン バケットに 300 バイト与えられます。
着信パケットが 1000 バイトの場合、準拠トークン バケットで使用可能なバイト数が十分あるため、パケットは準拠します。パケットにより準拠処理(送信)が実行され、1000 バイトが準拠トークン バケットから削除されます(残り 0 バイト)。
次のパケットが 0.20 秒後に到達し、トークン バケットに 200 バイトが追加されます((.20 X 8000)/8)。これで、準拠バケットの中身は 200 バイトになります。着信パケットが 400 バイトの場合、準拠トークン バケットでは
200 バイトしか使用できないため、パケットは準拠していません。同様に、超過バケットで使用可能なバイト数は 300 バイトだけなので、パケットは超過しません。したがって、パケットは違反となり、違反処理(ドロップ)が実行されます。