1台のコンピュータでsocatを使用してマルチキャストをテストする方法

1台のコンピュータでsocatを使用してマルチキャストをテストする方法

私は、マルチキャストが動作しているかどうかをテストするためにUbuntuでsocatを使用したいLinux初心者です。
実際には少し「とても良い」(または基本的なことを誤解しました)

私のネットワークは次のとおりです(ifconfig、略語)。

ens33 - 192.168.2.10
lo - 127.0.0.1
vboxnet0 - 5 - 192.168.56.1 and up to 192.168.1.1
vboxnet6 - 192.168.1.1
vboxnet7 - 10.0.1.1
vboxnet8 - 192.88.99.1


受信機などの2つのコンソールでsocatを起動します。
socat -d -d UDP-RECVFROM:6666,ip-add-membership=233.168.0.100:192.68.56.1:ens33,fork EXEC:hostname

送信者
socat -d -d STDIO UDP4-DATAGRAM:233.18.0.100:6666,range=192.168.56.100/30

一致する限り、マルチキャストアドレスとして何を選択するかは問題ではありません。
機能するには、受信機のインターフェースを指定する必要があります。

最初に述べたように、受信者がメッセージを受信するのは問題です。

私が正しく覚えているなら、それをしてはいけません。なぜなら私が定義した範囲ではないからです。つまり、IPが何であれ、受信者は常にパケットを受信することを意味します192.168.56.100/30192.168.56.101 - 192.168.56.103

rangeこれが実際に何をしているのか私が誤解したのでしょうか?
私は何を見逃していますか?

私はこれが同じデバイス(ルーター)にあるものと関係があると思います。

ベストアンサー1

マルチキャストが正常に動作しています。

実際にマルチキャストアドレスを受信するようにインターフェイスにシグナルを送信すると、プライマリインターフェイスはインターフェイスのIPアドレスではなくそのアドレスに関連付けられます。

したがって、同じ物理/仮想メディア/ネットワークを共有する限り、マルチキャストアドレスに関連付けられているすべてのインターフェイスはマルチキャスト送信を受信します。

おすすめ記事