집에 이런 네트워크가 있어요.
# ip route show
default via 192.168.0.1 dev enp1s0
192.168.0.0/24 dev enp1s0 proto kernel scope link src 192.168.0.110
192.168.1.0/24 dev enp3s0 proto kernel scope link src 192.168.1.10
그 사이에 Linux 상자를 사용하여 하고 있는 일은 iptables와 tc를 사용하여 인터넷 사용량을 모니터링하고 제한에 도달하면 데이터를 제한하는 것입니다.
최근에 내 PC 중 하나에 DVB 카드를 추가하고 DVBdream 소프트웨어를 사용하여 LAN 스트리밍을 사용하여 다른 장치로 스트리밍 채널을 시도했습니다.
같은 컴퓨터에서는 잘 작동합니다.
하지만 다른 컴퓨터에서 VLC를 사용하여 udp://@224.0.0.10:1234를 열려고 하면 작동하지 않습니다.
멀티캐스트 네트워크를 경로 목록에 추가하려고 시도했지만 아무 효과가 없었습니다.
route -n add -net 224.0.0.0 netmask 240.0.0.0 dev enp3s0
Linux 커널은 또한 이러한 기능을 활성화합니다.
CONFIG_IP_MULTICAST=y
CONFIG_IP_PIMSM_V2=y
CONFIG_IP_MROUTE=y
# CONFIG_IP_MROUTE_MULTIPLE_TABLES is not set
Linux 라우터에서 이 명령을 실행하면
tcpdump -i enp3s0 ip multicast
다음과 같은 출력을 볼 수 있습니다
13:50:37.072348 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072458 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072588 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072703 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072838 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.072953 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073083 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073195 IP 192.168.1.100 > igrp-routers.mcast.net: udp
13:50:37.073205 IP 192.168.1.100 > igrp-routers.mcast.net: udp
이 시스템에서 멀티캐스트가 가능하고 다른 PC에서 채널을 볼 수 있나요? 그렇다면 이 시스템에서 멀티캐스트를 어떻게 활성화합니까?
참고: 브로드캐스팅을 시도했는데 작동했지만 네트워크에 연결된 모든 장치에 불필요한 데이터가 전송되어 네트워크 지연이 발생했습니다.
인사
답변1
아주 간단하게:
1) 멀티캐스트는 라우팅을 통해 전달되지 않으므로 당황스럽고 아무것도 변하지 않을 때까지 라우팅을 설정할 수 있습니다.
2) 먼저 192.168.1.100 및 196.168.1.112를 사용해 보십시오. 두 제품은 동일한 네트워크 세그먼트에 있으므로 작동할 것입니다. 디버깅을 원하지 않으면 tcpdump를 사용하세요.
3) 무선 게이트웨이가 브리지되어 있습니까? 그렇지 않은 경우 smcroute
또는 와 같은 멀티캐스트 라우팅 데몬을 설치해야 합니다 pimd
. 브리징을 적극 권장합니다. 이것이 더 간단한 솔루션입니다.
4) 를 이용하여 일반 멀티캐스트를 테스트할 수 있습니다 ssmping
. 다시 말하지만, tcpdump
디버깅을 위해 모든 머신에서 사용하세요.