劉 杰,武貴路,周 濤,黃術(shù)東,凃 樸
(1. 重慶郵電大學(xué),重慶 400065;2. 四川文理學(xué)院,達(dá)州 635000)
支持流量檢測(cè)的EPA網(wǎng)橋STP協(xié)議研究與實(shí)現(xiàn)
劉 杰1,武貴路1,周 濤1,黃術(shù)東1,凃 樸2
(1. 重慶郵電大學(xué),重慶 400065;2. 四川文理學(xué)院,達(dá)州 635000)
基于STP協(xié)議的EPA網(wǎng)橋設(shè)備可通過減少EPA各網(wǎng)段競(jìng)爭(zhēng)與碰撞來改善網(wǎng)絡(luò)性能與安全性。當(dāng)網(wǎng)絡(luò)中EPA網(wǎng)橋相互通信時(shí),工作在網(wǎng)橋中的STP可以保證任意兩個(gè)LAN之間只有唯一路徑。EPA網(wǎng)橋中的STP協(xié)議生成“樹形”傳輸鏈路,EPA網(wǎng)橋中的其他鏈路將被阻塞,成為備份鏈路,有效的避免了網(wǎng)絡(luò)風(fēng)暴的發(fā)生。為了提高工業(yè)以太網(wǎng)的實(shí)時(shí)性,在EPA網(wǎng)橋中引入流量檢測(cè)模塊,起到提高網(wǎng)絡(luò)帶寬,增強(qiáng)網(wǎng)絡(luò)實(shí)時(shí)性等作用。
依據(jù)EPA標(biāo)準(zhǔn)采用的分層化網(wǎng)絡(luò)安全管理措施, EPA網(wǎng)橋[1]是實(shí)現(xiàn)EPA網(wǎng)絡(luò)內(nèi)各個(gè)微網(wǎng)段之間、現(xiàn)場(chǎng)設(shè)備層與過程監(jiān)控層之間及遠(yuǎn)程網(wǎng)絡(luò)間的互連設(shè)備。EPA網(wǎng)橋至少兩個(gè)EPA接口,可進(jìn)行冗余配置。EPA網(wǎng)橋是可組態(tài)設(shè)備,通過上位機(jī)根據(jù)不同EPA網(wǎng)橋ID來判斷設(shè)備屬于哪個(gè)EPA網(wǎng)橋及異常時(shí)的故障定位和隔離;同時(shí),通過組態(tài)EPA網(wǎng)橋?qū)邮盏綕M足特殊要求的EPA報(bào)文進(jìn)行過濾處理并轉(zhuǎn)發(fā),否則丟棄。
由于STP協(xié)議可減少網(wǎng)絡(luò)中各網(wǎng)段的競(jìng)爭(zhēng)與碰撞,因此在EPA網(wǎng)橋中加入STP模塊將改善網(wǎng)絡(luò)性能,降低遭受由環(huán)網(wǎng)所致的“網(wǎng)絡(luò)風(fēng)暴”或其他安全風(fēng)險(xiǎn)。EPA網(wǎng)絡(luò)是一種工業(yè)級(jí)且對(duì)實(shí)時(shí)性要求較高的以太網(wǎng),所以需要在消除“網(wǎng)絡(luò)風(fēng)暴”等影響的同時(shí)盡可能提高網(wǎng)絡(luò)帶寬增強(qiáng)網(wǎng)絡(luò)實(shí)時(shí)性。為此,在具有STP協(xié)議的EPA網(wǎng)橋中引入網(wǎng)絡(luò)流量檢測(cè)功能。考慮到EPA網(wǎng)橋作為一種嵌入式設(shè)備,計(jì)算處理能力有限,為減少網(wǎng)橋資源開銷,所以在網(wǎng)橋中通過設(shè)置報(bào)文計(jì)數(shù)器來檢測(cè)流經(jīng)該網(wǎng)橋的網(wǎng)絡(luò)流量,并在運(yùn)行該檢測(cè)程序前,我們通過一些經(jīng)驗(yàn)判斷設(shè)定閾值,當(dāng)流經(jīng)此網(wǎng)橋流量(報(bào)文目的地址是非廣播報(bào)文)超過該閾值,便將阻塞端口打開,如果經(jīng)過一段時(shí)間流量又低于閾值,就重新回到阻塞端口狀態(tài)。因此,除根端口和選取端口外,其余端口是打開或阻塞是根據(jù)流量變化情況是否超過閾值而動(dòng)態(tài)變化的。另外也可通過上位機(jī)組態(tài)軟件感知,適時(shí)做出打開阻塞端口的決定,達(dá)到提高網(wǎng)絡(luò)帶寬,平衡網(wǎng)絡(luò)負(fù)載,增強(qiáng)整個(gè)網(wǎng)絡(luò)實(shí)時(shí)性。
STP模塊[2]的功能劃分關(guān)系和流量檢測(cè)模塊如圖1所示。

