当前位置:首页>微思动态 > >详情
全国热线电话 400-881-4699

在线留言

【华为】交换机受到特定的组播报文攻击导致CPU占用率高

发布作者:微思网络   发布时间:2025-04-24   浏览量:0

图片

现象描述

部署了组播业务的交换机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协议报文。
    1. 执行reset cpu-defend statistics命令,清除上送CPU报文的统计信息。
    2. 执行display cpu-defend statistics packet-type igmp all命令,查看上送CPU的IGMP报文统计信息。
<HUAWEI> reset cpu-defend statistics
<HUAWEI> display cpu-defend statistics packet-type igmp all
 Statistics on mainboard:                                                       
--------------------------------------------------------------------------------
Packet Type          Pass(Packet/Byte)   Drop(Packet/Byte)  Last-dropping-time  
--------------------------------------------------------------------------------
igmp                             40800               35758  -                                                      
                                  NA                  NA                      
--------------------------------------------------------------------------------
 Statistics on slaveboard:                                                      
--------------------------------------------------------------------------------
Packet Type          Pass(Packet/Byte)   Drop(Packet/Byte)  Last-dropping-time  
--------------------------------------------------------------------------------
igmp                                 0                   0  -                   
                                    NA                  NA                      
--------------------------------------------------------------------------------


  1. 找出组播攻击源。
可以通过以下三种方式来找出组播攻击源:
    • 端口镜像获取报文信息
端口镜像获取报文信息是最直接的获取报文详细特征的方式,且对设备的CPU不会造成任何影响,建议在上送CPU的报文的入方向端口进行镜像。交换机端口镜像配置方式请参考产品文档的“配置指南-网络管理与监控配置-镜像配置”章节。
    • 查看组播表项
    • 如果配置的二层组播,执行display igmp-snooping port-info命令,会发现有不同主机端口都收到了239.255.255.250组播组的Report请求。
如果配置的三层组播,执行display multicast forwarding-table命令,会发现存在较多不同源地址、相同组播地址239.255.255.250的组播转发表项。
    • 配置基于攻击溯源的本机防攻击策略
[HUAWEI] cpu-defend policy policy1
[HUAWEI-cpu-defend-policy-policy1] auto-defend enable  //使能攻击溯源功能(缺省情况下,未使能该功能)
[HUAWEI-cpu-defend-policy-policy1] undo auto-defend trace-type source-ip source-mac  //配置攻击溯源的溯源模式为基于源接口+VLAN(缺省情况下,系统使用三种溯源模式)
[HUAWEI-cpu-defend-policy-policy1] undo auto-defend protocol 8021x arp dhcp icmp tcp telnet ttl-expired udp  //配置攻击溯源防范的报文类型为IGMP(缺省情况下,系统对九种报文进行攻击溯源防范)
[HUAWEI-cpu-defend-policy-policy1] quit 
[HUAWEI] cpu-defend-policy policy1 global  //在所有接口板上应用本机防攻击策略(一般组播报文通过接口板上送到主控板,所以这里在所有接口板上应用)此处以框式交换机举例


执行display auto-defend attack-sourcedisplay auto-defend attack-source slot slot-id命令,查看主控板和接口板的攻击源信息。

  1. 通过以上方法,同时结合实际组播业务部署中没有规划239.255.255.250的组播组地址,确定设备受到239.255.255.250组播组报文攻击。



解决方案


有两种解法方法,一种是在交换机上过滤该组播组报文(推荐使用该方法),一种是在存在攻击源的服务器或终端PC上关闭SSDP服务。
  • 在交换机上过滤该组播组报文。
    1. 过滤239.255.255.250的IGMP协议报文。
# 配置高级ACL,只过滤组播组239.255.255.250,同时允许其他IP。
[HUAWEI]acl number 3000
[HUAWEI-acl-adv-3000]rule 5 deny ip destination 239.255.255.250 0
[HUAWEI-acl-adv-3000]rule 10 permit ip
[HUAWEI-acl-adv-3000]quit
# 配置高级ACL,只过滤组播组239.255.255.250。
[HUAWEI]acl number 3100
[HUAWEI-acl-adv-3100]rule 10 deny igmp destination 239.255.255.250 0
[HUAWEI-acl-adv-3100]quit
# 过滤该三层组播报文。
[HUAWEI]interface vlanif100
[HUAWEI-Vlanif100]ip address 10.100.100.1 255.255.255.0
[HUAWEI-Vlanif100]pim sm  //在接口上使能PIM-SM
[HUAWEI-Vlanif100]igmp enable  //在接口上使能IGMP
[HUAWEI-Vlanif100]igmp group-policy 3000  //在接口上设置IGMP组播组的过滤器,限制主机能够加入的组播组范围
[HUAWEI-Vlanif100]quit
# 过滤该二层组播报文。
[HUAWEI]vlan 100
[HUAWEI-vlan100]igmp-snooping enable  //使能VLAN的IGMP Snooping功能。
[HUAWEI-vlan100]igmp-snooping group-policy 3000  //配置当前VLAN的组播组过滤策略
[HUAWEI-Vlan100]qui
# 配置黑名单过滤该IGMP组播组报文,避免生成239.255.255.250组播组表项。
[HUAWEI]cpu-defend policy igmp-deny
[HUAWEI-cpu-defend-policy-igmp-deny]blacklist 1 acl 3100
[HUAWEI-cpu-defend-policy-igmp-deny]quit
[HUAWEI]cpu-defend-policy igmp-deny global  //(这里以框式交换机的接口板上存在IGMP报文攻击为例)
# 配置组播源组策略过滤该组播组报文,避免生成239.255.255.250组播(S,G)表项
[HUAWEI]pim
[HUAWEI-pim]source-policy 3000
[HUAWEI-pim]quit
    1. 过滤239.255.255.250数据报文。
