引言
组播根据承载业务可以分为媒体组播流和协议组播流,前者最常见的应用是组播视频流,后者主要用于发送路由协议。通信产品通常需要使用思博伦公司的TestCenter来测试这两种组播流的功能和性能。本文以交换机为例,介绍以Bound Stream Block方式测试媒体组播流,及以Raw Stream Block方式测试协议组播流的测试步骤,供大家参考。
组播地址分类
组播地址主要分成以下三类:
- 局部链接组播地址
地址范围:224.0.0.0到224.0.0.255
用途:用于本地网络中的协议控制消息,这些消息不会被路由器转发到其他网络。例如,224.0.0.1通常被用作所有系统的组播地址,用于发送路由协议消息等。
- 预留的组播地址
地址范围:224.0.1.0到238.255.255.255
用途:用于特定的组播应用,如视频会议、音频广播等。具体的地址可能会根据应用的不同而有所差异,例如某些视频会议系统可能会使用特定的组播地址来发送视频流。
- 管理权限组播地址
地址范围:239.0.0.0到239.255.255.255
用途:用于私有组播域内的组播通信,类似于IPv4中的私有地址(如10.0.0.0/8)。这些地址不会在互联网上路由,通常用于企业或组织的内部网络。
局部链接组播地址主要用于发送协议组播流,预留的组播地址和管理权限组播地址主要用于发送媒体组播流。
TestCenter支持Bound Stream Block和Raw Stream Block两种。测试媒体组播流时可以使用Bound Stream Block和Raw Stream Block两种方式建流,测试协议组播流只能使用Raw Stream Block方式建流

准备工作
1、一台配置好IGMP snooping的交换机,TestCenter的两个接口接到交换机上
2、连接TestCenter
打开test center管理客户端,点击“Connect to Chassis and Reserve Ports”,连上TestedCenter机框

3、选择测试接口
勾选测试用的接口,如下2槽的Port5和Port7,其中Port5作为组播流发送接口,Port7作为组播流接收接口

媒体组播流
添加组播接收device
1、先点击Port7下的devices,再点击Add按钮

2、在select ports页面,保持如下配置,点击下一步

3、在select protocol页面,勾选Access选择框,然后勾选IGMP

4、在Select Encapsulation页面,默认是IPv4,点击下一步

5、在configure device 页面,保持默认配置,点击下一步

6、在Configure IGMP页面,按需求设置IGMP版本和组播地址,如下设成IGMP2,组播地址为单个组播源224.1.1.1

7、在preview页面,点击完成按钮

8、再次点击port7下的devices,可以看到已经添加组播客户端device 1,切换到IGMP页,可以看到Active是勾选的,表示该device是组播客户端

9、点击Edit Group Membership,可以看到device 1加入组播组224.1.1.1

添加组播源
1、先点击Port5下的devices,再点击Add按钮

2、在select ports页面,保持如下配置,点击下一步

3、在select protocol页面,勾选Access选择框,然后勾选IGMP Querier
注意:如果不勾选IGMP querier,交换机在一段时间内收不到组播源发出IGMP轮询报文可能会不再维护组播转发表,导致媒体组播流中断

4、在Select Encapsulation页面,默认是IPv4,点击下一步

5、在configure device 页面,保持默认配置,点击下一步

6、在Configure IGMP Querier页面,按需求设置IGMP版本,如下设成IGMP2

7、在preview页面,点击完成按钮

8、再次点击port5下的devices,选中device 2,右键选中Start device,开始周期发送IGMP query报文

添加媒体组播流
1、点击Port5下的Traffic generator,点击Add按钮,选择Add Bound Stream Block

2、在Ports页面,勾选Port5和Port7

3、在Endpoint页面,source框内勾选device 2,destination框内勾选IPv4Group1,然后添加Add按钮,添加一条源IP是192.85.1.4,目的IP的是224.1.1.1的媒体组播流;


4、在Frame Size页面,将Stream block name改成224.1.1.1,方便记忆,并设置帧的大小,如下图设成固定1500字节;

5、在Frame页面,点击Add Hearder按钮,添加UDP报头,因为媒体流通常是UDP报文;

6、在Traffic Load页面,勾选Load per Streamblock,流负载根据测试需求设置;

7、在Rx Port页面,点击finish完成媒体组播流添加

发送接收组播流
1、在流量统计窗口依次选择System Views>Stream>Detailed Stream Results,打开按流统计窗口。


2、点击Apply和Start all traffic,开始发送组播流,在端口统计窗口可以看到Port5发送速率为100Mbps,Port7接收速率为0;在流统计窗口可以看到组播流的发送速率为100Mbps,接收速率为0;这是因为组播接收端口还未发出加入组播的请求报文;

3、点击port7下的devices,选中组播接收device 1,右键选中Start device,发出加入组播的请求;

4、device 1发出加入请求后,在端口统计窗口可以看到Port5发送速率为100Mbps,Port7接收速率为100Mbps;在流统计窗口可以看到组播流的发送速率为100Mbps,接收速率为100Mbps;说明交换机正确转发媒体组播流;

协议组播流
1、点击Port5下的Traffic generator,点击Add按钮,选择Add Raw Stream Block;
注意:按Bound Stream Block配置协议组播流,点击Apply会提示地址非法,所以只能以Raw Stream方式建立协议组播流;

2、在General页面,设置名字为224.0.0.1方便辨别,并根据需要设置帧大小和负载大小;

3、在Frame页面,然后点开以太网和IP报头,修改目的mac为组播mac地址和目的IP地址,224.0.0.1的组播mac地址是01:00:5E:00:00:01;
注:组播mac地址和组播地址存在映射关系,组播mac的前24位固定为01:00:5E,第25位固定为0,后23位取组播地址的后23位。以224.0.0.1为例,转化成二进制是11100000 0
0000000 00000000 00000001,后23位是
0000000 00000000 00000001
,加上前24位01:00:5E,第25位0,
组合起来是01:00:5E:00:00:01。

4、在Rx Port页面,将Port7设置为接收端口

5、点击Start all traffic按钮开始打协议组播流,可以看到Port7收到组播流。
注意:交换机路由器对协议组播流的处理能力一般不高,发100Mbps只收到4Mbps也是正常的

小结
- 组播流主要分媒体组播流和协议组播流两种;
- 协议组播流只支持raw stream建流方式,媒体组播流则支持raw stream和bound stream;
- 测试媒体组播流需要接收device发出加入请求,组播流才通,而协议组播流不需要;
raw stream方式建立媒体组播流,请参考往期文章【手把手教】使用TestCenter打组播流_testcenter打流-优快云博客
原创不易,你的支持是我最大的动力,欢迎大家点赞,收藏,关注!