?

二次設備網絡壓力防護技術方案研究

2021-11-18 02:51許宗光李廣華
浙江電力 2021年10期
關鍵詞:風暴以太網報文

李 彥,許宗光,李廣華,顧 浩

(南京南瑞繼保電氣有限公司,南京 211102)

0 引言

在智能變電站的建設實踐中,IEC 61850 標準憑借良好的可擴展性和體系結構,成為智能電網的統一標準。智能變電站的典型網絡拓撲為“三層兩網”架構[1],設備根據其工作地位歸屬于站控層、間隔層和過程層三個層次之一;層次間的通信網絡分別為站控層網絡及過程層網絡。站控層網絡業務包括MMS(制造報文規范)及其他高級網絡應用業務;過程層網絡的主要業務包括SV(采樣值)和變電站通用事件GOOSE(面向對象的變電站事件)等數據鏈路層業務。

根據智能變電站業務的特點和通信方式,過程層網絡業務是智能站控制保護功能的必要支撐,其實時性和可靠性要求更高[2],并表現出特定的周期與流量特征[3]。針對不同應用的安全等級要求以及數據流特征,現有的技術方案采取了一系列措施來增強二次設備在網絡故障環境下的可用度。這些措施包括采用獨立處理器管理站控層網絡以實現人機交互與控制保護等邏輯功能的解耦;在網絡交換設備上采取流量管控措施[4]來限制端口的最大流量;采用VLAN(虛擬局域網)劃分虛擬網絡隔離非相關數據[5]等。然而,網絡壓力的成因復雜[6](包括網絡拓撲異常、設備硬件問題、人為失誤和惡意攻擊等),異常行為多樣[7],僅在網絡交換設備上采取防護措施是不完備的,更重要的是增強網絡終端設備自身壓力防護能力。此外,如STP(生成樹協議)機制能在秒級時間內檢測并修復異常的網絡環路以隔絕網絡風暴,但生效時間過長,無法避免網絡實時業務受損。目前的保護機制智能度不夠,無法精確區分異常流量和正常數據,在隔離網絡壓力的同時可能導致設備的正常功能失效。

本文提出一種應用于二次設備的網絡壓力防護方案,其原理和實施方案可以用四維空間中的數學模型來描述。本方案尤其適用于采用FPGA(現場可編程門陣列)作為網絡協處理器的場合,實施本方案不需要占用處理器資源,網絡協處理器通過訂閱過濾、風暴抑制和流量控制三重策略來過濾本設備不需要的網絡幀,實現了復雜網絡環境下“排除干擾,盡力工作”的目標,從而提高智能變電站系統整體的可靠性與魯棒性。

1 理論基礎

將二次設備從網絡中接收到的任一數據幀的4 種參數抽象為空間坐標,每個幀對應于四維空間(X,Y,Z,T)中的一個點,幀的有效性判據可抽象為幀坐標的數學關系。網絡協處理器根據有效性判據主動丟棄無效幀,以實現網絡壓力防護功能。四維坐標中,X 軸為接收到該幀的設備物理網口,取值范圍是從1 開始的有上限的自然數;Y 軸為網絡幀的邏輯鏈路信息,代表網絡數據承載的業務特征以及處理需求,可以作為網絡幀在變電站域內的唯一性識別信息;Z 軸為幀數據的具體內容,以太網幀內容可以表示為一個二進制序列,該序列在Z 軸上的投影值映射幀二進制序列的數字值;T 軸是時間軸,表示接收該幀的時刻。

如圖1 所示,任意一個網絡幀均可用4 個維度的坐標(x,y,z,t)來表示,當該幀到達接收設備時,各坐標值即確定,按照接收的先后順序以下標來區分,設備接收到的第n 幀可表示為(xn,yn,zn,tn),網絡幀在該4 個坐標軸上的投影是唯一的。物理世界中不存在4 個坐標均相同的2 個幀,任意幀也不可能存在不同的2 組坐標。二次設備期望從網絡中獲取的以太網幀組成了在該4維空間內點的集合。這些點受行業標準、通信原理及變電站設計等因素限制,其坐標分布具有一定的規律性。此外,根據網絡壓力形成的原理,網絡壓力數據幀的坐標也表現出一定的規律性。

圖1 以太網幀的四維空間表示法

