專利名稱:一種二層網(wǎng)絡(luò)環(huán)路處理的方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種二層網(wǎng)絡(luò)環(huán)路處理的方法、裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
當(dāng)前虛擬專用交換網(wǎng)服務(wù)(Virtual Private LAN Service, VPLS)的二層網(wǎng)絡(luò)是一種應(yīng)用廣泛的城域網(wǎng)解決方案,在實(shí)際網(wǎng)絡(luò)應(yīng)用中,每一臺網(wǎng)絡(luò)設(shè)備都擁有一個(gè)全球唯一的媒體訪問控制(Medium Access Control, MAC)地址,在網(wǎng)絡(luò)設(shè)備工作過程經(jīng)常會出現(xiàn)MAC地址跳變問題。當(dāng)某個(gè)源MAC地址的報(bào)文從網(wǎng)絡(luò)設(shè)備的一個(gè)端口接入時(shí),網(wǎng)絡(luò)設(shè)備就會學(xué)習(xí)到這個(gè)報(bào)文的MAC地址與端口的對應(yīng)關(guān)系,在這個(gè)MAC地址沒有老化前,又有相同源MAC地址的報(bào)文從網(wǎng)絡(luò)設(shè)備的另外一個(gè)端口接入,也就是MAC地址從一個(gè)端口移動到了另一個(gè)端口時(shí),就發(fā)生了 MAC地址跳變,實(shí)際網(wǎng)絡(luò)應(yīng)用中,各網(wǎng)絡(luò)設(shè)備的MAC地址通常是唯一的,所以由于網(wǎng)絡(luò)設(shè)備MAC地址重復(fù)而導(dǎo)致MAC地址跳變的可能性很小。出現(xiàn)MAC地址跳變的一個(gè)主要原因就是網(wǎng)絡(luò)形成環(huán)路。當(dāng)某一用戶的網(wǎng)絡(luò)設(shè)備發(fā)送出一個(gè)報(bào)文,若報(bào)文經(jīng)過兩條路徑發(fā)送到同一網(wǎng)絡(luò)設(shè)備的不同端口,則網(wǎng)絡(luò)形成環(huán)路。由于網(wǎng)絡(luò)環(huán)路導(dǎo)致的MAC地址跳變會引起網(wǎng)絡(luò)風(fēng)暴,導(dǎo)致網(wǎng)絡(luò)擁塞等問題?,F(xiàn)有技術(shù)中可以通過MAC地址漂移MAC-Flapping處理方法對二層網(wǎng)絡(luò)環(huán)路進(jìn)行處理,該方法以MAC學(xué)習(xí)為基礎(chǔ),當(dāng)感知到MAC轉(zhuǎn)發(fā)表中某一 MAC地址對應(yīng)出端口的跳變時(shí),會把這些參與跳變的出端口按一定原則一起阻斷或者分批阻斷,當(dāng)前Mac-Flapping方法不能精確阻斷真正環(huán)路產(chǎn)生的端口,而是把參與跳變的所有出端口一起阻斷或分批阻斷,這樣,可能導(dǎo)致一些沒有產(chǎn)生環(huán)路的出端口也被阻斷,這些接口連接的用戶將無法繼續(xù)通訊。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的方法、裝置及網(wǎng)絡(luò)設(shè)備,可以精確的確定發(fā)生環(huán)路的端口,有效地解決二層網(wǎng)絡(luò)環(huán)路的問題,為達(dá)到上述目的,本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的方法,包括接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的裝置,所述裝置包括
接收單元,用于接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址; 判斷單元,當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;檢測單元,用于當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;處理單元,用于當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備包括本發(fā)明實(shí)施例提供的裝置。綜上,本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的方法、裝置及網(wǎng)絡(luò)設(shè)備,能夠精確的確定發(fā)生環(huán)路的端口,有效地解決二層網(wǎng)絡(luò)環(huán)路的問題,保證了網(wǎng)絡(luò)運(yùn)行的可靠性。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明第一實(shí)施例提供的一種二層網(wǎng)絡(luò)環(huán)路處理方法的流程圖;圖2是本發(fā)明實(shí)施例提供的一種二層網(wǎng)絡(luò)環(huán)路處理方法的示意圖;圖3是本發(fā)明第二實(shí)施例提供的一種二層網(wǎng)絡(luò)環(huán)路處理裝置的示意圖;圖4是本發(fā)明第二實(shí)施例提供的另一種二層網(wǎng)絡(luò)環(huán)路處理裝置的示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的方法,參見圖1,圖I為本發(fā)明實(shí)施例的方法流程圖,包括102,接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;104,當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;106,當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文; 二層網(wǎng)絡(luò)互通時(shí),報(bào)文的轉(zhuǎn)發(fā)直接通過查找MAC地址來實(shí)現(xiàn)的,MAC地址學(xué)習(xí)的正確與否決定著用戶之間是否能夠正確的互通。網(wǎng)絡(luò)設(shè)備的MAC地址學(xué)習(xí)機(jī)制為當(dāng)端口收到一個(gè)未知源MAC地址的報(bào)文,會將這個(gè)MAC地址添加到接收該報(bào)文的端口上,以便后續(xù)以該MAC地址為目的地的報(bào)文能夠直接轉(zhuǎn)發(fā),同時(shí),會把該MAC地址添加到網(wǎng)絡(luò)設(shè)備保存的MAC地址表中,MAC地址表是網(wǎng)絡(luò)設(shè)備收到報(bào)文的源MAC地址的集合,每個(gè)MAC地址表項(xiàng)包含一個(gè)MAC地址和與該MAC地址有關(guān)聯(lián)關(guān)系的端口,所述的關(guān)聯(lián)關(guān)系是指以該MAC地址為源MAC的報(bào)文是從該端口接收上來的,所述與該MAC地址有關(guān)聯(lián)關(guān)系的端口可能包含多個(gè),如網(wǎng)絡(luò)設(shè)備首先從端口 A收到以該MAC為源MAC的報(bào)文,后來又從端口 B收到以該MAC為源MAC的報(bào)文,則端口 A和端口 B都是與該MAC有關(guān)聯(lián)關(guān)系的端口,最后接收到以該MAC為源MAC報(bào)文的端口 B為與該MAC有關(guān)聯(lián)關(guān)系的最新端口,如果此后又從端口 C收到以該MAC為源MAC報(bào)文,則端口 C為與該MAC有關(guān)聯(lián)關(guān)系的最新端口,端口 B則不再為與該MAC有關(guān)聯(lián)關(guān)系的最新端口。本發(fā)明實(shí)施例實(shí)現(xiàn)時(shí),網(wǎng)絡(luò)設(shè)備接收到用戶發(fā)來的報(bào)文后,通過解析獲得所述報(bào)文的源MAC地址,根據(jù)該 源MAC地址到網(wǎng)絡(luò)設(shè)備保存的MAC表查找,發(fā)現(xiàn)MAC地址表中已經(jīng)存在了該源MAC地址,并且與該源MAC地址關(guān)聯(lián)的端口中最新的端口并非是所述網(wǎng)絡(luò)設(shè)備接收到用戶發(fā)來的報(bào)文的端口,則認(rèn)為該源MAC地址發(fā)生了一次跳變,網(wǎng)絡(luò)設(shè)備MAC地址表中與該MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口都認(rèn)為是參與所述源MAC地址跳變的端口,所有參與所述源MAC地址跳變的端口都有出現(xiàn)環(huán)路的可能,需要通過所述參與所述源MAC地址跳變的端口發(fā)送探測報(bào)文,進(jìn)一步,由于網(wǎng)絡(luò)設(shè)備管理人員操作等原因會導(dǎo)致某些MAC地址偶爾出現(xiàn)跳變,但這并不影響正常網(wǎng)絡(luò)功能,為避免此類情況頻發(fā)發(fā)送探測報(bào)文,可以預(yù)先設(shè)置一個(gè)預(yù)設(shè)跳變閾值,默認(rèn)情況該預(yù)設(shè)跳變閾值設(shè)置為1,當(dāng)該源MAC地址跳變次數(shù)超過該預(yù)設(shè)跳變閾值時(shí),才認(rèn)為網(wǎng)絡(luò)是出現(xiàn)環(huán)路,進(jìn)而通過所述參與所述源MAC地址跳變的端口發(fā)送探測報(bào)文,例如,當(dāng)預(yù)先設(shè)置所述預(yù)設(shè)跳變閾值為3時(shí),網(wǎng)絡(luò)設(shè)備接收源MAC為MAC地址N的報(bào)文,在I秒中內(nèi),接收以MAC地址N為源MAC的報(bào)文的端口從端口 A變?yōu)槎丝?B,又從端口 B又變?yōu)槎丝?C,然后又從端口 C變?yōu)槎丝?D,則認(rèn)為參與該源MAC地址N跳變的端口 A、端口 B、端口 C、端口 D都可能出現(xiàn)環(huán)路,則通過端口 A、端口 B、端口 C、端口 D分別發(fā)送探測報(bào)文,此外,MAC地址跳變次數(shù)也包含幾個(gè)端口之間的多次跳變的情況,如,接收以MAC地址N為源MAC的報(bào)文的端口從端口 A變?yōu)槎丝?B,又從端口 B變?yōu)槎丝?A,然后又從端口 A變?yōu)槎丝?B,也是發(fā)生了 3次MAC地址跳變。在網(wǎng)絡(luò)設(shè)備上網(wǎng)絡(luò)管理人員經(jīng)常會根據(jù)網(wǎng)絡(luò)設(shè)備端口所承擔(dān)的業(yè)務(wù)重要性把端口設(shè)置上優(yōu)先級,例如,連接服務(wù)器的端口設(shè)置高優(yōu)先級,連接普通用戶的端口設(shè)置低優(yōu)先級。相應(yīng)地,本發(fā)明實(shí)施例在通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文之前,進(jìn)一步,根據(jù)所述參與所述源MAC地址跳變的端口的優(yōu)先級進(jìn)行分組,分為高優(yōu)先級組和低優(yōu)先級組,針對屬于所述低優(yōu)先級組的端口優(yōu)先發(fā)送探測報(bào)文,屬于所述高優(yōu)先級組的端口后發(fā)送探測報(bào)文,這樣可以盡量避免對高優(yōu)先級業(yè)務(wù)的影響,因?yàn)?,在?shí)際現(xiàn)網(wǎng)應(yīng)用中,一般是連接用戶的端口容易出現(xiàn)環(huán)路,因此,對于所述低優(yōu)先級的端口優(yōu)先發(fā)送探測報(bào)文,當(dāng)發(fā)現(xiàn)環(huán)路時(shí),優(yōu)先進(jìn)行阻斷,從而盡可能的減少對高優(yōu)先級端口業(yè)務(wù)的影響。所述探測報(bào)文可以是以太類型的數(shù)據(jù)報(bào)文,具體報(bào)文封裝格式可以參見RFC 894。108,當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。由于連接所述參與所述源MAC地址跳變的端口的用戶設(shè)備或服務(wù)器對于收到的所述探測報(bào)文,在正常情況下會直接丟棄,只有當(dāng)該用戶設(shè)備或服務(wù)器出現(xiàn)環(huán)路時(shí),會將該探測報(bào)文直接透傳,并沿該探測報(bào)文發(fā)送路徑返回,如果網(wǎng)絡(luò)設(shè)備從任一所述參與所述源MAC地址跳變的端口收到所述探測報(bào)文,則認(rèn)為收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,將該產(chǎn)生環(huán)路的端口進(jìn)行阻斷,停止其工作能力,從而解決出現(xiàn)環(huán)路端口對網(wǎng)絡(luò)的影響問題。相應(yīng)地,根據(jù)步驟106所述低優(yōu)先級的組優(yōu)先發(fā)送探測報(bào)文,如果低優(yōu)先級的端口出現(xiàn)故障,則優(yōu)先阻斷,可以盡量避免對高優(yōu)先級業(yè)務(wù)的影響。進(jìn)一步,預(yù)先設(shè)置一個(gè)預(yù)設(shè)解除阻斷時(shí)間閾值,當(dāng)所述產(chǎn)生環(huán)路的出端口被阻斷時(shí)間達(dá)到所述預(yù)設(shè)解除阻斷時(shí)間閾值時(shí),對所述產(chǎn)生環(huán)路的出端口解除阻斷,使其正常工作。在實(shí)際應(yīng)用中,有些出現(xiàn)環(huán)路的端口可以自行修復(fù),因此,如果解除阻斷后的端口沒有再參與MAC地址跳變,將不會再被阻斷,如果又參與了 MAC地址跳變,則按照本發(fā)明實(shí)施例提供的方案進(jìn)行相應(yīng)的處理。
為使本發(fā)明實(shí)施例更便于理解、清楚,現(xiàn)舉例進(jìn)行描述,如圖2,網(wǎng)絡(luò)設(shè)備上有三個(gè)出端口端口 I、端口 2、端口 3,端口 I、端口 2連接普通用戶,端口 3連接服務(wù)器,根據(jù)業(yè)務(wù)優(yōu)先級,連接普通用戶的端口 I、端口 2設(shè)置低優(yōu)先級,連接服務(wù)器的端口 3設(shè)置高優(yōu)先級,預(yù)先設(shè)置預(yù)設(shè)跳變閾值為1,設(shè)置預(yù)設(shè)解除阻斷時(shí)間閾值為60秒。當(dāng)網(wǎng)絡(luò)設(shè)備從端口 2收到用戶報(bào)文時(shí),通過解析獲得報(bào)文源MAC為地址A,網(wǎng)絡(luò)設(shè)備通過查找MAC表,發(fā)現(xiàn)MAC表中與MAC地址A關(guān)聯(lián)的端口為端口 3,與該用戶報(bào)文接收的端口 2不一致,出現(xiàn)一次MAC地址跳變,達(dá)到預(yù)先設(shè)置的預(yù)設(shè)跳變閾值1,則認(rèn)為端口 2、端口 3都參與了 MAC地址A跳變,網(wǎng)絡(luò)設(shè)備通過端口 2、端口 3分別發(fā)送探測報(bào)文,進(jìn)一步,根據(jù)端口優(yōu)先級進(jìn)行分組,端口 2分到低優(yōu)先級組,端口 3分到高優(yōu)先級組,低優(yōu)先級組的端口 2優(yōu)先發(fā)送探測報(bào)文,由于端口I沒有參與MAC地址A跳變不需要發(fā)送探測報(bào)文,當(dāng)網(wǎng)絡(luò)設(shè)備從端口 2收到該探測報(bào)文后,判斷端口 2為發(fā)生環(huán)路的端口,對端口 2進(jìn)行阻斷,避免其對網(wǎng)絡(luò)的影響,進(jìn)一步,當(dāng)端口 2被阻斷的時(shí)間達(dá)到預(yù)先設(shè)置預(yù)設(shè)解除阻斷時(shí)間閾值為60秒時(shí),對端口 2解除阻斷,允許其正常工作??梢?,通過本發(fā)明是實(shí)施例提供的方法,能夠精確的確定發(fā)生環(huán)路的端口,有效地解決二層網(wǎng)絡(luò)環(huán)路的問題,保證了網(wǎng)絡(luò)運(yùn)行的可靠性,特別地,當(dāng)網(wǎng)絡(luò)設(shè)備存在多個(gè)端口時(shí),通過本發(fā)明實(shí)施例提供的方法,先確定參與MAC地址跳變的端口,然后通過參與MAC地址跳變的端口發(fā)送探測報(bào)文,不需要網(wǎng)絡(luò)設(shè)備實(shí)時(shí)通過所有端口發(fā)送探測報(bào)文,從而能夠減小對網(wǎng)絡(luò)設(shè)備CUP占用的影響。實(shí)施例二 本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的裝置,參見圖3,圖3為本發(fā)明實(shí)施例的裝置示意圖,該裝置包括接收單元302,判斷單元304,檢測單元306,處理單元308。接收單元302,用于接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;判斷單元304,當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;檢測單元306,用于當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;二層網(wǎng)絡(luò)互通時(shí),報(bào)文的轉(zhuǎn)發(fā)直接通過查找MAC地址來實(shí)現(xiàn)的,MAC地址學(xué)習(xí)的正確與否決定著用戶之間是否能夠正確的互通。網(wǎng)絡(luò)設(shè)備的MAC地址學(xué)習(xí)機(jī)制為當(dāng)端口收到一個(gè)未知源MAC地址的報(bào)文,會將這個(gè)MAC地址添加到接收該報(bào)文的端口上,以便后續(xù)以該MAC地址為目的地的報(bào)文能夠直接轉(zhuǎn)發(fā),同時(shí),會把該MAC地址添加到網(wǎng)絡(luò)設(shè)備保存的MAC地址表中,MAC地址表是網(wǎng)絡(luò)設(shè)備收到報(bào)文的源MAC地址的集合,每個(gè)MAC地址表項(xiàng)包含一個(gè)MAC地址和與該MAC地址有關(guān)聯(lián)關(guān)系的端口,所述的關(guān)聯(lián)關(guān)系是指以該MAC地址為源MAC的報(bào)文是從該端口接收上來的,所述與該MAC地址有關(guān)聯(lián)關(guān)系的端口可能包含多個(gè),如網(wǎng)絡(luò)設(shè)備首先從端口 A收到以該MAC為源MAC的報(bào)文,后來又從端口 B收到以該MAC為源MAC的報(bào)文,則端口 A和端口 B都是與該MAC有關(guān)聯(lián)關(guān)系的端口,最后接收到以該MAC為源MAC報(bào)文的端口 B為 與該MAC有關(guān)聯(lián)關(guān)系的最新端口,如果此后又從端口 C收到以該MAC為源MAC報(bào)文則端口 C為與該MAC有關(guān)聯(lián)關(guān)系的最新端口,端口 B則不再為與該MAC有關(guān)聯(lián)關(guān)系的最新端口。本發(fā)明實(shí)施例實(shí)現(xiàn)時(shí),網(wǎng)絡(luò)設(shè)備接收單元302接收到用戶發(fā)來的報(bào)文后,通過解析獲得所述報(bào)文的源MAC地址,判斷單元304根據(jù)該源MAC地址到網(wǎng)絡(luò)設(shè)備保存的MAC表查找,發(fā)現(xiàn)MAC地址表中已經(jīng)存在了該源MAC地址,并且與該源MAC地址關(guān)聯(lián)的端口中最新的端口并非是所述網(wǎng)絡(luò)設(shè)備接收到用戶發(fā)來的報(bào)文的端口,則認(rèn)為該源MAC地址發(fā)生了一次跳變,網(wǎng)絡(luò)設(shè)備MAC地址表中與該MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口都認(rèn)為是參與所述源MAC地址跳變的端口,所有參與所述源MAC地址跳變的端口都有出現(xiàn)環(huán)路的可能,需要通過所述參與所述源MAC地址跳變的端口發(fā)送探測報(bào)文,進(jìn)一步,由于網(wǎng)絡(luò)設(shè)備管理人員操作等原因會導(dǎo)致某些MAC地址偶爾出現(xiàn)跳變,但這并不影響正常網(wǎng)絡(luò)功能,為避免此類情況頻發(fā)發(fā)送探測報(bào)文,檢測單元306可以預(yù)先設(shè)定一個(gè)預(yù)設(shè)跳變閾值,默認(rèn)情況該預(yù)設(shè)跳變閾值設(shè)置為1,當(dāng)該源MAC地址跳變次數(shù)超過該預(yù)設(shè)跳變閾值時(shí),才認(rèn)為網(wǎng)絡(luò)是出現(xiàn)環(huán)路,進(jìn)而通過所述參與所述源MAC地址跳變的端口發(fā)送探測報(bào)文,例如,當(dāng)預(yù)先設(shè)置所述預(yù)設(shè)跳變閾值為3時(shí),網(wǎng)絡(luò)設(shè)備接收源MAC為MAC地址N的報(bào)文,在I秒中內(nèi),接收以MAC地址N為源MAC的報(bào)文的端口從端口 A變?yōu)槎丝?B,又從端口 B又變?yōu)槎丝?C,然后又從端口 C變?yōu)槎丝?D,則認(rèn)為參與該源MAC地址N跳變的端口 A、端口 B、端口 C、端口D都可能出現(xiàn)環(huán)路,則通過端口 A、端口 B、端口 C、端口 D發(fā)送探測報(bào)文,此外,MAC地址跳變次數(shù)也包含幾個(gè)端口之間的多次跳變的情況,如,接收以MAC地址N為源MAC的報(bào)文的端口從端口 A變?yōu)槎丝?B,又從端口 B變?yōu)槎丝?A,然后又從端口 A變?yōu)槎丝?B,也是發(fā)生了 3次MAC地址跳變。在網(wǎng)絡(luò)設(shè)備上網(wǎng)絡(luò)管理人員經(jīng)常會根據(jù)網(wǎng)絡(luò)設(shè)備端口所承擔(dān)的業(yè)務(wù)重要性把端口設(shè)置上優(yōu)先級,例如,連接服務(wù)器的端口設(shè)置高優(yōu)先級,連接普通用戶的端口設(shè)置低優(yōu)先級。相應(yīng)地,本發(fā)明實(shí)施例提供一種二層網(wǎng)絡(luò)環(huán)路處理的裝置進(jìn)一步還可以包括優(yōu)先級分組單元310,如圖4所示。在所述檢測單元310發(fā)送探測報(bào)文之前,所述優(yōu)先級分組單元310根據(jù)所述參與所述源MAC地址跳變的端口的優(yōu)先級進(jìn)行分組,分為高優(yōu)先級組和低優(yōu)先級組,所述檢測單元306根據(jù)所述分組單元310的分組情況針對屬于所述低優(yōu)先級組的端口優(yōu)先發(fā)送探測報(bào)文,屬于所述高優(yōu)先級組的端口后發(fā)送探測報(bào)文,這樣可以盡量避免對高優(yōu)先級業(yè)務(wù)的影響,因?yàn)椋趯?shí)際現(xiàn)網(wǎng)應(yīng)用中,一般是連接用戶的端口容易出現(xiàn)環(huán)路,因此,對于所述低優(yōu)先級的端口優(yōu)先發(fā)送探測報(bào)文,當(dāng)發(fā)現(xiàn)環(huán)路時(shí),優(yōu)先進(jìn)行阻斷,從而盡可能的減少對高優(yōu)先級端口業(yè)務(wù)的影響。所述探測報(bào)文可以是以太類型的數(shù)據(jù)報(bào)文,具體報(bào)文封裝格式可以參見RFC 894。處理單元308,用于當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。
由于連接所述參與所述源MAC地址跳變的端口的用戶設(shè)備或服務(wù)器對于收到的所述探測報(bào)文,在正常情況下會直接丟棄,只有當(dāng)該用戶設(shè)備或服務(wù)器出現(xiàn)環(huán)路時(shí),會將該探測報(bào)文直接透傳,并沿該探測報(bào)文發(fā)送路徑返回,如果網(wǎng)絡(luò)設(shè)備處理單元308從任一所述參與所述源MAC地址跳變的端口收到所述探測報(bào)文,則認(rèn)為收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,將該產(chǎn)生環(huán)路的端口進(jìn)行阻斷,停止其工作能力,從而解決出現(xiàn)環(huán)路端口對網(wǎng)絡(luò)的影響問題。相應(yīng)地,根據(jù)所述低優(yōu)先級的組優(yōu)先發(fā)送探測報(bào)文,如果低優(yōu)先級的端口出現(xiàn)故障,則優(yōu)先阻斷,可以盡量避免對高優(yōu)先級業(yè)務(wù)的影響。進(jìn)一步,處理單元308可以預(yù)先設(shè)置一個(gè)預(yù)設(shè)解除阻斷時(shí)間閾值,當(dāng)所述產(chǎn)生環(huán)路的出端口被阻斷時(shí)間達(dá)到所述預(yù)設(shè)解除阻斷時(shí)間閾值時(shí),對所述產(chǎn)生環(huán)路的出端口解除阻斷,使其正常工作。在實(shí)際應(yīng)用中,有些出現(xiàn)環(huán)路的端口可以自行修復(fù),因此,如果解除阻斷后的端口沒有再參與MAC地址跳變,將不會再被阻斷,如果又參與了 MAC地址跳變,則按照本發(fā)明實(shí)施例提供的方案進(jìn)行相應(yīng)的處理。
可見,通過本發(fā)明是實(shí)施例提供的裝置,能夠精確的確定發(fā)生環(huán)路的端口,有效地解決二層網(wǎng)絡(luò)環(huán)路的問題,保證了網(wǎng)絡(luò)運(yùn)行的可靠性,特別地,當(dāng)網(wǎng)絡(luò)設(shè)備存在多個(gè)端口時(shí),通過本發(fā)明實(shí)施例提供的方法,先確定參與MAC地址跳變的端口,然后通過參與MAC地址跳變的端口發(fā)送探測報(bào)文,不需要網(wǎng)絡(luò)設(shè)備實(shí)時(shí)通過所有端口發(fā)送探測報(bào)文,從而能夠減少對網(wǎng)絡(luò)設(shè)備CUP占用的影響。實(shí)施例三本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的網(wǎng)絡(luò)設(shè)備,所述網(wǎng)絡(luò)設(shè)備包括本發(fā)明實(shí)施例二提供的裝置,所述網(wǎng)絡(luò)設(shè)備可以為路由器、交換機(jī)等支持二層網(wǎng)絡(luò)的交換設(shè)備。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,前述程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時(shí),執(zhí)行包括上述方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種二層網(wǎng)絡(luò)環(huán)路處理的方法,其特征在于,包括接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述預(yù)設(shè)跳變閾值默認(rèn)為I。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文之前,進(jìn)一步包括根據(jù)所述參與所述源MAC地址跳變的端口的優(yōu)先級進(jìn)行分組,分為高優(yōu)先級組和低優(yōu)先級組,根據(jù)所述優(yōu)先級分組,對于所述低優(yōu)先級組的端口優(yōu)先發(fā)送探測報(bào)文,所述高優(yōu)先級組的端口后發(fā)送探測報(bào)文。
4.根據(jù)權(quán)利要求1-3任一權(quán)利要求所述的方法,其特征在于,進(jìn)一步包括當(dāng)所述產(chǎn)生環(huán)路的出端口被阻斷時(shí)間達(dá)到預(yù)設(shè)解除阻斷時(shí)間閾值時(shí),對所述產(chǎn)生環(huán)路的出端口解除阻斷。
5.一種二層網(wǎng)絡(luò)環(huán)路處理的裝置,其特征在于,包括接收單元,用于接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;判斷單元,當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變,所述源MAC地址關(guān)聯(lián)的端口和所述報(bào)文的接收端口為參與所述源MAC地址跳變的端口 ;檢測單元,用于當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;處理單元,用于當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置進(jìn)一步包括優(yōu)先級分組單元,用于在所述檢測單元發(fā)送探測報(bào)文之前,根據(jù)所述參與所述源MAC 地址跳變的端口的優(yōu)先級進(jìn)行分組,分為高優(yōu)先級組和低優(yōu)先級組,相應(yīng)地,所述檢測單元根據(jù)所述優(yōu)先級分組單元的分組情況,對所述低優(yōu)先級組的端口優(yōu)先發(fā)送探測報(bào)文,所述高優(yōu)先級組的端口后發(fā)送探測報(bào)文。
7.根據(jù)權(quán)利要求5-6所述的裝置,其特征在于,所述處理單元進(jìn)一步包括當(dāng)所述產(chǎn)生環(huán)路的出端口被阻斷時(shí)間達(dá)到預(yù)設(shè)解除阻斷時(shí)間閾值時(shí),對所述產(chǎn)生環(huán)路的出端口解除阻斷。
8.—種二層網(wǎng)絡(luò)環(huán)路處理的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備包括權(quán)利要求5或6 或7所述的裝置。
全文摘要
本發(fā)明實(shí)施例提供了一種二層網(wǎng)絡(luò)環(huán)路處理的方法,包括接收用戶發(fā)來的報(bào)文,獲得所述報(bào)文的源MAC地址;當(dāng)MAC表中的與所述源MAC地址關(guān)聯(lián)的端口中最新的端口與所述報(bào)文的接收端口不一致,則判斷所述源MAC地址發(fā)生一次跳變;當(dāng)所述源MAC地址的跳變次數(shù)達(dá)到預(yù)設(shè)跳變閾值時(shí),通過所述參與所述源MAC地址跳變的端口分別發(fā)送探測報(bào)文;當(dāng)收到所述探測報(bào)文時(shí),則確定收到所述探測報(bào)文的端口為產(chǎn)生環(huán)路的端口,阻斷所述產(chǎn)生環(huán)路的端口。本發(fā)明還提供了一種二層網(wǎng)絡(luò)環(huán)路處理的裝置及網(wǎng)絡(luò)設(shè)備。通過本發(fā)明實(shí)施例提供的方法、裝置及網(wǎng)絡(luò)設(shè)備,能夠有效的解決二層網(wǎng)絡(luò)出現(xiàn)環(huán)路問題,保障了網(wǎng)絡(luò)運(yùn)行的可靠性。
文檔編號H04L12/26GK102625986SQ201180003165
公開日2012年8月1日 申請日期2011年12月9日 優(yōu)先權(quán)日2011年12月9日
發(fā)明者張夏 申請人:華為技術(shù)有限公司