Cisco CARの「通常のバースト」と「最大バースト」を理解するにはどうすればよいですか?


11

私が理解しているように、Cisco IOS CAR(認定アクセスレート)は、リーキーバケットアルゴリズム(アイデアはトークンバケットアルゴリズムとまったく同じです)に基づいており、平均レートとして設定するビットの量は、「バケットから常に漏れている水」の量です。 」たとえば、ここでは平均入力レート制限レートは5Mbpsです。

interface FastEthernet0/0
 ip address 10.10.10.2 255.255.255.0
 rate-limit input 5000000 937500 1875000 conform-action transmit exceed-action drop

トラフィックレートが平均レートを下回っている場合は、常に適合します。「通常のバースト」が、超過アクションが適用される前のトラフィックバーストの大きさを決定することは正しいですか?したがって、上記の例の場合、5Mbps(バケット内の625000バイト)の一定のトラフィックレートがあった場合、1秒間7.5Mbps(バケットに312500バイトを追加)のトラフィックを送信でき、単一ビットはドロップされません?そして、バケット内のバイトが通常のバーストと最大バーストの間にある場合、最大バーストも満杯の場合、すべての新しいパケットがドロップされるまで、REDのようなアルゴリズムに基づいてバイトがドロップされますか?


あなたが設定した報奨金を獲得するために私の答えで探している他の情報や説明はありますか?
Keller G

賞金手動で授与する必要があることを忘れないでください。満足のいく答えが得られない場合は、少なくともその答えに欠けているものを説明してください。
マイクペニントン2015

回答:


12

ここで何を扱っているか計算してみましょう。CARは基本的に古いバージョンのIOSポリシングなので、これらの概念はすべて両方に適用されます。

Committed Information Rate (CIR) = 5,000,000 (5Mbps)
Burst Commit Bucket (Bc) = 937,500
Burst Excess Bucket (Be) = 1,875,000
Time Interval (Tc) = Bc / CIR = 0.1875 s = 187.5 ms

フローを制限するレートは5Mbpsです。コミットバケットは937,500バイトです。バーストバケットは1,875,000バイトです。そして、バケットは187.5 msごとに補充されます。

おっしゃったように、IOSはバケットメカニズムを使用して、通過できるトラフィックの量を制限します。 任意の期間にわたってインターフェース帯域幅のX%へのトラフィックを平滑化しません! 代わりに、トークンの支払いがある限り、インターフェースの帯域幅へのフルアクセスが可能になります。

また、これはポリシングであるため、RED / WREDは機能しません。REDは、管理するキューがある場合にのみ発生します。 ポリシングにはバッファリング/キューイングはなく、シェーピングのみです。

最初にCommit Bucket(Bc)を扱いましょう。現時点では、過剰バケット(Be)がないものとします。

*バケットのみをコミット(2色ポリサー)*

これは非常に厳密なポリサーであり、CIR内でのみ正確に送信できます。上記の破裂はありません。バケットは1つだけです。トラフィック用の2つの「色」は、あります準拠して超過します

時間= 0ミリ秒-バケットは最初からいっぱいで、937,500バイトのトークンが入っています。インターフェイスを介して7,500バイトを送信するとします。これで、IOSはバケットを7,500バイト減らし、バケットには930,000バイトのトークンが含まれるようになりました。送信されたトラフィックは「適合」と見なされ、「適合アクション」が適用されます。

時間= 187.5 ms- Tcに到達し、Bcバケットに補充します。937,500バイト相当のトークンが追加されます。余分なトークンはこぼれ、失われます。

時間= 190ミリ秒-コミットバケットには937,500トークンが含まれています。2,000,000バイトのトラフィックを受信します。バケットにトークンがあるため、最初の937,500バイトは問題なく転送されます。残りのトラフィックは「超過」と見なされ、「超過アクション」に従って処理されます。覚えておいてください、ポリシング(シェーピングと呼ばれます)にはバッファリングがありません-送信、リマークして送信、またはドロップします。

時間= 375ミリ秒 -Tcに再度ヒットし、Bcバケットに937,500トークンが補充されます。

