本發(fā)明涉及通信領(lǐng)域,尤其涉及一種防止多次刷新轉(zhuǎn)發(fā)表的方法及系統(tǒng)。
背景技術(shù):
目前支持的包括封閉的環(huán)路和開放的環(huán)路的以太環(huán)網(wǎng)保護技術(shù)中,都是通過以太保護技術(shù)實現(xiàn)當(dāng)環(huán)沒有故障時,堵塞其中一個端口。
當(dāng)環(huán)發(fā)生第一處故障后,原堵塞端口收到故障通告后將端口放開進入轉(zhuǎn)發(fā)狀態(tài),進入轉(zhuǎn)發(fā)狀態(tài)后網(wǎng)絡(luò)拓?fù)浒l(fā)生變化,需要發(fā)送報文通知環(huán)上所有節(jié)點進行二層發(fā)表刷新。即在發(fā)生第一處故障或最后一處故障恢復(fù)后,環(huán)網(wǎng)可能發(fā)生拓?fù)渥兓?,進行環(huán)上節(jié)點的二層轉(zhuǎn)發(fā)表刷新;對于多級環(huán)網(wǎng),還需要向上級網(wǎng)絡(luò)進行二層轉(zhuǎn)發(fā)表刷新的擴散,即上級網(wǎng)絡(luò)也需要進行二級轉(zhuǎn)發(fā)表的刷新。
對于多級網(wǎng)絡(luò),如果下級環(huán)發(fā)生拓?fù)渥兓?,進入轉(zhuǎn)發(fā)狀態(tài)的端口所在設(shè)備將發(fā)送flush_fdb報文通知環(huán)上節(jié)點進行二層轉(zhuǎn)發(fā)表刷新;同時下級環(huán)的刷新報文擴散到上級環(huán),這樣上級環(huán)的節(jié)點都將收到多份刷新報文,導(dǎo)致多次二層轉(zhuǎn)發(fā)表的刷新。如圖1所示,現(xiàn)有技術(shù)中一種刷新轉(zhuǎn)發(fā)表的方法為:
101、轉(zhuǎn)發(fā)表刷新報文;
當(dāng)下級環(huán)發(fā)生拓?fù)渥兓螅D(zhuǎn)發(fā)表刷新報文至環(huán)中的每個節(jié)點以進行轉(zhuǎn)發(fā)表刷新。
102、擴散該轉(zhuǎn)發(fā)表刷新報文;
邊界節(jié)點向上級環(huán)擴散該轉(zhuǎn)發(fā)表刷新報文。
103、刷新。
根據(jù)接收到的刷新報文進行刷新。
當(dāng)邊界節(jié)點為2個或2個以上時,如果下級網(wǎng)絡(luò)拓?fù)渥兓?,將?dǎo)致上級網(wǎng)絡(luò)的設(shè)備存在大量不必要的二層轉(zhuǎn)發(fā)表刷新問題,增加了網(wǎng)絡(luò)設(shè)備的報文處理開銷以及轉(zhuǎn)發(fā)表刷新開銷,降低了網(wǎng)絡(luò)性能。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種防止多次刷新轉(zhuǎn)發(fā)表的方法及系統(tǒng)。
一種防止多次刷新轉(zhuǎn)發(fā)表的方法,包括:
轉(zhuǎn)發(fā)表刷新報文或具有刷新功能的報文,所述報文中攜帶報文產(chǎn)生的事件源信息;擴散收到的刷新報文時需要繼續(xù)攜帶所述源信息;判斷收到的刷新報文的事件源信息與之前刷新記錄的事件源信息是否相同,若相同,則不再刷新,若不相同,則刷新。
一種防止多次刷新轉(zhuǎn)發(fā)表的系統(tǒng),包括:
轉(zhuǎn)發(fā)單元,用于轉(zhuǎn)發(fā)表刷新報文或具有刷新功能的報文,所述報文中攜帶報文產(chǎn)生的事件源信息;擴散單元,用于擴散收到的刷新報文,擴散時需要繼續(xù)攜帶所述的源信息;刷新單元,用于判斷收到的刷新報文的事件源信息與之前刷新記錄的事件源信息是否相同,若相同,則不再刷新,若不相同,則刷新。
從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
通過在刷新報文中攜帶事件源,可以判斷出新接收到的刷新報文攜帶的事件源信息與記錄中的事件源信息是否相同,若相同,則不再刷新,從而有效抑制不必要的多次刷新。
附圖說明
圖1為現(xiàn)有技術(shù)刷新轉(zhuǎn)發(fā)表的方法示意圖;
圖2為本實施例中防止多次刷新轉(zhuǎn)發(fā)表方法一個實施例示意圖;
圖3為本實施例中防止多次刷新轉(zhuǎn)發(fā)表方法另一個實施例示意圖;
圖4為本實施例中防止多次刷新轉(zhuǎn)發(fā)表系統(tǒng)的一個實施例示意圖。
具體實施方式
本發(fā)明實施例提供了一種防止多次刷新轉(zhuǎn)發(fā)表的方法和系統(tǒng),用于抑制不必要的多次刷新。
當(dāng)節(jié)點發(fā)生拓?fù)渥兓?,發(fā)送的刷新報文中需要攜帶發(fā)生觸發(fā)二層轉(zhuǎn)發(fā)表刷新的觸發(fā)原因信息,原因信息的一個可選方案為當(dāng)前節(jié)點的mac、端口索引和事件源信息等。
環(huán)上節(jié)點在收到刷新報文后,進行二層轉(zhuǎn)發(fā)表刷新,同時記錄本次刷新的事件源信息,判斷再次收到的刷新報文,如果再次收到的刷新報文中攜帶的事件源與保存的最近一次刷新事件源信息相同,則不再進行刷新,從而保證相同的刷新報文只執(zhí)行一次,抑制了不必要的多次刷新。
下面對本發(fā)明防止多次刷新轉(zhuǎn)發(fā)表的方法進行詳細描述:
本發(fā)明方法第一實施例流程圖,請參閱圖2,主要包括步驟:
201、轉(zhuǎn)發(fā)表刷新報文或具有刷新功能的報文;
當(dāng)節(jié)點發(fā)生拓?fù)渥兓螅l(fā)送的刷新報文中需要攜帶發(fā)生觸發(fā)二層轉(zhuǎn)發(fā)表刷新的觸發(fā)原因。
其中觸發(fā)原因可選為當(dāng)前節(jié)點的mac、端口索引和事件源等信息。
202、擴散收到的刷新報文;
收到刷新的報文后,網(wǎng)絡(luò)節(jié)點將根據(jù)收到的刷新報文進行擴散,并且擴散的時候需要繼續(xù)攜帶原事件源信息。
203、判斷刷新的報文事件源與記錄的事件源信息是否相同。
收到刷新報文后,節(jié)點需要保存報文中所攜帶的事件源信息,如果收到的刷新報文中攜帶的事件源信息和保存的之前記錄的事件源信息相同,那么將不再刷新,如果不相同,則進行刷新操作。
本實施例中,通過在刷新報文中增加攜帶事件源信息,使得每一個刷新的報文都具有唯一性,當(dāng)再次收到刷新的報文時,可以通過對比事件源信息,判斷該刷新是否已執(zhí)行,若已執(zhí)行則不再刷新,從而可以保證對相同的刷新報文只執(zhí)行一次刷新操作。
下面是本發(fā)明方法的另一實施例,請參閱圖3,包括:
301、轉(zhuǎn)發(fā)表刷新報文或具有刷新功能的報文;
本實施例中的步驟301與前述圖2所述的實施例中的步驟201相同,此處不再贅述。
302、擴散收到的刷新報文;
本實施例中的步驟302與前述圖2所述的實施例中的步驟202相同,此處不再贅述。
303、判斷記錄的事件源信息是否超過限制時間;
環(huán)上節(jié)點在收到刷新報文后,進行二層轉(zhuǎn)發(fā)表刷新,同時記錄本次刷新的事件源,判斷記錄的事件源信息是否已超過存儲的時間,若超過,執(zhí)行步驟305,若沒超過,執(zhí)行步驟304。
304、判斷刷新報文的事件源與記錄的事件源信息是否相同,若相同,執(zhí)行步驟307,若不相同,執(zhí)行步驟306;
環(huán)上節(jié)點再次收到刷新報文時,判斷刷新報文中攜帶的事件源信息與保存的最近一次刷新事件源信息是否相同,若相同,說明收到的刷新報文已執(zhí)行,則不再進行刷新,若不相同,說明收到的刷新報文還沒有執(zhí)行,則進行刷新。
305、刪除;
將超過限制時間的記錄的事件源刪除。
306、刷新;
當(dāng)節(jié)點判斷出接收的刷新報文事件源與記錄的事件源信息不相同時,執(zhí)行刷新操作。
307、不刷新。
當(dāng)節(jié)點判斷出記錄的事件源沒有超過限制時間,而接收的刷新報文事件源信息與記錄的事件源信息相同時,不執(zhí)行刷新操作。
本實施例中,步驟303是以“判斷記錄的事件源是否超過限制時間”為例判斷記錄的事件源信息是否為舊的記錄,實際應(yīng)用中,同樣可以采用其他的方式,此處不再贅述。
以上是本發(fā)明方法的實施方式,下面介紹本發(fā)明系統(tǒng)的實施方式,請參閱圖4,包括:轉(zhuǎn)發(fā)單元401,擴散單元402,刷新單元403。
其中,所述擴散單元402包括存儲單元4021,所述刷新單元403包括刪除單元4031。
發(fā)生拓?fù)渥兓?,所述轉(zhuǎn)發(fā)單元401轉(zhuǎn)發(fā)攜帶有發(fā)生觸發(fā)二層轉(zhuǎn)發(fā)表刷新的觸發(fā)原因信息,擴散單元402收到刷新報文后,進行二層轉(zhuǎn)發(fā)表刷新,存儲單元4021記錄本次刷新的事件源信息,再次收到刷新報文時,判斷記錄的刷新事件源信息是否超過限制時間,如果超過,使用刪除單元4031刪除記錄,如果沒有超過,判斷刷新報文攜帶的事件源信息和記錄的刷新事件源信息是否相同,如果不相同,則通過刷新單元403刷新。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上對本發(fā)明所提供的一種防止多次刷新轉(zhuǎn)發(fā)表的方法及系統(tǒng)進行了詳細介紹,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。