web-dev-qa-db-ja.com

マルチキャストスヌーピングとは何ですか、なぜそれはUPnP / DLNAを壊すのですか?

特に、mediatombを使用してDLNA(UPnP)経由でメディアを提供するサーバーがあります。クライアントはSimple Service Discovery Protocol(SSDP)を使用してネットワーク上のサーバーを見つけます。

SSDPの発見M-SEARCHクエリは応答されず、最終的にサーバーがマルチキャストスヌーピングが有効になっているブリッジインターフェイスを使用しているという事実まで問題を追跡しました(ブリッジではデフォルトで有効になっているため)。

私は私の問題を修正しました

echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping

しかし、これは私の状況では機能しますが、それが何をしているのか、そして私が知らない影響があるかどうかはわかりません。したがって、質問....

マルチキャストスヌーピングとは何か、なぜSSDPが壊れるのか、なぜそれが必要になるのか、なぜそれがブリッジでデフォルトで有効になっているのか、そしてそれはおそらく正当な理由でデフォルトで有効になっているので無効にすることによってどのような問題が発生するのか?

4
starfry

マルチキャストは、スイッチルーターにとって大きな負荷になる可能性があります(潜在的なDoS攻撃のセキュリティの側面については触れません)。スイッチ(またはLinuxブリッジ)では、 マルチキャストスヌーピング はネットワークレイヤー2.5にあり、次のようにして負荷を軽減することを目的としています。

  • ネットワークトラフィックをスヌーピング
  • 各スイッチポートがサブスクライブされているマルチキャストチャネルを識別する
  • 他のマルチキャストトラフィックを除外する

確かに、これは常に望ましい機能です(マルチキャストトラフィックをデバッグする場合を除きます)。では、なぜマルチキャストスヌーピングを無効にするのでしょうか。

あなたが直面しているバグは、数年前にコロシンクと2つの異なるホスト上の2つのVMで発生したバグです:すべての着信マルチキャストトラフィックがホストによってドロップされたと思われる特定のポイントまでトラフィックは問題ありません(ただし、iptableテーブルは完全に空です) 。私の知る限り、これは3.xカーネルのバグであり、私はあなたと同じ方法でマルチキャストスヌーピングを無効にする必要がありました。私の記憶が私に役立つなら、私は当時Debian(WheezyまたはJessie)を使用していましたが、これは RedHatバグレポート が私が抱えていた問題を正確に説明しています。

このバグレポートで説明されているように、可能性がある場合は、次のことをお勧めします。

echo 1 > /sys/devices/virtual/net/br0/bridge/multicast_querier

より:

echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
6
xhienne