專利名稱:實現(xiàn)網(wǎng)關(guān)Mac綁定的方法、組件、網(wǎng)關(guān)和二層交換機的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種實現(xiàn)網(wǎng)關(guān)Mac綁定的方法、組件、網(wǎng)關(guān)和二層交換機。
背景技術(shù):
隨著網(wǎng)絡(luò)通信的普及和發(fā)展,通過網(wǎng)絡(luò)進(jìn)行信息的交互、共享已經(jīng)成為個人、企業(yè)乃至大型組織團(tuán)體日常通信的基本手段。因此,作為基礎(chǔ)的網(wǎng)絡(luò)設(shè)備,交換機是否能夠?qū)崿F(xiàn)網(wǎng)絡(luò)報文的正確轉(zhuǎn)發(fā),直接關(guān)系到網(wǎng)絡(luò)的正常運行,與使用者的工作、生活和娛樂息息相關(guān)。
就虛擬局域網(wǎng)(Virtual Local Area Network,簡稱VLAN)的網(wǎng)絡(luò)報文轉(zhuǎn)發(fā)過程而言,無論是二層交換機還是三層交換機,報文數(shù)據(jù)包的轉(zhuǎn)發(fā)都要根據(jù)交換機中的Mac地址表來進(jìn)行。如圖1所示,為一典型的二三層交換組網(wǎng)示意圖,其中,交換機(Switch)A是一個三層交換設(shè)備,其內(nèi)部提供進(jìn)入VLAN 1的邏輯接口“interface vlan 1”(也稱為三層虛接口),是VLAN 1中主機(Host)A、B、C的網(wǎng)關(guān),其IP地址為1.1.1.1,Mac地址為0-0-1;同時,Host A、B和C通過二層交換機Switch B連接。在進(jìn)行網(wǎng)絡(luò)報文發(fā)送時,Switch A就是Host A、B和C的網(wǎng)關(guān);Host A、B和C首先將發(fā)送到網(wǎng)關(guān)1.1.1.1的IP報文封裝為二層的以太網(wǎng)報文,目的Mac地址為網(wǎng)關(guān)Mac地址0-0-1;該報文發(fā)送到二層交換機Switch B后,Switch B查詢自己的Mac地址表,找到0-0-1這個目的Mac地址對應(yīng)的出端口是Port 1,繼而將報文從Port 1發(fā)送出去,完成正確轉(zhuǎn)發(fā)。在此過程中,之所以Switch B的Mac地址表中0-0-1對應(yīng)出端口Port 1,是因為Switch B作為交換機,具有“學(xué)習(xí)”Mac地址的能力,并能夠把“學(xué)習(xí)”到的Mac地址存放在內(nèi)部地址表中,具體過程為當(dāng)Switch B從端口Port 1接收到了源Mac為0-0-1的二層以太網(wǎng)報文,就能夠動態(tài)“學(xué)習(xí)”并建立端口Port 1與該Mac地址的對應(yīng)關(guān)系。但同樣的,如果SwitchB再從端口Port4接收到了源Mac是0-0-1的二層以太網(wǎng)報文,由于SwitchB無從識別該報文是否由網(wǎng)關(guān)或者與網(wǎng)關(guān)相連接的交換機發(fā)出,因此會刷新端口與Mac地址的對應(yīng)關(guān)系,將Mac地址0-0-1“學(xué)習(xí)”到Port4上面。由于從端口Port 4接收到的報文是由Host C而非Switch A發(fā)出的,這種端口的刷新將導(dǎo)致Switch B將其它主機想要發(fā)送到網(wǎng)關(guān)的報文全部從端口Port4轉(zhuǎn)發(fā)出去,不能夠真正的到達(dá)網(wǎng)關(guān)Switch A,從而導(dǎo)致網(wǎng)絡(luò)中斷。
在兩個網(wǎng)關(guān),包括三層交換機/路由器,直連的時候,也存在這種偽裝網(wǎng)關(guān)Mac進(jìn)行網(wǎng)絡(luò)攻擊的情況。
可以看出,網(wǎng)絡(luò)設(shè)備之間的連接,無論是二層交換機和網(wǎng)關(guān)的連接,還是網(wǎng)關(guān)之間的連接,要保證報文正確的轉(zhuǎn)發(fā),都需要滿足以下兩個條件學(xué)習(xí)到的網(wǎng)關(guān)Mac地址正確;以及網(wǎng)絡(luò)設(shè)備對應(yīng)該Mac地址的出端口正確,即網(wǎng)關(guān)Mac地址與出端口的綁定關(guān)系正確。
針對前一條件的攻擊,一般是發(fā)送錯誤的ARP信息,由于目前已經(jīng)有完善的ARP解決方案,在此不進(jìn)行討論;針對后一條件的攻擊,只需要從該網(wǎng)絡(luò)設(shè)備所在VLAN內(nèi)的另外一個端口發(fā)送源Mac地址為0-0-1的報文,那么網(wǎng)絡(luò)設(shè)備就會把網(wǎng)關(guān)Mac地址學(xué)習(xí)到錯誤的端口上,從而后續(xù)的數(shù)據(jù)包也將被轉(zhuǎn)發(fā)到該錯誤端口,達(dá)到攻擊的目的。
顯然,上述偽裝網(wǎng)關(guān)Mac進(jìn)行網(wǎng)絡(luò)攻擊的行為非常容易實施,在實際網(wǎng)絡(luò)中也經(jīng)常發(fā)生,目前業(yè)界一般通過手工靜態(tài)綁定Mac來解決這個問題,包括在網(wǎng)絡(luò)設(shè)備(如交換機)的地址表中設(shè)置對應(yīng)關(guān)系的屬性選項,當(dāng)一對應(yīng)關(guān)系的屬性選項為“Learned”的時候,該對應(yīng)關(guān)系可隨時被“學(xué)習(xí)”的結(jié)果刷新;而對于網(wǎng)絡(luò)管理員手工配置的Mac和端口,其對應(yīng)關(guān)系的屬性選項為“Static”,不會被“學(xué)習(xí)”的結(jié)果刷新;相應(yīng)的,在確定網(wǎng)關(guān)的Mac地址和出口端之后,需要手動在每一臺網(wǎng)絡(luò)設(shè)備(如交換機)中配置該Mac地址和出口端的對應(yīng)關(guān)系,其屬性是Static屬性;這樣,即使從其他端口接收到源Mac為0-0-1的報文,網(wǎng)絡(luò)設(shè)備(如交換機)在匹配到該對應(yīng)關(guān)系已被靜態(tài)綁定之后,也不會將網(wǎng)關(guān)Mac地址學(xué)習(xí)到端口Port 4,從而可達(dá)到防攻擊的目的。
但是這種設(shè)置靜態(tài)Mac的方案存在以下缺陷1、為了設(shè)置靜態(tài)Mac,必須先手動獲取網(wǎng)關(guān)Mac地址,再逐一對網(wǎng)絡(luò)設(shè)備如交換機進(jìn)行配置比較麻煩;2、由于遷移等原因,可能導(dǎo)致網(wǎng)絡(luò)設(shè)備如交換機所連接的網(wǎng)關(guān)發(fā)生變化,這就需要在網(wǎng)絡(luò)設(shè)備中手動調(diào)整;因此在實際的組網(wǎng)應(yīng)用中,會存在大量的靜態(tài)Mac的配置和刪除工作;3、網(wǎng)關(guān)和網(wǎng)關(guān),以及網(wǎng)關(guān)和交換機之間的物理距離可能相隔較遠(yuǎn),因此手工分別配置十分不方便。
發(fā)明內(nèi)容
本發(fā)明的目的在于,針對上述現(xiàn)有技術(shù)中的缺陷,提供一種實現(xiàn)網(wǎng)關(guān)Mac綁定的技術(shù)方案,從而有效防止偽裝網(wǎng)關(guān)Mac攻擊網(wǎng)絡(luò)的行為。
為實現(xiàn)上述目的,本發(fā)明的實施例提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,包括以下步驟當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;當(dāng)一網(wǎng)絡(luò)設(shè)備接收到一第一/第二指定格式報文時,檢測接收到所述第一/第二指定格式報文的端口是否為已激活綁定權(quán)限的端口;是則,所述網(wǎng)絡(luò)設(shè)備自動綁定/解綁定所述端口與所述第一/第二指定格式報文標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
本發(fā)明的實施例還提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,包括Mac發(fā)送裝置,用于指令網(wǎng)關(guān)已激活綁定權(quán)限的端口發(fā)送標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文;Mac綁定裝置,用于檢測網(wǎng)絡(luò)設(shè)備接收到第一/第二指定格式報文的端口是否已激活綁定權(quán)限;以及,在該端口為已激活綁定權(quán)限端口的情況下,指令綁定/解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
本發(fā)明的實施例還提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的網(wǎng)關(guān),所述網(wǎng)關(guān)中設(shè)有本發(fā)明實施例所提供的Mac發(fā)送裝置,所述網(wǎng)關(guān)包括三層交換機和路由器。
本發(fā)明的實施例還提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的二層交換機,所述二層交換機中設(shè)有本發(fā)明實施例所提供的Mac綁定裝置。
由上述技術(shù)方案可知,本發(fā)明根據(jù)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)區(qū)分網(wǎng)絡(luò)設(shè)備端口屬性,采用針對激活綁定權(quán)限的端口自動綁定網(wǎng)關(guān)Mac地址與端口對應(yīng)關(guān)系的方案,具有以下有益效果1、有效防止了偽裝網(wǎng)關(guān)Mac攻擊網(wǎng)絡(luò)的行為;2、避免了大量的手工配置工作,降低了實現(xiàn)網(wǎng)關(guān)Mac地址綁定的復(fù)雜度。
下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。
圖1為現(xiàn)有技術(shù)中一典型的二三層交換組網(wǎng)示意圖;圖2為本發(fā)明提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法一較佳實施例的流程圖;圖3為圖2所示實施例中,交換機自動綁定/解綁定端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系的實施例1的流程圖;圖4為圖2所示實施例中,交換機自動綁定/解綁定端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系的實施例2的流程圖;圖5為本發(fā)明提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法一具體實施例中,所采用的VLAN的示意圖;圖6為本發(fā)明提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的組件一實施例的示意圖。
具體實施例方式
為了克服現(xiàn)有網(wǎng)關(guān)Mac靜態(tài)綁定技術(shù)中所存在的操作復(fù)雜問題,本發(fā)明提供一種實現(xiàn)網(wǎng)關(guān)Mac綁定的技術(shù)方案,下面將進(jìn)行詳細(xì)說明。
首先,本發(fā)明提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,基于以下兩個方面考慮一方面,由于網(wǎng)絡(luò)設(shè)備如二/三層交換機和路由器都是由VLAN網(wǎng)絡(luò)維護(hù)者進(jìn)行維護(hù)的,不可能主動發(fā)起網(wǎng)絡(luò)攻擊行為,因此其發(fā)送的信息可靠;另一方面,合法的網(wǎng)關(guān)Mac地址傳輸路徑都是從網(wǎng)絡(luò)設(shè)備再到終端,因此,僅開放網(wǎng)絡(luò)設(shè)備之間相連接端口的綁定權(quán)限時,就為保證交換機不被Host發(fā)出的偽裝報文所迷惑提供了前提條件,因此通過執(zhí)行以下步驟即可實現(xiàn)網(wǎng)關(guān)Mac地址與端口的正確綁定當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;當(dāng)一網(wǎng)絡(luò)設(shè)備接收到一標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文時,檢測接收到所述第一/第二指定格式報文的端口是否為已激活綁定權(quán)限的端口;是則,所述交換機自動綁定/解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。上述步驟不僅適用于二層/三層交換機,也適用于路由器等基于Mac端口轉(zhuǎn)發(fā)報文的網(wǎng)絡(luò)設(shè)備。
其中,可以進(jìn)一步設(shè)置所述綁定權(quán)限被激活的端口支持對標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文的識別,則通過檢測是否能夠識別出第一/第二指定格式報文即可完成對端口是否激活綁定權(quán)限的識別。
由于在任一次網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化時,網(wǎng)絡(luò)設(shè)備全部的端口的設(shè)置都將清零,因此,網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)變化前端口綁定權(quán)限的激活情況不會對變化后的網(wǎng)絡(luò)設(shè)備產(chǎn)生影響。
如圖2所示,為本發(fā)明所提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法一較佳實施例的流程圖,包括以下步驟首先,當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,需要激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;本領(lǐng)域技術(shù)人員可以理解,無論網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生何種變化,都將首先去激活原有的端口綁定權(quán)限,并觸發(fā)對網(wǎng)絡(luò)設(shè)備之間相互連接關(guān)系的重新檢查,并對相應(yīng)端口的綁定權(quán)限執(zhí)行激活操作,保證新形成的拓?fù)浣Y(jié)構(gòu)中,網(wǎng)絡(luò)設(shè)備之間全部相互連接端口的綁定權(quán)限都被激活。
具體使端口綁定權(quán)限激活/去激活的方法可以根據(jù)實際需要具體設(shè)置,本發(fā)明的實施例通過提供一套在網(wǎng)絡(luò)設(shè)備之間交換網(wǎng)關(guān)Mac的協(xié)議為例進(jìn)行具體描述,但本領(lǐng)域技術(shù)人員可以了解,這種激活方式僅為舉例而非限制。在本實施例中,所提供的協(xié)議被命名為UpDown協(xié)議,在出廠或者網(wǎng)絡(luò)架構(gòu)時被網(wǎng)絡(luò)設(shè)備默認(rèn)安裝,從而為網(wǎng)絡(luò)設(shè)備端口提供了綁定權(quán)限這一屬性。當(dāng)某網(wǎng)絡(luò)設(shè)備端口使能了該協(xié)議時,該端口綁定權(quán)限即被激活;當(dāng)該端口去使能該協(xié)議時,該端口綁定權(quán)限被去激活,該去激活的過程在網(wǎng)絡(luò)物理拓?fù)浒l(fā)生變化時自動進(jìn)行。
因此,本實施例的步驟101為當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,使能網(wǎng)絡(luò)設(shè)備之間相互連接端口的UpDown協(xié)議。
步驟102、一網(wǎng)絡(luò)設(shè)備接收到一標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文;網(wǎng)絡(luò)設(shè)備接收到的報文包括從網(wǎng)關(guān)發(fā)出的報文和從Host發(fā)出的報文兩種,為了實現(xiàn)網(wǎng)關(guān)Mac的正確綁定,需要設(shè)置標(biāo)識網(wǎng)關(guān)Mac地址的指定格式報文。同時,為了實現(xiàn)綁定/解綁定的不同目的,報文類型需要有所區(qū)別,本實施例以兩種類型來表征一種是告知接收方該端口開通的報文,另一種是告知接收方該端口取消的報文。具體的,可以分別在UpDown協(xié)議下設(shè)置為Up報文(第一指定格式報文)和Down報文(第二指定格式報文)。
UpDown協(xié)議的報文格式可參考以下內(nèi)容目的Mac地址6個字節(jié),是網(wǎng)關(guān)Mac地址;源Mac地址6個字節(jié),是網(wǎng)關(guān)Mac地址;類型2個字節(jié),標(biāo)識UpDown協(xié)議;因為是自行指定的協(xié)議,可以隨意分配一個尚未占用的字段,如0xff88;如果需要將該協(xié)議標(biāo)準(zhǔn)化,可以向相應(yīng)的標(biāo)準(zhǔn)化組織提出申請;報文類型1個字節(jié),比如0x00標(biāo)識Up報文,0x01標(biāo)識Down報文,其他0x02~0xff予以保留,可用于標(biāo)識其他類型的UpDown協(xié)議報文;其他字節(jié)可以根據(jù)需要指定報文長度,當(dāng)上述內(nèi)容按照一定的組合順序排列完成后,報文的其他字節(jié)以0填充。
可以看出,這種指定格式的報文,其目的地址和源地址相同,因此不會被網(wǎng)絡(luò)設(shè)備如交換機的芯片轉(zhuǎn)發(fā),而是通過網(wǎng)關(guān)和交換機UpDown協(xié)議的程序端軟件實現(xiàn)發(fā)送/接收;該程序端軟件可以采用命令行的形式實現(xiàn),指令網(wǎng)關(guān)將指定格式的報文從使能了該協(xié)議的端口發(fā)送出去,同時,指令非網(wǎng)關(guān)的交換機從除接收端口外的、使能了該協(xié)議的端口進(jìn)行轉(zhuǎn)發(fā)。
同時,由于報文格式特別,網(wǎng)絡(luò)設(shè)備很容易識別出該報文為標(biāo)識網(wǎng)關(guān)Mac地址的報文。
在實際使用過程中,網(wǎng)絡(luò)設(shè)備所接收到的指定格式報文可能有以下三種來源1、為網(wǎng)關(guān)直接發(fā)送的指定格式報文;2、網(wǎng)關(guān)發(fā)出的、并由其他網(wǎng)絡(luò)設(shè)備轉(zhuǎn)發(fā)的指定格式報文;3、Host偽造該指定格式的報文,并將其發(fā)送到網(wǎng)絡(luò)設(shè)備。
其中,對于情況1,當(dāng)一網(wǎng)關(guān)的任一端口滿足預(yù)設(shè)條件時,從該端口發(fā)送第一/第二指定格式報文,可以包括以下情況當(dāng)該端口的綁定權(quán)限被激活時,從該端口發(fā)送第一指定格式報文,在UpDown協(xié)議中為Up報文;當(dāng)綁定權(quán)限被激活的端口到達(dá)預(yù)設(shè)周期時,從所述端口發(fā)送第一指定格式報文,在UpDown協(xié)議中為Up報文;當(dāng)綁定權(quán)限被激活的端口切換脫離一VLAN或者斷開與一網(wǎng)絡(luò)設(shè)備的邏輯連接時,從所述端口發(fā)送第二指定格式報文,在UpDown協(xié)議中為Down報文;當(dāng)綁定權(quán)限被激活的端口切換進(jìn)入一VLAN或者建立與一網(wǎng)絡(luò)設(shè)備的邏輯連接時,從所述端口發(fā)送第一指定格式報文,在UpDown協(xié)議中為Up報文。
對于情況2,當(dāng)任一網(wǎng)絡(luò)設(shè)備接收到指定格式報文的端口綁定權(quán)限已激活時,還進(jìn)行查詢本網(wǎng)絡(luò)設(shè)備是否存在其他已激活端口,是則將所接收到的報文從其他已激活端口轉(zhuǎn)發(fā)出去,被轉(zhuǎn)發(fā)報文的類型不會發(fā)生改變。
下表1給出了發(fā)送UpDown協(xié)議報文的一個狀態(tài)機示例,但并非窮舉
表1步驟103、網(wǎng)絡(luò)設(shè)備檢測接收到所述報文的端口是否為已激活綁定權(quán)限的端口,是則執(zhí)行步驟104,否則不進(jìn)行綁定處理,結(jié)束;通過上述步驟102的描述,可以看出接收到的報文有可能是Host所偽造的,那么如果網(wǎng)絡(luò)設(shè)備不加以甄別就學(xué)習(xí)該網(wǎng)關(guān)Mac和接口的對應(yīng)關(guān)系,仍然會導(dǎo)致學(xué)習(xí)結(jié)果的錯誤。
為此,借助步驟101所提供的端口綁定權(quán)限,完成對發(fā)送指定格式報文端的識別,杜絕從Host學(xué)習(xí)錯誤對應(yīng)關(guān)系的可能性。其中,對于非激活綁定權(quán)限的端口,可以拋棄所述報文,或者向管理平臺上報攻擊風(fēng)險。
進(jìn)一步的,由于在本實施例中,指定格式報文設(shè)置于UpDown協(xié)議下,因此,步驟103可具體為檢測是否識別出Up/Down報文,是則說明接收到該報文的端口綁定權(quán)限已激活,否則由于根本未實現(xiàn)對報文的識別,自然不會造成誤學(xué)習(xí)。
步驟104、當(dāng)接收到Up報文時,網(wǎng)絡(luò)設(shè)備自動綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,結(jié)束;當(dāng)接收到Down報文時,網(wǎng)絡(luò)設(shè)備自動解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,結(jié)束;由于已激活綁定權(quán)限的端口是網(wǎng)絡(luò)設(shè)備之間相連接的端口,因此,根據(jù)該端口進(jìn)行端口與網(wǎng)關(guān)Mac地址的綁定/解綁定配置可以保證報文來源的可靠性。
在實際配置過程中,可以通過自動配置端口與網(wǎng)關(guān)對應(yīng)關(guān)系的屬性選項為“Static”來實現(xiàn)綁定,也可以設(shè)置一對應(yīng)關(guān)系的屬性選項“Trusted”,該屬性級別高于“Learned”,但低于“Static”,則通過自動配置端口與網(wǎng)關(guān)對應(yīng)關(guān)系的屬性選項為“Trusted”同樣能夠?qū)崿F(xiàn)綁定,下面分別加以描述。
參見圖3,為網(wǎng)絡(luò)設(shè)備自動綁定/解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系的實施例1,以交換機為例,對應(yīng)關(guān)系的屬性選項為“Static”和“Learned”,與現(xiàn)有技術(shù)相同;該實施例1包括以下步驟
1041、交換機檢測接收到的標(biāo)識網(wǎng)關(guān)Mac的報文,為Up報文,執(zhí)行步驟1042,否則為Down報文,執(zhí)行步驟1046;1042、將接收到報文的端口和報文中標(biāo)識的網(wǎng)關(guān)Mac地址與地址表進(jìn)行比對;此時存在以下兩種可能性(1)匹配,則說明地址表中已經(jīng)保存有網(wǎng)關(guān)Mac與端口的對應(yīng)關(guān)系;但是,該對應(yīng)關(guān)系可能是交換機學(xué)習(xí)的結(jié)果,其原屬性選項為“Learned”,也有可能是前次綁定后的結(jié)果,其原屬性選項已經(jīng)為“Static”;不加以區(qū)分的執(zhí)行綁定有可能是對“Static”屬性的反復(fù)設(shè)置,造成資源的無益浪費,因此,執(zhí)行步驟1043;(2)不匹配,說明地址表中尚無網(wǎng)關(guān)Mac與端口的對應(yīng)關(guān)系,比如剛剛拓?fù)渫瓿傻腣LAN,執(zhí)行步驟1045;1043、檢測所匹配對應(yīng)關(guān)系的屬性是否為Static,是則說明已經(jīng)執(zhí)行過綁定操作,無需對地址表進(jìn)行修改,結(jié)束;否則說明該對應(yīng)關(guān)系為交換機通過正常學(xué)習(xí)程序獲得,因此執(zhí)行步驟1044;1044、將對應(yīng)關(guān)系的屬性設(shè)置為“Static”,完成綁定操作,結(jié)束;此時,可以通過維持一個定時器并將該定時器設(shè)置為無窮達(dá)到靜態(tài)化效果,實現(xiàn)“Static”自動設(shè)置。
1045、在地址表中建立所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,并將該對應(yīng)關(guān)系的屬性選項設(shè)置為“Static”,完成綁定操作,結(jié)束;在此步驟中,同樣通過維持一個定時器并將該定時器設(shè)置為無窮達(dá)到靜態(tài)化效果,實現(xiàn)“Static”自動設(shè)置。
1046、刪除地址表中所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系記錄,結(jié)束。
為了避免誤刪除手工綁定的對應(yīng)關(guān)系,此步驟可具體為檢查是否由定時器來維護(hù)“Static”屬性,是則證明為自動綁定,刪除并結(jié)束;否則為手工綁定,不進(jìn)行刪除,結(jié)束。
由于在實際應(yīng)用中,一般手工設(shè)置的級別要高于自動配置,以利用VLAN的管理,因此,本發(fā)明提供了網(wǎng)絡(luò)設(shè)備自動綁定/解綁定端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系的較佳實施例2,仍以交換機為例,如圖4所示,包括以下步驟
1041′、交換機檢測接收到的標(biāo)識網(wǎng)關(guān)Mac的報文,為Up報文,執(zhí)行步驟1042′,否則為Down報文,執(zhí)行步驟1046′;1042′、將接收到報文的端口和報文中標(biāo)識的Mac地址與地址表進(jìn)行比對,匹配則執(zhí)行步驟1043′,否則執(zhí)行步驟1045′;1043′、檢測所述屬性;為“Static”,表明該對應(yīng)關(guān)系已經(jīng)被手工綁定,不進(jìn)行處理,結(jié)束;為“Trusted”,表明該對應(yīng)關(guān)系已經(jīng)被自動綁定,不進(jìn)行處理,結(jié)束;為“Learned”,表明該對應(yīng)關(guān)系僅為自動學(xué)習(xí)的結(jié)果,隨時可被新的學(xué)習(xí)結(jié)果刷新,因此執(zhí)行步驟1044′;1044′、在地址表中配置所述端口與網(wǎng)關(guān)Mac地址對應(yīng)關(guān)系的屬性為“Trusted”,完成綁定,結(jié)束。
1045′、在地址表中建立所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,并將該對應(yīng)關(guān)系的屬性設(shè)置為“Trusted”,完成綁定操作,結(jié)束;1046′、檢測所述屬性選項;為“Static”,表明該對應(yīng)關(guān)系已經(jīng)被手工綁定,不進(jìn)行處理,結(jié)束;為“Trusted”,表明該對應(yīng)關(guān)系為自動綁定,執(zhí)行步驟1047′;為“Learned”,表明該對應(yīng)關(guān)系僅為自動學(xué)習(xí)的結(jié)果,執(zhí)行步驟1047′;1047′、刪除地址表中所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系記錄,結(jié)束。
通過上述實施例可以看出,由于端口綁定權(quán)限基于網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)獲得激活,即使有Host偽裝Mac地址并偽造指定報文格式進(jìn)行攻擊,由于與該主機相連接的網(wǎng)絡(luò)設(shè)備端口的綁定權(quán)限必然處于非激活狀態(tài),因此,該攻擊無效。且在此過程中,無需手工靜態(tài)化處理網(wǎng)關(guān)Mac,即使網(wǎng)關(guān)發(fā)生變化,也能夠即時作出自動反饋。需要網(wǎng)絡(luò)管理員作出的工作僅僅是根據(jù)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu),及時激活端口綁定權(quán)限,無需進(jìn)一步去調(diào)用變化后的Mac地址以及靜態(tài)化處理;甚至于,可以根據(jù)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)的變化,通過編制程序自動激活端口綁定權(quán)限,從而實現(xiàn)人工的真正解放。
參見表2,為一個接收UpDown協(xié)議報文后進(jìn)行處理的狀態(tài)機示例
表2下面通過一具體實施例來進(jìn)一步描述本發(fā)明提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,參見圖5,為本具體實施例中所采用的VLAN示意圖,為有多個二層交換機級聯(lián)組網(wǎng)的情況,具體如下Switch A是作為網(wǎng)關(guān)的三層交換機,其interface vlan 1使能Updown協(xié)議,周期性的發(fā)送Up報文;二層交換機Swich B的端口Port 1和Port3使能Updown協(xié)議,這樣在Port1就能夠?qū)W習(xí)到網(wǎng)關(guān)Mac地址0-0-1并靜態(tài)化,同時Switch B同一VLAN的Port 3也使能了Updown協(xié)議,Up報文被轉(zhuǎn)發(fā)出Port 3;而Switch C的端口Port 1也使能了UpDown協(xié)議,這樣Switch C的port 1也能夠?qū)W到Mac地址0-0-1并靜態(tài)化。由于SwitchB和Switch C的其它端口未使能Updown協(xié)議,故有偽造Up報文進(jìn)行攻擊,也達(dá)不到攻擊的效果。
綜上所述,本發(fā)明實施例所提供的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,使網(wǎng)關(guān)通過指定的協(xié)議報文告知其它網(wǎng)絡(luò)設(shè)備其自身的Mac地址,其他網(wǎng)絡(luò)設(shè)備能夠識別接收協(xié)議報文的端口的權(quán)限,并將具有權(quán)限的端口所提供的網(wǎng)關(guān)Mac從該端口學(xué)習(xí)并固化下來,從而避免了偽裝Mac攻擊網(wǎng)絡(luò)的情況,且無需大量的手工配置。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中,該程序在執(zhí)行時,包括如下步驟當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;當(dāng)一網(wǎng)絡(luò)設(shè)備接收到一標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文時,檢測接收到所述第一/第二指定格式報文的端口是否為已激活綁定權(quán)限的端口;是則,所述網(wǎng)絡(luò)設(shè)備自動綁定/解綁定所述端口與所述第一/第二指定格式報文標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
所述的存儲介質(zhì)包括ROM/RAM、磁碟或者光盤等相應(yīng)的,本發(fā)明的實施例還提供了實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,如圖6所示,包括Mac發(fā)送裝置21,用于指令網(wǎng)關(guān)已激活綁定權(quán)限的端口發(fā)送第一/第二指定格式報文,所述第一/第二指定格式報文標(biāo)識網(wǎng)關(guān)Mac地址;Mac綁定裝置22,用于識別檢測網(wǎng)絡(luò)設(shè)備接收到第一/第二指定格式報文的端口是否已激活綁定權(quán)限;以及,在該端口為已激活綁定權(quán)限端口的情況下,指令在地址表中綁定/解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
其中,組件還可包括Mac轉(zhuǎn)發(fā)裝置23,由Mac綁定裝置22在已激活綁定權(quán)限端口接收到第一/第二指定格式報文時觸發(fā),指令該端口所在網(wǎng)絡(luò)設(shè)備的其他已激活綁定權(quán)限的端口轉(zhuǎn)發(fā)所述第一/第二指定格式報文。
還包括定時器(圖中未示),用于周期性觸發(fā)Mac發(fā)送裝置21,從而周期性的發(fā)送網(wǎng)關(guān)Mac地址;該定時器可以裝設(shè)于Mac發(fā)送裝置21之內(nèi),也可以裝設(shè)在該Mac發(fā)送裝置21之外。
還包括網(wǎng)關(guān)端口感應(yīng)裝置(圖中未示),用于在網(wǎng)關(guān)端口綁定權(quán)限激活時,或者網(wǎng)關(guān)端口屬性變化比如建立與交換機的邏輯連接或者斷開與交換機的邏輯連接,或者切換進(jìn)入/脫離某一VLAN時,觸發(fā)所述Mac發(fā)送裝置21。同樣的,該網(wǎng)關(guān)端口感應(yīng)裝置可以裝設(shè)于Mac發(fā)送裝置21之內(nèi),也可以裝設(shè)在該Mac發(fā)送裝置21之外。
還包括Mac激活裝置24,用于檢測網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)的變化,并相應(yīng)執(zhí)行激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的端口綁定權(quán)限的操作。
同時,Mac綁定裝置22可以指令地址表將學(xué)習(xí)到的Mac地址和端口設(shè)置成Trusted屬性,這種屬性比通過普通二層以太網(wǎng)報文學(xué)習(xí)的Learned屬性優(yōu)先級高,這樣從其它端口學(xué)習(xí)到相同的Mac,由于其屬性為Learned,不會覆蓋這條Mac記錄,完成網(wǎng)關(guān)Mac與出端口正確的綁定。
本發(fā)明實施例所提供組件可以為程序功能塊,需要裝設(shè)在實際的交換機/路由器中發(fā)揮作用。
其中,Mac發(fā)送裝置21典型應(yīng)用在網(wǎng)關(guān),包括三層交換機和路由器,本發(fā)明相應(yīng)提供了實現(xiàn)網(wǎng)關(guān)Mac綁定的網(wǎng)關(guān),該網(wǎng)關(guān)中設(shè)有Mac發(fā)送裝置21,還可設(shè)有定時器和網(wǎng)關(guān)端口感應(yīng)裝置。該網(wǎng)關(guān)的一個發(fā)送UpDown協(xié)議報文的狀態(tài)機示例請參見表1。
該網(wǎng)關(guān)中還可設(shè)有Mac綁定裝置22,用于在不同的VLAN級聯(lián)時,接收其它三層網(wǎng)關(guān)交換機/路由器發(fā)送的指定格式報文。
Mac綁定裝置22的典型應(yīng)用是二層交換機,該二層交換機中設(shè)有Mac綁定裝置22。
該二層交換機中還可設(shè)有Mac轉(zhuǎn)發(fā)裝置23,用于由Mac綁定裝置22在接收到指定格式報文時觸發(fā),指令該二層交換機的其他已激活綁定權(quán)限的端口轉(zhuǎn)發(fā)所述報文。需要指出,在二層交換機非級聯(lián)的情況下,通過在設(shè)備中僅設(shè)置Mac綁定裝置22,就可避免偽裝網(wǎng)關(guān)Mac攻擊網(wǎng)絡(luò)的情況,因此,Mac轉(zhuǎn)發(fā)裝置23可選擇性安裝。
本發(fā)明實施例還提供了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的VLAN,包括網(wǎng)關(guān)交換機/路由器、二層交換機及主機終端,所述網(wǎng)關(guān)交換機、路由器和二層交換機為上述實現(xiàn)網(wǎng)關(guān)Mac綁定的網(wǎng)絡(luò)設(shè)備。
該VLAN中還可包括Mac激活裝置24,分別與網(wǎng)關(guān)交換機/路由器和二層交換機連接,用于檢測網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化,并相應(yīng)執(zhí)行激活上述交換機端口綁定權(quán)限的操作,從而實現(xiàn)人力的真正解放。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,包括以下步驟當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;當(dāng)一網(wǎng)絡(luò)設(shè)備接收到一標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文時,檢測接收到所述第一/第二指定格式報文的端口是否為已激活綁定權(quán)限的端口;是則,所述網(wǎng)絡(luò)設(shè)備自動綁定/解綁定所述端口與所述第一/第二指定格式報文標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
2.根據(jù)權(quán)利要求1所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,通過使能所述網(wǎng)絡(luò)設(shè)備端口中的一預(yù)設(shè)協(xié)議,激活端口的綁定權(quán)限;所述第一/第二指定格式報文為按照所述預(yù)設(shè)協(xié)議格式組織的報文。
3.根據(jù)權(quán)利要求2所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文,其源Mac地址和目的Mac地址都為網(wǎng)關(guān)Mac地址。
4.根據(jù)權(quán)利要求1-3任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,還包括去激活變化之前網(wǎng)絡(luò)設(shè)備全部端口的綁定權(quán)限。
5.根據(jù)權(quán)利要求1-3任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,還包括當(dāng)一網(wǎng)關(guān)的任一端口滿足預(yù)設(shè)條件時,從所述端口發(fā)送第一/第二指定格式報文的步驟;具體為當(dāng)所述端口的綁定權(quán)限被激活時,從所述端口發(fā)送第一指定格式報文;當(dāng)綁定權(quán)限被激活的端口到達(dá)預(yù)設(shè)周期時,從所述端口發(fā)送第一指定格式報文;當(dāng)綁定權(quán)限被激活的端口切換脫離一VLAN時或者斷開與一網(wǎng)絡(luò)設(shè)備的邏輯連接時,從所述端口發(fā)送第二指定格式報文;或者當(dāng)綁定權(quán)限被激活的端口切換進(jìn)入一VLAN者建立與一網(wǎng)絡(luò)設(shè)備的邏輯連接時,從所述端口發(fā)送第一指定格式報文。
6.根據(jù)權(quán)利要求1-3任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,當(dāng)一網(wǎng)絡(luò)設(shè)備接收到所述第一/第二指定格式報文時,還包括查詢本網(wǎng)絡(luò)設(shè)備是否存在其他已激活綁定權(quán)限的端口,是則將所接收到的報文從其他已激活綁定權(quán)限的端口轉(zhuǎn)發(fā)出去。
7.根據(jù)權(quán)利要求1-3任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,所述網(wǎng)絡(luò)設(shè)備自動綁定端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系包括在地址表中比對所述端口和所述第一指定格式報文中標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系;匹配,則將所述端口與網(wǎng)關(guān)Mac地址對應(yīng)關(guān)系的屬性設(shè)置為Static,結(jié)束;不匹配,在地址表中建立所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,并將該對應(yīng)關(guān)系的屬性設(shè)置為Static,結(jié)束;或者,在地址表中比對所述端口和所述第一指定格式報文中標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系;當(dāng)匹配時,檢測所述端口與網(wǎng)關(guān)Mac地址對應(yīng)關(guān)系的屬性,為Static或Trusted,結(jié)束;為Learned,在地址表中配置所述端口與網(wǎng)關(guān)Mac地址對應(yīng)關(guān)系的屬性為Trusted,結(jié)束;當(dāng)不匹配時,在地址表中建立所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系,并將該對應(yīng)關(guān)系的屬性設(shè)置為Trusted,結(jié)束;其中,所述Trusted屬性級別高于Learned屬性,但低于Static屬性。
8.根據(jù)權(quán)利要求1-3任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,其特征在于,所述網(wǎng)絡(luò)設(shè)備自動解綁定端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系包括在地址表中,刪除所述端口與所述第二指定格式報文中標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系記錄,結(jié)束;或者,檢測所述端口和所述第二指定格式報文中標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系的屬性;為Static,結(jié)束;為Trusted或者Learned,刪除地址表中所述端口與網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系記錄,結(jié)束;其中,所述Trusted屬性級別高于Learned屬性,但低于Static屬性。
9.一種實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,其特征在于,包括Mac發(fā)送裝置,用于指令網(wǎng)關(guān)已激活綁定權(quán)限的端口發(fā)送標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文;Mac綁定裝置,用于檢測網(wǎng)絡(luò)設(shè)備接收到第一/第二指定格式報文的端口是否已激活綁定權(quán)限;以及,在該端口為已激活綁定權(quán)限端口的情況下,指令綁定/解綁定所述端口與所述網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。
10.根據(jù)權(quán)利要求9所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,其特征在于,還包括Mac轉(zhuǎn)發(fā)裝置,由Mac綁定裝置在已激活綁定權(quán)限端口接收到第一/第二指定格式報文時觸發(fā),指令所述端口所在網(wǎng)絡(luò)設(shè)備的其他已激活綁定權(quán)限的端口轉(zhuǎn)發(fā)所述第一/第二指定格式報文。
11.根據(jù)權(quán)利要求9所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,其特征在于,還包括定時器,用于周期性觸發(fā)Mac發(fā)送裝置。
12.根據(jù)權(quán)利要求9所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,其特征在于,還包括網(wǎng)關(guān)端口感應(yīng)裝置,用于在網(wǎng)關(guān)端口綁定權(quán)限激活或者屬性變化或者在VLAN間切換時觸發(fā)所述Mac發(fā)送裝置。
13.根據(jù)權(quán)利要求9-12任一所述的實現(xiàn)網(wǎng)關(guān)Mac綁定的組件,其特征在于,還包括Mac激活裝置,用于檢測網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)的變化,并相應(yīng)執(zhí)行激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的端口綁定權(quán)限的操作。
14.一種實現(xiàn)網(wǎng)關(guān)Mac綁定的網(wǎng)關(guān),其特征在于,所述網(wǎng)關(guān)中設(shè)有如權(quán)利要求9所述的Mac發(fā)送裝置,所述網(wǎng)關(guān)包括三層交換機和路由器。
15.一種實現(xiàn)網(wǎng)關(guān)Mac綁定的二層交換機,其特征在于,所述二層交換機中設(shè)有如權(quán)利要求9所述的Mac綁定裝置。
全文摘要
本發(fā)明公開了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的方法,當(dāng)網(wǎng)絡(luò)物理拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,激活網(wǎng)絡(luò)設(shè)備之間相互連接端口的綁定權(quán)限;當(dāng)一網(wǎng)絡(luò)設(shè)備接收到一標(biāo)識網(wǎng)關(guān)Mac地址的第一/第二指定格式報文時,檢測接收到所述第一/第二指定格式報文的端口是否為已激活綁定權(quán)限的端口;是則,所述網(wǎng)絡(luò)設(shè)備自動綁定/解綁定所述端口與所述第一/第二指定格式報文標(biāo)識的網(wǎng)關(guān)Mac地址的對應(yīng)關(guān)系。本發(fā)明還公開了一種實現(xiàn)網(wǎng)關(guān)Mac綁定的組件、網(wǎng)關(guān)和二層交換機。通過本發(fā)明提供的技術(shù)方案,有效防止了偽裝網(wǎng)關(guān)Mac攻擊網(wǎng)絡(luò)的行為;避免了大量的手工配置工作,降低了實現(xiàn)網(wǎng)關(guān)Mac正確綁定的復(fù)雜度。
文檔編號H04L29/06GK101060498SQ20071012334
公開日2007年10月24日 申請日期2007年6月22日 優(yōu)先權(quán)日2007年6月22日
發(fā)明者王偉 申請人:杭州華三通信技術(shù)有限公司