コンピューターで送信者と受信者のマルチキャストc#プログラムを試しています。ルーターがマルチキャストをブロックしているかどうかを確認するにはどうすればよいですか?つまり、グループのメンバーが224.0.0.1からのパケットを受信するかどうか。
IPv4ルーターは、マルチキャストを224.0.0.1に転送しないように必須です。これが「すべてのホスト」のマルチキャストアドレスです。そのアドレスは、ルーティング可能なマルチキャストアドレスではありません。 RFC 3171、「IPv4マルチキャストアドレス割り当てに関するIANAガイドライン」 を参照してください。現在のデータリンク層(層2)ネットワークから離れることは許可されていません。そうしないと、pingを実行するときに、インターネット全体で最後のIPv4対応ホストすべてに文字通りpingを実行し、すべてのping応答で即座にDDOSを実行することになります。 :-)
アプリケーションを開発する際には、「管理スコープのIPマルチキャスト」アドレス(239/8)を使用することをお勧めします。 RFC 2365 を参照してください。 警告レクター:私は確かにIPv4マルチキャストルーティングの専門家ではありません。
正確なネットワーク用語の代わりに素人の用語を使用していて、「ルーター」と呼んでいたネットワークデバイスが実際にはイーサネットブリッジ/スイッチであり、IPv4ルーターではない場合、実際にはポート間で転送されます。これがイーサネットであるためです。ブリッジ/スイッチが必要です。イーサネット層では、宛先MACアドレスにマルチキャストビットが設定されるためです。
802.11(Wi-Fi)を扱っている場合、802.11はデータリンク層プロトコルであり、基本的にはワイヤレスイーサネットであることに注意してください。ワイヤレスイーサネットを有線イーサネットに接続するデバイスは、技術的には「アクセスポイント」またはAPと呼ばれます。 APは、有線イーサネットと無線イーサネットの間の単純なリンク層ブリッジにすることができます。したがって、一般の人々が「ワイヤレスルーター」と呼ぶデバイスの中には、セットアップ方法によっては、実際には単なるブリッジAPであり、ルーターではないものもあります。
ただし、IPv4 NATゲートウェイとして機能するように構成された「ワイヤレスルーター」がある場合は、NATであるため、ルーターと見なしても問題ありません。ゲートウェイは、単純なIPv4ルーターが実行するすべてのことをほぼ実行します。plusLAN側からのトラフィックをプライベートにするために、いくつかの上位層のトリックを採用しています。サブネットホストは、実際にはゲートウェイの1つのWAN側のパブリックルーティング可能なIPアドレスから送信されているように見えますが、NATゲートウェイであっても、224.0.0.1のパケットをから転送するべきではありません。 LAN-to-WANまたはWAN-to-LAN。
ハードウェアの懸念:
メーカー、モデル、およびドキュメントをチェックして、ハードウェアがマルチキャストをサポートしていることを確認します。ハードウェアの問題ではないと想定して、アクセスポイント/スイッチ/ゲートウェイ/「トラフィック通過点滅ボックス」の設定を確認してください...
診断:
C#ユーザーとして、Mac/Unixコマンド/応答をWindowsランドに変換する必要があるかもしれません...
私が走ったとき:> ifconfig
私の家から私は得る:
... en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ...
自宅でワイヤレス接続を介してzeroconf、mDNS、Bonjourサービスなどを使用しているため、これは理にかなっています。 zeroconfが機能しないコワーキングスペースで同じことを実行すると、ifconfig
コマンドがマルチキャストフラグを除外していることにも気づきました。
... en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500 ....
ゲートウェイ管理者の場合
アクセスポイントにログインして、マルチキャストを有効にしてみてください。参考までに、消費者向けの「ルーター」を使用している場合は、掘り下げる必要があるかもしれません 詳細タブ (Time WarnerのPDFの例。必ず「マルチキャスト」を検索してください)