圖1 STP模塊功能劃分
從功能上而言,STP模塊劃分為STP主模塊、定時(shí)器模塊和管理接口模塊。STP主模塊完成STP算法和協(xié)議的所有操作。定時(shí)器模塊為算法的正常運(yùn)行提供定時(shí)服務(wù),結(jié)構(gòu)比較簡(jiǎn)單。STP管理接口模塊減少STP與管理子系統(tǒng)的耦合,增強(qiáng)模塊可移植性,對(duì)外提供一個(gè)透明、操作簡(jiǎn)單的接口。流量檢測(cè)模塊工作在數(shù)據(jù)鏈路層或網(wǎng)絡(luò)層,通過設(shè)置一個(gè)報(bào)文計(jì)數(shù)器來計(jì)數(shù)目的地址是非廣播的報(bào)文數(shù)量,起到檢測(cè)流經(jīng)該網(wǎng)橋網(wǎng)絡(luò)流量的作用。
根橋的選擇。首先都假定自己為EPA根橋;然后廣播配置BPDU報(bào)文。此時(shí)報(bào)文中的Root Identifier與Bridge Identifier相同;當(dāng)收到另一EPA網(wǎng)橋的配置BPDU報(bào)文時(shí),比較報(bào)文中的Root Identifier,若值大,則丟棄;否則,更新自身各參數(shù)值,并以新值繼續(xù)向選取端口廣播配置BPDU。
根端口的選擇:EPA網(wǎng)橋根路徑花費(fèi)值最低、優(yōu)先級(jí)最高、端口號(hào)最小的原則選擇根端口。
決定LAN的選取EPA網(wǎng)橋:同一LAN中,開始所有EPA網(wǎng)橋都認(rèn)為自己是選取EPA網(wǎng)橋;然后按根路徑花費(fèi)最小、優(yōu)先級(jí)最高的原則決定選取EPA網(wǎng)橋。只有選取EPA網(wǎng)橋可以接收和轉(zhuǎn)發(fā)幀,其它EPA網(wǎng)橋端口設(shè)為阻塞狀態(tài)。
決定選取端口:選取EPA網(wǎng)橋與該LAN相連的端口為選取端口。若多個(gè)端口與LAN相連則取最低標(biāo)識(shí)的端口。
除根端口和選取端口外,其它端口將置為阻塞狀態(tài)。在決定根EPA網(wǎng)橋、EPA網(wǎng)橋根端口、以及LAN的選取EPA網(wǎng)橋和選取端口后,STP的拓?fù)浣Y(jié)構(gòu)也就決定了。
當(dāng)EPA網(wǎng)橋檢測(cè)到網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時(shí),它會(huì)發(fā)送拓?fù)渥兓疊PDU,根網(wǎng)橋收到此報(bào)文后會(huì)發(fā)送配置BPDU。所有EPA網(wǎng)橋都將收到配置BPDU報(bào)文并且老化自己過濾數(shù)據(jù)庫(kù)中的地址。然后網(wǎng)絡(luò)按前述步驟重新確定網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。這一過程中EPA網(wǎng)橋中的流量檢測(cè)功能也會(huì)發(fā)揮應(yīng)有的作用提高網(wǎng)絡(luò)的實(shí)時(shí)性。
在實(shí)驗(yàn)室測(cè)試平臺(tái)上搭建如圖2所示故障容錯(cuò)測(cè)試。通過人為制造網(wǎng)絡(luò)故障并分析EPA網(wǎng)橋的響應(yīng)時(shí)間來檢驗(yàn)EPA網(wǎng)橋的故障容錯(cuò)能力。結(jié)構(gòu)中兩個(gè)網(wǎng)段(網(wǎng)段1和2)通過兩個(gè)EPA網(wǎng)橋連接,網(wǎng)段1的計(jì)算機(jī)通過EPA網(wǎng)橋與網(wǎng)段2的EPA設(shè)備通信。EPA網(wǎng)橋A有最低的標(biāo)識(shí)符,被選為根橋。端口A1是網(wǎng)段1的選取端口,端口A2是網(wǎng)段2的選取端口。EPA網(wǎng)橋B的端口B1被阻塞,端口B2為根端口。

