專利名稱:一種以太網(wǎng)風(fēng)暴抑制方法
技術(shù)領(lǐng)域:
一種以太網(wǎng)風(fēng)暴抑制方法,屬于以太網(wǎng)通信和電カ自動(dòng)化領(lǐng)域,用來抑制網(wǎng)絡(luò)中以重復(fù)發(fā)送為特征的網(wǎng)絡(luò)風(fēng)暴,適用于處理器處理能力弱的嵌入式智能通信終端設(shè)備。
ニ背景技術(shù):
隨著我國電カエ業(yè)的發(fā)展,越來越多的智能變電站的開エ建設(shè)和建成投運(yùn),由于智能變電站采用基于以太網(wǎng)的IEC61850的通信協(xié)議體系[14],變電站中大量的具有實(shí)時(shí)通信要求的智能通信終端設(shè)備被賦予網(wǎng)絡(luò)功能,使得變電站安全可靠運(yùn)行高度依賴網(wǎng)絡(luò)通信。而這些智能通信終端設(shè)備通常采用中低端嵌入式處理器,處理能力不足以和商用計(jì)算機(jī)系統(tǒng)相比。如果聯(lián)網(wǎng)的設(shè)備硬件設(shè)備損壞或個(gè)別設(shè)備軟件出問題,導(dǎo)致網(wǎng)絡(luò)流量突然增加甚至到風(fēng)暴級(jí),這將嚴(yán)重降低保護(hù)設(shè)備實(shí)時(shí)計(jì)算和通信性能,從而影響供電安全m[8]。關(guān)于抑制網(wǎng)絡(luò)風(fēng)暴提升網(wǎng)絡(luò)性能這個(gè)主題,國內(nèi)外組織對此展開了廣泛的研究,但研究方向主要針對交換機(jī)和網(wǎng)橋等,通過劃分VLAN隔離廣播域或利用交換機(jī)將越流量限的報(bào)文丟棄等技術(shù)減少網(wǎng)絡(luò)上總流量。而變電站無論在物理上還是網(wǎng)絡(luò)上都是ー個(gè)封閉系統(tǒng),在智能變電站規(guī)范中多采用組播替代廣播M[15][16][4],只有很少廣播幀對智能通信終端有用,且變電站中智能通信終端都使用嵌入式系統(tǒng)或?qū)S孟到y(tǒng),感染外部病毒的概率非常低。引發(fā)網(wǎng)絡(luò)風(fēng)暴的原因主要為網(wǎng)絡(luò)接ロ損壞或接ロ軟件缺陷,表現(xiàn)為短期內(nèi)大量的重復(fù)發(fā)送的數(shù)據(jù)包。根據(jù)這ー特點(diǎn),本發(fā)明提出一種針對智能通信終端的風(fēng)暴抑制方法,通過抑制短期內(nèi)重復(fù)發(fā)送的數(shù)據(jù)報(bào)并配合流量檢測,來限制網(wǎng)絡(luò)流量,又盡可能保留正常業(yè)務(wù)報(bào)文,很好地保證智能終端的穩(wěn)定運(yùn)行。目前在抑制網(wǎng)絡(luò)風(fēng)暴,保證智能通信終端安全運(yùn)行的努力主要體現(xiàn)在以下幾個(gè)方面:1.劃分VLAN抑制風(fēng)暴傳輸[5]通過VLAN劃分從邏輯上隔離不同網(wǎng)段,同時(shí)隔離出不同的廣播域,這樣就限制了廣播在網(wǎng)內(nèi)的傳播,縮減了可能收到的無用廣播的數(shù)量。由于不影響同一個(gè)VLAN中的設(shè)備交換信息,所以可以配置三層設(shè)備,縮小廣播域,盡可能的減少廣播風(fēng)暴,提高網(wǎng)絡(luò)訪問效率。2.基于STP協(xié)議和環(huán)路檢測的抑制技術(shù)[11]這種方法在同一以太網(wǎng)設(shè)備中,依生成樹運(yùn)行環(huán)境劃分邏輯網(wǎng)橋,為每ー棵生成樹運(yùn)行環(huán)境劃分ー個(gè)邏輯網(wǎng)橋,將需要隔離的端ロ分別劃歸所述邏輯網(wǎng)橋使需要隔離的端ロ分屬于不同的邏輯網(wǎng)橋,并標(biāo)識(shí)該網(wǎng)橋,根據(jù)各以太網(wǎng)設(shè)備及其端ロ的邏輯網(wǎng)橋標(biāo)識(shí)運(yùn)行有關(guān)生成樹協(xié)議生成拓?fù)鋸亩鴮?shí)現(xiàn)在含有多個(gè)網(wǎng)段的以太網(wǎng)中通過生成樹協(xié)議抑制廣
播風(fēng)暴。3.流量壓制技術(shù)通過一段時(shí)間和對比測量帶有預(yù)先設(shè)定的壓制級(jí)別門限值的方法來管理網(wǎng)絡(luò)端ロ,如果流量類型的門限值達(dá)到了,更多這種類型的流量就會(huì)受到壓制(簡單丟棄),直到進(jìn)棧流量下降到門限值級(jí)別以下。交換機(jī)支持単獨(dú)的風(fēng)暴控制門限給廣播組播和單播。4.軟件查詢過濾法[6]系統(tǒng)設(shè)計(jì)中配置多個(gè)CPU,業(yè)務(wù)數(shù)據(jù)由ー個(gè)核完成,以太網(wǎng)通信由另ー個(gè)內(nèi)核完成。負(fù)責(zé)通信的內(nèi)核通過輪詢方式的驅(qū)動(dòng)網(wǎng)絡(luò)接ロ設(shè)備,同時(shí)限制接收緩沖的個(gè)數(shù)來限制過多的數(shù)據(jù)包進(jìn)入負(fù)責(zé)業(yè)務(wù)的CPU.
5.動(dòng)態(tài)關(guān)閉硬件接收法[9]以接收緩沖長度的一半作為風(fēng)暴判定門限,當(dāng)接收緩沖區(qū)中數(shù)據(jù)積壓到達(dá)該門限時(shí)認(rèn)為風(fēng)暴發(fā)生并關(guān)閉網(wǎng)卡的廣播接收功能。同時(shí)在空閑任務(wù)中判斷風(fēng)暴持續(xù)狀態(tài),并在風(fēng)暴過后延時(shí)重新開啟網(wǎng)卡硬件廣播接收功能。以上幾種方法中,方法1、方法2和方法3主要針對交換機(jī)和網(wǎng)橋等網(wǎng)絡(luò)設(shè)備,旨在減少網(wǎng)絡(luò)中風(fēng)暴數(shù)據(jù),方法3還會(huì)導(dǎo)致正常業(yè)務(wù)報(bào)文被丟棄,方法4需要在系統(tǒng)中配置多個(gè)CPU系統(tǒng)比較復(fù)雜,方法5需要占用CPU —定的開銷而且需要MAC支持動(dòng)態(tài)關(guān)閉廣播接收功能[17] [18],對其他的數(shù)據(jù)幀則沒有抑制作用。參考文獻(xiàn)1.劉金彪局域網(wǎng)中如何從硬件抑制廣播風(fēng)暴之我見實(shí)驗(yàn)室科學(xué)2005年6月第3期2.李一雄網(wǎng)絡(luò)廣播風(fēng)暴產(chǎn)生的原因與應(yīng)對策略廣西工學(xué)院學(xué)報(bào)2007年6月增刊
I3.肖宏亮局域網(wǎng)廣播風(fēng)暴成因及處理湖南農(nóng)機(jī)2011年3月4.牟寶璐王興成エ業(yè)控制系統(tǒng)應(yīng)用組播技術(shù)抑制廣播風(fēng)暴測控技術(shù)2009年第8期5.曹月璐局域網(wǎng)廣播風(fēng)暴分析與VLAN技術(shù)的應(yīng)用電腦知識(shí)與技術(shù)2009年12月6.朱來強(qiáng),陳新之,高志勇數(shù)字化變電站中廣播風(fēng)暴的防治電カ自動(dòng)化設(shè)備2010年11月7.朱子坤電カ監(jiān)控系統(tǒng)中不容忽視的網(wǎng)絡(luò)風(fēng)暴紅水河2007年第4期8.曾瑞江梁曉兵高新華變電站自動(dòng)化系統(tǒng)網(wǎng)絡(luò)故障分析2008年I月廣東電力9.王小玲易發(fā)勝ー種智能終端中避免廣播風(fēng)暴自適應(yīng)算法西南民族大學(xué)學(xué)報(bào)2005年9月10.游波牟榮增閻躍鵬ー種IEEE802.1Is樹型網(wǎng)絡(luò)的PREQ廣播風(fēng)暴抑制方案計(jì)算機(jī)應(yīng)用研究2012年8月11.鄭平楊洋ー種以太網(wǎng)中抑制廣播風(fēng)暴的實(shí)現(xiàn)方法專利號(hào)CN03101275.2華為技術(shù)有限公司14.國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)智能變電站繼電保護(hù)技術(shù)規(guī)范Q/GDW441-201015.中華人民共和國電カ行業(yè)標(biāo)準(zhǔn)合并單元技術(shù)條件DL / T282-20122012-03-01實(shí)施16.1EC61850-9-2: Communication networks and systems in suostationsPart9~2:Specific Communication Service Mapping (SCSM) Sampled values over ISO/IEC8802-31ink
17.LAN91C11110/100Non-PCI Ethernet single chip MAC+PHY SMSC standardMicrosystems corporation Revl.4(12-12-03)18.MCF54455Reference Manual Freescale Semiconductor Rev.54/2009
發(fā)明內(nèi)容
本發(fā)明的目的是提出ー種因重復(fù)發(fā)送而造成網(wǎng)絡(luò)流量劇增的以太網(wǎng)風(fēng)暴抑制方法。本發(fā)明是通過這樣的方案實(shí)現(xiàn)的,一種以太網(wǎng)風(fēng)暴抑制方法,步驟如下:(I)首先構(gòu)建ー個(gè)由MAC地址識(shí)別器、接收成幀器、流量計(jì)算、報(bào)文過濾器、散列表和接收判決器及MCU接ロ組成的MAC接收部件,其中散列表的表項(xiàng)應(yīng)包含報(bào)文特征碼和報(bào)文生成時(shí)間;(2)計(jì)算正常應(yīng)用業(yè)務(wù)數(shù)據(jù)的峰值流量,在此基礎(chǔ)上設(shè)定啟動(dòng)風(fēng)暴壓制的流量限值;(3)統(tǒng)計(jì)通過MAC地址識(shí)別器后進(jìn)入MAC接收部件的數(shù)據(jù)包帶內(nèi)流量,若帶內(nèi)流量越限則轉(zhuǎn)步驟4檢查接收報(bào)文,若帶內(nèi)流量在限值以內(nèi)則轉(zhuǎn)步驟⑶直接接收該數(shù)據(jù)包;(4)通過接收成幀器提取接收報(bào)文的幀校驗(yàn)碼(FCS),并依此作為該報(bào)文的特征碼;(5)以幀校驗(yàn)碼FCS作為散列函數(shù)輸入,計(jì)算散列表索引并以此查找對應(yīng)散列表項(xiàng);(6)若對應(yīng)散列表項(xiàng)的FCS與當(dāng)前FCS —致且生存時(shí)間不為0則丟棄該數(shù)據(jù)包同時(shí)將該表項(xiàng)的生存時(shí)間減I (當(dāng)生存時(shí)間為0時(shí)將FCS同時(shí)置0),轉(zhuǎn)步驟(9)等待新的數(shù)據(jù)報(bào);(7)若對應(yīng)表項(xiàng)FCS與當(dāng)前FCS不一致,將表項(xiàng)的FCS字段設(shè)為當(dāng)前FCS,同時(shí)將生存時(shí)間字段置為最大值;(S)MAC接收部件修改接收緩沖區(qū)指針及接收狀態(tài)標(biāo)記確認(rèn)接收當(dāng)前數(shù)據(jù)包;(9)等待下一個(gè)數(shù)據(jù)包到達(dá)并轉(zhuǎn)步驟(3);通過不斷地重復(fù)步驟(3)到(8)實(shí)現(xiàn)重復(fù)數(shù)據(jù)報(bào)過濾,降低網(wǎng)絡(luò)風(fēng)暴對后端CPU的影響。進(jìn)ー步的,本發(fā)明報(bào)文過濾用的散列查找表的每ー項(xiàng)都包含報(bào)文特征碼和生存時(shí)間字段,實(shí)現(xiàn)時(shí)以報(bào)文校驗(yàn)碼(FCS)作為報(bào)文特征碼,同時(shí)利用FCS計(jì)算散列表的索引并快速查找散列表的對應(yīng)項(xiàng)。散列查找表的替換策略為:當(dāng)新收到的數(shù)據(jù)報(bào)的散列值與表中某ー項(xiàng)相同時(shí)將該項(xiàng)的生存時(shí)間字段減1,不一致時(shí)使用新的FCS替換該表項(xiàng)的特征碼字段并重置生存時(shí)間字段為最大值;報(bào)文過濾策略在流量越限后啟動(dòng),當(dāng)新到達(dá)的報(bào)文FCS與散列表中某一項(xiàng)的報(bào)文特征碼字段相同且對應(yīng)表項(xiàng)的生存時(shí)間不為0時(shí)該報(bào)文被丟棄。本發(fā)明的有益效果是:1.基于報(bào)文特征的無損過濾,被丟棄的是最近一段時(shí)間的重復(fù)發(fā)送的數(shù)據(jù)報(bào);5.基于幀校驗(yàn)(FCS)構(gòu)建動(dòng)態(tài)散列表,查找和過濾迅速、資源開銷小,便于硬件實(shí)現(xiàn);3.每個(gè)特征表項(xiàng)具有一定的老化時(shí)間,避免濾除正常的業(yè)務(wù)數(shù)據(jù);
4.報(bào)文抑制比通過修改報(bào)文生存時(shí)間字段的最大值可以靈活控制;5.可以同時(shí)監(jiān)視并過濾多條不同的重復(fù)報(bào)文;6.報(bào)文過濾由流量檢測單元啟動(dòng),低流量時(shí)接收所有報(bào)文,正常業(yè)務(wù)流量不受影響。本發(fā)明通過提取網(wǎng)絡(luò)報(bào)文的幀校驗(yàn)碼FCS,并以此作為報(bào)文特征和計(jì)算散列表索引的依據(jù)。當(dāng)網(wǎng)絡(luò)帶內(nèi)流量達(dá)到預(yù)設(shè)門檻后啟動(dòng)報(bào)文過濾機(jī)制,將報(bào)文FCS與散列表中特征碼字段一致且生存時(shí)間不為0的重復(fù)報(bào)文丟棄,通過不斷地重復(fù)數(shù)據(jù)報(bào)過濾,降低網(wǎng)絡(luò)風(fēng)暴對后端CPU的影響即降低應(yīng)用處理器的壓カ和壓制網(wǎng)絡(luò)風(fēng)暴的目的。
四
圖1是本發(fā)明純軟件實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)2是本發(fā)明純硬件實(shí)現(xiàn)系統(tǒng)結(jié)構(gòu)3是本發(fā)明狀態(tài)變遷圖
五、具體實(shí)現(xiàn)方式本發(fā)明給出的以太網(wǎng)風(fēng)暴抑制方法可整合到MAC基于純硬件實(shí)現(xiàn),也可以是基于ASIC網(wǎng)絡(luò)控制器用純軟件實(shí)現(xiàn),以下給出本發(fā)明硬件實(shí)現(xiàn)方法,純軟件實(shí)現(xiàn)方法和硬件方法差異僅在于地址識(shí)別和接收成幀由ASIC處理而己。1.系統(tǒng)實(shí)現(xiàn)框圖附圖2給出本發(fā)明的硬件實(shí)現(xiàn)框圖,由地址識(shí)別邏輯、接收成幀器、流量計(jì)算單元、報(bào)文過濾器、散列表和接收判決器及MCU接ロ組成。其中地址識(shí)別邏輯根據(jù)MCU配置的地址識(shí)別策略對接收到的以太網(wǎng)幀進(jìn)行甄別,符合接收條件的幀進(jìn)入成幀器和流量計(jì)算單元,不符合條件的直接丟棄。流量計(jì)算單元負(fù)責(zé)帶內(nèi)流量的計(jì)算,而成幀器將完成MII接ロ的數(shù)據(jù)成幀和校驗(yàn)碼(FCS)的計(jì)算及判決。報(bào)文過濾器根據(jù)FCS計(jì)算散列表索引并動(dòng)態(tài)維護(hù)散列表,當(dāng)帶內(nèi)流量超過預(yù)設(shè)門檻后,凡是接收報(bào)文FCS與散列表FCS—致的重復(fù)報(bào)文將被標(biāo)記。接收判決器綜合地址識(shí)別邏輯輸出(RXEN)、成幀器輸出(FCS_0K)、報(bào)文過濾器的輸出(FEN)給出接收使能信號(hào)(RCV_EN),任一條件不滿足都將直接丟棄該幀。2.流量檢測單元本發(fā)明的報(bào)文過濾機(jī)制是在帶內(nèi)流量越限以后啟動(dòng),從而避免對正常業(yè)務(wù)流量的影響。流量檢測單元只統(tǒng)計(jì)帶內(nèi)流量,即通過地址識(shí)別的數(shù)據(jù)幀。流量檢測單元包含ー個(gè)幀計(jì)數(shù)器Q和ー個(gè)累加計(jì)數(shù)器S,在MII接ロ的接收數(shù)據(jù)有效信號(hào)(RXDV)的上升沿清除計(jì)數(shù)器Q,檢測到幀起始符(SFD)之后在接收時(shí)鐘(RXCLK)驅(qū)動(dòng)下開始計(jì)數(shù),RXDV的下降沿到達(dá)時(shí)停止計(jì)數(shù)并將,若該幀通過地址識(shí)別則Q累加到總計(jì)數(shù)器S上。通過一段時(shí)間AT觀測后,利用下式方法計(jì)算出當(dāng)前實(shí)時(shí)流量。當(dāng)啟動(dòng)下一次觀測時(shí),清除總計(jì)數(shù)器S。
權(quán)利要求
1.種以太網(wǎng)風(fēng)暴抑制方法,其特征是步驟如下: (1)首先構(gòu)建ー個(gè)由MAC地址識(shí)別器、接收成幀器、流量計(jì)算、報(bào)文過濾器、散列表和接收判決器及MCU接ロ組成的MAC接收部件,其中散列表的表項(xiàng)應(yīng)包含報(bào)文特征碼和報(bào)文生成時(shí)間; (2)計(jì)算正常應(yīng)用業(yè)務(wù)數(shù)據(jù)的峰值流量,在此基礎(chǔ)上設(shè)定啟動(dòng)風(fēng)暴壓制的流量限值; (3)統(tǒng)計(jì)通過MAC地址識(shí)別器后進(jìn)入MAC接收部件的數(shù)據(jù)包帶內(nèi)流量,若帶內(nèi)流量越限貝U轉(zhuǎn)步驟4檢查接收報(bào)文,若帶內(nèi)流量在限值以內(nèi)則轉(zhuǎn)步驟⑶直接接收該數(shù)據(jù)包; (4)通過接收成幀器提取接收報(bào)文的幀校驗(yàn)碼(FCS),并依此作為該報(bào)文的特征碼; (5)以幀校驗(yàn)碼FCS作為散列函數(shù)輸入,計(jì)算散列表索引并以此查找對應(yīng)散列表項(xiàng); (6)若對應(yīng)散列表項(xiàng)的FCS與當(dāng)前FCS—致且生存時(shí)間不為O則丟棄該數(shù)據(jù)包同時(shí)將該表項(xiàng)的生存時(shí)間減I (當(dāng)生存時(shí)間為O時(shí)將FCS同時(shí)置0),轉(zhuǎn)步驟(9)等待新的數(shù)據(jù)報(bào); (7)若對應(yīng)表項(xiàng)FCS與當(dāng)前FCS不一致,將表項(xiàng)的FCS字段設(shè)為當(dāng)前FCS,同時(shí)將生存時(shí)間字段置為最大值; (8)MAC接收部件修改接收緩沖區(qū)指針及接收狀態(tài)標(biāo)記確認(rèn)接收當(dāng)前數(shù)據(jù)包; (9)等待下一個(gè)數(shù)據(jù)包到達(dá)并轉(zhuǎn)步驟(3); 通過不斷地重復(fù)步驟⑶到⑶實(shí)現(xiàn)重復(fù)數(shù)據(jù)報(bào)過濾,降低網(wǎng)絡(luò)風(fēng)暴對后端CPU的影響。
2.據(jù)權(quán)利要求1所述的以太網(wǎng)風(fēng)暴抑制方法,其特征是:報(bào)文過濾用的散列查找表的每ー項(xiàng)都包含報(bào)文特征碼和生存時(shí)間字段,生存時(shí)間為0時(shí)將清除對應(yīng)表項(xiàng)的報(bào)文特征碼字段。
3.據(jù)權(quán)利要求1所述的以太網(wǎng)風(fēng)暴抑制方法,其特征是:以MAC接收部件計(jì)算出的報(bào)文校驗(yàn)碼(FCS)作為報(bào)文特征碼,同時(shí)利用FCS計(jì)算散列表的索引并以此查找散列表的對應(yīng)項(xiàng)。
4.據(jù)權(quán)利要求1所述的以太網(wǎng)風(fēng)暴抑制方法,其特征是:報(bào)文過濾用的散列查找表的替換策略為,當(dāng)新收到的數(shù)據(jù)報(bào)的散列值與表中某ー項(xiàng)相同時(shí)將該項(xiàng)的生存時(shí)間字段減1,不一致時(shí)使用新的FCS替換該表項(xiàng)的特征碼字段并重置生存時(shí)間字段為最大值。
5.據(jù)權(quán)利要求1所述的以太網(wǎng)風(fēng)暴抑制方法,其特征是:報(bào)文過濾器在帶內(nèi)流量越限后啟動(dòng),當(dāng)新到達(dá)的報(bào)文FCS與散列表中某一項(xiàng)的報(bào)文特征碼字段相同且對應(yīng)表項(xiàng)的生存時(shí)間不為0時(shí)該報(bào)文被丟棄。
全文摘要
一種以太網(wǎng)風(fēng)暴抑制方法,首先構(gòu)建一個(gè)由MAC地址識(shí)別器、接收成幀器、流量計(jì)算、報(bào)文過濾器、散列表和接收判決器及MCU接口組成的MAC接收部件,其中散列表的表項(xiàng)應(yīng)包含報(bào)文特征碼和報(bào)文生成時(shí)間;計(jì)算正常應(yīng)用業(yè)務(wù)數(shù)據(jù)的峰值流量,在此基礎(chǔ)上設(shè)定啟動(dòng)風(fēng)暴壓制的流量限值;數(shù)據(jù)報(bào)過濾統(tǒng)計(jì)通過MAC地址識(shí)別器后進(jìn)入MAC接收部件的數(shù)據(jù)包帶內(nèi)流量,若帶內(nèi)流量越限則轉(zhuǎn)步驟4檢查接收報(bào)文,若帶內(nèi)流量在限值以內(nèi)則轉(zhuǎn)步驟(8)直接接收該數(shù)據(jù)包;通過不斷地重復(fù)數(shù)據(jù)報(bào)過濾,降低網(wǎng)絡(luò)風(fēng)暴對后端CPU的影響。
文檔編號(hào)H04L12/741GK103095603SQ20131005531
公開日2013年5月8日 申請日期2013年2月21日 優(yōu)先權(quán)日2013年2月21日
發(fā)明者龐吉耀 申請人:南京磐能電力科技股份有限公司