Cisco 帯域制御計算式(rate-limit)とコマンド設定

ネットワーク技術でかなり必須となってくるのは帯域制御です。
今回は、CiscoのNW機器で設定する際の、帯域制御計算式と、実際の設定コマンドを紹介します。

Ciscoの帯域制御設定における参考資料をまとめておきます

インターネットの業界ではやはり、帯域制御は頭を悩ませる一つとなります。
どのインターフェースをどれくらいのトラフィックが流れ、そしてそのトラフィックが大きすぎるとどのくらいトラフィックの流入を制御するか。

いろいろとめんどくさいです。

難しいことはとりあえず後回しにして、Cisco機器における帯域制御の計算式とそれぞれの帯域に制御した際の、帯域とバーストサイズの組み合わせを以下で紹介します。

Cisco推奨の帯域制御計算式

Cisco機器においての帯域制御計算式
以下、計算式

normal burst = configured rate * (1 byte)/(8 bits) * 1.5 seconds
extended burst = 2 * normal burst

上記計算式からバーストサイズとの組み合わせ、以下にメモ

1M   = 1000000 187500 375000
10M  = 10000000 1875000 3750000
50M  = 50000000 9375000 18750000
100M = 100000000 18750000 37500000

※あくまでCisco推奨なので参考までに。

Cisco機器における帯域制御設定例

それでは実際に設定をしていきます。
あくまで、Cisco 65kをベースとした設定、及びIPv6での設定例となるのでそこは柔軟に対応お願いします。

  1. まずは、アクセスリストを定義します。
    ここではBGPのトラフィックを制御するための帯域制御を書いています。

    ipv6 access-list IPv6_rate-limit
     deny tcp any eq bgp any
     deny tcp any any eq bgp
     permit ipv6 any any
    
  2. 次に、クラスマップ(class-map)を作成し、先ほど設定したアクセスリスト名(IPv6_rate-limit)をあてはめます。
    class-map match-all class_Policer_10M
      match access-group name IPv6_rate-limit
    
  3. 続いてポリシーマップ(policy-map)を作成し先ほど作成したクラスマップをあてはめます。
    policy-map policer_10M
      class class_Policer_10M
       police cir 10000000
         conform-action transmit
         exceed-action drop
         violate-action drop
    
  4. 最後に対象のインターフェースへ作成したポリシーマップを(IN/OUT)どちらかに適用すれば完了です。
    interface TenGigabitEthernetx/x
     ip address x.x.x.x 255.255.255.0
     service-policy input policer_10M
    

帯域制御が反映され、トラフィックがドロップされているかを確認

それでは実際に先ほど設定したコマンドが効いているかshowコマンドで確認します。

#sh policy-map interface tenGigabitEthernet x/x

 TenGigabitEthernetx/x

  Service-policy input: policer_10M

    class-map: class_Policer_10M (match-all)
      Match: access-group name IPv6_rate-limit
      police :
	10000000 bps 312500 limit 312500 extended limit #ここで帯域制御とバーストサイズを確認できます。
      Earl in slot 6 :
	42039704 bytes
	5 minute offered rate 1094528 bps
	aggregate-forwarded 38281887 bytes action: transmit
	exceeded 3757817 bytes action: drop #オーバー分のトラフィックがドロップされている
	aggregate-forward 10001808 bps exceed 995576 bps

    Class-map: class-default (match-any)
      2 packets, 167 bytes
      5 minute offered rate 0000 bps, drop rate 0000 bps
      Match: any
        2 packets, 167 bytes
        5 minute rate 0 bps

うまく10Mで帯域制御が利いているようです。
もっと詳しく確認するには、テスターを用いて対象の帯域制御よりの1M~2Mくらいのバーストサイズのトラフィックを流せばオーバー分のトラフィックがドロップされていることが確認できます。

まとめ

帯域制御はとても大切な操作となるので必ず検証を経て、運用機に設定することが大切です。
ぶっつけ本番でコマンド入れで全トラフィックを落とすことのないよう、ご注意ください

それでは!




エンジニアのオンライン学習

ITエンジニアにおすすめの教材、オンラインスクールです。
無料からエンジニアの学習ができる教材などまとめているので参考にしてください。

おすすめオンライン教材
自宅で学習ができるオンラインスクール

ITエンジニアの開発・検証・学習としてインターネット上で専用のサーバ(VPS)を利用しましょう!
実務経験はVPSで学べます。



コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

ABOUT US
げんき☆ひろき
インターネット関連のSEをやっています。 ネットワーク、サーバー、ストレージ、仮想基盤まで幅広く手を出しており、MVNOの構築経験もあります。 現在は、Pythonを使ったプログラミングの開発をしネットワークの自動化ツールを作成しています! Pythonの入門書も作成しているので、ぜひ参考にしてください!