鄧淇夫
(上海北匯信息科技有限公司北京分公司,北京 102208)
物聯網、5G、工業互聯網等新一代信息通信技術的發展,加快了傳統行業轉型升級的步伐,物物互聯的通信需求也隨之增加。例如在智能制造中,實時控制、邊緣計算、數字孿生等應用場景對低延時、低抖動和高可靠性的承載需求要求非常嚴格。傳統以太網已經不能滿足越來越多的數據和廣泛分布的網絡需求,時間敏感網絡(TSN)技術應運而生[1]。TSN協議族根據實現功能可以分為:定時與同步、延時、可靠性和資源管理四個類別[2],本文則將介紹實現可靠性功能中的802.1Qci協議。
IEEE 802.1 Qci全稱Per-Stream Filtering and Policing(以下簡稱PSFP),即對每個數據流采取過濾和控制策略,以確保輸入流量符合規范,從而避免由故障或惡意攻擊(如Dos攻擊)引起的異常流量問題。本文將通過分析異常流量問題,闡釋可行的過濾控制策略,以及為什么Qci推薦使用對每個數據流(Per-stream)的過濾控制策略,最后介紹PSFP的基本工作過程。
異常流量是指發送端或交換機發送了過多流量,或是在錯誤的時間發送流量,這樣就占用了其他流量的帶寬,導致這些流量的帶寬和時延都無法保證,甚至會影響到整個網絡。
圖1展示了基本的異常流量現象,圖1中T1、T2是2個發送節點,L1、L2、L3作為3個接收節點,B1、B2是2個Bridge設備,紅色、綠色分別表示T1、T2發送的數據流;這里T1發送的數據流超出其規定的帶寬,導致同樣從B1流出的T2數據流受到影響,使得接收節點L3接收數據的帶寬和延遲要求沒有滿足。

圖1 數據流T2受到數據流T1影響
為了解決上述的異常流量現象,可以在異常流量進入Bridge設備時采取過濾和控制策略,如圖2所示。

圖2 過濾后,數據流T2不再受到影響
圖2中,在B1輸入端口處引入過濾器,過濾器會對經過的異常流量采取限制措施,使得在B1輸出端口處各流量均能滿足其帶寬要求。
在對流量的限制上,有多種過濾和控制策略。按照過濾方式可以分為:對單個流量過濾(以下簡稱單流)[3](圖3)和對單個流量類(Traffic class)過濾(以下簡稱單類)(圖4)。按照控制方式可以分為限流和阻斷。組合起來就有4種過濾和控制策略,接下來分析這些策略。需要注意的是,過濾和控制都是針對有帶寬要求的流量,即不適用于BE(Best Effort)數據流。

圖3 單個流量過濾

圖4 單個流量類過濾
如圖5所示,每個交換節點的輸入端口均設置了單類過濾器,在輸出端口設置有基于信用的整型器(CBS)。圖中的紅、藍、綠3種顏色表示的流量均屬于同一流量類,因此,在B1的單類過濾器處,由于紅色流量發生異常,導致總的流量類帶寬為35+20,超出40Mbit/s的限額,從而觸發限流控制策略,使得紅色流量實際輸出帶寬為30Mbit/s,藍色流量實際輸出帶寬變為10Mbit/s;在B2輸入端口處,紅、綠、藍流量均滿足了單類過濾器的要求,但在輸出端口處,紅、綠流量之和為30+55,超出了75Mbit/s整型要求,使得綠色流量的最終輸出變為45Mbit/s。

圖5 單類限流方式
由此可以看出,單類+限流的過濾控制策略不能隔絕異常流量的影響,在圖5中藍、綠流量自身沒有異常,但最終仍受到紅色異常流量的影響。
如圖6所示,通過改變控制方式為阻斷,可以確保綠色流量的帶寬要求,但藍色流量因為與紅色流量同屬一個流量類,因此也被阻斷。

圖6 單類阻斷方式場景1
再考慮另一情況,如圖7所示,同樣是單類+阻斷的過濾控制,但是僅紅色流量異常變為30Mbit/s,而藍色流量此時沒有數據發送,所以對于B1的單類過濾器無法檢測出紅色流量的異常;在B2輸出端口,由于CBS限制使得紅色流量變為25Mbit/s,而綠色流量變為50Mbit/s,由此可以看出單類檢測會存在不能徹底檢測異常流量的情況,也就無法隔絕異常流量對其他流量的影響。

圖7 單類阻斷方式場景2
如圖8所示,采用單流+限流的方式,成功限制了異常流量,并且其他流量沒有受到影響;但是,由于采用限流的方式,這意味著存在選擇性丟包的情況,即數據可能發生錯誤,而接收端會認為接收到的是正常的流量。

圖8 單流限流方式
圖9是單流+阻斷的過濾控制策略,此時,僅有出現異常的流量受到影響,其他流量正常傳輸。

圖9 單流阻斷方式
從以上4種過濾控制策略的對比可以看出,單類過濾僅需要實現更少的過濾器,但無法保證正常流量的帶寬和延時要求;與之相對的,單流過濾可以確保僅異常流量受到控制,其他正常流量不受影響,但需要對每個流量都要實現單獨的過濾器,這無疑需要更多開銷;阻斷控制相比限流控制更直接也更安全,一方面確保惡意流量無法進入,另一方面確保流入的數據是完整的。
PSFP支持以上4種過濾控制方式,但推薦采用的是單流過濾和阻斷控制的組合,因為此種方式既隔絕異常流量,又不影響網絡中其他流量,又能最大程度地保障數據的完整性。
PSFP由圖10中Stream Filters、Stream Gates和Flow Meters 3個表配合完成[4],下面簡要介紹它們。

圖10 PSFP工作過程
1)Stream Filters,即流過濾器表,每個表項表示某個流對應的過濾器,與下文中的特定門控(Gate)和流量計(Meter)關聯。
2)Stream Gates,即流門控表,每個表項表示對某個流采取的門控措施(如門控狀態為關,表示禁止對應流量流入)。
3)Flow Meters,即流量計表,每個表項表示對某個流的流量統計,當該流量超過了限制帶寬則采取限流或阻斷的控制。
PSFP的基本工作流程:首先流過濾器根據其中定義的流標識(Stream ID)、優先級(Priority)信息,識別出流量是否遵循該過濾器,若由該過濾器控制,根據對應的門控決定是否允許流量流入,若允許流入,則由流量計中參數判斷是否超出限額,若超出限額,根據配置決定采用限流還是阻斷。
再來考慮PSFP的基本應用場景:①對于未知來源的流量,PSFP通過設置門控關閉,阻止可疑流量流入;②對于已知來源的異常流量,這里的異常表現不限于帶寬(帶寬超出預留帶寬),還包括如最大數據服務單元(SDU)長度超出要求等,PSFP可以選擇阻斷或限流。
由此,PSFP通過對入站流量的過濾和控制策略,提高了網絡的可靠性。
IEEE 802.1 Qci作為TSN協議中高可靠性部分的重要協議,使用過濾和控制策略,確保輸入流量符合規范,防止惡意攻擊引起的異常流量,由此提升整體網絡的健壯性和安全性。