IPv6の不正な形式のパケットマルチキャストフラッドの軽減


7

したがって、今朝、ネットワークで最初のIPv6マルチキャストフラッドが発生しました。Macアドレスを次のようにブロックすることで、問題のあるコンピュータをなんとか阻止しました。 mac-address-table static x.x.x vlan x drop

MACアドレスをブロックする前に、Wiresharkキャプチャを開始して、後でパケットを分析できるようにしました。

パケットを調べたところ、ネットワークにフラッディングしたパケットは、IPv6マルチキャストアドレス33:33:00:01:00:02に接続しているIPv6 DHCP要求が破損していたようです。

洪水の影響は奇妙なものでした。影響を受けたと思われるのは通常のIPv4 DHCPリクエストのみでした。通常のクライアントはIPアドレスを取得できませんでしたが、洪水が始まる前にすでにアドレスを持っていた人には問題はありませんでした... CPUのスイッチのピークも95〜100%に達しましたが、通常のトラフィックのスイッチング/ルーティング操作に影響を与えていないようです。

30mbpsのIPv6マルチキャストトラフィックだけが6509 SUP720のCPUを100%にプッシュし、通常のIPv4 DHCPが動作を停止する方法と、それが再び発生した場合にこれから自分を保護する方法を決定するのに役立つ必要があります。

各アクセス/クライアントポートには次の設定があります。

 switchport access vlan x
 switchport mode access
 switchport nonegotiate
 switchport block multicast
 switchport block unicast
 switchport port-security maximum 2
 switchport port-security
 switchport port-security aging time 2
 switchport port-security violation restrict
 switchport port-security aging type inactivity
 storm-control broadcast level 5.00 4.00
 storm-control multicast level 5.00 4.00
 spanning-tree portfast
 spanning-tree bpduguard enable

ストームコントロールマルチキャストはIPv6マルチキャストに適用されませんか?

以下は、Dropboxの「邪悪な」パケットを含む Wiresharkキャプチャからの抜粋です。

そして、影響を示すグラフの小さなコレクション:

CPUスパイクグラフ

問題のあるコンピューターも調査しましたが、理由が見つからなかったか、問題を再現できませんでした...

回答:


7

バックグラウンド

Dropboxのダウンロードをブロックする場所にいるため、キャプチャされたトラフィックを確認できませんが、64バイトのイーサネットマルチキャストであると想定します。

いくつかの計算を行って、許可しているトラフィックの量を確認してみましょう...

64バイトのフレームは672ビットです(プリアンブル/ SFDの8バイト、IFGの12バイトを含む)...

8 *(8 + 12 + 64)= 672ビット

つまり、ラインレートのギガビットイーサネット64バイトフレームは約1.488 Mppsです...

(1000000000 / 672.0)= 1488095.24 pps

これはあなたにとって何を意味しますか?現在のストームコントロール構成では、トラフィックをラインレートの5%で抑制しているため、ストームコントロールが開始する前に74.4kppsのトラフィックがスイッチに到達することを許可しています。グラフが示すところ:

回答

つまり、結論として、スイッチのCPUにヒットするトラフィックが多すぎて、CPU使用率が高かったということです。74.4kppsは、スイッチのCPUが処理するには大きすぎます。

これらのステーションが大量のマルチキャストまたはBroadastを送信するべきではないと仮定すると、単純な答えは、このようにトラフィックを抑制することです...

   ! Note that broadcast traffic has the ethernet I/G bit set
   ! which means it is also classified technically as a multicast
   ! for storm-control purposes.  Therefore set your broadcast limit
   ! a little lower than your multicast limit
   storm-control broadcast level 0.4 0.3
   storm-control multicast level 0.5 0.3

ポートが6kppsのブロードキャスト(0.4%1GEラインレート)または7.5kppsのマルチキャスト/ブロードキャスト(0.5%1GEラインレート)を送信すると、ストームコントロールが作動します。

ちなみに、スイッチのCPUを複数のポートがグループ化されないように保護する、コントロールプレーンポリシングを検討する価値はあります。CPPを正しく実行するには複雑になる可能性があるので、実際の環境で展開する前に十分にテストすることをお勧めします。


すばらしい回答マイク、これを2回以上投票できればいいのにと思います。私はこの状況に何度か遭遇しましたが、ルーター/スイッチのCPUを破壊するのに必要なトラフィックがどれだけ少ないかを過小評価しています。人々は毎秒のパケットを覚えているようではなく、毎秒のビットに焦点を合わせています。(私もその罪を犯しています。)
Brett Lykins 2013年

1
ブレットに感謝します。シスコがこれを正しく実行した場合、ストーム制御を任意のプラットフォームのppsまたはbpsのトラフィックに適用できると思います
Mike Pennington

これまでのすべての回答に感謝します。この回答を参考にしてください。ストームコントロールマルチキャストはIPv6トラフィックにも適用する必要がありますか?さらに、より予測しやすいので、mbpsよりもppsでストームコントロールを使用する方が良いようです...
mastrboy

はい、ストームコントロールはIPv6トラフィックに適用されます。これは、ストームコントロールがイーサネットヘッダーを見ているだけだからです。IPv4 / IPv6 mcastはどちらもイーサネットヘッダーのI / Gビットを設定します。storm-controlコマンドではMbpsではなくppsを使用する方が適切ですが、シスコでは一部のモデルでのみラインレート%のオプションを提供しています。storm-control制限を設定するとき、CPUが処理できるトラフィックのpps数を計算することを忘れないでください
マイクペニントン2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.