*超過バケットを使用したバケットのコミット(3色ポリサー)*

オプションで、超過バケット(Be)を追加できます。これにより、トラフィックは一時的にBcバケットを超えることができます。全体的なCIRは変わらないはずです。これは、「適合」、「超過」、「違反」の3つの「カラー」ポリサーです。

時間= 0ミリ秒-両方のバケット(BcとBe)は完全に開始されます。Bcには937,500トークン、Beには1,875,000トークンがあります。

時間= 50ミリ秒 -2,000,000バイトのトラフィックが到着します。ルータは最初にBcバケットトークンをデクリメントします。Bcバケットをゼロに減らします。Bcがカバーする937,500バイトのトラフィックは「適合」と見なされ、「適合アクション」が適用されます。

これにより、トークンがまだない1,062,500バイトのトラフィックが残ります。これでルータはBeバケットに浸り、残りのトラフィックをカバーするために1,062,500トークンを差し引きます。これらのバイトは「超過」と見なされ、「超過アクション」が適用されます。あなたの例では、トラフィックはドロップされますが、コメントを付けたり、送信したりする可能性があります。

自宅でスコアを維持している場合、BCのトークンはゼロになり、Beのトークンは812,500になります。

時間= 75ミリ秒-これで、ルーターはさらに1,200,000バイトのトラフィックを受信します。Bcバケットが空なので、助けはありません。Beバケットが役立つので、トークンでトラフィックの最初の812,500バイトをカバーし、現在は空です。このトラフィックは「超過」と見なされ、「超過アクション」が適用されます。

これでバケットは乾燥しましたが、処理する必要のある387,500バイトが残っています。このトラフィックは「違反」と見なされ、常にCARでドロップされます(MQCと「violate-action」を使用したpoliceコマンドを使用して、他のことを行うことができます)。

時間= 187.5ミリ秒-最初のTc間隔、つまりバケットを埋める時間に到達しました。重要な点は、 BC相当のトークンのみが補充されるということです。Bcバケットは最初に937,500まで満たされます。Beバケットは空のままです。

時間= 375 ms-静かで、次のTc間隔に到達します。Bc相当のトークンがBcバケットに追加されます。Bcバケットはすでにいっぱいなので、超過したトークンは失われません-代わりにBeバケットに「溢れ」ます。これで、Bcバケットは937,500トークンでいっぱいになり、Beバケットは部分的に937,500トークンでいっぱいになります。

時間= 562.5ミリ秒-静かで、次のTcにいます。Bc相当のトークンが、すでにいっぱいになっているBcバケットに追加されます。すべてがBeバケット(既に937,500トークンを持っています)に溢れます。Beは1,875,000トークンまでいっぱいになります。

*最終メモ*

  • 構成でBeバケットが使用されていません。Bcバケットのみを使用してレート制限/ポリシングを行っているため、データを送信するポリサー/シェーパーが同じように設定されておらず、Tc的に同期していない場合、意図しない副作用が生じる可能性があります。

  • CAR / rate-limitは非常に古く、非推奨です。これを実装するには、MQCと最新のQoSに切り替えることを検討してください。これにより、より多くの情報とオプションが得られます。

  • 上記のシリアル化の遅延(回線上でデータを送信するのにかかる時間)は完全に無視しています。実際のシナリオでは数学がうまくいかないと確信しています。しかし、使用されている正確な数に関係なく、概念はしっかりしています。

* MQCの例*

policy-map PM-FA0/0-IN
 class class-default
  police cir 5000000 bc 937500 be 1875000
!
interface Fa0/0
 service-policy input PM-FA0/0-IN
!

*ソース*


本当に簡単な素晴らしい答え!しかし、私はシングルレート(2色)ポリシングに関して1つの質問があります。あなたは次のように述べました:トラフィックには、適合と違反の2つの「色」があります。私が思うには、(ツリーカラーポリシングメソッドに属するべきものに違反するのではなく)適合し、超える必要があります。
Daniel Blazek 2015

正解です。提案どおり更新されました。
ケラーG
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.