Single Token Bucket - Class-Based Policing



 ◆ トークンバケットアルゴリズムの種類

 Cisco IOSでサポートされているトークンバケットのアルゴリズムには以下の大きく2種類があります。

 ・ Single Token Bucket( シングルトークンバケット )
 ・ Dual Token Bucket( デュアルトークンバケット )

 簡単に言えば、policeコマンドで「
violate-action」アクションコマンドを設定しない場合は、シングル
 トークンバケットが採用されて、「violate-action」アクションコマンドを設定した場合には、デュアル
 トークンバケットが採用されます。



 ◆ シングルトークンバケットのアルゴリズム

 シングルトークンバケットでは、使用されるトークンバケットは「1つ」です。そのトークンバケットを
 conform bucketと言います。このBucketのサイズはpoliceコマンドの
Normal Burstサイズで指定した値
 となります。初期状態でのBcuketには、Normal Burstサイズで指定した値のトークンが満杯にあります。

 パケットが着信した時、そのパケットサイズが現在のconform bukectの値よりも小さい場合か、または、
 同等の値である場合にはパケットが転送されます。そしてパケットが転送される際にconform bucketから
 転送するパケットサイズ分のトークンが取り除かれます。同時にconform bukectには定期的のトークンが
 補充されます。そして、conform bucketの現在の値よりも大きなパケットが着信してきた時には、その
 パケットは廃棄されます。パケットが廃棄される場合には、conform bukectのトークンは削除されません。


 ◆ シングルレート:シングルトークンバケットの動作例

 実際に設定したpoliceコマンドの値に対するシングルトークンバケットの動作を見ていきましょう。なお
 動作を分かりやすく説明するために、帯域制限を「8kbps」という非常に低い値をコマンド設定しています。
 また、Normal Burstサイズを「1000byte」と定義しています。

 Cisco(config-pmap-c) # police 8000 1000 conform-action transmit exceed-action drop



   


 この設定を行った直後の初期状態でconform bucketには「1000byte」分のトークンがあります。仮に
 450byteのパケットが着信した時、conform bucket内には「450byte」分のパケットを転送するために
 十分なトークンがあるので、設定コマンドの「conform-action」に合致してパケットは転送(transmit)
 されます。同時にconform bucketから450byteのトークンが削除されることから、残りは550byteです。

 続いて、仮に、0.25秒後にパケットが着信するとします。その場合にはconform bucketに250byte分の
 トークンが補充されることになります。 トークンの定期的な補充レートは ((0.25× 8000)/ 8) によって
 算出することができます。「8000」はCIRの8000bps「 /8」はbyte算出のための「8byte」を指します。

 さて、0.25秒後に250byteのトークンが追加されたことからconform bucketは現在800byteとなります。
 次に、その0.25秒後に着信したパケットのサイズが「900byte」であるとします。そのパケットは転送は
 するために十分なトークンを得られないため、設定コマンドの「exceed-action」に合致してパケットは
 廃棄(drop)されます。その場合、conform bucket内にある800byte分のトークンは取り除かれません。



QoSをはじめから

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

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