三層交換機之風暴控制


博通風暴控制

風暴控制(Storm Control)是針對入端口報文速率非常高,沖擊下游網絡的場景的抑制手段。

通常情況下,風暴的來源是廣播包洪泛、未知組播洪泛、未知單播包洪泛這幾種方式。

交換機通常會針對入端口(下行為上聯口、上行為業務盤UNI端口)的廣播包、未知組播包、未知單播包提供包抑制的手段。

除此之外,博通交換芯片還提供了另外一種Storm Control的手段,可以針對未知單播、未知IP組播、已知IP組播、未知組播、已知組播、廣播包6種類型的報文進行包抑制。

6位PORT.SOTRM_CONTROL_PTR和2位STORM_CONTROL_METER_MAPPING(6種類型的報文,各占2位)拼接成一個索引,指向FP_SOTRM_CONTROL_METERS對應表項。

 

 

 

FP_SOTRM_CONTROL_METERS表項中,refershcount設置包抑制值,bucketsize是令牌桶的一個概念,即數據單元大小。

另外,SOTRM_CONTROL_METER_CONFIG寄存器可以配置每個端口6種報文包抑制的開關,packet_quantum指byte_mode為0時,最多可以擁有的令牌數(令牌桶機制)。

交換芯片風暴控制實現原理

以廣播風暴控制(廣播包抑制)為例,如上圖所示,交換芯片首先通過目的MAC地址甄別出廣播包,然后通過包抑制監控單元(Suppression Circuitry)統計一秒鍾內的廣播包個數,如果在這一秒內計數達到抑制值,則過濾掉后續的廣播報文。

交換芯片實際上是基於端口帶寬來統計廣播報文,因此最重要的因素是設置包抑制值,即占用帶寬的百分比。

另外,因為入端口報文並不是以固定的時延抵達,因此,統計的時間間隔也會對包抑制的效果產生影響。

一個包抑制監控單元的實現如上圖,它可以在Ingress和Egress方向進行單位時間內的計數,根據閾值決定是否過濾多余報文。

Tips: 部分交換芯片因為流水線的原因,匹配ACL規則的報文會不受包抑制的影響。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM