專利名稱:確定學(xué)習(xí)的mac地址有效性的方法、裝置及網(wǎng)關(guān)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信技術(shù)領(lǐng)域,尤其涉及一種確定學(xué)習(xí)的MAC地址有效性的方法、裝置及網(wǎng)關(guān)設(shè)備。
背景技術(shù):
介質(zhì)訪問(wèn)控制(MAC,Media Access Control)地址也稱為硬件地址,是識(shí)別局域網(wǎng)中網(wǎng)絡(luò)設(shè)備節(jié)點(diǎn)的標(biāo)識(shí),由48比特長(zhǎng)、16進(jìn)制的數(shù)字組成;在網(wǎng)絡(luò)底層的物理傳輸過(guò)程中,通過(guò)MAC地址可以實(shí)現(xiàn)不同網(wǎng)絡(luò)設(shè)備之間的通信。以太網(wǎng)是當(dāng)今現(xiàn)有局域網(wǎng)采用的最通用的通信協(xié)議標(biāo)準(zhǔn),以太網(wǎng)中進(jìn)行數(shù)據(jù)傳輸?shù)倪^(guò)程如下以太網(wǎng)交換機(jī)根據(jù)接收到的報(bào)文中攜帶的目標(biāo)物理地址(MAC地址)將報(bào)文轉(zhuǎn)發(fā)到特定端ロ ;為此,交換機(jī)必須記住對(duì)應(yīng)端ロ的物理地址信息,這個(gè)信息被存儲(chǔ)在MAC表 中,交換機(jī)通過(guò)MAC地址學(xué)習(xí)的方法來(lái)填充所述的MAC表。具體的,交換機(jī)在接收到報(bào)文之后,通過(guò)檢查所接收到的報(bào)文的MAC地址是否存在于MAC地址表中,如果MAC地址表中不存在報(bào)文中攜帶的MAC地址,則學(xué)習(xí)該MAC地址,創(chuàng)建一條MAC地址與端ロ互聯(lián)的記錄,并向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,同時(shí)學(xué)習(xí)到的每個(gè)MAC地址都具有生存時(shí)間(即MAC地址老化時(shí)間);在此種方式,如果在可配置的時(shí)間間隔內(nèi)交換機(jī)沒(méi)有接收到相應(yīng)的MAC地址,MAC表中的這條記錄將過(guò)期,從MAC表中刪除;當(dāng)MAC表已滿,則在MAC地址表老化之前將無(wú)法學(xué)習(xí)到MAC地址?,F(xiàn)有技術(shù)中,交換機(jī)對(duì)報(bào)文的轉(zhuǎn)發(fā)過(guò)程中,對(duì)報(bào)文的合法性有一個(gè)初步的檢查,例如報(bào)文的源MAC是否為非法MAC地址的檢查,非法MAC地址包括MAC地址全為O的地址、組播MAC地址或者廣播MAC地址的情況,報(bào)文的目的MAC地址是否為非法MAC地址的檢查等;若發(fā)現(xiàn)報(bào)文的源MAC地址或者目的MAC地址為非法地址時(shí),丟棄該報(bào)文;如果報(bào)文的源MAC地址或者目的MAC地址為合法MAC地址合法,交換機(jī)將學(xué)習(xí)該報(bào)文中攜帯的源MAC地址,并轉(zhuǎn)發(fā)接收到的報(bào)文。由于交換機(jī)對(duì)MAC地址合法的報(bào)文沒(méi)有進(jìn)行進(jìn)一歩的檢查,例如該報(bào)文是否為攻擊報(bào)文,這樣,使得非法用戶可以通過(guò)具有合法MAC地址的報(bào)文,占用正常的MAC地址表資源,導(dǎo)致MAC地址表溢出,使得合法用戶的報(bào)文轉(zhuǎn)發(fā)收到影響。在MAC地址溢出攻擊中,攻擊者利用以太網(wǎng)交換機(jī)MAC地址的源學(xué)習(xí)功能,使以太網(wǎng)交換機(jī)遭受大量的無(wú)效MAC地址的攻擊;例如,以無(wú)效的MAC地址進(jìn)行泛洪,導(dǎo)致MAC地址表被大量的無(wú)效MAC地址填滿,導(dǎo)致到達(dá)目的端口和來(lái)自未知地址的業(yè)務(wù)將被泛洪到以太網(wǎng)交換機(jī)的所有端ロ,從而引起網(wǎng)絡(luò)性能的明顯下降;另ー方面如果攻擊者保持無(wú)效的MAC地址的泛洪,最后交換機(jī)學(xué)習(xí)到的所有較早的合法MAC地址由于老化將過(guò)期,導(dǎo)致所有合法的業(yè)務(wù)將被淹沒(méi);從性能和安全這兩個(gè)角度來(lái)看,MAC地址溢出攻擊將會(huì)對(duì)網(wǎng)絡(luò)造成重大影響。針對(duì)上述情況,現(xiàn)有技術(shù)中存在以下幾種解決方案I)、當(dāng)MAC地址表容量達(dá)到ー定的閾值時(shí),關(guān)閉交換機(jī)的MAC地址學(xué)習(xí)能力;2)、限制單個(gè)端ロ的地址表容量,由于非法報(bào)文的攻擊一般是從某個(gè)固定的端ロ進(jìn)行攻擊,因此通過(guò)限制單個(gè)端ロ的地址表容量,防止一個(gè)端ロ進(jìn)來(lái)的攻擊源把MAC地址表占滿,保證合法報(bào)文的正常轉(zhuǎn)發(fā);3)、綁定MAC地址和端ロ的信任關(guān)系,通過(guò)判斷當(dāng)前學(xué)到的MAC地址是否為信任端ロ的地址,保證MAC地址學(xué)習(xí)的正確性,防止非法報(bào)文對(duì)MAC表的攻擊;4)、根據(jù)預(yù)先配置的MAC靜態(tài)地址表,檢查接收到的MAC地址的合法性。上述解決方案可以分為兩類第一類通過(guò)設(shè)置MAC表容量的閾值,動(dòng)態(tài)調(diào)整MAC地址表的學(xué)習(xí)能力和地址老化時(shí)間;第二類通過(guò)預(yù)先配置MAC地址表的關(guān)聯(lián)關(guān)系,防止非法報(bào)文對(duì)MAC表的攻擊;這兩種實(shí)現(xiàn)方式雖然可以一定程度上解決MAC地址表溢出的問(wèn)題,但是在實(shí)際的應(yīng)用中仍然存在一些問(wèn)題例如,如何合理設(shè)置MAC地址表容量閾值,使得既能防止MAC地址表溢出攻擊,又能保證合法報(bào)文的正常轉(zhuǎn)發(fā),以及如何合理配置靜態(tài)MAC地址表等問(wèn)題。因此,如何保證學(xué)習(xí)到的MAC地址的有效性,避免攻擊者通過(guò)非法報(bào)文攜帯合法MAC地址對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行MAC地址溢出攻擊,成為現(xiàn)有技術(shù)亟待解決的技術(shù)問(wèn)題之一。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種確定學(xué)習(xí)的MAC地址有效性的方法、裝置及網(wǎng)關(guān)設(shè)備,用以保證學(xué)習(xí)到的MAC地址的有效性,避免攻擊者通過(guò)非法報(bào)文通過(guò)合法MAC地址對(duì)網(wǎng)絡(luò)設(shè)備進(jìn)行MAC地址溢出攻擊。本發(fā)明實(shí)施例提供ー種MAC地址學(xué)習(xí)方法,包括介質(zhì)訪問(wèn)控制MAC地址學(xué)習(xí)單元獲得接收到的報(bào)文中攜帶的MAC地址信息;并將所述MAC地址信息添加至MAC地址表中;所述MAC地址學(xué)習(xí)単元向中央處理単元CPU發(fā)送MAC地址學(xué)習(xí)通告消息,所述MAC地址學(xué)習(xí)通告消息中攜帯有所述MAC地址信息;所述CPU查找地址解析協(xié)議ARP表是否存在所述MAC地址信息;所述CPU根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性。本發(fā)明實(shí)施例提供ー種MAC地址學(xué)習(xí)裝置,包括MAC地址學(xué)習(xí)単元和中央處理單元CPU,其中MAC地址學(xué)習(xí)単元,包括獲得子単元,用于獲得接收到的報(bào)文中攜帯的源介質(zhì)訪問(wèn)控制MAC地址信息;學(xué)習(xí)子單元,用于將所述MAC地址信息添加至MAC地址表中;發(fā)送子単元,用于向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,所述MAC地址學(xué)習(xí)通告消息中攜帯有所述MAC地址信息;所述CPU,用于查找地址解析協(xié)議ARP表是否存在所述MAC地址信息;并根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性。本發(fā)明實(shí)施例提供ー種網(wǎng)關(guān)設(shè)備,包括上述MAC地址學(xué)習(xí)裝置。本發(fā)明實(shí)施例提供的MAC地址學(xué)習(xí)方法、裝置和網(wǎng)關(guān)設(shè)備,當(dāng)網(wǎng)關(guān)設(shè)備的某一端ロ在接收到報(bào)文之后,MAC地址學(xué)習(xí)單元首先學(xué)習(xí)該報(bào)文中攜帯的MAC地址信息,井向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,其中攜帶有學(xué)習(xí)到的MAC地址信息,使得CPU通過(guò)查找MAC地址學(xué)習(xí)通告消息中攜帶的MAC地址信息是否存在于ARP表中確定學(xué)習(xí)到的MAC地址的有效性,避免MAC地址學(xué)習(xí)単元對(duì)不合法報(bào)文攜帯的無(wú)效MAC地址進(jìn)行學(xué)習(xí),防止攻擊者通過(guò)非法報(bào)文攜帯合法的MAC地址對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行MAC地址溢出攻擊。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫(xiě)的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
圖I為本發(fā)明實(shí)施例中,MAC地址學(xué)習(xí)方法的實(shí)施流程示意圖;圖2為本發(fā)明實(shí)施例中,報(bào)文轉(zhuǎn)發(fā)過(guò)程中,MAC地址學(xué)習(xí)流程示意圖;圖3為本發(fā)明實(shí)施例中,MAC地址學(xué)習(xí)裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了避免攻擊者通過(guò)非法報(bào)文攜帯合法MAC地址對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行MAC地址溢出攻擊,而使得網(wǎng)關(guān)設(shè)備學(xué)習(xí)到無(wú)效的MAC地址信息,保證學(xué)習(xí)到MAC地址的有效性,本發(fā)明實(shí) 施例提供了ー種確定學(xué)習(xí)的MAC地址有效性的方法、裝置及設(shè)備。發(fā)明人發(fā)現(xiàn),在以太網(wǎng)協(xié)議中規(guī)定,同一局域網(wǎng)中的一臺(tái)網(wǎng)絡(luò)設(shè)備要和另一臺(tái)網(wǎng)絡(luò)設(shè)備進(jìn)行通信,必須要知道目標(biāo)網(wǎng)絡(luò)設(shè)備的MAC地址。而在傳輸控制協(xié)議/因特網(wǎng)互聯(lián)協(xié)議(TCP/IP,Transmission Control Protocol/Internet Protocol)協(xié)議棧中,網(wǎng)絡(luò)層和傳輸層只關(guān)心目標(biāo)設(shè)備的IP地址。這就導(dǎo)致在以太網(wǎng)中使用IP協(xié)議時(shí),數(shù)據(jù)鏈路層的以太網(wǎng)協(xié)議接到上層IP協(xié)議提供的數(shù)據(jù)中,只包含目標(biāo)網(wǎng)絡(luò)設(shè)備的IP地址。因此,需要ー種方法,根據(jù)目標(biāo)網(wǎng)絡(luò)設(shè)備的IP地址,獲得其MAC地址。這就是地址解析協(xié)議(ARP,AddressResolution Protocol)要做的事情。ARP協(xié)議是一個(gè)位于TCP/IP協(xié)議棧中的底層協(xié)議,其作用是將IP地址轉(zhuǎn)換為相應(yīng)的MAC地址,為了實(shí)現(xiàn)IP地址到MAC地址的轉(zhuǎn)換,網(wǎng)關(guān)設(shè)備需要學(xué)習(xí)ARP表,ARP表中記錄了 IP地址和MAC地址的映射關(guān)系。具體的,ARP表學(xué)習(xí)機(jī)制如下網(wǎng)關(guān)設(shè)備在接收到報(bào)文之后,若確定當(dāng)前ARP表中不存在該報(bào)文中攜帯的IP地址與其對(duì)應(yīng)的MAC地址的映射關(guān)系時(shí),將向CPU發(fā)送ARP學(xué)習(xí)消息,該ARP學(xué)習(xí)消息中攜帶有接收到的報(bào)文中攜帯的IP地址,CPU向與網(wǎng)關(guān)設(shè)備各端ロ連接的其它網(wǎng)絡(luò)設(shè)備發(fā)送廣播消息,廣播消息中攜帯有該IP地址,其它網(wǎng)絡(luò)設(shè)備在接收到廣播消息后,確定其中攜帯的IP地址是否為自身的IP地址,如果是,則向網(wǎng)關(guān)設(shè)備返回應(yīng)答消息,在該應(yīng)答消息中攜帯有自身的MAC地址,這樣,網(wǎng)關(guān)設(shè)備建立接收到的報(bào)文中攜帶的IP地址及與該IP地址對(duì)應(yīng)的MAC地址之間的映射關(guān)系,并添加至自身存儲(chǔ)的ARP表中。由于目前已經(jīng)有多種方法防止非法報(bào)文對(duì)ARP表進(jìn)行攻擊,因此,能夠保證ARP表中數(shù)據(jù)的正確性。基于此,本發(fā)明實(shí)施例中,網(wǎng)關(guān)設(shè)備在進(jìn)行MAC地址學(xué)習(xí)吋,為了避免遭受MAC地址溢出攻擊,在接收到報(bào)文之后,首先學(xué)習(xí)該報(bào)文中攜帶的MAC地址信息,之后通過(guò)確定ARP表中是否存在學(xué)習(xí)到的MAC地址信息,如果存在,則說(shuō)明接收到的報(bào)文為合法報(bào)文,則可以確定該報(bào)文中攜帯的MAC地址信息為有效MAC地址信息,轉(zhuǎn)發(fā)接收到的報(bào)文;如果不存在,說(shuō)明接收到的報(bào)文為非法報(bào)文,該報(bào)文攜帯的MAC地址信息為無(wú)效MAC地址信息,需要?jiǎng)h除學(xué)習(xí)到的MAC地址信息,并丟棄接收到的報(bào)文。以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
實(shí)施例一基于上述分析,如圖I所示,為本發(fā)明實(shí)施例提供的MAC地址學(xué)習(xí)方法的實(shí)施流程示意圖,可以包括以下步驟SlOl、MAC地址學(xué)習(xí)單元獲得接收到的報(bào)文中攜帶的MAC地址信息;S102、MAC地址學(xué)習(xí)單元將獲得的MAC地址信息添加至MAC地址表中;具體實(shí)施時(shí),網(wǎng)關(guān)設(shè)備的某一端ロ在接收到報(bào)文之后,MAC地址學(xué)習(xí)單元提取該報(bào)文中攜帯的MAC地址信息,其中,該MAC地址信息可以為報(bào)文中攜帯的源MAC地址信息,并判斷報(bào)該MAC地址信息是否存在MAC地址表中,如果不存在,則學(xué)習(xí)該報(bào)文中攜帶的MAC地 址信息,即將該MAC地址信息添加到MAC表中。S103.MAC地址學(xué)習(xí)單元向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,該MAC地址學(xué)習(xí)通告中攜帯有學(xué)習(xí)到的MAC地址信息;S104、CPU查找ARP表是否存在該MAC地址信息;S105、CPU根據(jù)查找結(jié)果,確定學(xué)習(xí)到的MAC地址信息的有效性具體的,若ARP表中存在該MAC地址信息吋,CPU確定學(xué)習(xí)到的MAC地址信息有效,并指示接收到報(bào)文的端ロ轉(zhuǎn)發(fā)接收到的報(bào)文。這是因?yàn)?,如果ARP表中存在學(xué)習(xí)到的MAC地址,說(shuō)明攜帶該MAC地址的報(bào)文為合法報(bào)文,該MAC地址信息為有效MAC地址信息,因此,可以轉(zhuǎn)發(fā)接收到的報(bào)文。實(shí)施例ニ具體實(shí)施時(shí),若ARP表中不存在學(xué)習(xí)到的MAC地址時(shí),CPU可直接確定學(xué)習(xí)到的地
址信息無(wú)效。具體實(shí)施中,由于進(jìn)行ARP表學(xué)習(xí)和MAC地址學(xué)習(xí)時(shí),分別會(huì)向CPU發(fā)送ARP學(xué)習(xí)請(qǐng)求和MAC地址學(xué)習(xí)通告消息,但是,MAC地址學(xué)習(xí)通告消息和ARP學(xué)習(xí)請(qǐng)求到達(dá)CPU的先后順序不確定,若ARP學(xué)習(xí)請(qǐng)求先于MAC地址學(xué)習(xí)通告消息到達(dá)CPU,在這種情況下,如果當(dāng)前接收到的報(bào)文為合法報(bào)文,CPU將執(zhí)行ARP學(xué)習(xí)操作,這樣,可以保證ARP表中已經(jīng)存在相應(yīng)的MAC地址,此時(shí),當(dāng)MAC地址學(xué)習(xí)請(qǐng)求到達(dá)CPU之后,查找ARP表時(shí),能夠保證學(xué)習(xí)到的MAC地址存在于ARP表中,從而,CPU可以直接確定學(xué)習(xí)到的MAC地址信息為有效MAC地址信息;若MAC地址學(xué)習(xí)通告消息先于ARP學(xué)習(xí)請(qǐng)求到達(dá)CPU,在這種情況下,由于ARP學(xué)習(xí)請(qǐng)求還沒(méi)有到達(dá)CPU,因此,ARP表中沒(méi)有相應(yīng)的MAC地址信息,此時(shí),如果直接確定學(xué)習(xí)到的MAC地址信息無(wú)效,將產(chǎn)生由于ARP學(xué)習(xí)請(qǐng)求消息滯后而引起判斷結(jié)果錯(cuò)誤的問(wèn)題,SP將有效MAC地址信息作為無(wú)效MAC地址信息進(jìn)行處理。較佳地,為了避免上述問(wèn)題,本發(fā)明實(shí)施例中,采用延時(shí)判斷的方法,即若判斷出學(xué)習(xí)到的MAC地址信息不存在于ARP表中吋,CPU延時(shí)一定時(shí)長(zhǎng)后再次執(zhí)行一次查找操作,延時(shí)時(shí)長(zhǎng)可以根據(jù)實(shí)際需要確定,例如可以設(shè)置為50ms,具體實(shí)施時(shí),一般控制在IOOms以下。從而,本發(fā)明實(shí)施例提供的確定學(xué)習(xí)的MAC地址有效性的方法,還可以包括以下步驟步驟一、若ARP表中不存在學(xué)習(xí)到的MAC地址信息,CPU等待第一預(yù)設(shè)時(shí)長(zhǎng)后,再次查找ARP表中是否存在MAC地址學(xué)習(xí)單元學(xué)習(xí)到的MAC地址信息;步驟ニ、若等待第一預(yù)設(shè)時(shí)長(zhǎng)后,ARP表中存在學(xué)習(xí)到的MAC地址信息時(shí),確定學(xué)習(xí)到的MAC地址信息有效,并指示相應(yīng)端ロ轉(zhuǎn)發(fā)接收到的報(bào)文。步驟三、若在等待第一預(yù)設(shè)時(shí)長(zhǎng)后,ARP表中仍然不存在學(xué)習(xí)到的MAC地址信息吋,則確定學(xué)習(xí)到的MAC地址信息無(wú)效,這種情況下,需要從MAC地址表中刪除學(xué)習(xí)到的MAC地址信息,并指示相應(yīng)端ロ丟棄接收到的報(bào)文。這樣,能夠避免無(wú)效地址信息占用MAC地址表容量,導(dǎo)致MAC地址表溢出。為了更好地理解本發(fā)明實(shí)施例,以下對(duì)報(bào)文轉(zhuǎn)發(fā)過(guò)程中,網(wǎng)關(guān)設(shè)備學(xué)習(xí)MAC地址的流程進(jìn)行詳細(xì)說(shuō)明,如圖2所示,可以包括以下步驟S201、網(wǎng)關(guān)設(shè)備某一端ロ接收到報(bào)文,MAC地址學(xué)習(xí)單元獲得該報(bào)文中攜帶的MAC地址信息;
S202.MAC地址學(xué)習(xí)單元學(xué)習(xí)該報(bào)文中攜帶的MAC地址信息;具體的,在學(xué)習(xí)MAC地址信息之前,可以先判斷該MAC地址信息是否存在于MAC地址表中,如果不存在,執(zhí)行MAC地址學(xué)習(xí)操作,將該報(bào)文中攜帶的MAC地址信息添加至MAC地址表中。S203.MAC地址學(xué)習(xí)單元向CPU發(fā)送MAC地址學(xué)習(xí)通告消息;具體的,在將接收到的報(bào)文中攜帶的MAC地址添加至MAC地址表中之后,MAC地址學(xué)習(xí)單元向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,在該MAC地址學(xué)習(xí)通告消息中攜帯有學(xué)習(xí)到的MAC地址信息;S204、CPU 查找 ARP 表;S205、CPU判斷ARP表中是否存在學(xué)習(xí)到的MAC地址信息,如果是,執(zhí)行步驟S206,否則,執(zhí)行步驟S207 ;S206、確定學(xué)習(xí)到的MAC地址信息有效,流程結(jié)束;具體實(shí)施吋,CPU在確定學(xué)習(xí)到的MAC地址信息有效之后,可以指示接收到報(bào)文的端ロ轉(zhuǎn)發(fā)該報(bào)文。S207、等待預(yù)設(shè)時(shí)長(zhǎng);S208、再次判斷ARP表中是否存在學(xué)習(xí)到的MAC地址信息,如果是,執(zhí)行步驟S206,否則,執(zhí)行步驟S209 ;S209、CPU確定學(xué)習(xí)到的MAC地址信息無(wú)效;S210、CPU刪除MAC地址表中學(xué)習(xí)到的該MAC地址信息,并指示接收到報(bào)文的端ロ丟棄接收到的報(bào)文。具體實(shí)施時(shí),可能有多個(gè)端ロ同時(shí)向CPU發(fā)送ARP學(xué)習(xí)請(qǐng)求,這樣,CPU可以在處理完成所有端ロ發(fā)送的ARP學(xué)習(xí)請(qǐng)求之后,再對(duì)ARP表進(jìn)行更新。也可以在處理完成任一端ロ發(fā)送的ARP學(xué)習(xí)請(qǐng)求之后,即對(duì)ARP表進(jìn)行更新,本發(fā)明對(duì)此不作限定。本發(fā)明實(shí)施例中,由于網(wǎng)關(guān)設(shè)備上已經(jīng)存在多種方法來(lái)避免非法報(bào)文對(duì)ARP表進(jìn)行攻擊的處理,因此,能夠保證ARP表中數(shù)據(jù)的準(zhǔn)確性,這樣,在進(jìn)行MAC地址學(xué)習(xí)時(shí),通過(guò)確定學(xué)習(xí)到的MAC地址是否存在于ARP表中,來(lái)確定學(xué)習(xí)到的MAC地址是否為合法報(bào)文攜帶的MAC地址,從而,能夠保證學(xué)習(xí)到的MAC地址的有效性,防止攻擊者通過(guò)非法報(bào)文攜帯合法MAC地址對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行MAC地址溢出攻擊,避免由于MAC地址表被無(wú)效MAC地址沾滿而導(dǎo)致的網(wǎng)絡(luò)性能下降,保證了合法報(bào)文的正常轉(zhuǎn)發(fā)?;谕话l(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了一種確定學(xué)習(xí)的MAC地址有效性的裝置及網(wǎng)關(guān)設(shè)備,由于該裝置及設(shè)備解決問(wèn)題的原理與學(xué)習(xí)的MAC地址有效性的方法相似,因此該裝置及設(shè)備的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再贅述。
如圖3所示,為本發(fā)明實(shí)施例中,確定學(xué)習(xí)的MAC地址有效性的裝置的結(jié)構(gòu)示意圖,包括MAC地址學(xué)習(xí)單元301和CPU 302 (中央處理單元),其中MAC地址學(xué)習(xí)単元301,包括獲得子単元3011,用于獲得接收到的報(bào)文中攜帯的MAC地址信息;學(xué)習(xí)子單元3012,用于將該MAC地址信息添加至MAC地址表中;發(fā)送子単元3013,用于向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,該MAC地址學(xué)習(xí)通告消息中攜帯有該MAC地址信息;CPU 302,用于查找地址解析協(xié)議ARP表是否存在所述MAC地址信息;并根據(jù)查找結(jié)果,確定學(xué)習(xí)到的MAC地址信息的有效性。具體實(shí)施時(shí),學(xué)習(xí)子單元3012將MAC地址信息添加至MAC地址表中之前,可以先確定該MAC地址信息不存在于MAC地址表。具體實(shí)施時(shí),CPU 302可以用于在ARP表中存在學(xué)習(xí)到的MAC地址信息時(shí),確定學(xué) 習(xí)到的MAC地址信息有效。具體實(shí)施時(shí),CPU 302,還可以用于在所述ARP表中不存在所述MAC地址信息時(shí),確定所述MAC地址信息無(wú)效;或者在ARP表中不存在該MAC地址信息吋,等待第一預(yù)設(shè)時(shí)長(zhǎng)后,再次查找ARP表中是否存在該MAC地址信息;以及在等待第一預(yù)設(shè)時(shí)長(zhǎng)后,ARP表中存在該MAC地址信息吋,確定該MAC地址信息有效。具體實(shí)施吋,CPU302還可以用于在等待第一預(yù)設(shè)時(shí)長(zhǎng)后,ARP表中仍然不存在該MAC地址信息時(shí),確定該MAC地址信息無(wú)效。具體實(shí)施時(shí),CPU 302,還可以用于在確定該MAC地址無(wú)效后,從MAC地址表中刪除該MAC地址信息。具體實(shí)施時(shí),上述確定學(xué)習(xí)的MAC地址有效性的裝置可以設(shè)置在網(wǎng)關(guān)設(shè)備中,例如三層交換機(jī)中,當(dāng)然也可以設(shè)置在新增設(shè)備中,本發(fā)明對(duì)此不作限定。本發(fā)明實(shí)施例提供的MAC地址學(xué)習(xí)方法、裝置和網(wǎng)關(guān)設(shè)備,當(dāng)網(wǎng)關(guān)設(shè)備的某一端ロ在接收到報(bào)文之后,MAC地址學(xué)習(xí)單元首先學(xué)習(xí)該報(bào)文中攜帯的MAC地址信息,井向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,其中攜帶有學(xué)習(xí)到的MAC地址信息,使得CPU通過(guò)查找MAC地址學(xué)習(xí)通告消息中攜帶的MAC地址信息是否存在于ARP表中確定學(xué)習(xí)到的MAC地址的有效性,避免MAC地址學(xué)習(xí)単元對(duì)不合法報(bào)文攜帯的無(wú)效MAC地址進(jìn)行學(xué)習(xí),防止攻擊者通過(guò)非法報(bào)文攜帯合法的MAC地址對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行MAC地址溢出攻擊。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每ー流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生ー個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖ー個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖ー個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu) 選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種確定學(xué)習(xí)的MAC地址有效性的方法,其特征在于,包括 介質(zhì)訪問(wèn)控制MAC地址學(xué)習(xí)單元獲得接收到的報(bào)文中攜帯的MAC地址信息;并 將所述MAC地址信息添加至MAC地址表中; 所述MAC地址學(xué)習(xí)単元向中央處理單元CPU發(fā)送MAC地址學(xué)習(xí)通告消息,所述MAC地址學(xué)習(xí)通告消息中攜帯有所述MAC地址信息; 所述CPU查找地址解析協(xié)議ARP表是否存在所述MAC地址信息; 所述CPU根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性。
2.如權(quán)利要求I所述的方法,其特征在于,所述CPU根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性,具體包括 若所述ARP表中存在所述MAC地址信息時(shí),所述CPU確定所述MAC地址信息有效。
3.如權(quán)利要求I所述的方法,其特征在于,所述CPU根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性,具體包括 若所述ARP表中不存在所述MAC地址信息,所述CPU確定所述MAC地址信息無(wú)效;或者 若所述ARP表中不存在所述MAC地址信息,所述CPU等待第一預(yù)設(shè)時(shí)長(zhǎng)后,再次查找所述ARP表中是否存在所述MAC地址信息;以及若等待第一預(yù)設(shè)時(shí)長(zhǎng)后,所述ARP表中存在所述MAC地址信息時(shí),所述CPU確定所述MAC地址信息有效。
4.如權(quán)利要求3所述的方法,其特征在于,還包括 若等待第一預(yù)設(shè)時(shí)長(zhǎng)后,所述ARP表中仍然不存在所述MAC地址信息時(shí),所述CPU確定所述MAC地址信息無(wú)效。
5.如權(quán)利要求4所述的方法,其特征在于,還包括 所述CPU確定所述MAC地址信息無(wú)效后,從MAC地址表中刪除所述MAC地址信息。
6.一種確定學(xué)習(xí)的MAC地址有效性的裝置,其特征在于,包括MAC地址學(xué)習(xí)単元和中央處理單元CPU,其中 MAC地址學(xué)習(xí)単元,包括獲得子単元,用于獲得接收到的報(bào)文中攜帯的源介質(zhì)訪問(wèn)控制MAC地址信息;學(xué)習(xí)子單元,用于將所述MAC地址信息添加至MAC地址表中;發(fā)送子単元,用于向CPU發(fā)送MAC地址學(xué)習(xí)通告消息,所述MAC地址學(xué)習(xí)通告消息中攜帯有所述MAC地址信息; 所述CPU,用于查找地址解析協(xié)議ARP表是否存在所述MAC地址信息;并根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性。
7.如權(quán)利要求6所述的裝置,其特征在干, 所述CPU,具體用于在所述ARP表中存在所述MAC地址信息時(shí),確定所述MAC地址信息有效。
8.如權(quán)利要求6所述的裝置,其特征在干, 所述CPU,具體用于在所述ARP表中不存在所述MAC地址信息時(shí),確定所述MAC地址信息無(wú)效;或者在所述ARP表中不存在所述MAC地址信息吋,等待第一預(yù)設(shè)時(shí)長(zhǎng)之后,再次查找所述ARP表中是否存在所述MAC地址信息,若所述ARP表中存在所述MAC地址信息時(shí),確定所述MAC地址信息有效。
9.如權(quán)利要求8所述的裝置,其特征在干, 所述CPU,還用于在等待第一預(yù)設(shè)時(shí)長(zhǎng)后,所述ARP表中仍然不存在所述MAC地址信息時(shí),確定所述MAC地址信息無(wú)效。
10.如權(quán)利要求9所述的裝置,其特征在干, 所述CPU,還用于在確定所述MAC地址信息無(wú)效后,從MAC地址表中刪除所述MAC地址信息。
11.ー種網(wǎng)關(guān)設(shè)備,其特征在于,包括權(quán)利要求6至權(quán)利要求10任ー權(quán)利要求所述的裝置。
全文摘要
本發(fā)明公開(kāi)了一種確定學(xué)習(xí)的MAC地址有效性的方法、裝置及網(wǎng)關(guān)設(shè)備,用以保證學(xué)習(xí)到的MAC地址的有效性。其中,確定學(xué)習(xí)的MAC地址有效性的方法,包括MAC地址學(xué)習(xí)單元獲得接收到的報(bào)文中攜帶的源介質(zhì)訪問(wèn)控制MAC地址信息;并將所述MAC地址信息添加至MAC地址表中;MAC地址學(xué)習(xí)單元向中央處理單元CPU發(fā)送MAC地址學(xué)習(xí)通告消息,所述MAC地址學(xué)習(xí)通告消息中攜帶有所述MAC地址信息;所述CPU查找地址解析協(xié)議ARP表是否存在所述MAC地址信息;所述CPU根據(jù)查找結(jié)果,確定所述MAC地址信息的有效性。
文檔編號(hào)H04L29/12GK102694876SQ201210143970
公開(kāi)日2012年9月26日 申請(qǐng)日期2012年5月10日 優(yōu)先權(quán)日2012年5月10日
發(fā)明者張文升, 王志, 白小鵬 申請(qǐng)人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司