主頁 / 什麼是風暴控制?
什麼是風暴控制?
風暴控制(Storm Control,亦稱Storm Suppression風暴抑制)是交換機端口上以流量速率設限的保護功能,用以抑制廣播、組播與未知單播流量在短時間內大量氾濫,避免頻寬與轉發資源被耗盡。本頁講解三種風暴的分別、門檻設定方式(百分比、pps、bps)、與環路保護的關係,以及香港商廈舖面屋苑弱電工程的實務設定建議。
為什麼需要風暴控制
以太網交換機在處理廣播幀、組播幀,以及目的地址未在MAC地址表中出現的未知單播幀時,都採用向多個端口轉發的方式,這種轉發模式一旦遇上異常來源便容易在短時間內把流量放大,佔滿鏈路頻寬並拖垮交換機的轉發能力。根據維基百科對廣播風暴(Broadcast storm)的說明,廣播幀在存在環路的網絡中會被無限複製轉發,數量以幾何級數增長,是最常見亦最具破壞力的一種風暴;但即使沒有環路,設備故障、驅動程式異常或惡意流量同樣可能在短時間內產生大量廣播、組播或未知單播幀,令風暴不一定與環路有關。
風暴控制的角色,是在端口層面對這三類流量分別設定速率上限 ,一旦某類流量在取樣週期內的速率超過門檻,交換機便按設定的動作作出反應——常見動作包括丟棄超額的幀(限流)或直接封鎖端口。與依賴協定協商的STP、或依賴偵測環路拓撲的環路保護不同,風暴控制完全不理會流量是否由環路造成,純粹按速率把關,因此可以作為對抗各種來源異常流量的最後一道防線。
三種風暴類型的分別
風暴類型 觸發流量 常見成因 典型影響
廣播風暴 廣播幀,如ARP查詢、DHCP請求 網絡環路最為常見;亦可能由設備異常廣播引起 全網癱瘓、端口燈號高速閃爍、CPU飆升
組播風暴 組播幀,如串流影像、IPTV、組播路由通告 組播來源設定錯誤、組播路由紊亂、環路放大組播流量 影像卡頓斷續、相關組播組頻寬被佔滿
未知單播風暴 目的MAC地址不在MAC表中的單播幀 MAC地址表被異常清空、表項溢出、攻擊性流量令表項無法命中 單播流量被當作廣播氾濫轉發,全網負載上升
三種風暴的共通點是幀被氾濫式轉發(flooding) ,分別在於觸發的流量種類與常見成因。管理型交換機的風暴控制功能一般容許為三類流量分別設定獨立門檻,因為它們在正常運作時的流量水平差異頗大——例如組播串流本身流量可觀,門檻須留有足夠餘量,未知單播則正常水平應該甚低,門檻可設得較緊。
門檻設定方式:百分比、pps、bps
風暴控制的門檻一般可用以下三種單位設定,選用哪一種視乎交換機型號支援與工程師習慣而定:
百分比(Percentage) ——以端口總頻寬的某個百分比作上限,設定直觀,例如把廣播流量上限設為端口頻寬的百分之五。缺點是同一百分比在千兆與萬兆端口下换算出來的絕對流量差距甚大,需要因應端口速率個別考慮。
pps(Packets Per Second,每秒封包數) ——以每秒幀數量計算門檻,較貼近交換機硬件轉發引擎的實際處理能力上限,是不少廠商建議的設定方式,尤其適合以幀數量而非頻寬作為主要考量的場景。
bps(Bits Per Second,每秒位元數) ——以流量頻寬計算門檻,適合關注鏈路頻寬佔用是否超標的場景,例如需要為組播串流保留頻寬餘量的網絡。
實務上並沒有放諸四海皆準的數值,門檻應該先量度網絡在正常運作時各類流量的基線水平,再把門檻設在略高於正常尖峰之上——過鬆等於形同虛設,過緊則會誤限正常流量,尤其容易誤傷組播串流與IPTV等對頻寬有一定要求的應用。
風暴控制與環路保護的關係
風暴控制經常被與環路保護混為一談,但兩者處理的問題層面不同。環路保護 的目標是偵測拓撲中是否存在物理環路,一旦確認即封鎖造成環路的端口,屬於「找出並拆除病灶」;風暴控制則完全不追究成因,只按每個端口的流量速率把關,屬於「限制災情蔓延」。以醫療比喻,環路保護是找出病源並隔離,風暴控制則是不論病源為何、先控制病徵不致惡化。
兩者處理的異常不完全重疊:環路必定會引發廣播風暴,但沒有環路的設備故障、廣播攻擊或組播設定錯誤同樣可能觸發風暴,此時環路保護派不上用場,唯有靠風暴控制把關。因此在具備一定規模的商用網絡中,建議把風暴控制與環路保護、STP生成樹協定一併部署 ,形成互補的多層防護:STP負責有規劃地避免環路並提供備援、環路保護在無管理協定的邊緣位置作快速偵測,風暴控制則不論成因、統一為各端口的流量速率設下安全上限。