劉 杰,武貴路,周 濤,黃術(shù)東,凃 樸
(1. 重慶郵電大學(xué),重慶 400065;2. 四川文理學(xué)院,達州 635000)
支持流量檢測的EPA網(wǎng)橋STP協(xié)議研究與實現(xiàn)
劉 杰1,武貴路1,周 濤1,黃術(shù)東1,凃 樸2
(1. 重慶郵電大學(xué),重慶 400065;2. 四川文理學(xué)院,達州 635000)
基于STP協(xié)議的EPA網(wǎng)橋設(shè)備可通過減少EPA各網(wǎng)段競爭與碰撞來改善網(wǎng)絡(luò)性能與安全性。當(dāng)網(wǎng)絡(luò)中EPA網(wǎng)橋相互通信時,工作在網(wǎng)橋中的STP可以保證任意兩個LAN之間只有唯一路徑。EPA網(wǎng)橋中的STP協(xié)議生成“樹形”傳輸鏈路,EPA網(wǎng)橋中的其他鏈路將被阻塞,成為備份鏈路,有效的避免了網(wǎng)絡(luò)風(fēng)暴的發(fā)生。為了提高工業(yè)以太網(wǎng)的實時性,在EPA網(wǎng)橋中引入流量檢測模塊,起到提高網(wǎng)絡(luò)帶寬,增強網(wǎng)絡(luò)實時性等作用。
依據(jù)EPA標(biāo)準(zhǔn)采用的分層化網(wǎng)絡(luò)安全管理措施, EPA網(wǎng)橋[1]是實現(xiàn)EPA網(wǎng)絡(luò)內(nèi)各個微網(wǎng)段之間、現(xiàn)場設(shè)備層與過程監(jiān)控層之間及遠程網(wǎng)絡(luò)間的互連設(shè)備。EPA網(wǎng)橋至少兩個EPA接口,可進行冗余配置。EPA網(wǎng)橋是可組態(tài)設(shè)備,通過上位機根據(jù)不同EPA網(wǎng)橋ID來判斷設(shè)備屬于哪個EPA網(wǎng)橋及異常時的故障定位和隔離;同時,通過組態(tài)EPA網(wǎng)橋?qū)邮盏綕M足特殊要求的EPA報文進行過濾處理并轉(zhuǎn)發(fā),否則丟棄。
由于STP協(xié)議可減少網(wǎng)絡(luò)中各網(wǎng)段的競爭與碰撞,因此在EPA網(wǎng)橋中加入STP模塊將改善網(wǎng)絡(luò)性能,降低遭受由環(huán)網(wǎng)所致的“網(wǎng)絡(luò)風(fēng)暴”或其他安全風(fēng)險。EPA網(wǎng)絡(luò)是一種工業(yè)級且對實時性要求較高的以太網(wǎng),所以需要在消除“網(wǎng)絡(luò)風(fēng)暴”等影響的同時盡可能提高網(wǎng)絡(luò)帶寬增強網(wǎng)絡(luò)實時性。為此,在具有STP協(xié)議的EPA網(wǎng)橋中引入網(wǎng)絡(luò)流量檢測功能。考慮到EPA網(wǎng)橋作為一種嵌入式設(shè)備,計算處理能力有限,為減少網(wǎng)橋資源開銷,所以在網(wǎng)橋中通過設(shè)置報文計數(shù)器來檢測流經(jīng)該網(wǎng)橋的網(wǎng)絡(luò)流量,并在運行該檢測程序前,我們通過一些經(jīng)驗判斷設(shè)定閾值,當(dāng)流經(jīng)此網(wǎng)橋流量(報文目的地址是非廣播報文)超過該閾值,便將阻塞端口打開,如果經(jīng)過一段時間流量又低于閾值,就重新回到阻塞端口狀態(tài)。因此,除根端口和選取端口外,其余端口是打開或阻塞是根據(jù)流量變化情況是否超過閾值而動態(tài)變化的。另外也可通過上位機組態(tài)軟件感知,適時做出打開阻塞端口的決定,達到提高網(wǎng)絡(luò)帶寬,平衡網(wǎng)絡(luò)負載,增強整個網(wǎng)絡(luò)實時性。
STP模塊[2]的功能劃分關(guān)系和流量檢測模塊如圖1所示。
圖1 STP模塊功能劃分
從功能上而言,STP模塊劃分為STP主模塊、定時器模塊和管理接口模塊。STP主模塊完成STP算法和協(xié)議的所有操作。定時器模塊為算法的正常運行提供定時服務(wù),結(jié)構(gòu)比較簡單。STP管理接口模塊減少STP與管理子系統(tǒng)的耦合,增強模塊可移植性,對外提供一個透明、操作簡單的接口。流量檢測模塊工作在數(shù)據(jù)鏈路層或網(wǎng)絡(luò)層,通過設(shè)置一個報文計數(shù)器來計數(shù)目的地址是非廣播的報文數(shù)量,起到檢測流經(jīng)該網(wǎng)橋網(wǎng)絡(luò)流量的作用。
根橋的選擇。首先都假定自己為EPA根橋;然后廣播配置BPDU報文。此時報文中的Root Identifier與Bridge Identifier相同;當(dāng)收到另一EPA網(wǎng)橋的配置BPDU報文時,比較報文中的Root Identifier,若值大,則丟棄;否則,更新自身各參數(shù)值,并以新值繼續(xù)向選取端口廣播配置BPDU。
根端口的選擇:EPA網(wǎng)橋根路徑花費值最低、優(yōu)先級最高、端口號最小的原則選擇根端口。
決定LAN的選取EPA網(wǎng)橋:同一LAN中,開始所有EPA網(wǎng)橋都認為自己是選取EPA網(wǎng)橋;然后按根路徑花費最小、優(yōu)先級最高的原則決定選取EPA網(wǎng)橋。只有選取EPA網(wǎng)橋可以接收和轉(zhuǎn)發(fā)幀,其它EPA網(wǎng)橋端口設(shè)為阻塞狀態(tài)。
決定選取端口:選取EPA網(wǎng)橋與該LAN相連的端口為選取端口。若多個端口與LAN相連則取最低標(biāo)識的端口。
除根端口和選取端口外,其它端口將置為阻塞狀態(tài)。在決定根EPA網(wǎng)橋、EPA網(wǎng)橋根端口、以及LAN的選取EPA網(wǎng)橋和選取端口后,STP的拓撲結(jié)構(gòu)也就決定了。
當(dāng)EPA網(wǎng)橋檢測到網(wǎng)絡(luò)拓撲結(jié)構(gòu)發(fā)生變化時,它會發(fā)送拓撲變化BPDU,根網(wǎng)橋收到此報文后會發(fā)送配置BPDU。所有EPA網(wǎng)橋都將收到配置BPDU報文并且老化自己過濾數(shù)據(jù)庫中的地址。然后網(wǎng)絡(luò)按前述步驟重新確定網(wǎng)絡(luò)拓撲結(jié)構(gòu)。這一過程中EPA網(wǎng)橋中的流量檢測功能也會發(fā)揮應(yīng)有的作用提高網(wǎng)絡(luò)的實時性。
在實驗室測試平臺上搭建如圖2所示故障容錯測試。通過人為制造網(wǎng)絡(luò)故障并分析EPA網(wǎng)橋的響應(yīng)時間來檢驗EPA網(wǎng)橋的故障容錯能力。結(jié)構(gòu)中兩個網(wǎng)段(網(wǎng)段1和2)通過兩個EPA網(wǎng)橋連接,網(wǎng)段1的計算機通過EPA網(wǎng)橋與網(wǎng)段2的EPA設(shè)備通信。EPA網(wǎng)橋A有最低的標(biāo)識符,被選為根橋。端口A1是網(wǎng)段1的選取端口,端口A2是網(wǎng)段2的選取端口。EPA網(wǎng)橋B的端口B1被阻塞,端口B2為根端口。
圖2 故障容錯測試系統(tǒng)
除此之外,通過在具有STP協(xié)議功能的EPA網(wǎng)橋中引入流量檢測模塊,根據(jù)非廣播報文流量是否超過預(yù)設(shè)流量閾值,適時地打開或阻塞網(wǎng)橋端口。
開啟EPA網(wǎng)橋中STP模塊功能,通過PC機察看抓取的網(wǎng)絡(luò)中的數(shù)據(jù)報文,網(wǎng)絡(luò)正常穩(wěn)定運行。經(jīng)過一段時間后,關(guān)閉EPA網(wǎng)橋中的STP模塊的功能,繼續(xù)觀察抓取的網(wǎng)絡(luò)中的數(shù)據(jù)報文情況[3],可以很明顯發(fā)現(xiàn)網(wǎng)絡(luò)中數(shù)據(jù)包流量明顯不斷增大,最終導(dǎo)致網(wǎng)絡(luò)風(fēng)暴,嚴(yán)重影響正常通信。
根據(jù)設(shè)備上線工作后EPA網(wǎng)橋端口B1接收發(fā)送UDP報文的情況,測出設(shè)備發(fā)送與EPA網(wǎng)橋轉(zhuǎn)發(fā)UDP報文時間相差約2s,報文采用廣播發(fā)送方式。兩個EPA網(wǎng)橋于網(wǎng)絡(luò)鏈路中同時工作時,根據(jù)BPDU報文來選用不同端口(如端口A1與端口B1)。當(dāng)端口A1發(fā)生異常情況后,抓包可以容易看出,備份鏈路端口B1立即開始工作,切換時間平均約6s優(yōu)于IEEE802.1D的故障探測到網(wǎng)絡(luò)收斂的時間(大于30s)。
此外,通過人為模擬發(fā)送大量測試報文用以測試EPA網(wǎng)橋工作狀態(tài)和網(wǎng)絡(luò)實時性,實驗發(fā)現(xiàn)閾值的選取至關(guān)重要。如果閾值選取得當(dāng)則能顯著提高網(wǎng)絡(luò)帶寬、增強實時性;反之,效果不明顯。這也是接下來需要做的進一步研究。
本文介紹將網(wǎng)絡(luò)流量檢測和STP協(xié)議應(yīng)用于EPA網(wǎng)橋構(gòu)建和利用冗余鏈路的方法,解決實際工業(yè)控制網(wǎng)絡(luò)中“網(wǎng)絡(luò)風(fēng)暴”、實時性和網(wǎng)絡(luò)收斂速度慢的問題,并對具體實現(xiàn)進行測試,測試結(jié)果表明基本滿足工業(yè)要求。
[1]向敏,徐洋,楊震斌,張曉輝.基于EPA技術(shù)的網(wǎng)橋設(shè)計[J].工業(yè)控制計算機,2006,19(12):1-2.
[2]呂俏,劉啟文,石冰心.STP協(xié)議原理的算法與實現(xiàn)[J].華中理工大學(xué)學(xué)報,2008,28(1):65-67.
[3]劉洪霞,趙保華.基于協(xié)議實現(xiàn)的網(wǎng)絡(luò)安全測試[J].小型微型計算機系統(tǒng),2007,28(4):619-621.
Support traffic measurement EPA Bridges STP research and implementation
LIU Jie1, WU Gui-lu1, ZHOU Tao1, HUANG Shu-dong1, TU Pu2
針對EPA實時以太網(wǎng)在現(xiàn)場環(huán)網(wǎng)結(jié)構(gòu)下易存在網(wǎng)絡(luò)風(fēng)暴和網(wǎng)絡(luò)收斂速度慢而導(dǎo)致占用網(wǎng)絡(luò)帶寬并影響網(wǎng)絡(luò)實時性等弊端,文章研究EPA網(wǎng)橋,設(shè)計實現(xiàn)了STP協(xié)議軟件模塊,以解決EPA環(huán)網(wǎng)引起的網(wǎng)絡(luò)風(fēng)暴問題,改善網(wǎng)絡(luò)收斂時間并增加流量檢測模塊,根據(jù)網(wǎng)絡(luò)流量適時打開網(wǎng)橋阻塞端口,提高網(wǎng)絡(luò)帶寬和增強網(wǎng)絡(luò)實時性。通過搭建實驗平臺對支持流量檢測EPA網(wǎng)橋STP協(xié)議進行測試分析,結(jié)果表明所提方法能夠縮短EPA網(wǎng)絡(luò)收斂為“樹形”的時間并且可以基本滿足工業(yè)以太網(wǎng)絡(luò)中實時可靠性要求。
EPA網(wǎng)橋;流量檢測;STP;實時性
劉杰(1985 -),男,碩士生,研究方向為工業(yè)控制網(wǎng)絡(luò)。
TP393.1
A
1009-0134(2011)4(上)-0051-03
10.3969/j.issn.1009-0134.2011.4(上).17
2010-09-10