鄧淇夫
(上海北匯信息科技有限公司北京分公司,北京 102208)
物聯(lián)網(wǎng)、5G、工業(yè)互聯(lián)網(wǎng)等新一代信息通信技術(shù)的發(fā)展,加快了傳統(tǒng)行業(yè)轉(zhuǎn)型升級的步伐,物物互聯(lián)的通信需求也隨之增加。例如在智能制造中,實時控制、邊緣計算、數(shù)字孿生等應用場景對低延時、低抖動和高可靠性的承載需求要求非常嚴格。傳統(tǒng)以太網(wǎng)已經(jīng)不能滿足越來越多的數(shù)據(jù)和廣泛分布的網(wǎng)絡(luò)需求,時間敏感網(wǎng)絡(luò)(TSN)技術(shù)應運而生[1]。TSN協(xié)議族根據(jù)實現(xiàn)功能可以分為:定時與同步、延時、可靠性和資源管理四個類別[2],本文則將介紹實現(xiàn)可靠性功能中的802.1Qci協(xié)議。
IEEE 802.1 Qci全稱Per-Stream Filtering and Policing(以下簡稱PSFP),即對每個數(shù)據(jù)流采取過濾和控制策略,以確保輸入流量符合規(guī)范,從而避免由故障或惡意攻擊(如Dos攻擊)引起的異常流量問題。本文將通過分析異常流量問題,闡釋可行的過濾控制策略,以及為什么Qci推薦使用對每個數(shù)據(jù)流(Per-stream)的過濾控制策略,最后介紹PSFP的基本工作過程。
異常流量是指發(fā)送端或交換機發(fā)送了過多流量,或是在錯誤的時間發(fā)送流量,這樣就占用了其他流量的帶寬,導致這些流量的帶寬和時延都無法保證,甚至會影響到整個網(wǎng)絡(luò)。
圖1展示了基本的異常流量現(xiàn)象,圖1中T1、T2是2個發(fā)送節(jié)點,L1、L2、L3作為3個接收節(jié)點,B1、B2是2個Bridge設(shè)備,紅色、綠色分別表示T1、T2發(fā)送的數(shù)據(jù)流;這里T1發(fā)送的數(shù)據(jù)流超出其規(guī)定的帶寬,導致同樣從B1流出的T2數(shù)據(jù)流受到影響,使得接收節(jié)點L3接收數(shù)據(jù)的帶寬和延遲要求沒有滿足。
圖1 數(shù)據(jù)流T2受到數(shù)據(jù)流T1影響
為了解決上述的異常流量現(xiàn)象,可以在異常流量進入Bridge設(shè)備時采取過濾和控制策略,如圖2所示。
圖2 過濾后,數(shù)據(jù)流T2不再受到影響
圖2中,在B1輸入端口處引入過濾器,過濾器會對經(jīng)過的異常流量采取限制措施,使得在B1輸出端口處各流量均能滿足其帶寬要求。
在對流量的限制上,有多種過濾和控制策略。按照過濾方式可以分為:對單個流量過濾(以下簡稱單流)[3](圖3)和對單個流量類(Traffic class)過濾(以下簡稱單類)(圖4)。按照控制方式可以分為限流和阻斷。組合起來就有4種過濾和控制策略,接下來分析這些策略。需要注意的是,過濾和控制都是針對有帶寬要求的流量,即不適用于BE(Best Effort)數(shù)據(jù)流。
圖3 單個流量過濾
圖4 單個流量類過濾
如圖5所示,每個交換節(jié)點的輸入端口均設(shè)置了單類過濾器,在輸出端口設(shè)置有基于信用的整型器(CBS)。圖中的紅、藍、綠3種顏色表示的流量均屬于同一流量類,因此,在B1的單類過濾器處,由于紅色流量發(fā)生異常,導致總的流量類帶寬為35+20,超出40Mbit/s的限額,從而觸發(fā)限流控制策略,使得紅色流量實際輸出帶寬為30Mbit/s,藍色流量實際輸出帶寬變?yōu)?0Mbit/s;在B2輸入端口處,紅、綠、藍流量均滿足了單類過濾器的要求,但在輸出端口處,紅、綠流量之和為30+55,超出了75Mbit/s整型要求,使得綠色流量的最終輸出變?yōu)?5Mbit/s。
圖5 單類限流方式
由此可以看出,單類+限流的過濾控制策略不能隔絕異常流量的影響,在圖5中藍、綠流量自身沒有異常,但最終仍受到紅色異常流量的影響。
如圖6所示,通過改變控制方式為阻斷,可以確保綠色流量的帶寬要求,但藍色流量因為與紅色流量同屬一個流量類,因此也被阻斷。
圖6 單類阻斷方式場景1
再考慮另一情況,如圖7所示,同樣是單類+阻斷的過濾控制,但是僅紅色流量異常變?yōu)?0Mbit/s,而藍色流量此時沒有數(shù)據(jù)發(fā)送,所以對于B1的單類過濾器無法檢測出紅色流量的異常;在B2輸出端口,由于CBS限制使得紅色流量變?yōu)?5Mbit/s,而綠色流量變?yōu)?0Mbit/s,由此可以看出單類檢測會存在不能徹底檢測異常流量的情況,也就無法隔絕異常流量對其他流量的影響。
圖7 單類阻斷方式場景2
如圖8所示,采用單流+限流的方式,成功限制了異常流量,并且其他流量沒有受到影響;但是,由于采用限流的方式,這意味著存在選擇性丟包的情況,即數(shù)據(jù)可能發(fā)生錯誤,而接收端會認為接收到的是正常的流量。
圖8 單流限流方式
圖9是單流+阻斷的過濾控制策略,此時,僅有出現(xiàn)異常的流量受到影響,其他流量正常傳輸。
圖9 單流阻斷方式
從以上4種過濾控制策略的對比可以看出,單類過濾僅需要實現(xiàn)更少的過濾器,但無法保證正常流量的帶寬和延時要求;與之相對的,單流過濾可以確保僅異常流量受到控制,其他正常流量不受影響,但需要對每個流量都要實現(xiàn)單獨的過濾器,這無疑需要更多開銷;阻斷控制相比限流控制更直接也更安全,一方面確保惡意流量無法進入,另一方面確保流入的數(shù)據(jù)是完整的。
PSFP支持以上4種過濾控制方式,但推薦采用的是單流過濾和阻斷控制的組合,因為此種方式既隔絕異常流量,又不影響網(wǎng)絡(luò)中其他流量,又能最大程度地保障數(shù)據(jù)的完整性。
PSFP由圖10中Stream Filters、Stream Gates和Flow Meters 3個表配合完成[4],下面簡要介紹它們。
圖10 PSFP工作過程
1)Stream Filters,即流過濾器表,每個表項表示某個流對應的過濾器,與下文中的特定門控(Gate)和流量計(Meter)關(guān)聯(lián)。
2)Stream Gates,即流門控表,每個表項表示對某個流采取的門控措施(如門控狀態(tài)為關(guān),表示禁止對應流量流入)。
3)Flow Meters,即流量計表,每個表項表示對某個流的流量統(tǒng)計,當該流量超過了限制帶寬則采取限流或阻斷的控制。
PSFP的基本工作流程:首先流過濾器根據(jù)其中定義的流標識(Stream ID)、優(yōu)先級(Priority)信息,識別出流量是否遵循該過濾器,若由該過濾器控制,根據(jù)對應的門控決定是否允許流量流入,若允許流入,則由流量計中參數(shù)判斷是否超出限額,若超出限額,根據(jù)配置決定采用限流還是阻斷。
再來考慮PSFP的基本應用場景:①對于未知來源的流量,PSFP通過設(shè)置門控關(guān)閉,阻止可疑流量流入;②對于已知來源的異常流量,這里的異常表現(xiàn)不限于帶寬(帶寬超出預留帶寬),還包括如最大數(shù)據(jù)服務單元(SDU)長度超出要求等,PSFP可以選擇阻斷或限流。
由此,PSFP通過對入站流量的過濾和控制策略,提高了網(wǎng)絡(luò)的可靠性。
IEEE 802.1 Qci作為TSN協(xié)議中高可靠性部分的重要協(xié)議,使用過濾和控制策略,確保輸入流量符合規(guī)范,防止惡意攻擊引起的異常流量,由此提升整體網(wǎng)絡(luò)的健壯性和安全性。