「Switching Security」- 流量控制:流量抑制;风暴控制;

流量抑制

问题描述

正常情况:
1)流量泛洪:当设备某个二层以太接口收到广播、未知组播、未知单播报文时,会向同个 VLAN 内的其他二层以太接口转发这些报文,从而导致流量泛洪,降低设备转发性能;
2)流量冲击:当设备某个以太接口收到已知组播或已知单播报文时,如果某种报文流量过大则可能会对设备造成冲击,影响其他业务的正常处理;

解决方案

流量抑制 —— 能够通过配置阈值来限制广播、未知组播、未知单播、已知组播和已知单播报文的速率,防止广播、未知组播报文和未知单播报文产生流量泛洪,阻止已知组播报文和已知单播报文的大流量冲击;

原理简述

设备监控接口(或 VLAN)下的各类报文速率并和配置的阈值相比较,当入口流量超过配置的阈值时,设备会丢弃超额的流量

特性说明

在接口入方向上:
1)对广播、未知组播、未知单播、已知组播、已知单播报文,设备支持按百分比包速率特速率进行流量抑制;
2)还可为接口入方向的报文流量配置阈值,当流量超过阈值时,系统将丢弃多余的流量,阈值范围内的报文可以正常通过,从而将流量限制在合理的范围内;

在接口出方向上:
1)设备支持对广播、未知组播、未知单播报文的阻塞(Block);

在 VLAN 下,设备支持对广播报文按比特速率进行流量抑制。设备监控同个 VLAN 内广播报文的速率并和配置的阈值相比较,当 VLAN 内流量超过配置的阈值时,设备会丢弃超额的流量;

流量抑制还可以通过配置阈值的方式对 ICMP 报文进行限速,防止大量 ICMP 报文上送 CPU 处理,导致其他业务功能异常;

应用场景

针对不同类型的报文,流量抑制采取不同的限制措施,达到限制报文发送速率的目的;

具体实施可分为以下三种情况:
1)在交换机接口的入方向,如图 SW1.GE0/0/1 入方向,通过流量抑制功能可以限制任意报文的发送速率;
2)在交换机接口的出方向,如图 SW1.GE0/0/1 出方向,通过流量抑制功能可以阻塞广播、未知组播、未知单播报文;
3)在交换机的 VLAN 中,通过配置 VLAN 内流量抑制,来限制 VLAN 内广播报文;

配置命令

# 配置流量抑制模式
[Huawei] suppression mode { by-packets | by-bits }                              // 缺省 packets 模式; 而 bits,流量抑制的粒度更小、抑制更精确;

# 配置流量抑制类型
# 接口下配置流量抑制时,抑制模式需与全局的流量抑制模式是一致(by-packetes or by-bits)
[Huawei-GigabitEthernet0/0/1] unicast-suppression   { percent-value | cir cir-value [ cbs cbs-value ] | packets packets-per-second }
[Huawei-GigabitEthernet0/0/1] multicast-suppression { percent-value | cir cir-value [ cbs cbs-value ] | packets packets-per-second }
[Huawei-GigabitEthernet0/0/1] broadcast-suppression { percent-value | cir cir-value [ cbs cbs-value ] | packets packets-per-second }

# 配置在接口出方向上阻塞报文
[Huawei-GigabitEthernet0/0/1] { broadcast-suppression | multicast-suppression | unicast-suppression } block outbound

// ---------------------------------------------------------------------------- // 配置 VLAN 的广播抑制速率

# 当在接口视图下的入方向和 VLAN 视图下同时配置流量抑制功能时,接口视图的配置优先于 VLAN 视图下的配置;
[Huawei-vlan2] broadcast-suppression threshold-value

# 查看流量抑制配置信息;
display flow-suppression interface interface-type interface-number

风暴控制(Strom Control)

问题描述

正常情况下,当设备某个二层以太接口收到广播、未知组播或未知单播报文时,会向同一 VLAN 内的其他二层以太接口转发这些报文,如果网络存在环路,则会导致广播风暴,严重降低设备转发性能;

解决方案

风暴控制可以通过 阻塞报文关闭端口 来阻断广播、未知组播、未知单播报文的流量,以防止这些报文产生广播风暴;

原理简述

在风暴控制检测时间间隔内,设备监控接口下接收的三类报文的包平均速率与配置的最大阈值相比较;
当报文速率大于配置的最大阈值时,风暴控制将根据配置的动作,来对接口进行阻塞报文或关闭接口的处理;

特性说明

流入方向只可以为接口入方向的报文流量配置阈值
惩罚动作:当流量超过阈值时,系统会 阻塞该接口收到的该类型报文流量直接将该接口关闭。流量抑制与风暴控制的主要区别是:风暴控制功能可以对端口下发惩罚动作(block 和 shutdown),而流量抑制功能只是对端口流量进行限制;

应用场景

与流量抑制相比,风暴控制的优势是可以同时监控接口下的广播报文、未知组播报文、未知单播报文各自的包平均速率,并根据阈值对接口采取阻塞相关报文或者关闭物理接口的惩罚动作;

本例中,Switch 作为二层网络到路由器的衔接点,当需要限制二层网络转发过来的用户广播、未知组播、未知单播报文时,可以通过在 Switch.GE0/0/1 上配置风暴控制功能来实现;

配置案例

# 配置接口对报文的风暴控制的范围
# 对接口上的广播、未知组播或未知单播报文进行风暴控制;
[Huawei-GigabitEthernet0/0/1] storm-control { broadcast | multicast | unicast } min-rate min-rate-value max-rate max-rate-value

# 配置风暴控制的动作
[Huawei-GigabitEthernet0/0/1] storm-control action { block | error-down }

# 配置风暴控制的检测时间间隔
[Huawei-GigabitEthernet0/0/1] storm-control interval interval-value

# 配置使能接口状态自动恢复
# 使能接口状态自动恢复为 Up 的功能,并设置接口自动恢复为 Up 的延时时间;
[Huawei-GigabitEthernet0/0/1] error-down auto-recovery cause storm-control interval <interval-value>

# (可选)配置流量抑制及风暴控制白名单
[Huawei] storm-control whitelist protocol { arp-request | bpdu | dhcp | igmp | ospf }*