圖2 故障容錯(cuò)測(cè)試系統(tǒng)
除此之外,通過在具有STP協(xié)議功能的EPA網(wǎng)橋中引入流量檢測(cè)模塊,根據(jù)非廣播報(bào)文流量是否超過預(yù)設(shè)流量閾值,適時(shí)地打開或阻塞網(wǎng)橋端口。
開啟EPA網(wǎng)橋中STP模塊功能,通過PC機(jī)察看抓取的網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)文,網(wǎng)絡(luò)正常穩(wěn)定運(yùn)行。經(jīng)過一段時(shí)間后,關(guān)閉EPA網(wǎng)橋中的STP模塊的功能,繼續(xù)觀察抓取的網(wǎng)絡(luò)中的數(shù)據(jù)報(bào)文情況[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報(bào)文的情況,測(cè)出設(shè)備發(fā)送與EPA網(wǎng)橋轉(zhuǎn)發(fā)UDP報(bào)文時(shí)間相差約2s,報(bào)文采用廣播發(fā)送方式。兩個(gè)EPA網(wǎng)橋于網(wǎng)絡(luò)鏈路中同時(shí)工作時(shí),根據(jù)BPDU報(bào)文來選用不同端口(如端口A1與端口B1)。當(dāng)端口A1發(fā)生異常情況后,抓包可以容易看出,備份鏈路端口B1立即開始工作,切換時(shí)間平均約6s優(yōu)于IEEE802.1D的故障探測(cè)到網(wǎng)絡(luò)收斂的時(shí)間(大于30s)。
此外,通過人為模擬發(fā)送大量測(cè)試報(bào)文用以測(cè)試EPA網(wǎng)橋工作狀態(tài)和網(wǎng)絡(luò)實(shí)時(shí)性,實(shí)驗(yàn)發(fā)現(xiàn)閾值的選取至關(guān)重要。如果閾值選取得當(dāng)則能顯著提高網(wǎng)絡(luò)帶寬、增強(qiáng)實(shí)時(shí)性;反之,效果不明顯。這也是接下來需要做的進(jìn)一步研究。
本文介紹將網(wǎng)絡(luò)流量檢測(cè)和STP協(xié)議應(yīng)用于EPA網(wǎng)橋構(gòu)建和利用冗余鏈路的方法,解決實(shí)際工業(yè)控制網(wǎng)絡(luò)中“網(wǎng)絡(luò)風(fēng)暴”、實(shí)時(shí)性和網(wǎng)絡(luò)收斂速度慢的問題,并對(duì)具體實(shí)現(xiàn)進(jìn)行測(cè)試,測(cè)試結(jié)果表明基本滿足工業(yè)要求。
[1]向敏,徐洋,楊震斌,張曉輝.基于EPA技術(shù)的網(wǎng)橋設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2006,19(12):1-2.
[2]呂俏,劉啟文,石冰心.STP協(xié)議原理的算法與實(shí)現(xiàn)[J].華中理工大學(xué)學(xué)報(bào),2008,28(1):65-67.
[3]劉洪霞,趙保華.基于協(xié)議實(shí)現(xiàn)的網(wǎng)絡(luò)安全測(cè)試[J].小型微型計(jì)算機(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
針對(duì)EPA實(shí)時(shí)以太網(wǎng)在現(xiàn)場(chǎng)環(huán)網(wǎng)結(jié)構(gòu)下易存在網(wǎng)絡(luò)風(fēng)暴和網(wǎng)絡(luò)收斂速度慢而導(dǎo)致占用網(wǎng)絡(luò)帶寬并影響網(wǎng)絡(luò)實(shí)時(shí)性等弊端,文章研究EPA網(wǎng)橋,設(shè)計(jì)實(shí)現(xiàn)了STP協(xié)議軟件模塊,以解決EPA環(huán)網(wǎng)引起的網(wǎng)絡(luò)風(fēng)暴問題,改善網(wǎng)絡(luò)收斂時(shí)間并增加流量檢測(cè)模塊,根據(jù)網(wǎng)絡(luò)流量適時(shí)打開網(wǎng)橋阻塞端口,提高網(wǎng)絡(luò)帶寬和增強(qiáng)網(wǎng)絡(luò)實(shí)時(shí)性。通過搭建實(shí)驗(yàn)平臺(tái)對(duì)支持流量檢測(cè)EPA網(wǎng)橋STP協(xié)議進(jìn)行測(cè)試分析,結(jié)果表明所提方法能夠縮短EPA網(wǎng)絡(luò)收斂為“樹形”的時(shí)間并且可以基本滿足工業(yè)以太網(wǎng)絡(luò)中實(shí)時(shí)可靠性要求。
EPA網(wǎng)橋;流量檢測(cè);STP;實(shí)時(shí)性
劉杰(1985 -),男,碩士生,研究方向?yàn)楣I(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