# 风暴抑制 ## 风暴抑制是什么 风暴抑制是一种二层流量控制技术,用来限制某类异常报文在接口上的速率,防止它们过多占用带宽和设备资源。 它不是“完全不让报文通过”,而是: - 当某类流量超过阈值时进行限制 - 让网络不至于因为异常流量被拖垮 ## 作用 风暴抑制的核心作用是: - 抑制广播风暴 - 抑制组播风暴 - 抑制未知单播风暴 - 保护交换机 CPU、接口带宽和整网稳定性 ## 广播风暴、组播风暴、未知单播风暴 ### 广播风暴 网络中广播报文过多,导致大量端口都被广播流量占满。 常见原因: - 二层环路 - 主机异常发送广播 - 某些协议报文大量泛滥 ### 组播风暴 组播报文过多,影响正常业务转发。 ### 未知单播风暴 交换机查不到目的 MAC 时,会对报文进行泛洪。如果这类报文太多,也会造成资源浪费。 ## 常见触发场景 - 二层网络出现环路 - 接入口接入异常设备 - 病毒、木马或异常程序不断发包 - 主机网卡故障 - 接口配置错误导致报文泛洪 ## 基本配置思路 风暴抑制的常见思路是: 1. 识别要限制的流量类型 2. 在接口上设置阈值 3. 当流量超过阈值时进行丢弃、限速或保护动作 4. 再结合生成树、端口安全等手段一起做整体防护 ## 常见问题 ### 1. 风暴抑制能不能解决环路根因 不能。 风暴抑制更多是在“出问题时减轻损害”,真正解决二层环路,还是要靠生成树等机制。 ### 2. 阈值是不是越小越安全 不是。 阈值过小可能会误伤正常业务,导致广播、组播等合法流量也被限制。 ### 3. 为什么要限制未知单播 因为未知单播会被泛洪。如果大量出现,也会像广播一样占用交换网络资源。 ## 一句话理解 - **风暴抑制的本质是“限制异常二层流量速率,防止网络被打满”** - **它是缓解手段,不是根治环路的核心手段** ## 常见厂商命令 ### 华为 不同型号和版本命令可能略有差异,常见思路是在接口下限制广播、组播、未知单播流量。 常见写法示例: ```bash interface GigabitEthernet 0/0/1 storm-constrain broadcast cir 1000 storm-constrain multicast cir 1000 storm-constrain unknown-unicast cir 1000 ``` 查看接口配置: ```bash display current-configuration interface GigabitEthernet 0/0/1 ``` ### 思科 Cisco 限制广播流量: ```bash interface gigabitEthernet 0/1 storm-control broadcast level 5.00 ``` 限制组播流量: ```bash storm-control multicast level 5.00 ``` 限制未知单播流量: ```bash storm-control unicast level 5.00 ``` 超过阈值后的动作: ```bash storm-control action shutdown ``` 查看配置: ```bash show storm-control ``` ## 复习时容易写错的点 - 风暴抑制不是彻底解决环路的方法 - 它限制的是报文速率,不是简单“把这类报文全部禁掉” - 除了广播风暴,还可能有组播风暴和未知单播风暴 - 阈值设置过低也可能影响正常业务