UDP multicast: три получателя

Доставьте одно UDP-сообщение трём получателям.

Сеть

Прокрутите схему по горизонталиОткрыть схему целиком
SW1 соединяет получателей PC1, PC2 и PC3 и отправителя PC4 в 192.168.1.0/24.
PC1–PC3 — получатели, PC4 — отправитель.

Как открыть консоль

1. Подпишите получателей

PC1

socat -u UDP4-RECV:12345,reuseaddr,ip-add-membership=224.16.12.1:192.168.1.1 OPEN:/tmp/lab-multicast.txt,creat,append &
listener_pid=$!

Повторите на PC2 с локальным адресом 192.168.1.2 и на PC3 с 192.168.1.3. Группу и порт оставьте прежними.

2. Отправьте сообщение

PC4

timeout 120 tcpdump -U --immediate-mode -i eth0 -w /tmp/lab-multicast.pcap "udp port 12345" &
capture_pid=$!
sleep 1

PC4

printf 'multicast-lab\n' | socat -u - UDP4-DATAGRAM:224.16.12.1:12345,ip-multicast-if=192.168.1.200,ip-multicast-ttl=1

3. Проверьте доставку

PC4

sleep 2
kill -INT "$capture_pid"
wait "$capture_pid" || true
tcpdump -nn -e -r /tmp/lab-multicast.pcap

PC1, PC2 и PC3

cat /tmp/lab-multicast.txt
kill "$listener_pid"

Все три файла должны содержать multicast-lab. В захвате найдите назначение 224.16.12.1:12345 и MAC 01:00:5e:10:0c:01.

Проверка

Нажмите «Проверить». Когда все шаги пройдены, нажмите «Завершить».