プログラムのリンクローカル IPv6 マルチキャスト ルーチンで「興味深い」動作が見られます。112 ビットのグループ ID フィールドの上位 16 ビットのいずれかを設定すると、MacOS/X はそれらのマルチキャスト パケットを受け入れなくなります。私の質問は、これは MacOS/X ネットワーク スタックのバグですか、それともグループ ID フィールドの上位 16 ビットを設定するとルーティングの動作に影響する何らかの理由があるのでしょうか?
より具体的な情報は次のとおりです。
ある Mac から別の Mac へのマルチキャストは常に機能します (10.5 および 10.6 でテスト済み)。
Linux から Windows へのマルチキャストは常に機能します
Mac から Windows、Windows から Mac、または Linux から Mac へのマルチキャストは、マルチキャスト アドレスのグループ ID の上位 16 ビットがゼロに設定されている場合にのみ機能します。例えば:
- 「動作しない」場合、Mac で実行されている WireShark は、Mac がマルチキャスト パケットを受信したことを示しますが、それらのパケットは Mac 上の受信アプリケーションに渡されません。これは、Mac のネットワーク スタックにバグがあるということですか、それとも、私が気付いていないマルチキャスト アドレッシングのより深い魔法があるということですか?