<kbd id="m6qi9"><i id="m6qi9"></i></kbd>
    1. <tr id="m6qi9"></tr>
    2. 工控安全實驗室 安全報告 政策標準 深度視點 離線漏洞庫 特征識別庫

      網絡安全產品帶寬管理的技術分析

      在《信息安全技術工業控制系統專用防火墻技術要求》中對工業防火墻的帶寬管理功能提出如下的要求“部署域間的工控防火墻應具備帶寬保障功能,使得在帶寬出現擁堵時,能夠保障重要終端的網絡通信”。

      本文對我司工業防火墻實現“帶寬管理”功能的關鍵技術進行了描述和分析。

      方案1-流量限速

      >>>> 描述

      流量限速是流量QoS的基本功能,該方案的思路是對進入防火墻的流量進行分類,區分出優先級高和優先級低的流量,當網絡出現擁堵時,為了保障高優先級(本文是重要終端)的流量,對低優先級的流量進行限速。

      按照不同的需求對流量進行分類的方法有很多種,比如按照應用層協議(Modbus,OPC,S7等)進行分類,按照IP報文不同的TOS/DSCP標記進行分類,按照不同的MAC地址進行分類等,《技術要求》中提到的“保障重要終端的網絡通信”,這里是按照不同的IP地址段進行分類。

      >>>> CAR(committed access rate)算法

      對于流量限速,IETF建議采用srTCM(A Single Rate Three Color Marker,RFC2697)算法或trTCM(A Two Rate
      Three Color Marker,RFC2698)算法對流量進行測評,這里簡單介紹一種單桶雙色算法,如下圖:


      構造一個令牌桶,開始令牌桶是空的,讓需要限速的報文進入令牌桶,每進入一個報文,投入報文長度的令牌(Token),同時令牌桶以CIR(Committed Information Rate)的速率不停的漏掉令牌,直到令牌桶為空為止。

      根據報文進入令牌桶時桶中的令牌數對報文著色,如果投入該報文的令牌后,桶中的令牌數沒有溢出(超過桶高),將報文著綠色,更新桶中的令牌數,如果投入該報文的令牌后,桶中的令牌數溢出,將該報文著紅色,桶中的令牌數不更新,對于紅色的報文丟棄,CIR就是綠色報文通過的帶寬。

      如果限速的報文帶寬小于CIR,流出桶的令牌比進入桶的令牌速率要大,桶中的令牌數長期在0附近波動,限速的報文基本不會被丟棄,除非一波突發的流量超過了桶高(Bucket Height),桶高決定了CAR算法支持的突發能力CBS(Committed Burst Size)。

      >>>> 實現

      利用限制低優先級流量的帶寬保障高優先級的流量,需要知道擁堵時低優先級流量的帶寬,將低優先級的流量限制在其帶寬以下,多余出來的帶寬來保障高優先級的流量,但是當非擁堵時,如果低優先級的流量超過了其限制帶寬,其仍舊是會被限制的。低優先級的流量可以有多種,可以限制到不同的帶寬。

      另外,由于CAR算法不需要緩存報文,綠色的報文都實時轉發,因而對報文轉發的時延影響很小。

      方案2-區分優先級的限速

      >>>>  描述

      利用方案1實現保障高優先級的流量存在誤殺的情況,即在非擁堵的時候低優先級的流量也可能會被限制;同時,低優先級流量的帶寬可能波動比較大,難以找到一個準確的限制帶寬。

      本方案改進了CAR算法,將高優先級和低優先級的流量一起考慮,只有當它們的流量之和超過一定的帶寬(擁堵)時,才會限制低優先級的流量。

      >>>>  多層桶高的CAR算法

      本算法在CAR算法的基礎上,將高優先級的流量和低優先級的流量設置成不同的桶高,高優先級流量的桶高比低優先級的桶高要大,如圖:         高優先級報文P1的桶高為BH1,低優先級報文P2的桶高為BH2,BH1>BH2,兩種報文共用一個令牌桶。當P2進入令牌桶時,投入該報文的令牌后,如果桶中的令牌數超過BH2,報文著紅色,反之著綠色。同理,當P1進入令牌桶時,投入該報文的令牌后,如果桶中的令牌數超過BH1,報文著紅色,反之著綠色。

      當P1和P2的帶寬之和小于CIR時,進入令牌桶的令牌數小于流出的令牌數,桶中的令牌數長期在0附近波動,報文不會被丟棄,除非一波突發的流量超過了BH2,才會有少量的P2報文著紅色,BH2決定了支持P2突發流量的能力。

      當P1和P2的帶寬之和大于CIR,但是P1的帶寬小于CIR時,桶中的令牌數長期在BH2上下波動,當令牌數大于BH2時,P2報文著紅色,當令牌數小于BH2時,P2報文著綠色。由于令牌數達不到BH1,所以P1報文基本不會著紅色,除非有一波P1的突發報文大于BH1-BH2,才會有少量的P1報文著紅色,BH1-BH2決定了支持P1突發流量的能力。

      當P1的帶寬超過CIR時,桶中的令牌數長期在BH1上下波動,所有的P2報文都著紅色,P1報文的帶寬限制在CIR。


      >>>> 實現

      多層桶高的CAR算法在限制流量帶寬的同時通過不同的桶高區分出來兩種或者多種流量的優先級。將CIR設置為擁堵的帶寬閾值,當擁堵的時候,優先丟棄低優先級的報文,當不擁堵的時候,低優先級的報文就不會被丟棄。

      相較于方案1,該方案所有的報文共用一個CAR桶,實現較復雜,進入CAR桶的報文數多,性能也不如方案1。同時支持的桶高層數不宜過多,最好不要超過3層。

      方案3-擁塞控制

      >>>> 描述為了解決方案1中對低優先級流量的誤殺情況,還有一種擁塞控制的方法。該方法的思路是增加一個策略判決鏈,通過策略判決鏈決定低優先級流量的限速是否生效;也就是擁堵的時候限制低優先級的流量,不擁堵的時候將低優先級流量的限制取消。

      >>>> 策略判決鏈

      策略判決鏈是將所有判斷系統擁塞的條件和對應的策略作為擁塞節點放在一個鏈表中,擁塞節點可以是一個或者多個,對應的限制低優先級流量的策略也可以是一個或者多個。定期的遍歷擁塞節點判決擁塞的條件是否成立,如果擁塞的條件成立,立即啟動對應的策略來限制低優先級的流量,如果連續三次判決擁塞的條件不成立(低于擁塞帶寬80%以下),取消對應的策略不限制低優先級流量的帶寬。如圖:



      >>>> 實現

      該方案也是在方案1的基礎上實現低優先級流量的動態控制。相較于方案2其適用性更廣,進入CAR桶處理的流量更少,但是會額外增加策略判決鏈的處理,使得實現的復雜性相較于方案2更復雜,對系統性能的影響更大。

      方案4-優先隊列(Priority Queuing)

      >>>> 描述

      該方案區別于上面的方案的地方是增加了報文的緩存,其思路是將高優先級和低優先級的流量作為一個總體考慮,在限制總帶寬的同時,將不同優先級的報文緩存在不同的隊列中,然后從最高優先級的隊列中開始轉發報文,直到高優先級隊列中沒有報文后,才開始轉發次優先級的報文,然后才是低優先級的報文。每個隊列都有長度限制,如果緩存報文超過了隊列的長度,進行隊尾丟棄報文。

      由于該方案進行了報文緩存,實現起來復雜,并且會增大報文的時延,但是其能夠對流量有一定的整形(traffic shaping)效果。

      >>>> 方案

      該方案對系統的影響較大,實現很復雜,本文暫不考慮其實現。

      >>>> 實現

      略。

      方案比較及建議


      ISASecure CRT Tool認證
      等保建設服務資質
      信息系統安全集成服務資質
      信息安全服務風險評估資質
      ISO9001質量管理體系認證
      ISO20000技術服務管理體系認證
      ISO27001信息安全管理體系認證
      信息安全服務資質安全工程類一級
      信息安全服務資質安全開發類一級
      微信二維碼
      在線咨詢
      周一至周日 0:00-24:00
      4000-680-620
      友情鏈接: 威努特 工業內窺鏡
      威努特Copyright2016 Winicssec All Rights Reserved 版權所有 京ICP備14062383號-1
      站長統計
      福运网官方