專利名稱:交換機(jī)端口控制方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及交換機(jī)控制技術(shù),尤其涉及一種交換機(jī)端口控制方法和裝置。
背景技術(shù):
交換機(jī)(Switch)是網(wǎng)絡(luò)中的常見設(shè)備,其具有多個端口,每個端口一般又可通過 下級的交換機(jī)或集線器(HUB)連接多個用戶的網(wǎng)絡(luò)設(shè)備。在實(shí)際網(wǎng)絡(luò)應(yīng)用中,每一臺網(wǎng)絡(luò) 設(shè)備都擁有一個全球唯一的媒體訪問控制(MediumAccess Control,簡稱MAC)地址,但是, 在交換機(jī)的使用過程中仍然存在MAC地址漂移(MAC Flapping)問題。所謂MAC地址漂移, 就是MAC地址發(fā)生了移動。當(dāng)某個源MAC地址的報文從交換機(jī)的一個端口接入時,交換機(jī) 就會學(xué)習(xí)到這個報文的MAC地址與端口的對應(yīng)關(guān)系,在這個MAC地址沒有老化前,又有相同 源MAC地址的報文從交換機(jī)的另外一個端口接入,也就是MAC地址從一個端口移動到了另 一個端口時,就發(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地址漂移的原因主要有兩方面,即用 戶側(cè)網(wǎng)絡(luò)形成環(huán)路和仿冒攻擊。當(dāng)某一用戶的網(wǎng)絡(luò)設(shè)備發(fā)送出一個報文,若報文經(jīng)過兩條 路徑發(fā)送到同一交換機(jī)的不同端口,則稱為用戶側(cè)網(wǎng)絡(luò)形成環(huán)路。所謂仿冒攻擊,即非法用 戶仿冒合法MAC地址,非法接入網(wǎng)絡(luò)的行為。現(xiàn)有技術(shù)通過克服MAC地址漂移問題的手段是將發(fā)生MAC地址漂移的端口進(jìn)行阻 斷或者上報告警。但是,發(fā)明人在進(jìn)行本發(fā)明的研究過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下缺陷 檢測到MAC地址漂移即阻斷端口,將導(dǎo)致該端口下其他用戶無法實(shí)現(xiàn)業(yè)務(wù),這些用戶和上 層網(wǎng)絡(luò)之間的業(yè)務(wù)都將中斷。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種交換機(jī)端口控制方法和裝置,以有效解決用戶側(cè)網(wǎng)絡(luò)成環(huán) 和仿冒攻擊的問題。本發(fā)明實(shí)施例提供了一種交換機(jī)端口控制方法,包括當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為 阻斷狀態(tài);監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的媒體訪問控制地址的個數(shù)以獲得阻斷個數(shù) 值;當(dāng)監(jiān)測到所述阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷所述端口,并將所述端口下的 媒體訪問控制地址的狀態(tài)均設(shè)置為正常狀態(tài)。本發(fā)明實(shí)施例還提供了一種交換機(jī)端口控制裝置,包括地址狀態(tài)機(jī),用于當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,將所述媒體訪問控制 地址的狀態(tài)設(shè)置為阻斷狀態(tài);阻斷監(jiān)測模塊,用于監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的媒體訪問控制地址的個數(shù)以獲得阻斷個數(shù)值;端口阻斷模塊,用于當(dāng)監(jiān)測到所述阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷所述端口, 并將所述端口下的媒體訪問控制地址的狀態(tài)均設(shè)置為正常狀態(tài)。本發(fā)明所提供的交換機(jī)端口控制方案,既解決了用戶側(cè)網(wǎng)絡(luò)成環(huán)問題,又解決了 仿冒攻擊問題,提高了實(shí)現(xiàn)用戶業(yè)務(wù)的可靠性,對網(wǎng)絡(luò)情況的適應(yīng)性強(qiáng),且能夠降低占用的 交換機(jī)控制資源。
圖1為仿冒攻擊的情況示意圖;圖2為用戶側(cè)網(wǎng)絡(luò)成環(huán)的情況示意圖;圖3為本發(fā)明實(shí)施例一提供的交換機(jī)端口控制方法的流程圖;圖4為本發(fā)明實(shí)施例二提供的交換機(jī)端口控制方法中狀態(tài)設(shè)置步驟的流程圖;圖5為本發(fā)明實(shí)施例三提供的交換機(jī)端口控制方法中狀態(tài)設(shè)置步驟的流程圖;圖6為本發(fā)明實(shí)施例三中地址狀態(tài)關(guān)系示意圖;圖7為本發(fā)明實(shí)施例四提供的交換機(jī)端口控制裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例 中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是 本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員 在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。實(shí)施例一圖3為本發(fā)明實(shí)施例一提供的交換機(jī)端口控制方法的流程圖,該方法可以由交換 機(jī)中的控制裝置來執(zhí)行,實(shí)現(xiàn)對各端口進(jìn)行控制,對于每一個端口所執(zhí)行的控制方法相同, 具體包括如下步驟步驟310、當(dāng)控制裝置監(jiān)測到MAC地址發(fā)生漂移時,將該MAC地址的狀態(tài)設(shè)置為阻 斷狀態(tài)。步驟320、控制裝置監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的MAC地址的個數(shù)以獲得阻 斷個數(shù)值。步驟330、當(dāng)控制裝置監(jiān)測到該端口中的阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷該端 口,并將該端口下的MAC地址的狀態(tài)均設(shè)置為正常狀態(tài)。本實(shí)施例中,將MAC地址的狀態(tài)設(shè)置為阻斷狀態(tài),即阻斷該MAC地址,可以采 用將阻斷狀態(tài)下的MAC地址下發(fā)至交換芯片表項中,使該MAC地址成為黑洞MAC地址 (BlackHole MAC Address)的方式,交換芯片在執(zhí)行轉(zhuǎn)發(fā)控制時,可以根據(jù)交換芯片表項中 的黑洞MAC地址進(jìn)行匹配,丟棄匹配到的報文。采用設(shè)置為黑洞MAC地址的方式,將學(xué)習(xí)到 該MAC地址的端口所屬的虛擬局域網(wǎng)(Virtual Local Area Network,簡稱VLAN)內(nèi)所有端 口采用該MAC地址作為源地址或目的地址的報文均丟棄,不再進(jìn)行處理,從而達(dá)到阻斷MAC 地址的效果。而該交換機(jī)上其他VLAN內(nèi)的端口不阻斷該MAC地址。阻斷端口即將該端口 要接收或發(fā)送的報文丟棄,不再使用該端口,具體可以通過設(shè)置寄存器來實(shí)現(xiàn)端口阻斷、阻斷端口后無需判斷該被阻斷的端口所收發(fā)報文的MAC地址是否被阻斷,而是控制該端口丟 棄所有收發(fā)的報文。具體應(yīng)用中,交換機(jī)中CPU可作為控制裝置對各端口進(jìn)行檢測和控制。當(dāng)發(fā)生MAC 地址漂移時,對應(yīng)的報文會攜帶著端口信息被上送至CPU處理,控制裝置由此監(jiān)測到MAC地 址是否漂移,以便更新MAC地址對應(yīng)的狀態(tài)。本實(shí)施例的技術(shù)方案,通過對每個端口中阻斷狀態(tài)MAC地址進(jìn)行數(shù)量統(tǒng)計,當(dāng)阻 斷MAC地址的數(shù)量達(dá)到一定閾值時,即將該端口整個阻斷。阻斷整個端口的同時,將該端口 下阻斷狀態(tài)的MAC地址恢復(fù)為正常狀態(tài),則在其他未阻斷端口中,該MAC地址被釋放,其報 文不再被丟棄。如圖1所示為仿冒攻擊的情況示意圖,圖中虛線箭頭表示仿冒攻擊流,實(shí)線箭頭 表示正常業(yè)務(wù)流,由圖1可知,交換機(jī)的端口一和端口 二處將發(fā)生MAC地址漂移,該MAC地 址將在端口一和端口二均被阻斷。采用上述技術(shù)方案,對于仿冒用戶進(jìn)行非法接入的情況, 同一個端口下出現(xiàn)多個MAC地址漂移的可能性不大,此時不會阻斷端口,只會阻斷MAC地 址。由于仿冒攻擊而產(chǎn)生的MAC地址漂移,只有攻擊者和被仿冒者才受到影響,減少了其他 正常用戶受影響的可能。如圖2所示為用戶側(cè)網(wǎng)絡(luò)成環(huán)的情況示意圖,多個用戶通過第一交換機(jī)和第二交 換機(jī)接入網(wǎng)絡(luò),此時第二交換機(jī)的同一個端口下若出現(xiàn)多于個數(shù)門限值的MAC地址漂移的 情況,則判斷為是由于用戶側(cè)網(wǎng)絡(luò)成環(huán)而引起的。所以,對于用戶側(cè)網(wǎng)絡(luò)成環(huán)產(chǎn)生的MAC地 址漂移,當(dāng)某個端口下阻斷的MAC地址數(shù)目達(dá)到某一閾值時就阻斷該端口,阻斷環(huán)路流量, 但該端口下被阻斷過的MAC地址被釋放,從另一路徑達(dá)到另一個端口的該MAC地址報文可 以被接收和發(fā)送,這樣就能解決用戶側(cè)網(wǎng)絡(luò)成環(huán)問題。因此,上述技術(shù)方案,既解決了用戶側(cè)網(wǎng)絡(luò)成環(huán)問題,又解決了仿冒攻擊問題,提 高了實(shí)現(xiàn)用戶業(yè)務(wù)的可靠性,對網(wǎng)絡(luò)情況的適應(yīng)性強(qiáng),且能夠降低占用的交換機(jī)控制資源。在本實(shí)施例的基礎(chǔ)上,當(dāng)存在靜態(tài)MAC地址時,不對應(yīng)靜態(tài)MAC地址的更新其狀 態(tài)。靜態(tài)MAC地址是由人手工設(shè)定的,指定了入端口和出端口,所以靜態(tài)MAC地址不會出現(xiàn) 用戶側(cè)成環(huán)的現(xiàn)象。對于靜態(tài)MAC地址,當(dāng)在非設(shè)定的其他端口獲取到包含該靜態(tài)MAC地 址的報文時,由于與人為設(shè)定端口不符,則丟棄該報文,所以靜態(tài)MAC地址不會因漂移而觸 發(fā)狀態(tài)變更。具體應(yīng)用中,當(dāng)監(jiān)測到MAC地址發(fā)生漂移時,將MAC地址的狀態(tài)設(shè)置為阻斷狀態(tài)的 方式可以為當(dāng)監(jiān)測到MAC地址發(fā)生漂移時,更新該MAC地址的阻斷計數(shù)值,并判斷該阻斷 計數(shù)值是否達(dá)到計數(shù)門限值,當(dāng)阻斷計數(shù)值達(dá)到計數(shù)門限值時,則將該MAC地址的狀態(tài)設(shè) 置為阻斷狀態(tài)。上述技術(shù)方案在MAC地址漂移次數(shù)達(dá)到設(shè)定數(shù)量時才進(jìn)行阻斷,避免由于調(diào)試、 配置等原因而將偶然產(chǎn)生的MAC地址漂移也一并阻斷。實(shí)施例二圖4為本發(fā)明實(shí)施例二提供的交換機(jī)端口控制方法中狀態(tài)設(shè)置步驟的流程圖,在 本實(shí)施例中,進(jìn)一步優(yōu)化了對MAC地址所對應(yīng)狀態(tài)的控制。MAC地址的狀態(tài)可以包括正常 (Normal)狀態(tài)、暫時阻斷(Tentative Block)狀態(tài)和阻斷(Block)狀態(tài)。其中,暫時阻斷 狀態(tài)和阻斷狀態(tài)都可以阻斷MAC地址,而阻斷狀態(tài)相對于暫時阻斷而言是一種永久阻斷狀態(tài)。具體地,正常狀態(tài)的MAC地址沒有發(fā)生MAC地址漂移,采用該MAC地址作為源地址和目 的地址的報文可以正常轉(zhuǎn)發(fā)。暫時阻斷狀態(tài)的MAC地址因MAC地址漂移而被阻斷,采用該 MAC地址作為源地址和目的地址的報文都將被丟棄。阻斷狀態(tài)的MAC地址因MAC地址漂移 次數(shù)累計達(dá)到允許的最大次數(shù)而被阻斷。則當(dāng)控制裝置監(jiān)測到MAC地址發(fā)生漂移時,將該MAC地址的狀態(tài)設(shè)置為阻斷狀態(tài) 的流程可以具體包括如下步驟步驟410、當(dāng)控制裝置監(jiān)測到MAC地址發(fā)生漂移時,更新該MAC地址的阻斷計數(shù)值。步驟420、控制裝置判斷阻斷計數(shù)值是否達(dá)到計數(shù)門限值,若否,則執(zhí)行步驟430, 若是,則控制裝置將該MAC地址的狀態(tài)設(shè)置為阻斷狀態(tài)。步驟430、控制裝置將MAC地址的狀態(tài)設(shè)置為暫時阻斷狀態(tài),啟動該MAC地址的阻 斷計時器并監(jiān)測阻斷計時器的計時值。步驟440、當(dāng)控制裝置監(jiān)測到處于暫時阻斷狀態(tài)的該MAC地址對應(yīng)的計時值達(dá)到 計時門限值時,將該MAC地址的狀態(tài)設(shè)置為正常狀態(tài)。此時可以將該阻斷計時器停止并清 零,也可以在該阻斷計時器下次啟動時清零。在本實(shí)施例中,每個MAC地址所對應(yīng)的狀態(tài)值、阻斷計數(shù)值、計時值都可以通過軟 件來實(shí)現(xiàn)??梢詫?yīng)每個MAC地址分配數(shù)個的數(shù)值位,成為一個對應(yīng)該MAC地址的節(jié)點(diǎn)。每 個數(shù)值位記錄一個值,由控制裝置對各個節(jié)點(diǎn)進(jìn)行更新。例如,控制裝置按照設(shè)定周期,例 如1秒,將每個啟動的阻斷計時器的計時值加一。當(dāng)已阻斷過的MAC地址恢復(fù)至正常狀態(tài) 時,其對應(yīng)的計時值清零,阻斷計時器停止運(yùn)行,即控制裝置不再周期性的增加阻斷計時器 的計時值。當(dāng)監(jiān)測到對阻斷計數(shù)值的更新時,即將阻斷計數(shù)值遞增加一,以記錄該MAC地址 被阻斷的次數(shù)。采用本實(shí)施例的技術(shù)方案,一方面,對于發(fā)生漂移的MAC地址,首先記為暫時阻斷 狀態(tài),計時門限值為預(yù)設(shè)MAC地址持續(xù)被阻斷的時間,在暫時阻斷狀態(tài)下由于MAC地址被阻 斷,所以不會接收報文而再次發(fā)生MAC地址漂移,因此,阻斷計時器不會在暫時阻斷狀態(tài)下 由于漂移而停止。在實(shí)際應(yīng)用中,由于調(diào)試、配置等原因,可能會發(fā)生MAC地址的暫時性漂 移,不必根據(jù)少量的漂移現(xiàn)象就永久阻斷MAC地址。另一方面,對于MAC地址的阻斷次數(shù)進(jìn) 行記錄,計數(shù)門限值為預(yù)設(shè)的MAC地址的最大暫時阻斷次數(shù)值,若某個MAC地址的阻斷次數(shù) 達(dá)到設(shè)定的計數(shù)門限值時,則將該MAC地址設(shè)為阻斷狀態(tài),不能再自動恢復(fù)為正常狀態(tài)。實(shí)施例三圖5為本發(fā)明實(shí)施例三提供的交換機(jī)端口控制方法中狀態(tài)設(shè)置步驟的流程圖,本 實(shí)施例以實(shí)施例二為基礎(chǔ),進(jìn)一步優(yōu)化MAC地址的狀態(tài)控制。本實(shí)施例中,MAC地址的狀態(tài) 包括四種正常狀態(tài)、暫時阻斷狀態(tài)、暫時撤銷(Retry)狀態(tài)和阻斷狀態(tài)。其中進(jìn)一步增加 的暫時撤銷狀態(tài),其對應(yīng)的MAC地址表示因MAC地址漂移而被阻斷過,但達(dá)到阻斷最大時間 后,暫時撤銷對此MAC地址的阻斷。在本實(shí)施例中,當(dāng)控制裝置監(jiān)測到處于暫時阻斷狀態(tài)的 MAC地址對應(yīng)的該阻斷計時器的計時值達(dá)到計時門限值時,將該漂移的MAC地址的狀態(tài)設(shè) 置為正常狀態(tài)的流程具體包括如下步驟步驟510、當(dāng)控制裝置監(jiān)測到處于暫時阻斷狀態(tài)的MAC地址對應(yīng)的該阻斷計時器 的計時值達(dá)到第一計時門限值時,將該MAC地址的狀態(tài)設(shè)置為暫時撤銷狀態(tài)。第一計時門限值是暫時阻斷狀態(tài)下MAC地址被阻斷的持續(xù)時間。
步驟520、當(dāng)控制裝置監(jiān)測到處于暫時撤銷狀態(tài)的MAC地址發(fā)生漂移時,更新該 MAC地址的阻斷計數(shù)值。步驟530、控制裝置判斷該阻斷計數(shù)值是否達(dá)到計數(shù)門限值,若否,則執(zhí)行步驟 討0,若是,將該MAC地址的狀態(tài)設(shè)置為阻斷狀態(tài)。步驟M0、控制裝置將該MAC地址的狀態(tài)設(shè)置為暫時阻斷狀態(tài),啟動阻斷計時器并 監(jiān)測計時值。啟動該阻斷計時器時將該阻斷計時器的計時值清零。步驟550、若該MAC地址在暫時撤銷狀態(tài)下沒有再次發(fā)生漂移,阻斷計時器繼續(xù)計 時,則當(dāng)控制裝置監(jiān)測到處于暫時撤銷狀態(tài)的該MAC地址對應(yīng)的計時值進(jìn)一步達(dá)到第二計 時門限值時,將該MAC地址的狀態(tài)設(shè)置為正常狀態(tài),將阻斷計數(shù)值清零。此時可以將該阻斷 計時器停止并清零,也可以在該阻斷計時器下次啟動時清零。第二計時門限值和第一計時 門限值之間的差值為暫時撤銷狀態(tài)持續(xù)的時間,第二計時門限值實(shí)際上為暫時阻斷狀態(tài)的 MAC地址可恢復(fù)至正常狀態(tài)的持續(xù)時間,本實(shí)施例中第二計時門限值大于第一計時門限值。在本實(shí)施例中,MAC地址對應(yīng)四種狀態(tài),狀態(tài)之間的關(guān)系如圖6所示。對于合法的 報文,控制裝置可以將該報文的MAC地址在地址狀態(tài)機(jī)中進(jìn)行地址控制。地址狀態(tài)機(jī)的狀 態(tài)計算過程具體如下在正常狀態(tài)下,若發(fā)生漂移,則將正常狀態(tài)轉(zhuǎn)換為暫時阻斷狀態(tài)。在暫時阻斷狀態(tài)下,若設(shè)定時間內(nèi)未再次發(fā)生漂移,則將暫時阻斷狀態(tài)轉(zhuǎn)換為暫 時撤銷狀態(tài),暫時撤銷狀態(tài)下的MAC地址對應(yīng)的報文被正常處理。在暫時撤銷狀態(tài)下,若監(jiān)測到MAC地址漂移,則將阻斷計數(shù)值加一,此時若阻斷計 數(shù)值未達(dá)到計數(shù)門限值,則將暫時撤銷狀態(tài)轉(zhuǎn)換為暫時阻斷狀態(tài),若設(shè)定時間內(nèi)沒有監(jiān)測 到MAC地址漂移,則恢復(fù)到正常狀態(tài),將阻斷計數(shù)值清零。在暫時撤銷狀態(tài)下,若由于發(fā)生漂移而使得阻斷計數(shù)值達(dá)到門限值,則將MAC地 址的狀態(tài)轉(zhuǎn)換為阻斷狀態(tài)。在暫時撤銷狀態(tài)下,若該MAC地址在阻斷計時器達(dá)到第二計時門限值前沒有再次 發(fā)生漂移,則恢復(fù)至正常狀態(tài)。在暫時阻斷狀態(tài)、暫時撤銷狀態(tài)和永久阻斷狀態(tài)下,都可以通過人工設(shè)定來將MAC 地址狀態(tài)恢復(fù)至正常狀態(tài)。設(shè)置四個狀態(tài),可以滿足用戶的使用需求,不必一發(fā)生MAC地址漂移就立刻設(shè)置 為永久阻斷狀態(tài)。在設(shè)備安裝、調(diào)試、網(wǎng)絡(luò)升級時發(fā)生MAC地址漂移的可能性較大,設(shè)置上 述四個狀態(tài),可以實(shí)現(xiàn)暫時阻斷,然后自動恢復(fù),無須人工干預(yù)。采用本發(fā)明實(shí)施例的技術(shù)方案,能有效處理各種原因產(chǎn)生的MAC地址漂移,有效 阻斷環(huán)路流量,拒絕攻擊訪問,且對正常業(yè)務(wù)的影響降低到最小。實(shí)施例四圖7為本發(fā)明實(shí)施例四提供的交換機(jī)端口控制裝置的結(jié)構(gòu)示意圖,該控制裝置可 以集成在交換機(jī)中,具體包括地址狀態(tài)機(jī)710、阻斷監(jiān)測模塊720和端口阻斷模塊730。其 中,地址狀態(tài)機(jī)710用于當(dāng)監(jiān)測到MAC地址發(fā)生漂移時,將該MAC地址的狀態(tài)設(shè)置為阻斷狀 態(tài)。阻斷監(jiān)測模塊720用于監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的MAC地址的個數(shù)以獲得阻斷 個數(shù)值。端口阻斷模塊730用于當(dāng)監(jiān)測到阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷該端口,并將 該端口下的MAC地址的狀態(tài)均設(shè)置為正常狀態(tài)。
可以對應(yīng)各個MAC地址分別設(shè)置阻斷計時器和阻斷計數(shù)器,地址狀態(tài)機(jī)通過監(jiān)測 漂移現(xiàn)象,以及阻斷計時器和阻斷計數(shù)器來進(jìn)行狀態(tài)控制。在本實(shí)施例中,該阻斷狀態(tài)相當(dāng)于一種永久的阻斷狀態(tài),MAC地址的狀態(tài)還可以進(jìn) 一步包括暫時阻斷狀態(tài)。該地址狀態(tài)機(jī)710具體包括阻斷計數(shù)模塊716、暫時阻斷模塊 711、正常模塊712和永久阻斷模塊713。其中,阻斷計數(shù)模塊716用于當(dāng)監(jiān)測到MAC地址 發(fā)生漂移時,更新MAC地址的阻斷計數(shù)值,并判斷阻斷計數(shù)值是否達(dá)到計數(shù)門限值。暫時阻 斷模塊711用于當(dāng)阻斷計數(shù)模塊716判斷阻斷計數(shù)值未達(dá)到計數(shù)門限值時,則將該MAC地 址的狀態(tài)設(shè)置為暫時阻斷狀態(tài),啟動該MAC地址的阻斷計時器并監(jiān)測計時值。永久阻斷模 塊713用于當(dāng)阻斷計數(shù)模塊716判斷阻斷計數(shù)值達(dá)到計數(shù)門限值時,則將MAC地址的狀態(tài) 設(shè)置為阻斷狀態(tài)。正常模塊712用于當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的該MAC地址對應(yīng)的計時 值達(dá)到計時門限值時,將該MAC地址的狀態(tài)設(shè)置為正常狀態(tài)。進(jìn)一步的,正常模塊712可以具體包括暫時撤銷模塊714和恢復(fù)正常模塊715。 其中,暫時撤銷模塊714用于當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的MAC地址對應(yīng)的阻斷計時器的 計時值達(dá)到第一計時門限值時,將該MAC地址的狀態(tài)設(shè)置為暫時撤銷狀態(tài)。恢復(fù)正常模塊 715用于當(dāng)監(jiān)測到處于暫時撤銷狀態(tài)的MAC地址對應(yīng)的阻斷計時器的計時值達(dá)到第二計時 門限值時,將該MAC地址的狀態(tài)設(shè)置為正常狀態(tài),本實(shí)施例中第二計時門限值大于第一計 時門限值。在暫時撤銷狀態(tài)下,若監(jiān)測到MAC地址漂移,則由觸發(fā)阻斷計數(shù)模塊716執(zhí)行相 應(yīng)的操作。本發(fā)明實(shí)施例所提供的交換機(jī)端口控制裝置可以執(zhí)行本發(fā)明的交換機(jī)端口控制 方法,具備相應(yīng)的功能模塊。采用上述技術(shù)方案,既解決了用戶側(cè)網(wǎng)絡(luò)成環(huán)問題,又解決了 仿冒攻擊問題,提高了實(shí)現(xiàn)用戶業(yè)務(wù)的可靠性,對網(wǎng)絡(luò)情況的適應(yīng)性強(qiáng),且能夠降低占用的 交換機(jī)控制資源。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述方法實(shí)施例的全部或部分步驟可以通過 程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序 在執(zhí)行時,執(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.一種交換機(jī)端口控制方法,其特征在于,包括當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為阻斷 狀態(tài);監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的媒體訪問控制地址的個數(shù)以獲得阻斷個數(shù)值;當(dāng)監(jiān)測到所述阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷所述端口,并將所述端口下的媒體 訪問控制地址的狀態(tài)均設(shè)置為正常狀態(tài)。
2.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂 移時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為阻斷狀態(tài)包括當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,更新所述媒體訪問控制地址的阻斷計數(shù)值, 并判斷所述阻斷計數(shù)值是否達(dá)到計數(shù)門限值,當(dāng)所述阻斷計數(shù)值達(dá)到計數(shù)門限值時,則將 所述媒體訪問控制地址的狀態(tài)設(shè)置為阻斷狀態(tài)。
3.根據(jù)權(quán)利要求2所述的控制方法,其特征在于,還包括當(dāng)所述阻斷計數(shù)值未達(dá)到計數(shù)門限值時,則將所述媒體訪問控制地址的狀態(tài)設(shè)置為暫 時阻斷狀態(tài),啟動所述媒體訪問控制地址的阻斷計時器并監(jiān)測計時值;當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述計時值達(dá)到計時門 限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為正常狀態(tài)。
4.根據(jù)權(quán)利要求3所述的控制方法,其特征在于,當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的所述 媒體訪問控制地址對應(yīng)的所述計時值達(dá)到計時門限值時,將所述媒體訪問控制地址的狀態(tài) 設(shè)置為正常狀態(tài)包括當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述計時值達(dá)到第一計 時門限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為暫時撤銷狀態(tài);當(dāng)監(jiān)測到處于暫時撤銷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述計時值達(dá)到第二計 時門限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為正常狀態(tài)。
5.根據(jù)權(quán)利要求1所述的控制方法,其特征在于,將所述媒體訪問控制地址的狀態(tài)設(shè) 置為阻斷狀態(tài)包括將所述媒體訪問控制地址下發(fā)至交換芯片表項成為黑洞媒體訪問控制地址。
6.一種交換機(jī)端口控制裝置,其特征在于,包括地址狀態(tài)機(jī),用于當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,將所述媒體訪問控制地址 的狀態(tài)設(shè)置為阻斷狀態(tài);阻斷監(jiān)測模塊,用于監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的媒體訪問控制地址的個數(shù)以獲 得阻斷個數(shù)值;端口阻斷模塊,用于當(dāng)監(jiān)測到所述阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷所述端口,并將 所述端口下的媒體訪問控制地址的狀態(tài)均設(shè)置為正常狀態(tài)。
7.根據(jù)權(quán)利要求6所述的控制裝置,其特征在于,所述地址狀態(tài)機(jī)包括阻斷計數(shù)模塊,用于當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,更新所述媒體訪問控制 地址的阻斷計數(shù)值,并判斷所述阻斷計數(shù)值是否達(dá)到計數(shù)門限值;暫時阻斷模塊,用于當(dāng)所述阻斷計數(shù)模塊判斷所述阻斷計數(shù)值未達(dá)到計數(shù)門限值時, 則將所述媒體訪問控制地址的狀態(tài)設(shè)置為暫時阻斷狀態(tài),啟動所述媒體訪問控制地址的阻 斷計時器并監(jiān)測計時值;永久阻斷模塊,用于當(dāng)所述阻斷計數(shù)模塊判斷所述阻斷計數(shù)值達(dá)到計數(shù)門限值時,則 將所述媒體訪問控制地址的狀態(tài)設(shè)置為阻斷狀態(tài);正常模塊,用于當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述計時 值達(dá)到計時門限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為正常狀態(tài)。
8.根據(jù)權(quán)利要求7所述的控制裝置,其特征在于,所述正常模塊包括 暫時撤銷模塊,用于當(dāng)監(jiān)測到處于暫時阻斷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述 計時值達(dá)到第一計時門限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為暫時撤銷狀態(tài);恢復(fù)正常模塊,用于當(dāng)監(jiān)測到處于暫時撤銷狀態(tài)的所述媒體訪問控制地址對應(yīng)的所述 計時值達(dá)到第二計時門限值時,將所述媒體訪問控制地址的狀態(tài)設(shè)置為正常狀態(tài)。
全文摘要
本發(fā)明實(shí)施例提供一種交換機(jī)端口控制方法和裝置。該方法包括當(dāng)監(jiān)測到媒體訪問控制地址發(fā)生漂移時,將媒體訪問控制地址的狀態(tài)設(shè)置為阻斷狀態(tài);監(jiān)測與端口對應(yīng)的處于阻斷狀態(tài)的媒體訪問控制地址的個數(shù)以獲得阻斷個數(shù)值;當(dāng)監(jiān)測到阻斷個數(shù)值達(dá)到個數(shù)門限值時,阻斷端口,并將端口下的媒體訪問控制地址的狀態(tài)均設(shè)置為正常狀態(tài)。本發(fā)明所提供的交換機(jī)端口控制方案,既解決了用戶側(cè)網(wǎng)絡(luò)成環(huán)問題,又解決了仿冒攻擊問題,提高了實(shí)現(xiàn)用戶業(yè)務(wù)的可靠性,對網(wǎng)絡(luò)情況的適應(yīng)性強(qiáng),且能夠降低占用的交換機(jī)控制資源。
文檔編號H04L29/06GK102136960SQ20101010406
公開日2011年7月27日 申請日期2010年1月27日 優(yōu)先權(quán)日2010年1月27日
發(fā)明者周道龍, 顧榮偉 申請人:華為技術(shù)有限公司