楊 軍 ,周純杰 ,應 歡 ,李夢濤 ,楊 軍
(1.國家電網公司,北京 100031;2.華中科技大學 自動化學院,武漢 430074;3.中國電力科學研究院,北京 100192)
實際電力系統站點眾多、分布地域廣,廣域網規模大、拓撲結構復雜[1],而且一旦實際網絡搭建完畢,其架構很難更改、可擴展性差;相關參數配置、調試等方面也面臨極大的工程難度,不合理的配置可能導致系統的不穩定。另外,隨著廣域網承載的應用業務量和復雜度不斷增加,面臨的安全威脅也日益凸顯,例如:攔截、未經授權訪問、篡改、偽造、拒絕服務等[2-3]。因此,在進行電力系統網絡實際搭建之前,需要利用仿真模擬對電力系統廣域網進行調試,降低系統的開發成本、時間成本,快速、直觀地評價網絡性能,查看不同威脅對系統的影響,進而對電力系統的信息安全防護提供指導。
目前,對電力系統大規模、復雜結構網絡的研究還停留在對某一站點的網絡仿真,難以把握電力系統全局狀況。文中,提出一種在電力系統信息安全驗證平臺上基于OPNET的廣域網仿真方法,在對OPNET仿真機制、建模方法以及仿真中的關鍵技術進行闡述基礎上,通過OPNET搭建電力系統廣域網仿真場景,并從網絡性能、常用協議的兼容性、攻防對抗模擬方面進行測試驗證。
OPNET是一種采用離散事件驅動和混合建模機制的網絡仿真工具,提供了數據統計與分析功能,和比較齊全的基本模型庫[4],能夠準確地分析復雜網絡的性能和行為,滿足大型復雜網絡的仿真需要。
在仿真方面,OPNET采用基于離散事件驅動的仿真機制。當網絡狀態發生變化時,模擬機進行仿真,仿真中的各個模塊之間通過事件中斷方式傳遞事件信息,提高了模擬機的計算效率。
在包傳輸方面,OPNET采用基于包的建摸機制來模擬實際物理網絡中包的流動,以及網絡協議中的組包和拆包過程,生成、編輯任何標準的或自定義的包格式[5]。
圖1 OPNET廣域網仿真網絡模型Fig.1 OPNET WAN simulation network model
OPNET廣域網仿真網絡模型如圖1所示,主要包括節點模型和鏈路模型2個部分。節點模型使用系統在環SITL的方法實現虛擬網絡和真實網絡的對接,同時實現真實網絡IP包和虛擬網絡仿真包的相互轉換。鏈路模型主要模擬廣域網的網絡結構、流量及特性參數等,實現連接該網絡的各個節點間的信息交互。
OPNET采用3層建模機制實現網絡的建模與仿真。最底層為進程模型,由狀態(C/C++語句構成)轉移構成,用于描述節點內部行為規范,包括決策進程和算法;中間層為節點模型,由協議棧組成,用于描述網絡中節點的工作流程,從應用、進程、隊列和通信接口對節點的功能進行規范;最上層為網絡模型,由大量的節點以及節點之間的鏈路組成,用于描述網絡中節點間的通信行為,并通過配置網絡中節點、鏈路的屬性實現基本通信功能[6]。OPNET三層建模原理如圖2所示。
圖2 OPNET三層建模原理Fig.2 OPNET three-layer modeling principle
其中,網絡模型是結合實際網絡場景需求搭建的網絡拓撲結構,而網絡拓撲中節點設備的添加既可以使用OPNET自帶的設備庫,也可以通過自定義的方式。OPNET三層建模基本原理,是先通過C/C++等編程語言描述節點的基本功能和狀態邏輯,建立基于狀態轉移圖的進程模型。然后,根據擬建節點所需功能,將各進程模型按照數據包轉移流程進行連接[7]。
OPNET仿真建模大體分為6個步驟:配置網絡拓撲→配置業務→收集統計量→運行仿真→調試模塊再次仿真→發布結果和拓撲報告。其中,步驟1和步驟2屬于創建模型部分即根據研究的問題和目標,建立網絡、節點、進程及其協議模型并配置相關業務,其目的是通過對模型的動態仿真來測試網絡的行為和性能,獲取網絡特性參數等。OPNET提供反映網絡動態特性的矢量統計量和捕捉網絡非動態行為特征的標量統計量。收集統計量即將統計量寫入統計量輸出文件中。在運行仿真前需要設置運行參數;仿真過程中可以利用OPNET交互式調試工具,隨時中斷正在運行的仿真程序;仿真結束后使用OPNET集成的分析工具,以參數曲線的形式直觀地顯示仿真結果并加以分析[8]。
1.4.1 路由冗余技術
(1)熱備份路由協議
主動路由器負責轉發數據包,一旦出現故障,熱備份路由協議HSRP將激活備份路由器取代主動路由器。HSRP協議提供了一種決定使用主動路由器還是備份路由器的機制,并制定一個虛擬的IP地址作為網絡系統的默認網關地址。如果主動路由器出現故障,備份路由器繼承主動路由器的所有任務,并且不會導致主機連通中斷現象[9]。
(2)虛擬路由冗余協議
采用虛擬路由冗余協議VRRP可以很好地避免靜態指定網關的缺陷。VRRP將局域網的一組路由器組織成一個虛擬路由器,對外表現為一個具有唯一固定IP地址和MAC地址的邏輯路由器。VRRP協議選出一臺作為主控,負責ARP響應和轉發IP數據包,其他路由器作備份處于待命狀態。當主控路由器發生故障時,備份路由器能在幾秒鐘的時延后升級為主路由器,切換迅速且無需改變IP地址和MAC地址[10]。
1.4.2 半實物仿真技術
半實物仿真技術即在仿真系統中接入實物,以取代相應部分的數學模型,使其更接近實際情況,從而得到更確切的信息。半實物仿真系統一般由仿真計算機系統與接口、環境模擬設備、被測實物三部分組成。
OPNET中提供了SITL模塊,模塊的工作原理如圖3所示。通過運行SITL,網絡接口接收數據包,然后再通過防火墻過濾掉一些不需要的數據包轉發到操作系統中。同時,SITL組件從網卡捕獲發送給SITL模塊的數據包,然后將其轉發至仿真環境中,OPNET仿真內核對整個數據包進行解析,這樣SITL網關節點就可以看到完整的以太網幀,并將它們傳遞給仿真環境的其他部分[11]。
圖3 SITL工作原理Fig.3 SITL working principle
1.4.3 統計量導出方法
OPNET統計量導出的方法包括基于外部模型訪問和基于統計線2種方法。基于外部模型訪問的導出方法是通過第三方軟件如Visual Studio調用OPNET庫函數實現,其適應性強并且可以導出全部統計量。而基于統計線的導出方法,通過在OPNET節點域中添加統計模塊實現,主要有以下步驟:
步驟1 在節點域中添加模塊與統計線,并對統計線屬性中統計量源、統計量目的、中斷模式、中斷觸發方式進行配置。
步驟2 在進程域中參考 《關鍵函數參考手冊》,采用C語言實現統計量的文件磁盤存儲。
1.4.4 防火墻和VPN技術
OPNET路由器支持標準包過濾和擴展包過濾,一般配置擴展ACL,選擇IP→IP Routing Parameters→Extended ACL Configuration進行 ACL的配置,然后通過Interface Information查找對應接口的Packet Filter,部署包過濾。
VPN技術通過在一個復雜的網絡中建立一個安全、專用的網絡來實現對業務信息的傳輸和保護。它無需單獨建立專用的網絡,而是在公共網絡上建立虛擬的網絡來實現專網的傳輸。在OPNET中,選擇VPN對象模型“IP VPN Config”,鼠標右鍵選擇屬性,添加VPN隧道,設置源路由器以及目的路由器,并添加客戶端以實現VPN的配置。
電力系統廣域網規模大,覆蓋了全國各省市,一般采取3層結構設計,如圖4所示,即一級網絡、二級網絡和三級網絡。其中,三級網絡是城市范圍的網絡,二級網絡是省內范圍的網絡,一級網絡則覆蓋全國各網局和直屬省局。
圖4 電力系統廣域網三層結構Fig.4 Power system WAN three-tier structure
根據如圖所示結構搭建的包含有一級網絡、二級網絡和三級網絡的電力系統廣域網仿真場景,如圖5所示。
圖5 OPNET廣域網網絡拓撲結構Fig.5 OPNET WAN network topology
其搭建步驟如下:
步驟 1 新建工程“File”→“New”→“Project”,選擇空場景Create empty scenario,網絡規模Network Scale,地域 World,模型庫選擇 MPLS,SITL 模型庫Model Family。
步驟2 依據地理位置搭建網絡。
選擇地勢平坦的梯田作為試驗地點。地膜帶幅為1.2 m,寬窄行距離分別為0.6 m和0.4 m,每壟種植2行作物,株距保持在為35~40 cm,保苗在60 000株/hm2左右,用種量30 kg/hm2。
步驟3 在網絡節點間添加鏈路。不同的網絡節點,其內部設置的局域網絡不同。有的包含虛擬客戶端/服務器,用于仿真電網中SCADA業務;有的包含SITL組件,用于仿真實際數據通信[12]。
仿真使用4臺計算機:2臺作通信主機,1臺作攻擊注入主機,1臺作OPNET仿真主機。試驗環境整體配置如圖6所示。
圖6 試驗環境整體配置Fig.6 Overall configuration of experimental environment
廣域網傳輸信息信道對實時性要求很高,實時性取決于網絡擁塞程度、網絡傳輸鏈路時延,可以用網絡端到端的吞吐量、網絡時延和時延差來衡量,而可靠性取決于網絡設備、傳輸鏈路故障恢復時間可以用固定包頻下的丟包率來衡量[13]。
主機PC_A和PC_B通過仿真網絡進行通信,利用ATTKPING和TamoSoft Throughput Test對網絡丟包以及吞吐率進行測試。首先在PC_B中運行ATTKPING軟件,用ping PC_A來測試網絡延時和丟包率。通過測試發現當最大數據量為1472時,丟包率為0%,延時在32 ms左右。
在PC_A和PC_B上分別運行TamoSoft Throughput Test Client和TamoSoft Throughput Test Server進行吞吐率測試。測試結果如圖7所示,在Qos traffic type為Voice的情況下,TCP上傳時平均吞吐量為 11.37 Mb/s,下載時平均吞吐量為 12.03 Mb/s。
圖7 網絡voice吞吐率測試結果Fig.7 Network voice throughput test results
在電力系統中,常用的協議有ModBus協議、IEC60870-5-104規約、IEC61850規約、S7協議、OPC協議等。通過測試,電力系統常用協議與OPNET的兼容性見表1。
表1 電力系統常用協議與OPNET的兼容性Tab.1 Compatibility of power system common protocol with OPNET
3.3.1 OPNET 仿真場景下的攻擊試驗
采用76號工具進行TCP SYN Flood攻擊,試驗結果如圖8所示。當網絡遭受到攻擊時,鏈路請求包速率迅速增大,鏈路響應包速率隨之增加,但兩者差值較大即通信出現不同步現象,隨后包速率下降說明攻擊一段時間后客戶端與服務器之間的通信斷連。
3.3.2 防火墻與VPN仿真試驗
全仿情況下,服務器通過防火墻與外界網絡隔離,2臺仿真主機同時訪問服務器,計算機2采用VPN技術,計算機1不采用VPN技術,觀察其結果。具體實現如下:
圖8 攻擊下網絡包請求/響應速率的對比Fig.8 Comparison of network packet request/response rate under attack
(1)指定用戶概要和部署應用
電力系統的業務主要有語音業務、數據業務、多媒體業務、E-mail等。在OPNET中,添加應用對象模型以及概要對象模型。由于OPNET中,沒有多媒體應用,使用FTP應用替代多媒體應用。指定用戶概要和部署應用包含3步:配置應用、配置概要、部署應用。
(2)配置防火墻與VPN
選取xinjiang子網中的防火墻,右鍵選擇屬性,選擇“Proxy Server Information”進行配置。在xinjiang子網和huadong子網之間建立VPN通道,xinjiang子網為源路由器,huadong子網為目的路由器,其中客戶端為源路由器的客戶端。
(3)選擇相應統計量
選取xinjiang子網節點局域網內防火墻丟包、lasa子網節點局域網內吞吐量、huadong子網節點局域網內吞吐量作為統計量,用于觀察防火墻和VPN的作用效果。
(4)運行仿真得到結果
運行仿真,仿真效果如圖9所示。
圖9 防火墻與VPN效果曲線Fig.9 Firewall and VPN effect curve
圖中,計算機1代表lasa子網的Virt_Attacker,計算機2代表huadong子網的客戶端。由圖9可見,使用了VPN的計算機2能夠收到來自服務器的數據響應包,未使用VPN的計算機1無法獲取服務器數據。可以說明,防火墻可以阻止非法的遠程訪問;VPN能夠透過防火墻對服務器進行訪問。
文中所提出基于電力系統信息安全驗證平臺的廣域網仿真方法,介紹了OPNET仿真機制、建模方法以及仿真中的關鍵技術;通過廣域網仿真場景對網絡性能進行評估,對協議的兼容性進行驗證,對TCP SYN Flood攻擊對廣域網性能的影響以及防火墻和VPN技術在廣域網中的作用進行闡述。該方法為建設電力系統信息安全驗證平臺提供了技術支持,也為后續研究OPNET廣域網仿真的人員提供了方法指導。
[1] 許玲玲.智能電網環境下廣域網通信系統的研究[D].保定:華北電力大學,2011.
[2] 林永峰,陳亮,張國強.配電自動化終端信息安全風險測評方法研究[J].自動化與儀表,2015,30(12):11-14,58.
[3] 劉松國,韓樹新,李偉忠,等.電梯運行狀態監測與故障遠程報警系統研究[J].自動化與儀表,2011,26(10):42-46.
[4] 沈海紅,王進,鄭寶玉.基于3種主流網絡仿真軟件的網絡仿真探討[J].江蘇通信,2004,20(4):5-8.
[5] 朱辰,董銀虎.基于OPNET的網絡仿真技術研究及其應用[J].無線電工程,2013,43(3):12-15,61.
[6] 廖晨淞,童曉陽,王曉茹.OPNET仿真及其在電力系統通信研究中的應用[J].電氣應用,2010,29(9):52-56,91.
[7] Zhao W,Xie J.OPNET-based modeling and simulation study on handoffs in Internet-based infrastructure wireless mesh networks[M].[s.l.]:Elsevier North-Holland Inc.,2011.
[8] 韋良芬.基于OPNET的網絡建模與仿真設計[J].電腦知識與技術,2012,8(33):8073-8075.
[9] 陳偉.利用HSRP熱備份路由技術提高網絡可靠性[J].福建電腦,2015,19(4):139-140.
[10] 谷寶磊.基于VRRP協議實現路由冗余和負載均衡的應用研究[J].智能計算機與應用,2014,4(6):100-103.
[11] 李洪鑫,張傳富,范超.OPNET半實物仿真機制研究[J].信息工程大學學報,2011,12(4):509-512.
[12] Bian D,Kuzlu M,Pipattanasomporn M,et al.Real-time co-simulation platform using OPAL-RT and OPNET for analyzing smart grid performance[C]//Power & Energy Society General Meeting.IEEE,2015:1-5.
[13] 林濤,郭曉,陳恩,等.基于Si4432和GPRS遠程智能抄表系統的研究[J].自動化與儀表,2014,29(7):31-34. ■