首先,根據智能變電站的配置流程,最終下載到裝置內的是每個IED(智能電子設備)唯一的CID(智能電子設備實例配置描述文件)[8],或由廠家自定義格式的包含相同信息的配置文件。配置文件將本設備訂閱的網絡數據的應用功能(邏輯鏈路)與路徑(物理端口)聯系起來。對于單個二次設備,其IEC 61850 配置文件確定了該設備訂閱的數據集,這個數據集表現為整個XY 平面上確定位置的離散點。任意網絡數據幀在XY 平面上的投影落于這些離散點之外,均為非訂閱數據。訂閱過濾機制直接丟棄XY 坐標不滿足訂閱關系的網絡數據幀,保留滿足訂閱關系的網絡數據幀。判斷訂閱關系的數學表達式為:

式中:(x,y)為任意網絡幀的接收網口號以及邏輯鏈路信息;(X0,Y0),…,(Xn,Yn)為根據配置文件確定了有限多個離散值的集合,僅當(x,y)的取值落在上述集合中時,表示該幀滿足訂閱條件并被接收。

其次,當網絡拓撲中存在異常環路或者有網絡設備故障時,網絡內可能出現大量無限循環復制的重復報文,這種情況稱之為網絡風暴。信息論表明相同的數據不包含新信息,因此風暴抑制起效的條件為:

對于接收設備而言,若序號為m 和n 的2幀接收網口相同(x 坐標相同),幀內容相同(z 坐標相同)以及時標接近(t 坐標相近),則后一幀即為網絡風暴幀,可以直接丟棄。

最后,智能變電站中主要業務如GOOSE 和SV 的幀率有較為明確的期望值。對于SV 類型,國內實踐中常采用4 000 s 的幀率;GOOSE 的幀率情況比較復雜。根據國內工程實施習慣,設備以固定周期(5 s)發送心跳報文;當有新事件發生時,立刻發送這條事件報文;為了確保GOOSE傳遞至接收端,事件報文有重傳機制[9],重傳后GOOSE 報文強制恢復為心跳報文。因此考慮極限情況,GOOSE 幀周期應該與設備處理GOOSE的定時周期相同(國內一般是833 μs)。過程層流量控制的數學描述為:

式(3)中,將同屬于確定的邏輯鏈路的幀按照接收順序連續編號,如果序號差(m-n)的2 幀的接收時間差(tm-tn)小于指定時間Ti,則說明該時間段內接收邏輯鏈路Yi的幀異常多,超出合理預期。據此可以直接丟棄不符合預期時間分布限制的幀。

通過網絡壓力的成因以及期望接收數據幀的相關特征,可以指導網絡協處理器設計實現網絡壓力防護功能。首先按作用范圍從大至小確定訂閱過濾、風暴抑制與流量控制3 種策略的起效順序。訂閱過濾首先起效,丟棄所有非訂閱數據,包括非訂閱的風暴流量以及幀率異常的其他報文。其次起效的是風暴抑制,因為風暴數據幀的存在會導致流量控制措施失效。訂閱過濾和風暴抑制的目標均屬于本設備“不需要”的數據,在感受到網絡壓力幀時立即起效,無損隔離。最后起效的是流量控制,源設備可能因為軟件故障導致超發數據,這些數據在訂閱范圍內,內容不重復但幀率奇高,甚至可能超出了接收設備處理器的負載能力,因此流量控制策略在最后環節生效。按照訂閱過濾、風暴抑制以及流量控制三重策略順序起效,在不同維度實施網絡壓力過濾,組成完整的網絡壓力防護方案。本方案對異常流量特征進行數學抽象,據此指導在FPGA 器件上實現適用于多種異常流量混雜情況的網絡壓力防護方案,克服了過濾異常流量同時保持其他正常數據接收的難題,解決了網絡壓力環境下超大流量與有限的處理器資源之間的矛盾。

2 方案實施

在具體實施過程中,需要針對智能變電站網絡通信業務的特點,對第1 節中所述的網絡壓力防護方法做進一步細化,并使其適合在二次設備上規?;渴?。

對于智能站中的SV 以及GOOSE 類網絡數據幀,邏輯鏈路信息為以太網目的地址(DestAddr)+以太網幀類型(Type)+APPID 的組合;對于其他如PTP1588 等不包含APPID 字段的網絡幀,APPID 字段固定為0 以維持邏輯鏈路信息的格式統一性,即:

