在默认情况下,交换机在接口上收到任何数据包,将尽全力转发,只有在硬件性能不足的情况下,才会丢弃数据包。在某些时候,由于协议错误,配置错误或人为***,导致网络流量增大时,将影响网络的性能,在这种情况下,需要在交换机上限制流量占用接口的带宽,则可以使用Storm control来实现。

Storm control可以在交换机接口上限制broadcast,,multicast,以及unicast的流量带宽,在接口上开启了Storm control后,Storm control便开始监控流量从接口到交换机总线的速度,并统计每秒通过的数据包,将当前流量的速度与预先配置好的阀值作比较,阀值分为上限(rising suppression level))和 下限(falling suppression level),当流量的速度达到上限的阀值后,流量就会被block,直到流量低于下限后,才会恢复正常。

在配置阀值时,可以使用以下标准来衡量带宽:

使用接口总带宽的百分比。

每秒通过的数据包个数(PPS-Packets Per Second)。

每秒通过的Bit数 (Bps-Bit Per Second)

注:使用接口带宽百分比时,100 percent表示不限制,0 0表示流量全部丢弃。

默认情况下,接口上是没有流量限制的。在配置阀值时,上限(rising suppression level)必须配置,而下限(falling suppression level)却可以不配置,在没有配置下限时,下限将采用和上限相同的值。

当配置了storm-control限制multicast时, 如果multicast的流量超过上限,那么所有的multicast流量都会被丢弃,其中包含如OSPF,EIGRP的流量都会被丢弃,但是BPDU,CDP的流量不会被丢弃。

配置storm-control时,可以在物理接口和EtherChannel上配置,如果是配在EtherChannel上,那么配置将对EtherChannel中的所有物理接口生效。

在配置storm-control时,可以设置流量达到上限后,采取相应的处理动作,可配置的动作分为Shutdown和Trap,Shutdown是在流量达到上限后,将接口陷入error-disable状态,Trap是在流量达到上限后,产生一条SNMP Trap消息,而默认的动作是丢弃流量而不生产SNMP Trap消息。


配置

说明:在配置BPS和PPS作为标准时,可以使用K,M以及G为单位。

1.在交换机接口上配置storm-control

(1)在交换机上开启storm-control,并定义上限和下限:

sw1(config)#int f0/1

sw1(config-if)# storm-control unicast level pps 100 80

说明:定义的上限为PPS 100,下限为PPS 80。

(2)定义流量达到上限后,采限的动作:

sw1(config)#int f0/1

sw1(config-if)#storm-control action trap

说明:定义的违规动作为生产SNMP Trap。

(3)查看接口storm-control状态:

正常状态:

sw1#sh storm-control unicast

Interface  Filter State   Upper        Lower        Current

---------  -------------  -----------  -----------  ----------Fa0/1      Forwarding        100 pps       80 pps       10 pps

sw1#

说明:接口流量正常的状态,流量都被放行。

被丢的状态:

sw1#sh storm-control unicast

Interface  Filter State   Upper        Lower        Current

---------  -------------  -----------  -----------  ----------Fa0/1      Blocking          100 pps       80 pps      273 pps

sw1#


说明:接口流量达到上限的状态,流量都被丢弃。