组播路由故障排除心得
2016-11-26
引言:传统的IP传输只允许一台主机向单个主机或者所有主机发送报文,组播技术则提供第三种选择。平常我们接触到组播应用最多的是视频会议和视频点播等服务。笔者单位使用的国内某厂商的IP会议终端就需要启用组播路由协议。本文介绍笔者解决组播路由故障时的三步法。
传统的IP传输只允许一台主机向单个主机或者所有主机发送报文,组播技术则提供第三种选择,即允许一台主机向某些主机发送报文。这些主机被称为组成员。发送到组成员的报文目的地址是某个D类地址(224.0.0.0-239.255.255.255)。组播报文的传输类似于UDP,只是一种尽力保证的服务,不提供类似于TCP的可靠传输和差错控制。平常我们接触到组播应用最多的是视频会议和视频点播等服务。笔者单位使用的IP会议终端就需要启用组播路由协议。本文介绍组播路由一般故障时的排除方法。
故障现象
一般来说,组播路由出现故障时,视频会议无法正常开会,或者就是声音图像卡顿现象比较明显,甚至出现长时间丢帧现象。排除故障的思路一般分为三步:一是检查网络是否正常,网络设备是否启用了组播路由协议。二是检查自治系统间组播路由是否正常。三是是否建立MSDP对等体。下面就对三个步骤进行详细分析。
步骤一:查看局域网交换机能否接收到组播包
通常情况下网络连接不正常,交换机未启用组播协议,组播应用程序没有加入到组播组这些因素都有可能会引起收不到组播包这类故障。这种情况下,首先应检查局域网主机能否Ping通网关地址,如果不通,检查网络参数相关配置和物理连接,确保网络通信正常。其次,检查局域网交换机是否启用组播协议,组播协议分三层和二层,三层组播功能通常使用如下命令启用:
二层组播功能,有的厂商交换机默认启用,比如思科设备;有的需要手动配置,比如华三设备。可采用如下命令查看是否存在二层接口和组成员:
如未启动二层组播功能,则输入下列命令启用:
switch(config)#igmp snooping
如果上述两步检查都正常,可能是交换机不转发组播包,可通过在交换机互联端口加入组播组的命令来实现组播功能。
步骤二:检查路由自治系统间组播路由是否异常
自治系统间的组播路由出现异常,通常是自治系统内没有设置统一的集合点(Rendezvous Point,RP),或自治系统边界未定义组播模式(稀疏/密集),又或是自治系统边界未设置bsrborder造成。解决的思路首先在本地路由器上使用“Router# show ip pim rp”命令查看是否存在RP。如果不存在RP,说明RP设置有问题,可根据本网系的需求采用静态或手工指定RP,全区域的RP地址必须一致。
静态RP配置命令如下:
动态RP配置命令为:
如果RP设置正确,自治系统间的组播路由依旧异常,使 用“show interface”命令检查边界路由器之间的互联接口是否定义组播模式,若没有,在接口配置模式下增加如下命令:
接 着 使 用“show interface”命令检查边界路由器之间的互联接口是否设置bsr-border,若没有,在接口配置模式下增加如下命令:
步骤三:检查RP之间能否建立MSDP对等体
在不同PIM-SM域的RP之间不能建立MSDP对等体的故障一般都是未配置MSDP Peer,或配置的对等体与自治系统内的RP不一致造成。解决的思路首先在本PIM域的RP路由器上使用以下命令查看其MSDP对等情况,其具体命名如下:
网络通信正常的情况下,如果不存在MSDP对等体,可 使 用“show runningconfig”命令检查路由器的MSDP协议设置项目是否正确,如有错误,更改该配置项。如果MSDP对等体与本自治系统的RP不一致,将会导致不同的组播域无法建立对等关系。使用“show running-config”命令检查路由器配置文件中关于RP和MSDP的配置项,若不一致,则进行更改。
经验总结
通常我们在处理组播问题时,应着重检查组播流经过的每一个设备和接口(包括VLAN接口),这些设备和接口都必须配置组播参数。在检查的同时,可借助组播测试工具,分析判断组播数据中断于哪个设备的哪个接口,以便确定故障点。