目前智能變電站中存在組網和點對點2 種主流網絡拓撲。組網模式簡化了網絡拓撲,但其數據流更為復雜。網絡壓力防護的訂閱過濾機制必須適應復雜網絡環境,應考慮并支持如下特性:要求支持識別智能變電站內網絡幀的協議二次封裝。訂閱過濾所需要的字段包括邏輯鏈路信息,這部分內容一般位于以太網幀的固定位置。然而,以太網幀在傳輸過程中可能會進行二次封裝,如添加/刪除VLAN(0×8100)字段,或者在網絡幀進入IEC 62439 規范中所定義冗余網絡時,會添加PRP(0×88FB)/HSR(0×892F)標簽,這些標簽字段插入在原以太網幀類型的位置,導致邏輯鏈路信息在網絡報文中的位置發生變化,訂閱過濾功能需要能自動識別此類變化。此外,也需要考慮訂閱過濾行為的效率,FPGA 器件支持并發執行,合理的流水線設計可以使其在一個時鐘周期內完成1 條訂閱信息的檢索和比較。當前主流的FPGA 器件均能穩定地工作在100 MHz 甚至更高的驅動時鐘之下,百兆以太網最短的幀間隔約為5 μs,可以支持近500 條訂閱信息檢索,滿足絕大部分二次設備的訂閱數量需要。因此,以FPGA 作為網絡協處理器執行訂閱過濾是適合且高效的。

網絡內設備均正常運行時,智能站網絡中出現完全相同的數據幀的概率極低(根據SV 的編碼規則,任意控制塊在一個序號(Smp_Cnt)循環周期(1 s)內不可能出現2 個完全相同的報文[10]);GOOSE 也有類似的編碼規則(StNum 和SqNum)[11]。當網絡拓撲錯誤或者出現網絡硬件異常時[12],則可能產生無限復制的重復報文。在執行風暴抑制時,需要考慮以下因素:首先,智能站過程層采用AB 同源雙網的情況下,不同物理網口到達的網絡報文可能內容完全相同,因此需要針對每個物理網口獨立實施風暴抑制;其次,經過傳輸環節后,網絡風暴報文可能與正常報文交替到達,因此僅在相鄰報文中檢查重復性效果有限,需要在一個實時更新的幀隊列中實現抑制措施;最后,以太網報文合法長度范圍從64~1 522 B(即幀在Z 軸上的取值范圍可以為0~28×1522-1),如此規模的字長,無論是軟件或FPGA 直接計算ΔZ 都不可行。因此,需要通過散列算法將以太網報文完整內容映射為一個取值范圍有限的值,即對Z坐標的比較算法進行簡化。顯而易見,散列算法沒有漏檢概率(相同序列計算得到不同散列值),但存在誤檢可能(不同的序列算出相同散列值)。CRC64 是簡化Z 坐標的合適算法。任意二進制序列的CRC64 結果可能有264種可能性,百兆以太網中最短幀時間為5.76 μs,按照平均概率計算,出現一次碰撞需要3 369 268 年[13],這種誤檢概率在工程上是完全可以接受的。實際的FPGA 網絡協處理器按如下流程操作:計算經過訂閱過濾的幀的CRC(冗余循環檢驗),將不定長序列轉換為定長64 bit 散列值,并在一個指定深度(如64)的散列值序列中查找是否有重復元素,如發現有重復元素,即將新接收報文識別為風暴報文直接丟棄。這種風暴檢測方法實現簡單,能識別連續64 幀內的任意2 個重復報文,當重復報文間隔超過了64 幀,意味著風暴流量占流量的比重已經很小,對系統的不利影響可以忽略。

