testing多播路由的工具

我正在寻找一个很好的简单的工具,运行在一个标准的操作系统(Windows或Linux),我可以用来testing组播路由器正确传递。

我已经被客户请求在一个充当他们的路由器的Linux盒子上启用组播路由,因为他们的电话系统需要组播以提供一些function。 由于我身边并没有客户端,所以我实在没有能力尝试在Linux上设置多播路由的各种方法。 我可以在我的办公桌上安装一个与他们networking上部署的路由器相同的路由器,但是我不知道有什么好的简单工具可以用来生成或监听组播stream量。

我find的一个多播工具是mcast.exe工具 ,它是Windows 2000/2003资源工具包的一部分。 从我在线阅读的内容来看,似乎mcast.exe不能通过路由器工作,只能在本地networking上工作,所以对我来说testing多播路由似乎没有用处。

那么你用什么工具来testing多播路由是否正确设置?

    没有太多的真实世界多播体验,但你见过mz

     Description: versatile packet creation and network traffic generation tool mausezahn (mz) is a fast traffic generator written in C which allows you to send nearly every possible and impossible packet. It is mainly used to test VoIP or multicast networks but also for security audits to check whether your systems are hardened enough for specific attacks. Mausezahn can be used for example: . * as traffic generator (eg to stress multicast networks); * to precisely measure jitter (delay variations) between two hosts (eg for VoIP-SLA verification); * as didactical tool during a datacom lecture or for lab exercises; * for penetration testing of firewalls and IDS; * for DoS attacks on networks (for audit purposes of course); * to find bugs in network software or appliances; * for reconnaissance attacks using ping sweeps and port scans; * to test network behaviour under strange circumstances (stress test, malformed packets, ...). Homepage: http://www.perihel.at/sec/mz/ 

    还有ssmping

     Description: check your multicast connectivity Tools to check whether you can receive Source Specific Multicast (SSM) or Any Source Multicast (ASM) via either IPv4 or IPv6 . If a host runs ssmpingd, users on other hosts can use the ssmping client to test whether they can receive SSM from the host. Another program called asmping is also provided to check whether can receive ASM. Homepage: http://www.venaas.no/multicast/ssmping/ 

    两者都可以在Ubuntu 10.10上安装。 祝你好运!

    iperf是完美的,它可用于大多数Linux发行版和Windows。

    在听众方面:

     % iperf -s -u -B 224.1.1.1 -i 1 ------------------------------------------------------------ Server listening on UDP port 5001 Binding to local address 224.1.1.1 Joining multicast group 224.1.1.1 Receiving 1470 byte datagrams UDP buffer size: 110 KByte (default) ------------------------------------------------------------ 

    …它会等待收到消息来源的消息。 在源头上,开始发送:

     % iperf -c 224.1.1.1 -u -T 32 -t 3 -i 1 ------------------------------------------------------------ Client connecting to 224.1.1.1, UDP port 5001 Sending 1470 byte datagrams Setting multicast TTL to 32 UDP buffer size: 110 KByte (default) ------------------------------------------------------------ [ 3] local 192.168.220.20 port 59347 connected with 224.1.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0- 1.0 sec 129 KBytes 1.06 Mbits/sec [ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec [ 3] 0.0- 3.0 sec 386 KBytes 1.05 Mbits/sec [ 3] Sent 269 datagrams 

    同时,你会看到收听者收到的stream量:

     ... [ 3] local 224.1.1.1 port 5001 connected with 192.168.220.20 port 59347 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 3] 0.0- 1.0 sec 128 KBytes 1.05 Mbits/sec 0.035 ms 0/ 89 (0%) [ 3] 1.0- 2.0 sec 128 KBytes 1.05 Mbits/sec 0.015 ms 0/ 89 (0%) [ 3] 2.0- 3.0 sec 128 KBytes 1.05 Mbits/sec 0.025 ms 0/ 89 (0%) [ 3] 0.0- 3.0 sec 386 KBytes 1.05 Mbits/sec 0.068 ms 0/ 269 (0%) 

    通过在发送者上指定-T 32选项,你将TTL设置为32,这将确保stream量可以被路由(假设IGMP,PIM以及路由器上没有正确configuration)

    顺便说一下,我最后一次尝试在这种情况下使用VLC,我遇到了一个问题,VLC会忽略TTL设置,并始终传输数据包TTL设置为1.阅读错误报告的解决方法。

    这可能会也可能不会有帮助,但在过去,我已经使用VLC(所有东西)作为多播video源。 但是,在我的使用情况中,组播stream从来不需要超出L2域,所以我不能说它产生的stream量是否是“适当的”可路由组播。

    mcast是我们用来查看本地路由器是否允许组播的工具。 它应该是默认closures的。

    您不希望组播数据包漫游堵塞不需要的networking。

    您也可以尝试这些应用程序:VIC和RAT,用于MBONE开发的多播应用程序,可用于Windows XP和UNIX。 它也支持IPv4和IPv6组播。 你可以在http://mediatools.cs.ucl.ac.uk/nets/mmedia/上看到