專利名稱:Mac地址漂移的控制方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域中通訊設(shè)備的二層轉(zhuǎn)發(fā)技術(shù)領(lǐng)域,具體地說,尤其涉及一 種MAC (Media Access Control,媒體接入控制)地址漂移的控制方法和裝置。
背景技術(shù):
以太網(wǎng)以其簡單、便捷、高效等特點(diǎn),成為當(dāng)前局域網(wǎng)組網(wǎng)及寬帶接入網(wǎng)最為 常用的技術(shù),事實(shí)上已經(jīng)成為局域網(wǎng)、IP城域網(wǎng)及寬帶接入網(wǎng)的通用標(biāo)準(zhǔn)。然而,由于 其廣播特性,從而也造就了以太網(wǎng)極為軟弱的一面,那就是以太網(wǎng)環(huán)路的危害性。以太 網(wǎng)環(huán)路是指由于網(wǎng)絡(luò)連線不規(guī)范、碰線等原因致使整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)轉(zhuǎn)發(fā)路徑存在環(huán)路, 由此引發(fā)的危害主要包括廣播風(fēng)暴、MAC地址漂移、轉(zhuǎn)發(fā)表錯(cuò)亂等,從而導(dǎo)致整個(gè)網(wǎng)絡(luò) 阻塞、中斷。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于提供一種MAC地址漂移的控制方法和裝置,以至少解決 現(xiàn)有技術(shù)中因MAC地址漂移而導(dǎo)致的網(wǎng)絡(luò)阻塞問題。根據(jù)本發(fā)明的一個(gè)方面,提供了一種MAC地址漂移的控制方法,其包括在 MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;若查找到,則判斷上述 MAC地址條目的端口號(hào)與上述數(shù)據(jù)報(bào)文流入的端口號(hào)是否一致;若不一致,則將上述 MAC地址條目指向的端口的優(yōu)先級(jí)與上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí)進(jìn)行比較;若上 述MAC地址條目指向的端口的優(yōu)先級(jí)高于上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí),則設(shè)置不 允許上述MAC地址條目進(jìn)行漂移。進(jìn)一步的,若上述MAC地址條目指向的端口的優(yōu)先級(jí)等于上述數(shù)據(jù)報(bào)文流入 的端口的優(yōu)先級(jí),還包括檢測上述MAC地址條目是否發(fā)生漂移;若發(fā)生,則判斷上 述MAC地址條目漂移的次數(shù)是否大于預(yù)定的漂移次數(shù)閾值;若大于,則設(shè)置不允許上述 MAC地址條目進(jìn)行漂移。進(jìn)一步的,若上述MAC地址條目指向的端口的優(yōu)先級(jí)等于上述數(shù)據(jù)報(bào)文流入的 端口的優(yōu)先級(jí),還包括在預(yù)定的保護(hù)時(shí)長內(nèi),設(shè)置不允許上述MAC地址條目進(jìn)行漂移。進(jìn)一步的,若上述MAC地址條目指向的端口的優(yōu)先級(jí)等于上述數(shù)據(jù)報(bào)文流入的 端口的優(yōu)先級(jí),還包括每次檢測到上述MAC地址條目發(fā)生漂移,則延長為上述MAC 地址條目設(shè)置的保護(hù)時(shí)長,其中,在每次上述MAC地址條目發(fā)生漂移之后的保護(hù)時(shí)長 內(nèi),設(shè)置不允許上述MAC地址條目進(jìn)行漂移。進(jìn)一步的,還包括在上述保護(hù)時(shí)長內(nèi),設(shè)置不學(xué)習(xí)接收到的數(shù)據(jù)報(bào)文中的 MAC地址,或者,丟棄接收到的數(shù)據(jù)報(bào)文。進(jìn)一步的,還包括在上述保護(hù)時(shí)長之外,設(shè)置學(xué)習(xí)或不學(xué)習(xí)接收到的數(shù)據(jù)報(bào) 文中的MAC地址,或者,丟棄接收到的數(shù)據(jù)報(bào)文。
根據(jù)本發(fā)明的另一方面,提供了一種MAC地址漂移的控制裝置,其包括查 找單元,用于在MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;判斷單 元,用于在查找到的情況下,判斷上述MAC地址條目的端口號(hào)與上述數(shù)據(jù)報(bào)文流入的端 口號(hào)是否一致;比較單元,用于在不一致的情況下,判斷上述MAC地址條目的端口號(hào)與 上述數(shù)據(jù)報(bào)文流入的端口號(hào)是否一致;處理單元,用于在上述MAC地址條目指向的端口 的優(yōu)先級(jí)高于上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí)的情況下,設(shè)置不允許上述MAC地址條 目進(jìn)行漂移。進(jìn)一步的,上述處理單元包括檢測模塊,用于在上述MAC地址條目指向的端 口的優(yōu)先級(jí)等于上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí)時(shí),檢測上述MAC地址條目是否發(fā)生 漂移;判斷模塊,用于在發(fā)生的情況下,判斷上述MAC地址條目漂移的次數(shù)是否大于預(yù) 定的漂移次數(shù)閾值;第一設(shè)置模塊,用于在大于的情況下,設(shè)置不允許上述MAC地址條 目進(jìn)行漂移。進(jìn)一步的,上述處理單元包括第二設(shè)置模塊,用于在上述MAC地址條目指向 的端口的優(yōu)先級(jí)等于上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí)時(shí),在預(yù)定的保護(hù)時(shí)長內(nèi),設(shè)置 不允許上述MAC地址條目進(jìn)行漂移。進(jìn)一步的,上述處理單元包括第三設(shè)置模塊,用于在每次檢測到上述MAC 地址條目發(fā)生漂移時(shí),延長為上述MAC地址條目設(shè)置的保護(hù)時(shí)長,其中,在每次上述 MAC地址條目發(fā)生漂移之后的保護(hù)時(shí)長內(nèi),設(shè)置不允許上述MAC地址條目進(jìn)行漂移。在本發(fā)明中,通過禁止MAC地址漂移,解決了現(xiàn)有技術(shù)中因MAC地址漂移而 導(dǎo)致的網(wǎng)絡(luò)阻塞問題,保證了網(wǎng)絡(luò)傳輸質(zhì)量。
此處所說明的附圖用來提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本 發(fā)明的示意性實(shí)施例及其說明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖 中圖1是根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法的一種優(yōu)選的流程圖;圖2是根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法的另一種優(yōu)選的流程圖;圖3是根據(jù)本發(fā)明實(shí)施例的交換機(jī)FDB (Forward Database,轉(zhuǎn)發(fā)數(shù)據(jù))表的一種 優(yōu)選的示意圖;圖4是根據(jù)本發(fā)明實(shí)施例的交換機(jī)FDB表的另一種優(yōu)選的示意圖;圖5是根據(jù)本發(fā)明實(shí)施例的保護(hù)狀態(tài)下的切換流程圖;圖6是根據(jù)本發(fā)明實(shí)施例的報(bào)文學(xué)習(xí)轉(zhuǎn)發(fā)流程的流程圖;圖7是根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制裝置的一種優(yōu)選的結(jié)構(gòu)圖。
具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本發(fā)明。需要說明的是,在不沖突 的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。圖1是根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法的一種優(yōu)選的流程圖,其 包括
S102,在MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;S104,若查找到,則判斷所述MAC地址條目的端口號(hào)與所述數(shù)據(jù)報(bào)文流入的端
口號(hào)是否一致;S106,若不一致,則將所述MAC地址條目指向的端口的優(yōu)先級(jí)與所述數(shù)據(jù)報(bào)文 流入的端口的優(yōu)先級(jí)進(jìn)行比較;S108,若所述MAC地址條目指向的端口的優(yōu)先級(jí)高于所述數(shù)據(jù)報(bào)文流入的端口 的優(yōu)先級(jí),則設(shè)置不允許所述MAC地址條目進(jìn)行漂移。在本優(yōu)選的實(shí)施例中,通過禁止MAC地址漂移,解決了現(xiàn)有技術(shù)中因MAC地 址漂移而導(dǎo)致的網(wǎng)絡(luò)阻塞問題,保證了網(wǎng)絡(luò)傳輸質(zhì)量。優(yōu)選的,若所述MAC地址條目指向的端口的優(yōu)先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端 口的優(yōu)先級(jí),根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法還包括檢測所述MAC地 址條目是否發(fā)生漂移;若發(fā)生,則判斷所述MAC地址條目漂移的次數(shù)是否大于預(yù)定的漂 移次數(shù)閾值;若大于,則設(shè)置不允許所述MAC地址條目進(jìn)行漂移。在本優(yōu)選的實(shí)施例 中,通過設(shè)置漂移次數(shù)閾值,進(jìn)一步控制了 MAC地址條目的漂移。優(yōu)選的,若所述MAC地址條目指向的端口的優(yōu)先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端 口的優(yōu)先級(jí),根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法還包括在預(yù)定的保護(hù)時(shí)長 內(nèi),設(shè)置不允許所述MAC地址條目進(jìn)行漂移。在本優(yōu)選的實(shí)施例中,通過設(shè)置保護(hù)時(shí) 長,進(jìn)一步控制了 MAC地址條目的漂移。優(yōu)選的,若所述MAC地址條目指向的端口的優(yōu)先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端 口的優(yōu)先級(jí),根據(jù)本發(fā)明實(shí)施例的MAC地址漂移的控制方法還包括每次檢測到所述 MAC地址條目發(fā)生漂移,則延長為所述MAC地址條目設(shè)置的保護(hù)時(shí)長,其中,在每次 所述MAC地址條目發(fā)生漂移之后的保護(hù)時(shí)長內(nèi),設(shè)置不允許所述MAC地址條目進(jìn)行漂 移。在本優(yōu)選的實(shí)施例中,通過調(diào)整保護(hù)時(shí)長,進(jìn)一步控制了 MAC地址條目的漂移。優(yōu)選的,在所述保護(hù)時(shí)長內(nèi),設(shè)置不學(xué)習(xí)接收到的數(shù)據(jù)報(bào)文中的MAC地址,或 者,丟棄接收到的數(shù)據(jù)報(bào)文。優(yōu)選的,在所述保護(hù)時(shí)長之外,設(shè)置學(xué)習(xí)或不學(xué)習(xí)接收到的數(shù)據(jù)報(bào)文中的MAC 地址,或者,丟棄接收到的數(shù)據(jù)報(bào)文。優(yōu)選的,若所述MAC地址條目指向的端口的優(yōu)先級(jí)低于所述數(shù)據(jù)報(bào)文流入的端 口的優(yōu)先級(jí),則可以按照通用的策略進(jìn)行正常的漂移轉(zhuǎn)發(fā)。實(shí)施例2在本優(yōu)選的實(shí)施例中,提供一種MAC地址漂移的控制方法,能夠?qū)τ捎陬l繁的 MAC地址漂移而導(dǎo)致的以太網(wǎng)不穩(wěn)定狀態(tài)進(jìn)行有效保護(hù),同時(shí)也能夠?qū)σ蕴W(wǎng)環(huán)路進(jìn)行 保護(hù)性自動(dòng)切斷及消除,最終減少以太網(wǎng)環(huán)路對(duì)整個(gè)網(wǎng)絡(luò)的影響。目前的MAC學(xué)習(xí)及轉(zhuǎn)發(fā)策略為動(dòng)態(tài)MAC地址條目的端口號(hào)可以自由漂移。 本優(yōu)選的實(shí)施例在此學(xué)習(xí)及轉(zhuǎn)發(fā)策略基礎(chǔ)上引入層級(jí)制度及懲罰策略。即首先對(duì)端口 進(jìn)行等級(jí)劃分,禁止高優(yōu)先級(jí)端口的MAC地址條目向低優(yōu)先級(jí)端口飄移;同時(shí),在端口 優(yōu)先級(jí)相同的情況下,對(duì)端口漂移頻繁的MAC條目進(jìn)行時(shí)間懲罰性變長的保護(hù)策略,在 一段時(shí)間內(nèi)禁止該MAC條目進(jìn)行端口漂移,并且禁止從其他端口進(jìn)入的與該MAC條目 匹配數(shù)據(jù)流量轉(zhuǎn)發(fā)。
(1)在交換機(jī)端口表中增加一個(gè)PORT_LEARNING_CLASS字段,為端口選擇一 個(gè)特定的優(yōu)先級(jí)(0 7)。如圖2所示當(dāng)MAC條目準(zhǔn)備發(fā)生飄移時(shí),首先判斷兩個(gè)端 口的優(yōu)先級(jí)設(shè)置,禁止高優(yōu)先級(jí)端口的MAC條目向低優(yōu)先級(jí)端口飄移。(2)當(dāng)兩端口優(yōu)先級(jí)相同時(shí),如圖3和表1所示在交換機(jī)FDB表每個(gè)表項(xiàng)中 增加一個(gè)端口漂移計(jì)數(shù)器STATION_MOVE_CNT、一個(gè)懲罰次數(shù)PENALTY_CNT字段以 及一個(gè)保護(hù)時(shí)長PROTECT字段。表 權(quán)利要求
1.一種MAC地址漂移的控制方法,其特征在于,包括在MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;若查找到,則判斷所述MAC地址條目的端口號(hào)與所述數(shù)據(jù)報(bào)文流入的端口號(hào)是否一致;若不一致,則將所述MAC地址條目指向的端口的優(yōu)先級(jí)與所述數(shù)據(jù)報(bào)文流入的端口 的優(yōu)先級(jí)進(jìn)行比較;若所述MAC地址條目指向的端口的優(yōu)先級(jí)高于所述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí), 則設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述MAC地址條目指向的端口的優(yōu) 先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí),還包括檢測所述MAC地址條目是否發(fā)生漂移;若發(fā)生,則判斷所述MAC地址條目漂移的次數(shù)是否大于預(yù)定的漂移次數(shù)閾值;若大于,則設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述MAC地址條目指向的端口的優(yōu) 先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí),還包括在預(yù)定的保護(hù)時(shí)長內(nèi),設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,若所述MAC地址條目指向的端口的優(yōu) 先級(jí)等于所述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí),還包括每次檢測到所述MAC地址條目發(fā)生漂移,則延長為所述MAC地址條目設(shè)置的保護(hù) 時(shí)長,其中,在每次所述MAC地址條目發(fā)生漂移之后的保護(hù)時(shí)長內(nèi),設(shè)置不允許所述 MAC地址條目進(jìn)行漂移。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,還包括在所述保護(hù)時(shí)長內(nèi),設(shè)置 不學(xué)習(xí)接收到的數(shù)據(jù)報(bào)文中的MAC地址,或者,丟棄接收到的數(shù)據(jù)報(bào)文。
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,還包括在所述保護(hù)時(shí)長之外,設(shè)置學(xué)習(xí)或不學(xué)習(xí)接收到的數(shù)據(jù)報(bào)文中的MAC地址,或者, 丟棄接收到的數(shù)據(jù)報(bào)文。
7.—種MAC地址漂移的控制裝置,其特征在于,包括查找單元,用于在MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;判斷單元,用于在查找到的情況下,判斷所述MAC地址條目的端口號(hào)與所述數(shù)據(jù)報(bào) 文流入的端口號(hào)是否一致;比較單元,用于在不一致的情況下,判斷所述MAC地址條目的端口號(hào)與所述數(shù)據(jù)報(bào) 文流入的端口號(hào)是否一致;處理單元,用于在所述MAC地址條目指向的端口的優(yōu)先級(jí)高于所述數(shù)據(jù)報(bào)文流入的 端口的優(yōu)先級(jí)的情況下,設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元包括檢測模塊,用于在所述MAC地址條目指向的端口的優(yōu)先級(jí)等于所述數(shù)據(jù)報(bào)文流入的 端口的優(yōu)先級(jí)時(shí),檢測所述MAC地址條目是否發(fā)生漂移;判斷模塊,用于在發(fā)生的情況下,判斷所述MAC地址條目漂移的次數(shù)是否大于預(yù)定 的漂移次數(shù)閾值;第一設(shè)置模塊,用于在大于的情況下,設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元包括第二設(shè)置模塊,用于在所述MAC地址條目指向的端口的優(yōu)先級(jí)等于所述數(shù)據(jù)報(bào)文流 入的端口的優(yōu)先級(jí)時(shí),在預(yù)定的保護(hù)時(shí)長內(nèi),設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述處理單元包括第三設(shè)置模塊,用于在每次檢測到所述MAC地址條目發(fā)生漂移時(shí),延長為所述 MAC地址條目設(shè)置的保護(hù)時(shí)長,其中,在每次所述MAC地址條目發(fā)生漂移之后的保護(hù) 時(shí)長內(nèi),設(shè)置不允許所述MAC地址條目進(jìn)行漂移。
全文摘要
本發(fā)明公開了一種MAC地址漂移的控制方法和裝置,其中,該方法包括在MAC地址表中查找與接收到的數(shù)據(jù)報(bào)文匹配的MAC地址條目;若查找到,則判斷上述MAC地址條目的端口號(hào)與上述數(shù)據(jù)報(bào)文流入的端口號(hào)是否一致;若不一致,則將上述MAC地址條目指向的端口的優(yōu)先級(jí)與上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí)進(jìn)行比較;若上述MAC地址條目指向的端口的優(yōu)先級(jí)高于上述數(shù)據(jù)報(bào)文流入的端口的優(yōu)先級(jí),則設(shè)置不允許上述MAC地址條目進(jìn)行漂移。本發(fā)明解決了現(xiàn)有技術(shù)中因MAC地址漂移而導(dǎo)致的網(wǎng)絡(luò)阻塞問題,保證了網(wǎng)絡(luò)傳輸質(zhì)量。
文檔編號(hào)H04L12/56GK102014062SQ201010568439
公開日2011年4月13日 申請(qǐng)日期2010年12月1日 優(yōu)先權(quán)日2010年12月1日
發(fā)明者張磊 申請(qǐng)人:中興通訊股份有限公司