# 配置流分类,指定目的IP为239.255.255.250。
[HUAWEI]acl number 3200
[HUAWEI-acl-adv-3200]rule 5 permit ip destination 239.255.255.250 0
[HUAWEI-acl-adv-3200]quit
[HUAWEI]traffic classifier ssdp
[HUAWEI-classifier-ssdp]if-match acl 3200
[HUAWEI-classifier-ssdp]quit
# 配置流策略行为。
[HUAWEI]traffic behavior ssdp
[HUAWEI-behavior-ssdp]deny
[HUAWEI-behavior-ssdp]quit
# 配置流策略。
[HUAWEI]traffic policy ssdp
[HUAWEI-trafficpolicy-ssdp]classifier ssdp behavior ssdp
[HUAWEI-trafficpolicy-ssdp]quit
# 应用流策略过滤端口入方向报文。
[HUAWEI-GigabitEthernet4/0/30]traffic-policy ssdp inbound
  • 在服务器或终端PC上关闭SSDP服务。
    1. 进入“控制面板”,选择“管理工具”,进入后再选择“服务”。
    2. 在列表中找到“SSDP Discovery Service”服务,选择并停止该项服务。

建议与总结


239.255.255.250组地址属SSDP服务所有,一般Windows服务器默认会开启该服务,因此网络中出现该组地址的表项是较为常见的。
对于交换机而言,这只是一个普通的组播组,如果发现CPU占用率高,并且判断是受到未在业务规划内的239.255.255.250的报文攻击,可以在交换机上进行相关的过滤配置或者在服务器或终端设备上关闭该服务,避免交换机上大量生成该组播组的转发表项。


相关介绍


简单服务发现协议SSDP(Simple Service Discovery Protocol)是一种应用层协议,其构成UPnP(通用即插即用)技术的核心协议之一。它为网络客户端(network client)提供了一种发现网络服务(network services)的机制,采用基于通知和发现路由的组播方式实现。
SSDP协议一般使用组播地址239.255.255.250:1900(IPv4),FF0x::C(IPv6)来传送相关消息。
按照协议的规定,当一个控制点(客户端)接入网络的时候,它可以向一个特定的组播地址的SSDP端口使用M-SEARCH方法发送“ssdp:discover”消息。当设备发现这个保留的组播地址上由控制点发送的消息的时候,设备会分析控制点请求的服务,如果自身提供了控制点请求的服务,设备将通过单播的方式直接响应控制点的请求。
SSDP的UDP数据报文和IGMP Report报文分别如图17-8图17-9所示。
图17-8 SSDP的UDP数据报文
图片
图17-9 SSDP的IGMP Report报文
图片

图片





【华为】大量TC报文导致CPU高怎么解决
【华为五张图教你快速掌握设备CPU占用率高相关知识
【华为】生成树MSTP环网设备CPU使用率高的故障处理
【华为】交换机CPU占用率高怎么解决
【华为】OSPF震荡引起CPU占用率高怎么解决?
【华为】环路引起交换机CPU占用率高的业务时通时不通问题
更多关注专栏→【网络技术】




END

1微思网络,始于2002年

专业IT认证培训23年,面向全国招生!




点击查看更多【培训课程目录】

微思-主要课程有:

*网络技术:华为HCIA/ HCIP/HCIE;思科CCNA/CCNP/CCIE

*Linux技术:红帽 RHCE/RHCA

*K8S&容器:CKA/CKS

*数据库:ORACLE OCP/ OCM ;MySQL ;达梦数据库

*虚拟化:VMware VCP/VCAP

*安全认证:CISP体系/CISSP/ CISA;CCSK;CISAW体系

*管理类:PMP 项目管理;软考中/高项;ITIL体系;Togaf

其他课程如:ACP;Azure...



返回顶部