智能變電站中,過程層主要業務的幀率表現出有限的可預測性,如SV 的4 000 幀率以及GOOSE 幀2/2/4/8 ms 的發送間隔。站控層數據一般都基于IP(互聯網協議),支撐了諸如TCP/UDP(傳輸控制協議/用戶數據報協議)等高級網絡協議,此類報文在時間軸T 上的分布并無明顯特征。進一步地,不同邏輯鏈路(Y 值)對應于設備不同的子功能,其可靠性要求也不盡相同,不允許因為某一類幀的異常流量而影響其他非相關的應用功能。因此,流量控制機制作為訂閱過濾以及風暴抑制措施的補充,首先應能根據幀的邏輯鏈路(Y)來區分不同的流控條目,并按條目獨立地進行流量控制;其次,不同數據類型的預期幀率不同,因此邏輯鏈路的流控閾值需要能獨立設置;最后,網絡數據幀從源設備發送至接收設備的過程中,在交換機域內轉發時可能會造成毫秒級的報文間隔抖動[14]。流控閾值必須能體現為一個時間窗內的統計結果以適應抖動并保留一定的裕量。綜上,實際應用中,FPGA 網絡協處理器將長度(P)的時間窗內的接收幀數(N)作為閾值,這個閾值要高于正常情況下報文間隔抖動造成的時間窗內報文數量增加的最大值,且低于處理器在時間窗內能處理的報文最大數量,以保護軟件性能不被耗盡。如第1 節對GOOSE 重發機制的描述,考慮其自有的間隔不確定度并預留一定裕度,可以將這個閾值設置為:P=10 ms,N=8 幀。SV 控制塊的幀率基本固定,考慮必要的裕度,其閾值設置為:P=1 ms,N=6 幀。對于站控層流量,一般由帶操作系統的CPU 負責處理,不影響裝置的核心功能,因此可以將所有類型數據統一為1 個條目且設置較為寬松的閾值。如第1 節所述,流控措施的控制對象是幀率異常、格式正確且已訂閱的幀,協處理器無法精確判斷該幀的內容是否有效,但能通過流控閾值以及按條目獨立流控的措施,即使發生“未知原因”導致的網絡壓力,也能保證透過流控到達應用層的報文不足以耗盡處理器資源,從而達到了“盡力”隔離網絡壓力的目的。

3 實驗結果及分析

設計一個針對二次設備網絡壓力防護能力的實驗系統,來驗證本文所述3 種措施的效果。實驗系統如圖2 所示。

圖2 網絡壓力防護效果實驗系統

合智一體通過交換機向被測設備注入訂閱的GOOSE 與SV 流量,網絡分析儀通過交換機注入網絡壓力流量。網絡壓力分為非訂閱流量、風暴流量和雪崩流量(超過正常幀率的訂閱的非重復幀)3 種。由于網絡壓力造成后果與實際設備的應用程序細節緊密相關,因此為了簡化實驗環境,易于獲取量化的比較結果,本實驗將應用程序對網絡報文的處理簡化為對網絡報文內容的簡單累加求和,被測設備在定時器任務中處理當前周期內接收到的全部數據。依次對被測設備施加如表1 所示的各種網絡壓力流量,分別在開啟或關閉網絡壓力防護措施的情況下,記錄被測設備處理器執行網絡數據處理的時間。

表1 實驗結果

實驗結果表明:在不開啟網絡壓力防護措施的情況下,設備的處理時間隨著接收到的總流量的增加而增加;而在開啟網絡壓力防護措施后,非訂閱流量以及風暴流量直接被識別為不需要的數據直接丟棄,無論流量多大,均不會對設備的處理時間造成影響。當輸入的網絡壓力為雪崩流量、在沒有達到流控閾值時,設備處理時間隨流量遞增而增加,網絡協處理器正常接收數據并將是否采信該數據的決定權交給應用軟件;當超過流控閾值時,流控起效關斷了當前邏輯鏈路的接收,因此總的處理時間恢復至不施加網絡壓力時的初始水平。實驗結果驗證了網絡壓力防護方法的有效性。

4 結語

網絡通信可靠性對于智能變電站來說是系統安全的關鍵因素,因此增強二次設備網絡壓力防護能力意義重大。本文體系化地闡述了網絡壓力防護的方法與流程,并將其原理映射為四維空間中諸元的數學關系。采用本文所述防護措施的二次設備,可以在處理器的承受能力范圍內最大限度地隔離異常流量,保留正常數據,顯著提高設備在復雜網絡環境下的網絡壓力防護能力,為智能變電站的安全可靠運行奠定堅實的基礎。

猜你喜歡
風暴以太網報文
基于J1939 協議多包報文的時序研究及應用
基于1500以太網養豬場的智能飼喂控制系統的設計與實現
CTCS-2級報文數據管理需求分析和實現
淺析反駁類報文要點
腦風暴大挑戰
《風暴中奔跑的樹》
談實時以太網EtherCAT技術在變電站自動化中的應用
頭腦風暴
ATS與列車通信報文分析
2015A/W暗黑風暴來襲!
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合