目前我有下面的eth5来接收239.1.1.31的组播数据。 有用。
$ ifconfig eth5 Link encap:Ethernet HWaddr E4:11:5B:94:E1:F3 inet addr:10.185.2.2 Bcast:10.185.2.31 Mask:255.255.255.224 ...
路线:
$ sudo ip route add 10.0.8.0/24 via 10.185.2.14 dev eth5 $ sudo ip route add 224.0.0.0/4 dev eth5 $ route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 10.185.2.0 0.0.0.0 255.255.255.224 U 1 0 0 eth5 10.0.8.0 10.185.2.14 255.255.255.0 UG 0 0 0 eth5 224.0.0.0 0.0.0.0 240.0.0.0 U 0 0 0 eth5
结果:
$ iperf -s -u -B 239.1.1.31 -p 51000 -i 1 ------------------------------------------------------------ Server listening on UDP port 51000 Binding to local address 239.1.1.31 Joining multicast group 239.1.1.31 Receiving 1470 byte datagrams UDP buffer size: 224 KByte (default) ------------------------------------------------------------ [ 3] local 239.1.1.31 port 51000 connected with 10.0.8.50 port 53253 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0- 1.0 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/ 0 (-nan%) [ 3] 1.0- 2.0 sec 16.0 Bytes 128 bits/sec 0.000 ms 268435481/268435482 (1e+02%) [ 3] 2.0- 3.0 sec 0.00 Bytes 0.00 bits/sec 0.000 ms 0/ 0 (-nan%) ... $ sudo tcpdump -i eth5 dst host 239.1.1.31 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth5, link-type EN10MB (Ethernet), capture size 65535 bytes 13:57:46.194477 IP 10.0.8.32.41686 > 239.1.1.31.pago-services1: UDP, length 512 13:57:46.348176 IP 10.0.10.32.53089 > 239.1.1.31.pago-services2: UDP, length 512 13:57:46.562028 IP 10.0.8.41.48791 > 239.1.1.31.60001: UDP, length 24 ...
现在我有一个接口eth4来接收239.1.1.201的多播数据:
$ ifconfig eth4 Link encap:Ethernet HWaddr E4:11:5B:94:E1:F2 inet addr:10.185.130.2 Bcast:10.185.130.31 Mask:255.255.255.224
下面的命令失败了。
$ sudo ip route add 10.0.8.0/24 via 10.185.130.14 dev eth4 RTNETLINK answers: File exists $ sudo ip route add 224.0.0.0/4 dev eth4 RTNETLINK answers: File exists
我应该如何继续从两个接口接收组播数据? 谢谢。