本帖最后由 ffd2009 于 2010-3-21 16:15 编辑
很多哥们儿都用GNS3或者Dynamips GUI甚至万能拓扑做实验。虚拟虽然简单省事,但是有诸多限制。
有些NP实验,比如组播,就算真实的实验室环境,也不好模拟组播数据流量的发送与接收。本人试用了网上一些模拟组播包发送与接收的软件之后效果总是差强人意。其实,微软本身就提供了这样一个网络测试的小工具集rktools,其中就有我们需要的组播测试工具。下面,我们就以GNS3和Vmware虚拟机以及rktools的组合来搭建一套组播实验环境。虽说完全是虚拟化的环境,但是,每个工具都能完美模拟出相关的功能。撤多了,入正题: 现实中的多播源一般为具体的应用程序或者特定的设备,而接收者也应该有相应的应用程序或者功能的支持。其实,在我们平时所用的windows xp或者windows 2003上,我们就可以通过rktools工具集来实现组播包的发送与接收测试。要在一台机器上虚拟多个系统就需要用到Vmware这款广泛用于服务器虚拟化技术的虚拟机软件在同一台PC上虚拟出两台windows主机,当然微软的Virtual PC也可以。而且要模拟完整的实验拓扑,我们通常使用的是GNS3或者DynamipsGUI甚至是万能拓扑,不论哪种模拟器,我们都能将虚拟机虚拟出来的主机与模拟器完美结合,搭建一个与真实应用完全一致的网络环境。看如下拓扑:
上述拓扑中,win-2003主机为多播组225.1.1.1的源,而处于骨干网另一侧的win-xp为组成员,要接收225.1.1.1的组播流量。所有路由器间运行OSPF并实现正常通信。下面我们来搭建该环境。
1.使用Vmware或者Virtual PC安装两台虚拟机。此步不再赘述。
2.使用GNS3搭建拓扑,并将拓扑与虚拟机进行桥接。在上图中,将win-xp和win-2003桥接到拓扑中。桥接方法请到论坛相关板块查看文档。
3.在所有路由器上启用OSPF(当然跑其他IGP也无所谓,只要能保证网络正常通信),网络通信正常。测试两台主机之间的连通性:
4.在路由器上启用PIM-DM或者PIM-SM。
5.分别在win-xp和win-2003上安装rktools工具包,该工具包中包含我们要用到的组播工具mcast。下载地址: http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&displaylang=en mcast命令有如下可选参数: /grps:255.1.1.1 该命令表示发送或接收组播地址225.1.1.1的数据包 /srcs:172.16.1.1 用于多播源发送多播包时,指定多播源的IP。 /send 表示往/grps:指定的多播地址发送包。 /recv 表示接收/grps:指定的多播地址的数据包。 /intvl:1000 指定多播包发送间隔,单位ms。 /numpkts:100 指定发送多播包的数量。 /TTL:10 指定多播包的TTL值,用于多播定界。 多播源主机使用的命令组合如下: mcast /grps:225.1.1.1 /srcv:172.16.1.1 /intvl:1000 /numpkts:100 该命令表示以172.16.1.1为源向255.1.1.1以1个/s的速度连续发送100个多播数据包。 接收方的接收命令组合一般为: mcast /grps:255.1.1.1 /recv 该命令为指定接收225.1.1.1的组播包。当该命令输入时,主机会向子网内的DR发送IGMP 加入消息。
多播源主机发送多播包的界面如下:
组成员主机等待接收多播包的界面如下:
接收中....
至此,实验环境搭建成功,就可以进行其他具体的配置练习,并可以查看不同协议各个状态的详细信息。
提醒下:接收端虚拟机的防火墙要关闭,否则接收不到组播包。另外,该实验对电脑硬件要求较高,单跑个组播就能跟跑BGP“媲美”,再加两台虚拟机。电脑配置差的兄弟实验中出现死机蓝屏莫怪我- -!
SPOTO winder QQ:97251095
|