Wydaje się, że większość jąder (po wersji 1) domyślnie obsługuje multiemisję lub ma włączoną CONFIG_IP_MULTICAST podczas kompilacji. Aby sprawdzić, czy skompilowane i działające jądro subskrybuje dowolną grupę multiemisji, użyłbym netstat -g
.
Wygląda na to, że większość jąder (post v1) domyślnie obsługuje multicast.
[root@centos module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config
CONFIG_IP_MULTICAST=y
[root@centos module]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
Widzę, że interfejs eth0 na moim hoście myśli, że jego zasubskrybowana podstawowa grupa mcast 224.0.0.251. Alternatywnie, jeśli pinguję grupę lub sieć, a następnie wszystkie znane sieci hostów obsługujące multiemisję zostaną zwrócone, powiedziałbym, że multiemisja działa na hoście. Czy możesz spróbować netstat -g
lub cat /proc/net/igmp
sprawdzić, czy zwraca jakieś grupy na twoim hoście?
Na twoim Linux-ie:
ip maddr show
daje:źródło
Wyłącz multiemisję:
wynik:
W interfejsie nie ma multiemisji
Włącz multiemisję:
źródło
ifconfig
obecnie jest on przestarzały w Linuksie ... powinniśmy używaćiproute2
narzędzi.ifconfig
ip
i inne narzędzia z iproute2 odzwierciedlają ostatnie zmiany w kodzie sieciowym jądra Linux (w przeciwieństwie doifconfig
).Za pomocą
ip
polecenia można sprawdzić, czy interfejs obsługuje multiemisję poprzez:Aby włączyć lub wyłączyć multiemisję, możesz użyć:
źródło