问题现象描述部署了组播业务的交换机CPU占用率高,同时发现交换机上存在大量239.255.255.250的组播组的转发表项,占用了较多的转发表项资源,而实际组播业务中并没有规划该组播组地址 。
例如:某局点的一个用户子网启用IPTV业务后,交换机CPU占用率高,同时发现交换机上出现大量源IP地址为某品牌机顶盒的IP地址,组IP地址为239.255.255.250的组播路由表项,并且这些组播表项扩散到其他用户子网络,设备上都可以查看到大量该组播组地址的转发表项 。
问题根因说明239.255.255.250地址属于SSDP(Simple Service Discovery Protocol)简单服务发现协议使用的组播地址,因此当网络中存在服务器或者终端PC默认启用SSDP服务时,便会发送对应组播报文到交换机上 。
由于239.255.255.250地址不属于组播地址的永久组地址(永久组地址也称为保留组地址,用于标识一组特定的网络设备,供路由协议、拓扑查找等使用,不用于组播转发)224.0.0.X范围之内,交换机将该组播组地址作为一个正常普通的组播组来处理,因此会生成对应的组播转发表项 。
本案例中,初步分析是这种品牌的机顶盒默认启用了SSDP服务,会发送对应“ssdp:discover”消息报文到源DR交换机触发组播转发表项,同时向RP注册成功后,其他用户子网中的终端设备发送该组播组的Report报文,导致各子网交换机均出现大量不同源IP,相同组IP的组播转发表项 。
问题判断方法1.执行display cpu-usage命令,查看交换机CPU占用率,发现CPU占用率在80%以上,并且查看CPU占用率较高的任务,发现收包任务“bcmRx/FTS/VPR/SOCK”占用率最高 。
2.使用display cpu-defend statistics命令查看上送CPU报文的统计信息,判断是否存在过多IGMP协议报文 。
a.执行reset cpu-defend statistics命令,清除上送CPU报文的统计信息 。
b.执行display cpu-defend statistics packet-type igmp all命令,查看上送CPU的IGMP报文统计信息 。
文章插图
3.找出组播攻击源 。
可以通过以下三种方式来找出组播攻击源:
−端口镜像获取报文信息
端口镜像获取报文信息是最直接的获取报文详细特征的方式,且对设备的CPU不会造成任何影响,建议在上送CPU的报文的入方向端口进行镜像 。交换机端口镜像配置方式请参考产品文档的“配置指南-网络管理与监控配置-镜像配置”章节 。
−查看组播表项
n如果配置的二层组播,执行display igmp-snooping port-info命令,会发现有不同主机端口都收到了239.255.255.250组播组的Report请求 。
如果配置的三层组播,执行display multicast forwarding-table命令,会发现存在较多不同源地址、相同组播地址239.255.255.250的组播转发表项 。
−配置基于攻击溯源的本机防攻击策略
文章插图
执行display auto-defend attack-source和display auto-defend attack-source slot slot-id命令,查看主控板和接口板的攻击源信息 。
4.通过以上方法,同时结合实际组播业务部署中没有规划239.255.255.250的组播组地址,确定设备受到239.255.255.250组播组报文攻击 。
解决方案
有两种解法方法,一种是在交换机上过滤该组播组报文(推荐使用该方法),一种是在存在攻击源的服务器或终端PC上关闭SSDP服务 。
l在交换机上过滤该组播组报文 。
a.过滤239.255.255.250的IGMP协议报文 。
文章插图
b.过滤239.255.255.250数据报文 。
文章插图
l在服务器或终端PC上关闭SSDP服务 。
a.进入“控制面板”,选择“管理工具”,进入后再选择“服务” 。
b.在列表中找到“SSDP Discovery Service”服务,选择并停止该项服务 。
经验总结
239.255.255.250组地址属SSDP服务所有,一般windows服务器默认会开启该服务,因此网络中出现该组地址的表项是较为常见的 。
对于交换机而言,这只是一个普通的组播组,如果发现CPU占用率高,并且判断是受到未在业务规划内的239.255.255.250的报文攻击,可以在交换机上进行相关的过滤配置或者在服务器或终端设备上关闭该服务,避免交换机上大量生成该组播组的转发表项 。
相关介绍
【交换机CPU占用率高案例汇总】
推荐阅读
- 进程/线程上下文切换会用掉你多少CPU?
- Netflix 如何正确计算docker中containers的CPU分配
- 线上服务器CPU占用率高如何排查定位问题?
- 三层交换机如何配置?如何实现不同vlan间的通信?
- 如何正确选购CPU?
- CPU散热器应该怎么选?
- 华为S5700交换机设置IP-MAC绑定功能
- AMD|3A平台遭殃!AMD显卡驱动被指绕过用户擅自修改CPU设置
- telnet远程登录华为交换机
- top命令详解:CPU,内存,进程信息统计