理解风暴控制
风暴控制防止交换机的端口被局域网中的广播、多播或者一个物理端口上的单播风暴所破坏。局域网风暴发生在包在局域网中泛洪,建立的过多的流量并丧失了网络性能。协议栈中的错误或者网络配置上的错误可以导致风暴。
风暴控制(或者叫流量压制)管理进栈的流量状态,通过一段时间和对比测量带有预先设定的压制级别门限值的方法来管理。门限值表现为该端口总的可用带宽的百分比。交换机支持单独的风暴控制门限给广播组播和单播。如果流量类型的门限值达到了,更多这种类型的流量就会受到压制,直到进栈流量下降到门限值级别以下。
注意:当组播的速度超出一组门限,所有的进站流量(广播组播单播)都会被丢弃,直到级别下降到门限级别以下。只有stp的包会被转发。当广播和单播门限超出的时候,只有超出门限的流量会被封闭。
当风暴控制开启了时,交换机监视通过接口的包来交换总线和决定这个包是单播,组播还是广播。交换机监视广播组播和单播的数目,每1秒钟一次,并且当某种类型流量的门限值到达了,这种流量就会被丢弃了。这个门限以可被广播使用的总的可用带宽的百分比被指定。
以下是一个接口上的一段时间内的广播流量的模型曲线图。
这个例子也可被组播和单播流量套用。在这个例子中,广播流量在T1-T2、T4-T5时间之间被转发超过配置门限值所有的该种流量都在下一个时间被丢弃。因此广播流量在T2和T5时间内是被封闭的。在下一个时断,T3,如果广播流量没有超出限制,那么它又被转发了。
风暴控制算法的工作是风暴控制抑制级别和每秒钟间隔控制的结合。一个更高的门限允许更多的包通过。如果把门限值设置成100%意味着将不会限制所有任何的流量。0%意味着所有的广播组播和单播流量都会被封闭。
注意:因为包不会在统一时间间隔内到达,每秒钟间隔间如果没有流量会影响风暴控制。
交换机持续监视端口的流量,而且当利用级别降到门限以下,这种被丢弃类型的流量,又会被再次转发。
你可以使用storm-control接口命令来设定门限值给每一种类型的流量。
默认的风暴控制配置:
默认地,单播组播广播的风暴控制都是在交换机上关闭的,意味着:压制级别都是100%
开启风暴控制:
你在接口开启风暴控制,并输入总可用带宽的百分比来确定你要使用给该种流量;输入100%会允许所有流量。然而,因为硬件的限制以及包大小的不同的会导致偏差,门限值百分比是一个近似值。
注意:风暴控制仅支持在物理端口下使用;它不支持以太通道下使用,尽管能敲进去。
以下例子在f0/17下把组播风暴级别限制在70.5%
Switch# configure terminal
Switch(config)# interface fastethernet0/17
Switch(config-if)# storm-control multicast level 70.5
Switch(config-if)# end
Switch# show storm-control fastethernet0/17 multicast
Interface Filter State Level Current
--------- ------------- ------- -------
Fa0/17 Forwarding 70.50% 0.00%
这个是关闭风暴控制
Switch# configure terminal
Switch(config)# interface fastethernet0/17
Switch(config-if)# no storm-control multicast level
Switch(config-if)# end
Switch# show storm-control fastethernet0/17 multicast
Interface Filter State Level Current