S12500或S9500E组播业务异常的问题
一、 组网:
无
适用设备和版本:适用于S12500和S9500E的所有版本。
二、 问题描述:
在S12500或S9500E上运行PIM协议,组播流量经过S12500或S9500E后,视频业务出现马赛克或部分图像缺失等问题。
查看S12500或S9500E的logbuffer,问题发生时段内,日志中出现大量包含“No enough resource”关键字的提示,如下所示:
%Aug 16 10:09:00:000 2012 S12500 DRVL3/0/DRVL3_LOG_EMERG: -Chassis=1-Slot=1; No enough resource!
三、 过程分析:
1. 出现“No enough resource”提示,说明系统资源不足。同时日志中还指示DRVL3模块即表示是L3模块资源不足。结合组播视频业务受影响的问题现象,推测为3层组播业务所需资源不足。
2. 通过隐藏命令查询DIT(downstream interface table)资源的使用情况,如果发现资源不足,进一步确认是否与组播业务相关。查询结果如下所示,如果出现资源不足,且资源占用较多的模块为L3MC(三层组播),则可以确认为DIT资源不足导致的组播业务受影响。
[H3C-hidecmd] _display drv_l3mc slot
keyinfo Local DIT Resource: total 781 free 8 usage list:
L3MC: 773
SUPERVLAN: 0
VLL: 0
VPLS: 0
DIAG: 0
BLG: 0
DIT资源的应用之一就是用于三层组播转发表项的出接口资源,二层组播则不涉及。对于三层组播来说,DIT资源分为全局DIT和局部DIT,即DIT的规格在全局和每接口板均有限制。隐藏命令中的slotID若为主控板,则查看的是全局DIT资源;若为接口板,则查看的是局部DIT资源。由于组播转发表项的动态维护,出接口可能随时变化,资源也有可能随时被占用或释放,所以只要查询结果中显示资源占用接近规格上限,即可定位问题。
3. 使用命令行查看组播转发表项,结合实际业务进行必要的优化。优化的根本原则其实就是将无用的组播数据过滤,避免建立无用表项,继而达到节约DIT资源的目的。实际环境中,当出现组播资源不足时,往往会发现组播转发表中存在大量目的组播组为239.255.255.250的表项,且表项的出接口可能有多个,这样可能会占用多条3层组播DIT资源,如下所示。
display multicast forwarding-table 00109. (10.203.8.52, 239.255.255.250)
MID: 361, Flags: 0x100000:0
Uptime: 00:01:05, Timeout in: 00:02:47
Incoming interface: Vlan-interface60
List of 5 outgoing interfaces:
1: Vlan-interface10
2: Vlan-interface20
3: Vlan-interface30
4: Vlan-interface40
5: Vlan-interface50
Matched 3 packets(155 bytes), Wrong If 0 packets
Forwarded 2 packets(2 bytes)
239.255.255.250是简单服务发现协议(SSDP,Simple Service Discovery Protocol)的协议消息所使用的目的地址。SSDP是一种应用层协议,是构成通用即插即用(UPnP)技术的核心协议之一。当在局域网中使用BT、电驴或PPLive等需要开启相应对外通讯端口的P2P网络软件时,为了加快下载速度,通常会利用UPnP实现网络端口的自动映射(许多P2P软件中均有允许使用UPnP自动端口映射的配置项),同时需要在Windows操作系统的服务管理器中开启SSDP服务。如果由于SSDP协议创建了大量存在多个出接口的组播转发表项而影响正常组播业务,则需要将其协议消息过滤,从而节约DIT资源。
4. 结合实际业务,查看组播转发表项中是否存在其他无用表项,如有则将其过滤。
四、 解决方法:
1. 配置组播数据过滤器,对SSDP协议消息进行过滤(目的组播组为239.255.255.250的组播报文)。
1) 创建ACL,匹配SSDP协议报文
[H3C] acl number 3000
[H3C-acl-adv-3000] rule 0 deny ip destination 239.255.255.250 0
[H3C-acl-adv-3000] rule 1 permit ip
2) 配置组播数据过滤器
[H3C] pim
[H3C-pim] source-policy 3000
2. 过滤其他无用的组播数据。
1) 结合实际业务,查看组播转发表项中是否存在其他无用表项。
display multicast forwarding-table 00199. (10.110.5.100 0 destination 224.1.1.1)
MID: 356, Flags: 0x101000:0
Uptime: 1d:00h, Timeout in: 00:03:18
Incoming interface: Vlan-interface998
List of 1 outgoing interfaces:
1: Vlan-interface338
Matched 13289 packets(45450 bytes), Wrong If 0 packets
Forwarded 11668 packets(11668 bytes)
2) 使用ACL匹配那些不需要加入组播组的源地址。
[H3C] acl number 3001
[H3C-acl-adv-3001] rule 0 permit ip source 10.110.5.100 0 destination 224.0.0.0 31.255.255.255
3) 创建流分类
[H3C] traffic classifier filter operator and
[H3C-classifier-filter] if-match acl 3001
4) 创建流行为
[H3C] traffic behavior filter
[H3C-behavior-filter] filter deny
5) 创建QOS策略
[H3C] qos policy filter
[H3C-qospolicy-filter] classifier filter behavior filter
6) 全局模式下发策略
[H3C] qos apply policy filter global inbound
3. 如果正常的组播业务量很大,无法通过上述优化手段降低资源占用,可以通过命令行修改S12500或S9500E的系统工作模式为其他高级模式(缺省为standard模式)以增加组播转发表项的规格。如下所示:
[H3C] system working mode routee
Routee mode has been set. It needs to be saved and will take effect after system restart.
需要注意的是,只有接口板全部为EC或EF类时才能修改系统工作模式。EB类单板在其他非标准工作模式下无法正常工作。此外,修改系统工作模式后重启设备方能生效。
关于S12500/S9500E系统工作模式的详细描述,请参考H3C官方网站上对应软件版本的操作手册。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作