web-dev-qa-db-ja.com

マネージドスイッチは、ブロードキャストマルチキャストとユニキャストをどのように処理しますか?

一般的なシナリオでは、ネットワークスイッチはブロードキャスト、マルチキャスト、ユニキャストのメッセージを同時に処理する必要があります。

理解したい

一般的な管理対象スイッチ(1 Gbイーサネット/ 10 Gbイーサネット)では、

a)ブロードキャスト/マルチキャスト/ユニキャストメッセージはどのように異なる方法で処理されますか?

b)ブロードキャスト/マルチキャスト/ユニキャストメッセージを処理する際の帯域幅と遅延はどのくらいですか?

c)異なるタイプのメッセージのロードは互いにどのように影響しますか?

d)ブロードキャストからマルチキャストに切り替えると、スイッチの負荷が軽減されるのはなぜですか?

8
Anthony S.

これは、問題の特定のスイッチのアーキテクチャに大きく依存します。 48ポートの「マネージドスイッチ」の幅広い価格帯(300ドル未満から10,000ドルを超えるなど)は、内部で根本的に異なることが起こっていることを示しています。スイッチに多額の費用を支払わなかった場合(そして、費用がかからなかったと思います)、マルチキャスト(およびその他の「エンタープライズ」機能)がソフトウェアにオフロードされている可能性があります(サポートされている場合)。

基本的なユニキャスト転送は、ハードウェアで行うにはかなり安価になりました。そのため、現代のイーサネットスイッチは、軽負荷のもとで基本的なユニキャスト転送で十分に機能することが期待されます。

ハードウェアに機能を追加し始めると、コストが大幅に上昇します。たとえば、ユニキャストフレームの転送は、ダイナミックマルチキャストステートに基づくパケットレプリケーションの実行とは大きく異なります。これらはどちらも非常に特殊なタスクです。どちらかをうまく実行するには、特定のハードウェアビットが必要です。ローエンドスイッチのほとんどのユーザーは、大きなマルチキャストのニーズはありません。マルチキャスト固有のハードウェアに支払うことは、これらのユーザーにとって無駄です。

しかし、ほとんどのネットワークはlittleマルチキャストを使用します。その結果、製造業者がマルチキャストおよびその他のあまり一般的に使用されていない機能をソフトウェアに実装することは一般的です。たとえば、ユニキャスト転送ハードウェアは、CPUサブシステム(または少なくともある種のマイクロコントローラー)が受信する内部ポートに、マルチキャストMACアドレスを持つすべてのものを転送するように指示されます。次に、ソフトウェアプロセスはフレームを確認し、マルチキャスト転送テーブルを調べて、フレームを複製し、転送するポートごとに1つずつ、複数のコピーをハードウェアに渡すことができます。明らかに、スイッチのコストに大きな影響を与えることなく、ソフトウェアのこの時点で多くの機能を追加できます。

このようなシステムでは、パフォーマンスはユニキャストのパフォーマンスに近くなることはありません。 CPUのパフォーマンスには明らかにある程度の影響がありますが、ハードウェアで転送できない「例外」トラフィックを大量に送信している場合は、を実行しています。間違っています。別のスイッチを購入する必要があります。

最悪の場合、本当にローエンドのスイッチはリソースを保護できません。そのため、マルチキャストトラフィックで非難されている同じCPUは、スイッチ内の他のすべての世話と供給にも責任があることを忘れます。 CPUがマルチキャストトラフィックのレプリケートでビジー状態であり、ユニキャストテーブルをハードウェアで更新し続けることができない場合(または、CPUが実行しているはずのもの)、すべての種類の問題が発生します。

5
eater
  1. 管理されていないスイッチと同じです。おそらくvLANなどの複雑さが追加されます。
  2. これは実装固有ですが、一般的に違いはありません。パケットストームは遅延を引き起こす可能性がありますが、これは特にパケットのタイプとは関係ありません。
  3. #2と同じ:実装固有であり、一般的に違いはありません。
  4. 「負荷」は明確に定義された用語ではありません。ポートの使用率を意味していると思います。マルチキャストは、ブロードキャストがすべてのポートに送信されるグループにサブスクライブされているポートにのみ転送されます(vLANなどの複雑さが加わる場合もあります)。
2
Chris S