
私は、50 ミリ秒ごとに IPv6 マルチキャスト パケット (ff12::2:0:8afb:382b:c053:85f%en1 へ) を送信するプログラムを持っています。このプログラムを、非常にシンプルな 1 台のコンピュータの LAN (Mac mini <-wifi-> Linksys wifi ルーター <-cat5-> DSL モデム <-> インターネット) で実行しています。私のテストでは、このマルチキャスト グループに参加しているコンピュータはありません (つまり、誰もこれらのパケットをリッスンしていません)
問題は、このプログラムが動作しているとき、Mac の WiFi パフォーマンスが 50% 以上低下することです。おそらく、これらのマルチキャスト パケットがすべて WiFi 帯域幅を大量に消費し、輻輳を引き起こしていることが問題なのですが、パケットが送信される理由がまったくわかりません。マルチキャストではスパニング ツリー アルゴリズムを使用して、マルチキャスト パケットが実際に受信を希望するホストにのみルーティングされるようにすると理解していました。それが本当で、このマルチキャスト アドレスに参加している LAN 上の他のコンピュータがない場合は、Mac はそれを認識し、他のホストがマルチキャスト グループに参加するまでパケットを送信しないはずではないでしょうか。それとも、スパニング ツリー カリングはスイッチでのみ実装され、ホスト自体では実装されないのでしょうか。
答え1
マルチキャストは扱いが難しいものです。ルーターマルチキャスト パケットを調停するのは、スマート スイッチです。スマート スイッチを使用すると、パケットが本来の宛先以外の場所に到達しないようにすることができます。ただし、マルチキャスターとクライアント ステーションの間にルーターがない場合 (正しく理解していれば、ルーターはありません)、マルチキャストはそのサブネット上でブロードキャストとまったく同じように動作します。
答え2
@sysadmin1138 の回答に追加します (このコメントはコメント ボックスには長すぎました)...
802.11 では、BSS 内リレーと低いマルチキャスト レートという 2 つの点で問題がさらに増えることに注意してください。
802.11 では、元の送信者が意図した受信者の無線範囲内にいない場合、同じ AP 上の無線から無線へのフレームは AP によって無線で再送信されなければなりません。このプロセスは「BSS 内リレー」と呼ばれ、「隠れノード問題」と呼ばれる問題を解決します。隠れノード問題とは、2 つの無線ノードが両方とも AP の範囲内にあるが、互いの範囲外 (隠れている) にあるという問題です。したがって、AP の 1 つの無線クライアントから送信され、AP の別の無線クライアントに送信される可能性のあるすべてのフレーム (注: これにはすべてのマルチキャストとブロードキャストが含まれます) は、同じチャネルを介して 2 回送信されます。まずにAP(これはTo the Distribution System、または「ToDS」と呼ばれます)に送られ、その後再びからBSS 内リレーの一部として AP ("FromDS") に送信します。
「ToDS」区間は、クライアントが AP と正常に通信できる最高のデータ レートです。したがって、これが最新の 3x3 N クライアントと、短いガード間隔で 40 MHz チャネルを使用する AP である場合、これは 450 mbps になる可能性があります。
残念ながら、経路の「FromDS」区間では、フレームは、その AP のすべてのクライアントが確実に受信できるほど低いデータ レートで送信する必要があります。これは、マルチキャストが 802.11 レイヤーで確認応答されないためです。確認応答があると、すべてのマルチキャストに応答して確認応答ストームが発生するためです。
AP によっては、マルチキャスト レートを明示的に設定できるものもあります。また、「基本」または「必須」のレート セットを定義できるものもあり、AP は基本レートの中からマルチキャスト レートを選択します。さらに、b/g/n (または a/n) 互換モードを設定するだけで、それに基づいて定義済みの基本レート セットとマルチキャスト レートを持つものもあります。多くの AP は、802.11-1997 DSSS データ レート 1 および 2 mbps (802.11b で 5.5 および 11mbps が追加される前) まで遡って、完全互換モードをデフォルトに設定しています。つまり、マルチキャスト レートは 1mbps まで低くなる可能性があります。
最悪の場合、マルチキャストは451を消費することになる。回同じサイズの無線から有線(または有線から無線)のユニキャスト フレームが占めるチャネル エアタイム。
また、一部の設計では、BSS 内リレーは AP の 802.11 NIC のマイクロコードによって実行されるため、これらのアーキテクチャでは、これらのフレームはリレーされる前に AP のホスト プロセッサを通過しません。したがって、AP が「スマート」スイッチであり、レイヤ モデルに違反してレイヤ 3 IGMP スヌーピングを実行してマルチキャスト ツリーをプルーニングできる場合でも、無線カードがフレームの BSS 内リレーを既に実行する前に、AP がそれを実行する機会はありません。
答え3
マルチキャストは、ローカル ルータ (スイッチではない) によって完全にサポートされていない場合、デフォルトでブロードキャスト動作になります。そのため、LAN セグメント内のすべての既知のノードに伝播する傾向があります。
SoHo ルーターは、マルチキャストを完全にまたは正しくサポートしていることはあまり知られていません。多くのルーターは上流ルーターに依存しており、LAN レベルのクライアントのみを想定しています。ルーターの設定を調整することもできますが、マルチキャスト グループにサブスクライバーがいない場合は、ソースでオフにしてみてはいかがでしょうか。