專利名稱:一種防止非法媒體訪問控制地址遷移的裝置及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)設(shè)備接入技術(shù),特別是涉及一種防止非法媒體訪問控制(MAC, MediaAccess Control)地址遷移的裝置及方法。
背景技術(shù):
在網(wǎng)絡(luò)設(shè)備接入技術(shù)中,接入設(shè)備如交換機(jī),在收到數(shù)據(jù)包后,會(huì)對(duì)接收數(shù)據(jù)包的源MAC地址進(jìn)行學(xué)習(xí),并將學(xué)習(xí)到的MAC地址作為目的MAC地址轉(zhuǎn)發(fā)的依據(jù),學(xué)習(xí)到的MAC 地址都具有相同的屬性和等級(jí)。在MAC地址學(xué)習(xí)過(guò)程中,當(dāng)先后有兩個(gè)具有相同源MAC地 址的數(shù)據(jù)包從不同的端口收到時(shí),交換機(jī)會(huì)用新學(xué)習(xí)到的MAC地址對(duì)應(yīng)的端口信息替換舊 的端口信息,這個(gè)處理稱為MAC地址遷移。通常,導(dǎo)致MAC地址遷移的原因有多種,主要原因包括接入網(wǎng)絡(luò)中存在環(huán)路,或 者調(diào)整接入設(shè)備的接入端口,或者是由于病毒等原因造成的MAC地址攻擊,而最常見的原 因是MAC地址攻擊。MAC地址攻擊的方式是利用接入設(shè)備如交換機(jī),對(duì)MAC地址學(xué)習(xí)的需求,將接入交 換機(jī)的MAC地址表被學(xué)習(xí)到的MAC地址條目填滿,并使交換機(jī)學(xué)習(xí)到錯(cuò)誤的MAC地址對(duì)應(yīng) 的端口。這樣,如果不對(duì)正確的MAC地址進(jìn)行保護(hù)和監(jiān)控,就會(huì)使MAC地址攻擊有機(jī)可乘, 對(duì)數(shù)據(jù)的安全轉(zhuǎn)發(fā)和網(wǎng)絡(luò)帶寬等都會(huì)產(chǎn)生嚴(yán)重的影響,因此,必須對(duì)接入設(shè)備學(xué)習(xí)到的MAC 地址表進(jìn)行管理?,F(xiàn)有技術(shù)中,接入設(shè)備是無(wú)法對(duì)MAC地址表中的MAC地址所對(duì)應(yīng)端口信息的合法 性作出鑒定的,只能依靠人工的判斷和處理。一般情況下,接入設(shè)備可以通過(guò)手動(dòng)配置MAC 地址條目來(lái)綁定合法用戶MAC地址的端口,禁止該MAC地址的老化和遷移,來(lái)保護(hù)合法的 MAC地址信息,但是這種方法工作量大、成本高,且缺乏靈活性,無(wú)法從根本上限制MAC地址 攻擊。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種防止非法MAC地址遷移的裝置及方 法,能在不增加新設(shè)備的情況下,降低設(shè)計(jì)成本并提高設(shè)計(jì)的靈活性,以防止非法MAC地址 遷移。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的本發(fā)明提供了一種防止非法MAC地址遷移的裝置,該裝置位于接入設(shè)備中,與接 入設(shè)備中的MAC轉(zhuǎn)發(fā)芯片相連,包括MAC永久化相關(guān)配置模塊、MAC永久化判斷處理模塊、 報(bào)警/信息統(tǒng)計(jì)模塊,以及報(bào)警處理模塊;其中,MAC永久化相關(guān)配置模塊包括以下幾個(gè)配置自動(dòng)存盤配置,用于配置永久化MAC地址的自動(dòng)存盤使能,以及自動(dòng)存盤的周期, 使永久化MAC地址條目保存在MAC管理模塊中;端口 /單條MAC永久化配置,用于配置端口的永久化使能/去使能,以及單條永久化MAC地址條目的刪除功能;報(bào)警統(tǒng)計(jì)/處理策略配置,用于配置發(fā)生非法MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能、非法MAC地址遷移計(jì)數(shù)閾值以及發(fā)生非法MAC地址遷移時(shí)相應(yīng)的處理策略;MAC永久化判斷處理模塊,位于接入設(shè)備的控制平面的MAC管理模塊中,用于根據(jù)上述配置信息判斷新學(xué)習(xí)到的MAC地址條目是否屬于非法MAC地址遷移,并做相應(yīng)處理;報(bào)警/信息統(tǒng)計(jì)模塊,用于當(dāng)發(fā)生非法MAC地址遷移時(shí),產(chǎn)生相應(yīng)的報(bào)警,并且對(duì)非法MAC地址遷移信息進(jìn)行統(tǒng)計(jì);報(bào)警處理模塊,用于當(dāng)發(fā)生非法MAC地址遷移報(bào)警時(shí),根據(jù)所配置的報(bào)警統(tǒng)計(jì)/處理策略,對(duì)非法MAC地址遷移做相應(yīng)的處理。上述方案中,所述報(bào)警統(tǒng)計(jì)/處理策略配置發(fā)生非法MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能為當(dāng)發(fā)生非法MAC地址遷移時(shí),進(jìn)行報(bào)警并填寫非法MAC地址遷移統(tǒng)計(jì)表。上述方案中,所述非法MAC地址遷移統(tǒng)計(jì)表中包括全局計(jì)數(shù)、時(shí)間、原端口、遷移端口、MAC信息以及遷移計(jì)數(shù)。上述方案中,所述報(bào)警統(tǒng)計(jì)/處理策略配置發(fā)生非法MAC地址遷移時(shí)相應(yīng)的處理策略為當(dāng)接入網(wǎng)絡(luò)存在環(huán)路時(shí),采用啟動(dòng)環(huán)網(wǎng)保護(hù)策略;當(dāng)接入網(wǎng)絡(luò)設(shè)備改換了接入端 口時(shí),采用手動(dòng)刪除MAC地址表中對(duì)應(yīng)的永久化MAC策略;當(dāng)接入網(wǎng)絡(luò)存在MAC地址攻擊 時(shí),采用數(shù)據(jù)包丟棄、關(guān)閉端口、限速或是下發(fā)端口過(guò)濾策略。上述方案中,所述MAC永久化判斷處理模塊判斷新學(xué)習(xí)到的MAC地址條目是否屬于非法MAC地址遷移并做相應(yīng)處理,具體為對(duì)新學(xué)習(xí)到的MAC地址條目,如果在MAC地址表中不存在,則判斷新的MAC地址條目對(duì)應(yīng)端口是否開啟永久化功能,如果該端口開啟了永久化功能,則將新的MAC地址條目 轉(zhuǎn)化為永久化條目存入MAC地址表; 如果在MAC地址表中已存在,則判斷原MAC地址條目是否為永久化MAC地址條目,當(dāng)原MAC地址條目是永久化MAC地址條目時(shí),則確認(rèn)新的MAC地址條目屬于非法MAC地址遷 移,不對(duì)原MAC地址條目進(jìn)行更新,同時(shí)向MAC轉(zhuǎn)發(fā)芯片下發(fā)刪除新的MAC地址條目命令, 并根據(jù)報(bào)警統(tǒng)計(jì)/處理策略,通知報(bào)警/信息統(tǒng)計(jì)模塊進(jìn)行非法MAC地址遷移的報(bào)警和信 息統(tǒng)計(jì),并當(dāng)遷移計(jì)數(shù)信息達(dá)到MAC地址遷移計(jì)數(shù)閾值時(shí),通知報(bào)警處理模塊對(duì)非法MAC地 址遷移進(jìn)行處理;當(dāng)原MAC地址條目不是永久化MAC地址條目時(shí),若新的MAC地址條目對(duì)應(yīng) 端口已開啟永久化功能,則將新的MAC地址條目轉(zhuǎn)化為永久化MAC地址條目,若新的MAC地 址條目對(duì)應(yīng)端口未開啟永久化功能,則進(jìn)行正常的MAC地址遷移處理。上述方案中,所述MAC永久化判斷處理模塊,還用于根據(jù)端口 /單條MAC地址永久化配置信息,當(dāng)端口永久化功能開啟時(shí),對(duì)所有學(xué)習(xí)到的該端口下的MAC地址條目進(jìn)行永 久化處理;當(dāng)接入設(shè)備的接入端口做了調(diào)整時(shí),關(guān)閉端口永久化功能,并刪除該端口下所有 永久化的MAC地址條目。上述方案中,所述MAC永久化判斷處理模塊,還用于根據(jù)自動(dòng)存盤配置,將永久化的MAC地址條目保存在硬件中。本發(fā)明還提供了一種防止非法MAC地址遷移的方法,該方法包括當(dāng)新學(xué)習(xí)到的MAC地址條目在MAC地址表中已存在時(shí),若新學(xué)習(xí)到的MAC地址條目與原MAC地址條目信息不一致,且當(dāng)原MAC地址條目為永久化的MAC地址條目時(shí),則不更新原MAC地址條目,并刪除新學(xué)習(xí)到的MAC地址條目,進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理策略以防止非法MAC地址遷移。上述方案中,該方法還包括若新學(xué)習(xí)到的MAC地址條目與原MAC地址條目信息一 致,則讀取下一條學(xué)習(xí)到的MAC地址條目。上述方案中,當(dāng)新學(xué)習(xí)到的MAC地址條目與原MAC地址條目信息不一致時(shí),該方法 還包括若原MAC地址條目不可以更新,則刪除新學(xué)習(xí)到的MAC地址條目,并讀取下一條學(xué) 習(xí)到的MAC地址條目。上述方案中,當(dāng)新學(xué)習(xí)到的MAC地址條目與原MAC地址條目信息不一致時(shí),該方 法包括當(dāng)原MAC地址條目可以更新,但不是永久化的MAC地址條目時(shí),若新學(xué)習(xí)到的MAC 地址條目對(duì)應(yīng)端口未開啟永久化功能,則進(jìn)行正常的MAC地址遷移處理;若新學(xué)習(xí)到的MAC 地址條目對(duì)應(yīng)端口已經(jīng)開啟永久化的功能,則將新學(xué)習(xí)到的MAC地址條目轉(zhuǎn)化為永久化的 MAC地址條目,并存入數(shù)據(jù)庫(kù),并用新學(xué)習(xí)到的MAC地址條目替換原MAC地址條目下發(fā)到 MAC轉(zhuǎn)發(fā)芯片中。上述方案中,該方法還包括當(dāng)新學(xué)習(xí)到的MAC地址條目在MAC地址表中不存在 時(shí),判斷MAC地址條目中的信息進(jìn)行檢查是否通過(guò),如果檢查通過(guò),則判斷該學(xué)習(xí)到的MAC 地址條目對(duì)應(yīng)端口是否開啟了永久化功能,若開啟永久化功能,則將該MAC地址條目轉(zhuǎn)化 為永久化條目,并下發(fā)到MAC轉(zhuǎn)發(fā)芯片;若沒有開啟永久化功能,則將該MAC地址條目以普 通MAC地址條目形式下發(fā)到MAC轉(zhuǎn)發(fā)芯片;如果檢查不通過(guò),則刪除該MAC地址條目并讀取 下一條學(xué)習(xí)到的MAC地址條目。本發(fā)明所提供的防止非法MAC地址遷移的裝置和方法,當(dāng)新學(xué)習(xí)到的MAC地址條 目在MAC地址表中已存在時(shí),若新的MAC地址條目與原MAC地址條目信息不一致,且當(dāng)原 MAC地址條目為永久化的MAC地址條目時(shí),則不更新原MAC地址條目,并刪除新學(xué)習(xí)到的 MAC地址條目,進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理策略以防止非 法MAC地址遷移。采用本發(fā)明所述的裝置及方法,在不需要增加新設(shè)備的情況下,可以降低設(shè)備維 護(hù)的成本,提高管理的靈活性;另外,還可以使接入設(shè)備的MAC地址的正確學(xué)習(xí)得到保證, 通過(guò)MAC地址的遷移端口信息就可以查找到MAC地址攻擊的來(lái)源,提高了系統(tǒng)運(yùn)行的可靠 性。
圖1為本發(fā)明防止非法MAC地址遷移的裝置組成示意圖;圖2為本發(fā)明非法MAC地址遷移統(tǒng)計(jì)表的組成框圖;圖3為本發(fā)明防止非法MAC地址遷移的方法流程示意圖。
具體實(shí)施例方式本發(fā)明的基本思想是當(dāng)新學(xué)習(xí)到的MAC地址條目在MAC地址表中已存在時(shí),若該 MAC地址條目與原MAC地址條目信息不一致,且當(dāng)原MAC地址條目為永久化條目時(shí),則不更 新原MAC地址條目,并刪除新學(xué)習(xí)到的MAC地址條目,以及進(jìn)行非法MAC地址遷移的報(bào)警和 信息統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理策略以防止非法MAC地址遷移。
下面結(jié)合具體實(shí)施例對(duì)實(shí)現(xiàn)本發(fā)明的方法及裝置做以詳細(xì)描述。
本發(fā)明提供的一種防止非法MAC地址遷移的裝置,如圖1所示,該裝置位于接入設(shè) 備如交換機(jī)中,與接入設(shè)備中的MAC轉(zhuǎn)發(fā)芯片相連,包括MAC永久化相關(guān)配置模塊、MAC永 久化判斷處理模塊、報(bào)警/信息統(tǒng)計(jì)模塊,以及報(bào)警處理模塊;其中,MAC永久化相關(guān)配置模塊包括以下幾個(gè)配置自動(dòng)存盤配置,用于配置永久化MAC地址的自動(dòng)存盤使能,以及自動(dòng)存盤的周期; 這里,由于永久化的MAC地址條目依然保持著學(xué)習(xí)到的MAC地址條目的靈活性,但是需要將 它與手動(dòng)配置的MAC地址永久化條目區(qū)分處理,所以需要進(jìn)行自動(dòng)存盤配置,使永久化的 MAC地址條目定期的保存在硬件中,以便在端口或接入設(shè)備重啟時(shí)被恢復(fù),并且便于用戶的 查詢,方便永久化的MAC地址條目的存盤管理。端口 /單條MAC永久化配置,用于配置端口的永久化使能/去使能,以及單條永久 化MAC地址條目的刪除功能; 這里,配置端口的永久化功能,是為了防止MAC地址表信息因MAC地址攻擊而用錯(cuò) 誤的信息替換正確的信息;配置MAC地址學(xué)習(xí)最大值,可以防止MAC地址表因MAC地址攻擊 而學(xué)滿,其中,配置MAC地址學(xué)習(xí)最大值為現(xiàn)有技術(shù),在此不做詳細(xì)描述;將端口的永久化 功能和端口的MAC地址學(xué)習(xí)最大值配置結(jié)合起來(lái)使用,可以更有效地應(yīng)對(duì)由于MAC地址攻 擊而導(dǎo)致的非法MAC地址遷移。端口永久化功能默認(rèn)情況下是關(guān)閉的,當(dāng)某端口的永久化功能開啟時(shí),不僅要將 已學(xué)習(xí)到的MAC地址條目轉(zhuǎn)換為永久化的MAC地址條目,而且還要對(duì)后續(xù)學(xué)習(xí)到的MAC地 址條目進(jìn)行轉(zhuǎn)換,即承認(rèn)所有學(xué)習(xí)到的、而不是手動(dòng)配置的,該端口下的MAC地址條目的 合法性;但也不排除會(huì)出現(xiàn)學(xué)習(xí)到錯(cuò)誤的MAC地址條目的情況,因此,還需要配置單條永久 化MAC地址條目的刪除功能。當(dāng)接入設(shè)備的接入端口做了調(diào)整時(shí),這些永久化的MAC地址條目將會(huì)變?yōu)殄e(cuò)誤的 地址信息占據(jù)在該端口下,所以需要關(guān)閉該端口永久化功能,并及時(shí)刪除掉這些已經(jīng)是錯(cuò) 誤的永久化的MAC地址條目;而對(duì)于該端口下普通的MAC地址條目,MAC管理模塊可以通過(guò) 正常的MAC地址遷移和老化的方式進(jìn)行處理,因此不需要對(duì)普通MAC地址條目進(jìn)行刪除。報(bào)警統(tǒng)計(jì)/處理策略配置,用于配置發(fā)生非法MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能、 非法MAC地址遷移計(jì)數(shù)閾值以及發(fā)生非法MAC地址遷移時(shí)相應(yīng)的處理策略;這里,所述配置發(fā)生非法MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能,具體為當(dāng)發(fā)生非 法MAC地址遷移時(shí),進(jìn)行報(bào)警并填寫非法MAC地址遷移統(tǒng)計(jì)表;其中,非法MAC地址遷移統(tǒng) 計(jì)表中包括以下統(tǒng)計(jì)信息,如圖2所示,包括以下項(xiàng)目全局計(jì)數(shù)、時(shí)間、原端口、遷移端口、 MAC信息以及遷移計(jì)數(shù);其中,全局計(jì)數(shù),用于記錄在一定的時(shí)間范圍內(nèi)各個(gè)端口上的非法MAC地址遷移次數(shù);時(shí)間用于記錄每次發(fā)生非法MAC地址遷移的時(shí)間點(diǎn),以標(biāo)記(tick)為單位;原端口 用于記錄原MAC信息中對(duì)應(yīng)的端口,該原端口是開啟了 MAC地址永久化功 能的端口,原端口信息也作為遷移計(jì)數(shù)的索引信息;遷移端口 用于記錄新學(xué)到的MAC地址信息中對(duì)應(yīng)的端口 ;對(duì)于同一個(gè)原端口,所 有對(duì)應(yīng)的遷移端口組成一個(gè)遷移端口域,遷移端口域可以用來(lái)幫助確定產(chǎn)生非法MAC地址 遷移的原因和來(lái)源;
MAC信息用于記錄發(fā)生了非法MAC地址遷移的MAC地址信息,即MAC地址表的索 引信息,通常包括MAC地址和虛擬局域網(wǎng)(VLAN)地址;遷移計(jì)數(shù)是基于原端口信息進(jìn)行的計(jì)數(shù),用于記錄在一定的時(shí)間范圍內(nèi)對(duì)應(yīng)原 端口上發(fā)生的非法MAC地址遷移次數(shù);該計(jì)數(shù)值和配置的對(duì)應(yīng)端口非法MAC地址遷移計(jì)數(shù) 閾值進(jìn)行比較,決定是否觸發(fā)配置的處理策略。所述配置非法MAC地址遷移計(jì)數(shù)閾值,可以根據(jù)具體情況而設(shè)定,可以是一個(gè)或 多個(gè);所述配置發(fā)生非法MAC地址遷移時(shí)相應(yīng)的處理策略,可以根據(jù)非法MAC地址遷移 統(tǒng)計(jì)表中的信息和非法MAC地址遷移計(jì)數(shù)閾值,通過(guò)找出導(dǎo)致MAC非法遷移的原因而配置 不同的處理策略。一般,導(dǎo)致MAC非法遷移的主要原因有接入網(wǎng)絡(luò)存在環(huán)路、接入設(shè)備改換了接入 端口和接入網(wǎng)絡(luò)存在MAC地址攻擊三種情況;具體為第一種情況,當(dāng)接入網(wǎng)絡(luò)存在環(huán)路,非法遷移的頻度較高,遷移端口域內(nèi)通常只有 一個(gè)端口,但MAC地址信息會(huì)有不同。當(dāng)確認(rèn)接入網(wǎng)絡(luò)存在環(huán)路時(shí),可以采用啟動(dòng)環(huán)網(wǎng)保護(hù) 策略;第二種情況,當(dāng)單個(gè)接入設(shè)備改換了接入端口,遷移端口域內(nèi)只有一個(gè)端口,且 MAC地址信息也是單個(gè)設(shè)備的MAC地址信息,即使有多個(gè)接入設(shè)備改換了接入端口,MAC地 址信息也是相對(duì)固定的。當(dāng)確認(rèn)接入網(wǎng)絡(luò)設(shè)備改換了接入端口時(shí),可以采用手動(dòng)刪除MAC 地址表中對(duì)應(yīng)的永久化MAC地址策略;第三種情況,當(dāng)接入網(wǎng)絡(luò)存在MAC地址攻擊,會(huì)導(dǎo)致端口的MAC地址條目數(shù)迅速達(dá) 到最大數(shù)上限;當(dāng)接入網(wǎng)絡(luò)中病毒泛濫時(shí),可能會(huì)表現(xiàn)出非法MAC地址遷移頻度很高,遷移 端口域中的端口數(shù)非常多的特點(diǎn)。當(dāng)確認(rèn)接入網(wǎng)絡(luò)存在MAC地址攻擊時(shí),可以采用數(shù)據(jù)包 丟棄、限速或是下發(fā)端口過(guò)濾條目等策略。MAC永久化判斷處理模塊,位于接入設(shè)備的控制平面的MAC管理模塊中,用于對(duì) MAC地址條目的永久化進(jìn)行判斷,并做相應(yīng)處理;具體為對(duì)新學(xué)習(xí)到的MAC地址條目,包括MAC地址和端口信息,如果在MAC地址表中不存 在,則判斷新的MAC地址條目對(duì)應(yīng)端口是否開啟永久化功能,如果該端口開啟了永久化功 能,則將新的MAC地址條目轉(zhuǎn)化為永久化條目存入MAC地址表;如果在MAC地址表中已存在,則判斷原MAC地址條目是否為永久化MAC地址條目, 當(dāng)原MAC地址條目是永久化MAC地址條目,則確認(rèn)新的MAC地址條目屬于非法MAC地址遷 移,不對(duì)原MAC地址條目進(jìn)行更新,同時(shí)向MAC轉(zhuǎn)發(fā)芯片下發(fā)刪除新的MAC地址條目命令, 以及根據(jù)報(bào)警統(tǒng)計(jì)/處理策略配置信息,通知報(bào)警/信息統(tǒng)計(jì)模塊進(jìn)行非法MAC地址遷移 的報(bào)警和信息統(tǒng)計(jì),并當(dāng)遷移計(jì)數(shù)信息達(dá)到MAC地址遷移計(jì)數(shù)閾值時(shí),通知報(bào)警處理模塊 對(duì)非法MAC地址遷移進(jìn)行處理;當(dāng)原MAC地址條目不是永久化MAC地址條目時(shí),若新的MAC 地址條目對(duì)應(yīng)端口已開啟永久化功能,則將新的MAC地址條目轉(zhuǎn)化為永久化MAC地址條目, 若新的MAC地址條目對(duì)應(yīng)端口未開啟永久化功能,則進(jìn)行正常的MAC地址遷移處理。報(bào)警/信息統(tǒng)計(jì)模塊,用于當(dāng)發(fā)生非法MAC地址遷移時(shí),根據(jù)所配置的報(bào)警統(tǒng)計(jì)/ 處理策略產(chǎn)生相應(yīng)的報(bào)警,并且對(duì)非法MAC地址遷移統(tǒng)計(jì)表中的信息進(jìn)行統(tǒng)計(jì); 報(bào)警處理模塊,用于當(dāng)發(fā)生非法MAC地址遷移報(bào)警時(shí),根據(jù)所配置的報(bào)警統(tǒng)計(jì)/處理策略,對(duì)非法MAC地址遷移做相應(yīng)的處理,如啟動(dòng)環(huán)網(wǎng)保護(hù)策略、手動(dòng)刪除MAC地址表中 對(duì)應(yīng)的永久化MAC地址策略、數(shù)據(jù)包丟棄、限速或是下發(fā)端口過(guò)濾條目等策略。所述MAC永久化判斷處理模塊,還用于根據(jù)端口 /單條MAC地址永久化配置信息, 當(dāng)端口永久化功能開啟時(shí),對(duì)所有學(xué)習(xí)到的該端口下的MAC地址條目進(jìn)行永久化處理;當(dāng) 接入設(shè)備的接入端口做了調(diào)整時(shí),關(guān)閉端口永久化功能,并刪除該端口下所有永久化的MAC 地址條目。所述MAC永久化判斷處理模塊,還用于根據(jù)自動(dòng)存盤配置,將永久化MAC地址條目 保存在硬件中。本發(fā)明所提供的一種防止非法MAC地址遷移的方法,如圖3所示,包括以下步驟步驟301 讀取一條新學(xué)習(xí)到的MAC地址條目,并判斷該MAC地址條目是否已存 在;如果不存在,則執(zhí)行步驟302 ;若已存在,則執(zhí)行步驟307 ;本步驟中,交換機(jī)在收到數(shù)據(jù)包后,會(huì)將學(xué)習(xí)到的源MAC地址放入MAC地址表,作 為以后目的MAC地址轉(zhuǎn)發(fā)的依據(jù)。這些學(xué)習(xí)到的MAC地址條目,包括MAC地址和端口信息, 會(huì)被放入一個(gè)隊(duì)列中通過(guò)MAC轉(zhuǎn)發(fā)芯片上報(bào)給控制平面的MAC管理模塊;MAC管理模塊從 MAC轉(zhuǎn)發(fā)芯片上報(bào)的隊(duì)列中依次獲取到一條學(xué)習(xí)到的MAC地址條目后,根據(jù)MAC地址判斷 該MAC地址條目是否已存在,如果該條目不存在,則執(zhí)行步驟302 ;若已經(jīng)存在,則執(zhí)行步驟 307。步驟302 對(duì)該MAC地址條目中的信息進(jìn)行檢查,并判斷檢查是否通過(guò),如檢查通 過(guò),則執(zhí)行步驟303 ;如檢查不通過(guò),則執(zhí)行步驟306 ;本步驟中,對(duì)MAC地址條目中的信息,如MAC地址和端口信息做檢查,包括MAC地 址是否為單播地址,是否為本交換機(jī)地址,以及MAC地址條目數(shù)是否已到達(dá)端口的MAC地址 學(xué)習(xí)最大值等內(nèi)容。如果MAC地址不是單播地址,或者M(jìn)AC地址為本交換機(jī)地址,或者M(jìn)AC 地址條目數(shù)以達(dá)到端口的MAC地址學(xué)習(xí)最大值時(shí),認(rèn)為檢查不通過(guò),則執(zhí)行步驟306 ;否則, 認(rèn)為檢查通過(guò),則執(zhí)行步驟303。步驟303 判斷該MAC地址條目對(duì)應(yīng)端口是否開啟了永久化功能,若開啟永久化功 能,則執(zhí)行步驟304 ;否則執(zhí)行步驟305 ; 本步驟中,根據(jù)學(xué)到的MAC地址條目中的端口信息檢查該端口是否已開啟了永久 化的功能,若已經(jīng)開啟,則執(zhí)行步驟304 ;若沒有開啟,則執(zhí)行步驟305。一般情況下,接入設(shè) 備運(yùn)行過(guò)程中,待數(shù)據(jù)通訊端口接入的網(wǎng)絡(luò)穩(wěn)定,即可啟動(dòng)該端口的永久化功能,將該端口 學(xué)習(xí)到的MAC地址條目永久化。步驟304 將該MAC地址條目轉(zhuǎn)化為永久化條目,并下發(fā)到MAC轉(zhuǎn)發(fā)芯片,返回步 驟301,讀取下一條新學(xué)習(xí)到的MAC地址條目;本步驟中,將該MAC地址條目轉(zhuǎn)化為永久化條目存入MAC地址表,同時(shí)存入數(shù)據(jù)庫(kù) 以免數(shù)據(jù)丟失,并下發(fā)到MAC轉(zhuǎn)發(fā)芯片中。步驟305 將該MAC地址條目以普通MAC地址條目形式下發(fā)到MAC轉(zhuǎn)發(fā)芯片,返回 步驟301,讀取下一條新學(xué)習(xí)到的MAC地址條目;步驟306 刪除該MAC地址條目,并返回步驟301 ;本步驟中,如果檢查不通過(guò),則直接向MAC轉(zhuǎn)發(fā)芯片下發(fā)刪除該MAC地址條目的命 令,并返回步驟301,從上報(bào)隊(duì)列中讀取下一條新學(xué)習(xí)到的MAC地址條目進(jìn)行處理。
步驟307 比較新學(xué)習(xí)到的MAC地址與原MAC地址是否完全一致,若完全一致,則 返回步驟301 ;若不一致,則執(zhí)行步驟308 ;步驟308 判斷MAC地址條目是否可以更新,若不能更新,則執(zhí)行步驟306 ;否則, 執(zhí)行步驟309 ;本步驟中,判斷MAC地址條目是否可以更新的內(nèi)容,包括學(xué)習(xí)到的MAC地址條目 是否能更新原先配置的MAC地址條目,以及是否已達(dá)到端口的MAC地址學(xué)習(xí)最大值等;若學(xué) 習(xí)到的MAC地址條目不能更新原先配置的MAC地址信息,或者已達(dá)到端口的MAC地址學(xué)習(xí) 最大值,則認(rèn)為MAC地址條目不能更新,執(zhí)行步驟306 ;否則,執(zhí)行步驟309。步驟309 判斷原MAC地址條目是否為永久化MAC地址條目,若是,則執(zhí)行步驟 310;若否,則執(zhí)行步驟311;步驟310 不更新原MAC地址條目,刪除新學(xué)習(xí)到的MAC地址條目,進(jìn)行非法MAC
地址遷移報(bào)警和信息統(tǒng)計(jì)并做相應(yīng)處理;返回步驟301,讀取下一條新學(xué)習(xí)到的MAC地址條 目;本步驟中,若原MAC地址條目是永久化的MAC地址條目,則新學(xué)習(xí)到的MAC地址條 目就屬于非法MAC地址遷移,不能更新原MAC地址信息,向MAC轉(zhuǎn)發(fā)芯片下發(fā)刪除新學(xué)習(xí)到 的MAC地址條目命令,并進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng)計(jì),并根據(jù)所配置的發(fā)生非 法MAC地址遷移時(shí)相應(yīng)的處理策略,做出相應(yīng)的處理。步驟311 進(jìn)行正常的MAC地址遷移處理,或者將新學(xué)習(xí)到的MAC地址條目轉(zhuǎn)化為 永久化的MAC地址條目并替換原MAC地址條目下發(fā)到MAC轉(zhuǎn)發(fā)芯片;返回步驟301,讀取下 一條新學(xué)習(xí)到的MAC地址條目;。本步驟中,若原MAC地址條目不是永久化的MAC地址條目,且新學(xué)習(xí)到的MAC地址 條目對(duì)應(yīng)端口也沒有開啟永久化功能,則進(jìn)行正常的MAC地址遷移處理;若原MAC地址條目 不是永久化的MAC地址條目,且新學(xué)習(xí)到的MAC地址條目對(duì)應(yīng)端口已經(jīng)開啟永久化的功能, 則將新學(xué)習(xí)到的MAC地址條目地址轉(zhuǎn)化為永久化的MAC地址條目,并存入數(shù)據(jù)庫(kù)以免數(shù)據(jù) 丟失,并用新學(xué)習(xí)到的MAC地址條目替換原MAC地址條目下發(fā)到MAC轉(zhuǎn)發(fā)芯片中。采用本發(fā)明所述的裝置及方法,可以有效的防止非法MAC地址遷移,因?yàn)榉欠∕AC 地址遷移的主要原因是MAC地址攻擊,且當(dāng)發(fā)生MAC地址攻擊時(shí),由于攻擊所連接的接入設(shè) 備的端口是固定的,因此只要獲取到攻擊的端口信息,也就是MAC地址的遷移端口信息,就 可以找到攻擊的來(lái)源,進(jìn)而有效阻止MAC地址攻擊。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在 本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù) 范圍之內(nèi)。
權(quán)利要求
一種防止非法MAC地址遷移的裝置,其特征在于,該裝置位于接入設(shè)備中,與接入設(shè)備中的MAC轉(zhuǎn)發(fā)芯片相連,包括MAC永久化相關(guān)配置模塊、MAC永久化判斷處理模塊、報(bào)警/信息統(tǒng)計(jì)模塊,以及報(bào)警處理模塊;其中,MAC永久化相關(guān)配置模塊包括以下幾個(gè)配置自動(dòng)存盤配置,用于配置永久化MAC地址的自動(dòng)存盤使能,以及自動(dòng)存盤的周期,使永久化MAC地址條目保存在MAC管理模塊中;端口/單條MAC永久化配置,用于配置端口的永久化使能/去使能,以及單條永久化MAC地址條目的刪除功能;報(bào)警統(tǒng)計(jì)/處理策略配置,用于配置發(fā)生非法MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能、非法MAC地址遷移計(jì)數(shù)閾值以及發(fā)生非法MAC地址遷移時(shí)相應(yīng)的處理策略;MAC永久化判斷處理模塊,位于接入設(shè)備的控制平面的MAC管理模塊中,用于根據(jù)上述配置信息判斷新學(xué)習(xí)到的MAC地址條目是否屬于非法MAC地址遷移,并做相應(yīng)處理;報(bào)警/信息統(tǒng)計(jì)模塊,用于當(dāng)發(fā)生非法MAC地址遷移時(shí),產(chǎn)生相應(yīng)的報(bào)警,并且對(duì)非法MAC地址遷移信息進(jìn)行統(tǒng)計(jì);報(bào)警處理模塊,用于當(dāng)發(fā)生非法MAC地址遷移報(bào)警時(shí),根據(jù)所配置的報(bào)警統(tǒng)計(jì)/處理策略,對(duì)非法MAC地址遷移做相應(yīng)的處理。
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述報(bào)警統(tǒng)計(jì)/處理策略配置發(fā)生非法 MAC地址遷移時(shí)的報(bào)警和統(tǒng)計(jì)功能為當(dāng)發(fā)生非法MAC地址遷移時(shí),進(jìn)行報(bào)警并填寫非法 MAC地址遷移統(tǒng)計(jì)表。
3.根據(jù)權(quán)利要求2所述的裝置,其特征在于,所述非法MAC地址遷移統(tǒng)計(jì)表中包括全 局計(jì)數(shù)、時(shí)間、原端口、遷移端口、MAC信息以及遷移計(jì)數(shù)。
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述報(bào)警統(tǒng)計(jì)/處理策略配置的發(fā)生非法 MAC地址遷移時(shí)相應(yīng)的處理策略為當(dāng)接入網(wǎng)絡(luò)存在環(huán)路時(shí),采用啟動(dòng)環(huán)網(wǎng)保護(hù)策略;當(dāng)接入網(wǎng)絡(luò)設(shè)備改換了接入端口時(shí), 采用手動(dòng)刪除MAC地址表中對(duì)應(yīng)的永久化MAC策略;當(dāng)接入網(wǎng)絡(luò)存在MAC地址攻擊時(shí),采用 數(shù)據(jù)包丟棄、關(guān)閉端口、限速或是下發(fā)端口過(guò)濾策略。
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述MAC永久化判斷處理模塊判斷新學(xué)習(xí) 到的MAC地址條目是否屬于非法MAC地址遷移并做相應(yīng)處理,具體為對(duì)新學(xué)習(xí)到的MAC地址條目,如果在MAC地址表中不存在,則判斷新的MAC地址條目對(duì) 應(yīng)端口是否開啟永久化功能,如果該端口開啟了永久化功能,則將新的MAC地址條目轉(zhuǎn)化 為永久化條目存入MAC地址表;如果在MAC地址表中已存在,則判斷原MAC地址條目是否為永久化MAC地址條目,當(dāng)原 MAC地址條目是永久化MAC地址條目時(shí),則確認(rèn)新的MAC地址條目屬于非法MAC地址遷移, 不對(duì)原MAC地址條目進(jìn)行更新,同時(shí)向MAC轉(zhuǎn)發(fā)芯片下發(fā)刪除新的MAC地址條目命令,并根 據(jù)報(bào)警統(tǒng)計(jì)/處理策略,通知報(bào)警/信息統(tǒng)計(jì)模塊進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng) 計(jì),并當(dāng)遷移計(jì)數(shù)信息達(dá)到MAC地址遷移計(jì)數(shù)閾值時(shí),通知報(bào)警處理模塊對(duì)非法MAC地址遷 移進(jìn)行處理;當(dāng)原MAC地址條目不是永久化MAC地址條目時(shí),若新的MAC地址條目對(duì)應(yīng)端口 已開啟永久化功能,則將新的MAC地址條目轉(zhuǎn)化為永久化MAC地址條目,若新的MAC地址條 目對(duì)應(yīng)端口未開啟永久化功能,則進(jìn)行正常的MAC地址遷移處理。
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述MAC永久化判斷處理模塊,還用于根據(jù)端口 /單條MAC地址永久化配置信息,當(dāng)端口永久化功能開啟時(shí),對(duì)所有學(xué)習(xí)到的該端口 下的MAC地址條目進(jìn)行永久化處理;當(dāng)接入設(shè)備的接入端口做了調(diào)整時(shí),關(guān)閉端口永久化 功能,并刪除該端口下所有永久化的MAC地址條目。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述MAC永久化判斷處理模塊,還用于根 據(jù)自動(dòng)存盤配置,將永久化的MAC地址條目保存在硬件中。
8. 一種防止非法MAC地址遷移的方法,其特征在于,該方法包括當(dāng)新學(xué)習(xí)到的MAC地址條目在MAC地址表中已存在時(shí),若新學(xué)習(xí)到的MAC地址條目與 原MAC地址條目信息不一致,且當(dāng)原MAC地址條目為永久化的MAC地址條目時(shí),則不更新原 MAC地址條目,并刪除新學(xué)習(xí)到的MAC地址條目,進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng)計(jì), 并執(zhí)行相應(yīng)的處理策略以防止非法MAC地址遷移。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,該方法還包括若新學(xué)習(xí)到的MAC地址條 目與原MAC地址條目信息一致,則讀取下一條學(xué)習(xí)到的MAC地址條目。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,當(dāng)新學(xué)習(xí)到的MAC地址條目與原MAC地 址條目信息不一致時(shí),該方法還包括若原MAC地址條目不可以更新,則刪除新學(xué)習(xí)到的 MAC地址條目,并讀取下一條學(xué)習(xí)到的MAC地址條目。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,當(dāng)新學(xué)習(xí)到的MAC地址條目與原MAC地 址條目信息不一致時(shí),該方法包括當(dāng)原MAC地址條目可以更新,但不是永久化的MAC地址 條目時(shí),若新學(xué)習(xí)到的MAC地址條目對(duì)應(yīng)端口未開啟永久化功能,則進(jìn)行正常的MAC地址遷 移處理;若新學(xué)習(xí)到的MAC地址條目對(duì)應(yīng)端口已經(jīng)開啟永久化的功能,則將新學(xué)習(xí)到的MAC 地址條目轉(zhuǎn)化為永久化的MAC地址條目,并存入數(shù)據(jù)庫(kù),并用新學(xué)習(xí)到的MAC地址條目替換 原MAC地址條目下發(fā)到MAC轉(zhuǎn)發(fā)芯片中。
12.根據(jù)權(quán)利要求8至11任一項(xiàng)所述的方法,其特征在于,該方法還包括當(dāng)新學(xué)習(xí)到 的MAC地址條目在MAC地址表中不存在時(shí),判斷MAC地址條目中的信息進(jìn)行檢查是否通過(guò), 如果檢查通過(guò),則判斷該學(xué)習(xí)到的MAC地址條目對(duì)應(yīng)端口是否開啟了永久化功能,若開啟 永久化功能,則將該MAC地址條目轉(zhuǎn)化為永久化條目,并下發(fā)到MAC轉(zhuǎn)發(fā)芯片;若沒有開啟 永久化功能,則將該MAC地址條目以普通MAC地址條目形式下發(fā)到MAC轉(zhuǎn)發(fā)芯片;如果檢查 不通過(guò),則刪除該MAC地址條目并讀取下一條學(xué)習(xí)到的MAC地址條目。
全文摘要
本發(fā)明公開了一種防止非法MAC地址遷移的裝置及方法,當(dāng)新學(xué)習(xí)到的MAC地址條目在MAC表中已存在,若新的MAC地址條目與原MAC地址條目信息不一致,且當(dāng)原MAC地址條目為永久化的MAC地址條目時(shí),則不更新原MAC地址條目,并進(jìn)行非法MAC地址遷移的報(bào)警和信息統(tǒng)計(jì),并執(zhí)行相應(yīng)的處理策略。采用本發(fā)明所述的裝置及方法,能夠降低維護(hù)的成本,提高管理的靈活性,還可以使接入設(shè)備的MAC地址的正確學(xué)習(xí)得到保證,提高了系統(tǒng)運(yùn)行的可靠性。
文檔編號(hào)H04L29/06GK101800741SQ20101010281
公開日2010年8月11日 申請(qǐng)日期2010年1月25日 優(yōu)先權(quán)日2010年1月25日
發(fā)明者盛威 申請(qǐng)人:中興通訊股份有限公司