私のLinuxホストが突然マルチキャストの受信を停止するのはなぜですか?プライベートネットワークの他のすべてのネットワークカードは受信中です。

私のLinuxホストが突然マルチキャストの受信を停止するのはなぜですか?プライベートネットワークの他のすべてのネットワークカードは受信中です。

これが私のジレンマです。突然、昨日から1つのノードがeth1(プライベートギガビットネットワーク)からマルチキャストパケットを受信しなくなりました。すべてのノード間のルーティングは、競合、パケット損失などなしで良好です。

ifconfiginfo、inet addr、Bcast、Maskはすべて大丈夫です。すべて同じbcastとネットマスクを共有します。また、両方ともUP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 on eth1を共有します。

これらのノードは Xen VM プロバイダーによってホストされます。すべてのゲストはお互いのプライベートIPアドレスを見ることができます。関連するルールはありませんiptables。マルチキャストパケットは、tcpdump.systemの再起動などを使用して、1つを除くすべてのノード(20+)間で表示されます。

ちなみに、netstat -gによると、影響を受けるノードには、他のすべてのノードと同様に、マルチキャストグループ「eth1 1 224.2.2.4」は割り当てられません。

何がこのようなことを起こすことができますか? 1つのノードがもはやマルチキャストグループの一部ではないようです。チケットを開いたが問題があるようです。

ベストアンサー1

LinuxスタックのIGMPグループメンバーシップの有効期限ポリシーがわかりません。これが起こる可能性がありますが、プログラムのIGMPメンバーシップを削除する必要がある時期をカーネルに知らせる方法(明示的方法、暗黙的方法)が少なくとも2つあるため、疑わしいです。

だから私の考えでは、マルチキャストパケットを受信するソフトウェアにバグがあるようです。 (名前を決めますか?)マルチキャストを受信するプログラムが何らかの方法でメンバーシップを放棄したか、開始時にメンバーシップを追加することを無視しました。マルチキャストリスナープログラムを再起動すると、tcpdumpネットワーク上で発行されたIGMPv2 +グループメンバーシップの追加要求が表示されます。

小規模なLANでテストする場合、安価なネットワークスイッチはIGMPをサポートしていないため、このエラーに全く気付かない可能性があります。この機能をIGMPスヌーピングといい、スイッチのみにある機能で、最も安価なデバイスに比べてポートあたりの価格が約5倍以上高いです。 IGMPスヌーピング機能のないスイッチ(またはこの機能がオフになっているスイッチ)はマルチキャストをブロードキャストに変換するため、IGMPグループの追加メッセージは必要ありません。

失敗したコンピュータのネットワークスタックでIGMPグループメンバーが消えた後にマルチキャストメッセージの受信が中断されたため、ホスティングプロバイダはネットワークファブリックでIGMPスヌーピングを有効にしたようです。

ホスティングプロバイダのIGMPスヌーピングオプションがスイッチに誤って設定され、グループメンバーシップを削除する可能性がありますが、結果は説明されませんnetstat -g

おすすめ記事