回答:
ほとんどのカーネル(v1以降)はデフォルトでマルチキャストをサポートしているか、またはコンパイル中にCONFIG_IP_MULTICASTが有効になっているようです。コンパイルされ実行中のカーネルがマルチキャストグループをサブスクライブしているかどうかを確認するには、を使用しますnetstat -g
。
ほとんどのカーネル(v1以降)はデフォルトでマルチキャストをサポートしているようです。
[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
私のホストのeth0インターフェイスは、サブスクライブされた224.0.0.251の基本的なmcastグループであると考えています。また、グループまたはネットワークにpingを実行して、既知のマルチキャスト対応ホストネットワークがすべて返された場合、マルチキャストがホストで機能していると言えます。ホスト上のグループを返すかどうnetstat -g
かcat /proc/net/igmp
、または試してみてください。
あなたのLinuxボックスで:
ip maddr show
与える:
@4Gtest ~]$ ip maddr show
1: lo
inet 224.0.0.1
inet6 ff02::1
2: p3p1
link 01:00:5e:00:00:01
link 33:33:00:00:00:01
link 33:33:ff:bd:7e:0f
link 01:00:5e:00:00:fb
link 01:00:5e:7f:ff:05
inet 224.127.255.5
inet 224.0.0.251
inet 224.0.0.1
inet6 ff02::1:ffbd:7e0f
inet6 ff02::1
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F1:FF:EA
inet addr:78.46.74.27 Bcast:78.46.74.31 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB) TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000
マルチキャストを無効にします。
ifconfig eth0 -multicast
結果:
# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:0C:29:F1:FF:EA
inet addr:78.46.74.27 Bcast:78.46.74.31 Mask:255.255.255.224
inet6 addr: fe80::20c:29ff:fef1:ffea/64 Scope:Link
UP BROADCAST MTU:1500 Metric:1
RX packets:5339836 errors:0 dropped:0 overruns:0 frame:0
TX packets:5486444 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:820300389 (782.2 MiB) TX bytes:1929979381 (1.7 GiB)
Base address:0x1400 Memory:e8820000-e8840000
インターフェイスにマルチキャストがありません
マルチキャストを有効にする:
ifconfig eth0 multicast
ifconfig
ip
から、その他のユーティリティiproute2のが(とは異なり、Linuxのカーネルのネットワークコードの最近の変更を反映していますifconfig
)。