專(zhuān)利名稱(chēng):綁定服務(wù)器mac地址和上行端口的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種綁定服務(wù)器MAC地址和 上行端口的方法和裝置。
技術(shù)背景計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)訪問(wèn)服務(wù)器的一種典型的網(wǎng)絡(luò)結(jié)構(gòu)圖可以如圖1所示。 如圖所示,該網(wǎng)絡(luò)結(jié)構(gòu)中包括服務(wù)器1至3,交換機(jī)1至3,計(jì)算機(jī)l至 8。其中,交換機(jī)l是匯聚層交換機(jī),交換機(jī)2和3是接入層數(shù)字用戶(hù)線接入 復(fù)用器(Digital Subscriber Line Access Multiplexer, DSLAM)或二層交才灸才幾。 交換機(jī)l有5個(gè)端口,其中端口1至端口3分別連接到服務(wù)器1至服務(wù)器3。 設(shè)服務(wù)器1至3的介質(zhì)訪問(wèn)控制(Media Access Control, MAC)地址分別為 MAC1至MAC3,網(wǎng)際協(xié)議地址(Internet Protocol, IP )地址分別為IP1至IP3。 圖中還包括交換機(jī)SW4, SW5, SW6。圖中的網(wǎng)絡(luò)還包括與計(jì)算機(jī)5和6相 連的交換機(jī),與計(jì)算機(jī)7和8相連的交換機(jī)。圖示網(wǎng)絡(luò)中,所有的計(jì)算機(jī)都有與幾臺(tái)服務(wù)器互通的需求,而且,上行訪 問(wèn)的某一服務(wù)器的介質(zhì)訪問(wèn)控制(Media Access Control, MAC)地址應(yīng)學(xué)習(xí) 在交換機(jī)1的特定端口上,即服務(wù)器的MAC地址綁定在所連接的交換機(jī)上的 特定端口上。例如,上行訪問(wèn)服務(wù)器1的MAC地址應(yīng)綁定在交換機(jī)1的端口 l上。 一般地,對(duì)于服務(wù)器發(fā)出的報(bào)文,該報(bào)文中的源MAC地址為該服務(wù)器 的MAC,因此,交換機(jī)可以將服務(wù)器發(fā)出的報(bào)文中的源MAC地址與在交換 機(jī)上通過(guò)的端口進(jìn)行綁定,更新在交換機(jī)中的二層轉(zhuǎn)發(fā)表中,后續(xù)上行訪問(wèn)該 服務(wù)器的報(bào)文按照該綁定的MAC地址與上行端口轉(zhuǎn)發(fā)到正確的服務(wù)器。如服 務(wù)器1下發(fā)報(bào)文給計(jì)算機(jī),該報(bào)文的源MAC為MAC1,正常情況下通過(guò)端口 1到達(dá)計(jì)算機(jī),這樣,MAC1與交換機(jī)1的端口 1綁定,在交換機(jī)1中二層的 轉(zhuǎn)發(fā)表中建立MAC1與交換機(jī)端口 1對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng)。之后,計(jì)算機(jī)1發(fā)出 的上行訪問(wèn)服務(wù)器1的報(bào)文,經(jīng)過(guò)交換機(jī)1時(shí),按照二層轉(zhuǎn)發(fā)表中存在的MAC1 與端口 l對(duì)應(yīng)的轉(zhuǎn)發(fā)表項(xiàng),報(bào)文通過(guò)端口 l成功轉(zhuǎn)發(fā)給服務(wù)器l。地址飄移到其它端口上,這樣,會(huì)導(dǎo)致上行 訪問(wèn)該服務(wù)器的通信失敗。服務(wù)器的MAC地址飄移的原因有多種,例如可能 是網(wǎng)絡(luò)中的計(jì)算機(jī)進(jìn)行惡意攻擊造成的。如網(wǎng)絡(luò)中的計(jì)算機(jī)4發(fā)送攻擊報(bào)文, 該攻擊報(bào)文的源MAC地址仿冒服務(wù)器1的MAC地址,即MAC1,這樣,交 換機(jī)1在轉(zhuǎn)發(fā)該攻擊報(bào)文時(shí),會(huì)將MAC1學(xué)習(xí)在端口 5上,之后,通過(guò)交換 機(jī)訪問(wèn)服務(wù)器1的報(bào)文都會(huì)錯(cuò)誤的通過(guò)端口 5轉(zhuǎn)發(fā),造成通信失敗。服務(wù)器的 MAC地址飄移的原因還可能是DSLAM下面的網(wǎng)絡(luò)產(chǎn)生意外環(huán)^各造成的。如 服務(wù)器l發(fā)給網(wǎng)絡(luò)中計(jì)算機(jī)的報(bào)文通過(guò)交換機(jī)3,并在交換機(jī)4、 5、 6中發(fā)生 環(huán)回,再到達(dá)交換機(jī)1的端口 5上,這樣也會(huì)造成將MAC1學(xué)習(xí)在端口 5上, 之后,通過(guò)交換機(jī)訪問(wèn)服務(wù)器1的報(bào)文也都會(huì)錯(cuò)誤的通過(guò)端口 5轉(zhuǎn)發(fā),造成通 信失敗。.現(xiàn)有技術(shù)中,為了避免MAC地址飄移,采用靜態(tài)配置的方法綁定服務(wù)器 MAC地址和上行端口 。靜態(tài)配置的服務(wù)器MAC地址和上行端口的綁定關(guān)系 優(yōu)先級(jí)高,不會(huì)被動(dòng)態(tài)學(xué)習(xí)到的MAC地址與上行端口的關(guān)系覆蓋。但是,靜態(tài)配置的方法當(dāng)遇到服務(wù)器遷移的情況時(shí),必須手工重新進(jìn)行配 置,工作量大,維護(hù)困難。 發(fā)明內(nèi)容本發(fā)明的目的是提供一種綁定服務(wù)器MAC地址和上行端口的方法和裝 置,以克服靜態(tài)配置方法需要手工進(jìn)行,工作量大,維護(hù)困難的缺點(diǎn)。為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種綁定服務(wù)器MAC地址和上行端口 的方法和裝置是這樣實(shí)現(xiàn)的一種綁定服務(wù)器MAC地址和上行端口的方法,預(yù)先配置上行端口組;預(yù) 設(shè)IP地址池,其中包括上行服務(wù)器的IP地址;預(yù)先為VLAN配置三層接口 IP;并包括在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào)文;所述 探測(cè)報(bào)文的目的IP地址屬于預(yù)先配置的IP地址池中的地址;當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且源MAC
或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同 一虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口 不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述探 測(cè)響應(yīng)纟艮文對(duì)應(yīng)的MAC或端口 。當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且二層轉(zhuǎn)發(fā) 表中不存在所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的表項(xiàng)時(shí),將所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的 MAC, VLAN和端口表項(xiàng)添加到二層轉(zhuǎn)發(fā)表中。所述當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且源 MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中的MAC 或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為 所述4笨測(cè)響應(yīng)才艮文對(duì)應(yīng)的MAC或端口 ,由以下方式實(shí)現(xiàn)建立服務(wù)器上行訪問(wèn)信息表host—mac,該表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器 的IP地址,MAC地址,VLAN和端口;當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng),但該表項(xiàng) 中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地址或端口不相等時(shí), 刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host—mac表中的相應(yīng)表項(xiàng);在host—mac 表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng),并向二層轉(zhuǎn)發(fā)表中添加 該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。所述在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào)文由 以下方式實(shí)現(xiàn)在虛擬局域網(wǎng)發(fā)送預(yù)設(shè)次數(shù)個(gè)根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的#:測(cè) 報(bào)文。所述在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)凈艮文由 以下方式實(shí)現(xiàn)每隔預(yù)設(shè)時(shí)間間隔在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址 的探測(cè)報(bào)文。所述發(fā)送的探測(cè)報(bào)文為地址解析協(xié)議廣播查詢(xún)報(bào)文,或網(wǎng)際控制信息協(xié)議 廣播查詢(xún)報(bào)文。
所述方法還包括當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口不屬于預(yù)先配置的上行端口組時(shí),丟棄該 探測(cè)響應(yīng)報(bào)文。所述方法還包4舌當(dāng)沒(méi)有收到探測(cè)響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器IP地址查找host—mac表, :i口果4"戈至ij則冊(cè)除二層專(zhuān)爭(zhēng)發(fā)表中6勺只于應(yīng)表工貞,并鄰!)除host—mac 表中的對(duì)應(yīng)表項(xiàng)。 所述方法還包括當(dāng)查詢(xún)到host—mac表中不存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng)時(shí),向 host—mac表中添加該服務(wù)器的IP地址,MAC, VLAN和端口,并向二層轉(zhuǎn)發(fā) 表添加所述服務(wù)器IP地址對(duì)應(yīng)的MAC, VLAN和端口 。一種綁定服務(wù)器MAC地址和上行端口的裝置,包括服務(wù)器地址表,上行 端口組,上行服務(wù)器探測(cè)單元,更新單元,二層轉(zhuǎn)發(fā)表單元,其中,服務(wù)器地址表,用于存儲(chǔ)上行服務(wù)器的IP地址;上行端口組,用于存儲(chǔ)預(yù)先配置的上行端口組;上行服務(wù)器探測(cè)單元,用于在虛擬局域網(wǎng)發(fā)送根據(jù)上行服務(wù)器IP地址查 詢(xún)MAC地址的探測(cè)報(bào)文,并接收服務(wù)器返回的探測(cè)響應(yīng)報(bào)文;更新單元,用于當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口 組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中 的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端 口更新為所述纟笨測(cè)響應(yīng)才艮文對(duì)應(yīng)的MAC或端口 。二層轉(zhuǎn)發(fā)表單元,用于存儲(chǔ)二層轉(zhuǎn)發(fā)表。所述更新單元包括服務(wù)器上行訪問(wèn)信息表,查詢(xún)單元和刪除添加單元, 服務(wù)器上行訪問(wèn)信息表,用于存儲(chǔ)建立的服務(wù)器上行訪問(wèn)信息表host—mac,該host_mac表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器IP地址,MAC地址,虛擬局域網(wǎng)和端口更新單元;查詢(xún)單元用于當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組時(shí),根據(jù)所述服務(wù)器IP地址查詢(xún)host—mac表; 頁(yè)刪除添加單元,用于當(dāng)查詢(xún)到host—mac表中存在包含^:測(cè)的服務(wù)器IP地 址的表項(xiàng),但該表項(xiàng)中的MAC地址或端口與4笨測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地 址或端口不相等時(shí),刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host_mac表中的 相應(yīng)表項(xiàng);在host_mac表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng), 并向二層轉(zhuǎn)發(fā)表中添加該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。所述更新單元還包括刪除單元,用于當(dāng)上行服務(wù)器探測(cè)單元沒(méi)有收到探測(cè) 響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器IP地址查找hosLmac表,如果找到則刪除二層 舉爭(zhēng)發(fā)表中的》于應(yīng)表項(xiàng),并鄰'J除host mac 表中的對(duì)應(yīng)表項(xiàng)。所述更新單元還包括添加單元,用于當(dāng)查詢(xún)到host—mac表中不存在包含 探測(cè)的服務(wù)器IP地址的表項(xiàng)時(shí),向host_mac表中添加該服務(wù)器的IP地址, MAC, VLAN和端口,并向二層轉(zhuǎn)發(fā)表添加所述服務(wù)器IP地址對(duì)應(yīng)的MAC, VLAN和端口 。由以上本發(fā)明提供的技術(shù)方案可見(jiàn),當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于 預(yù)先配置的上行端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一 虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域 網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述探測(cè)響應(yīng)4艮文對(duì)應(yīng)的MAC或端口 ,這樣, 可以自動(dòng)實(shí)現(xiàn)更新端口與服務(wù)器MAC的綁定,并且,還可以適應(yīng)采用環(huán)形組 網(wǎng)方式的網(wǎng)^^。
圖1為現(xiàn)有技術(shù)中一種典型的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖2為現(xiàn)有技術(shù)中一種采用環(huán)形組網(wǎng)的網(wǎng)絡(luò)結(jié)構(gòu)圖;圖3為本發(fā)明方法實(shí)施例的流程圖;圖4為本發(fā)明一個(gè)完整方法實(shí)施例的流程圖;圖5為本發(fā)明裝置第一實(shí)施例的框圖;圖6為本發(fā)明裝置第二實(shí)施例的框圖;圖7為本發(fā)明裝置第三實(shí)施例的框圖。
具體實(shí)施方式
本發(fā)明提供一種綁定服務(wù)器MAC地址和上行端口的方法,預(yù)先配置上行 端口組、IP地址池和三層接口 IP,在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún) MAC地址的探測(cè)報(bào)文;所述探測(cè)報(bào)文的目的IP地址屬于預(yù)先配置的IP地址 池中的地址;當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且 源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中的 MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口 更新為所述〗笨測(cè)響應(yīng)才艮文對(duì)應(yīng)的MAC或端口 。現(xiàn)有技術(shù)采用靜態(tài)配置的方法,還存在的問(wèn)題是與環(huán)形組網(wǎng)不適用的情 況。如圖2所示的網(wǎng)絡(luò)結(jié)構(gòu)中,交換機(jī)l,交換機(jī)2和交換機(jī)3構(gòu)成環(huán)形網(wǎng)絡(luò), 當(dāng)與交換機(jī)2相連計(jì)算機(jī)1發(fā)送上行報(bào)文時(shí),可以直接通過(guò)交換機(jī)2到達(dá)交換 機(jī)l,也可以切換到另一條路由,即通過(guò)交換機(jī)2到達(dá)交換機(jī)3,再到達(dá)交換 機(jī)l。但是靜態(tài)配置的情況下,將報(bào)文接收方的MAC地址與上行端口綁定, 例如將MAC1綁定在交換機(jī)2的端口 1上,計(jì)算機(jī)1發(fā)給MAC1的報(bào)文只能 由交換機(jī)2的端口 1到達(dá)交換機(jī)l,而當(dāng)發(fā)生網(wǎng)絡(luò)拓樸切換時(shí),不能自動(dòng)更新 端口和服務(wù)器MAC地址的綁定關(guān)系,因此不能切換到另一路由。這樣,環(huán)形 組網(wǎng)的可靠性和靈活性不能得到發(fā)揮。為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實(shí)施方 式對(duì)本發(fā)明作進(jìn)一步的詳細(xì)說(shuō)明。本發(fā)明方法實(shí)施例中,預(yù)先配置上行端口組,設(shè)為uplink_port—group (PORT1, PORT2, PORT3,…,PORTm),并預(yù)設(shè)IP地址池,其中包括上 行服務(wù)器的IP地址,設(shè)為uplink_hostip_pool (IP1, IP2, IP3,…,IPn)。該方法實(shí)施例中,還要為VLAN配置三層接口 IP。所述VLAN包括交換 機(jī)上的上行端口和下行端口及與這些端口相連的服務(wù)器和計(jì)算機(jī)。該方法實(shí)施例包括圖3所示的流程步驟301:在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào) 文。所述探測(cè)報(bào)文的目的IP地址屬于預(yù)先配置的uplink—hostip_pool中的地址。
為了提供探測(cè)報(bào)文結(jié)果的可靠性,可以預(yù)設(shè)一定的次數(shù),對(duì)一個(gè)服務(wù)器發(fā) 送預(yù)設(shè)次數(shù)的探測(cè)報(bào)文。進(jìn)一步地,為了能夠及時(shí)獲得網(wǎng)絡(luò)中的服務(wù)器和上行 端口的情況以及時(shí)更新綁定關(guān)系,可以預(yù)設(shè)一個(gè)時(shí)間間隔,每隔預(yù)設(shè)的時(shí)間間 隔在虛擬局域網(wǎng)發(fā)送探測(cè)報(bào)文。在探測(cè)報(bào)文中要求目的IP地址(即服務(wù)器IP地址)屬于預(yù)先配置的uplink—hostip_pool,這樣,可以實(shí)現(xiàn)將探測(cè)報(bào)文發(fā)送到上行服務(wù)器。所述探測(cè)報(bào)文的源IP為VLAN的三層接口 IP,源MAC為VLAN的三層 接a MAC。所述探測(cè)才艮文可以采用地址解析協(xié)議(Address Resolution Protocol, ARP) 廣播查詢(xún)才艮文,也可以采用網(wǎng)際控制信息協(xié)議(Internet Control Message Protocol, ICMP)廣4番查詢(xún)才艮文。步驟302:當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組, 且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中對(duì)應(yīng)表項(xiàng)的MAC或端口不相等時(shí), 將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述探測(cè)響應(yīng)才艮文 對(duì)應(yīng)的MAC或端口。該步驟還可以包括當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行 端口組,且二層轉(zhuǎn)發(fā)表中不存在所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的表項(xiàng)時(shí),將所述探測(cè) 響應(yīng)報(bào)文對(duì)應(yīng)的MAC, VLAN和端口表項(xiàng)添加到二層轉(zhuǎn)發(fā)表中。返回的探測(cè) 響應(yīng)報(bào)文對(duì)應(yīng)的表項(xiàng)即返回的探測(cè)報(bào)文所攜帶的VLAN,服務(wù)器的MAC和端 口,當(dāng)交換機(jī)二層轉(zhuǎn)發(fā)表中不存在包含這三項(xiàng)的轉(zhuǎn)發(fā)表項(xiàng)時(shí),將這三項(xiàng)添加到 二層轉(zhuǎn)發(fā)表中。該步驟還可以包括當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口不屬于預(yù)先配置的上 行端口組時(shí),認(rèn)為該探測(cè)響應(yīng)報(bào)文來(lái)自于攻擊的計(jì)算機(jī),則可以丟棄該探測(cè)響 應(yīng)報(bào)文,或進(jìn)行其它操作。建立服務(wù)器上行訪問(wèn)信息表,該表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器的IP地 址,MAC地址,虛擬局i或網(wǎng)(Virtual Local Area Network, VLAN)和端口, 設(shè)為host—mac (IP, MAC, VLAN, PORT),則步驟302具體可以由下面步驟302a和302b實(shí)現(xiàn)步驟302a:當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組 時(shí),根據(jù)所述服務(wù)器IP地址查詢(xún)host—mac表。該步驟還可以包括當(dāng)沒(méi)有收到探測(cè)響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器IP地 址查找host—mac表,如果找到則刪除二層(Layer 2, L2)轉(zhuǎn)發(fā)表中的對(duì)應(yīng)表 項(xiàng),并刪除host_mac表中的對(duì)應(yīng)表項(xiàng)。這是因?yàn)?,?dāng)沒(méi)有收到探測(cè)響應(yīng)報(bào)文 時(shí),可以認(rèn)為探測(cè)的服務(wù)器已從網(wǎng)絡(luò)中摘掉。另外,當(dāng)步驟301中是發(fā)送預(yù)定 次數(shù)的探測(cè)報(bào)文時(shí),為了提高判斷服務(wù)器從網(wǎng)絡(luò)中摘掉的可靠性,這里可以是 在預(yù)定次數(shù)都沒(méi)有收到探測(cè)響應(yīng)報(bào)文的情況下,根據(jù)IP查host一mac表,如果 找到匹配項(xiàng)才4姿照匹配表項(xiàng)的MAC + VLAN + PORT刪除二層轉(zhuǎn)發(fā)表中對(duì)應(yīng) 的表項(xiàng),并刪除host mac 表中的對(duì)應(yīng)表項(xiàng)。步驟302b:當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng), 但該表項(xiàng)中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地址或端口不 相等時(shí),刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host—mac表中的相應(yīng)表項(xiàng); 在host—mac表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng),并向二層 轉(zhuǎn)發(fā)表中添加該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。該步驟中,當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng), 但該表項(xiàng)中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地址或端口不 相等時(shí),說(shuō)明該服務(wù)器發(fā)生了遷移,需要更改轉(zhuǎn)發(fā)表中與該服務(wù)器有關(guān)的轉(zhuǎn)發(fā) 表項(xiàng),因此,鄰'J除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host—mac 表中的相應(yīng)表 項(xiàng)。之后,在host一mac表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng), 并向二層轉(zhuǎn)發(fā)表中添加該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。該步驟還可以包括當(dāng)查詢(xún)到host—mac表中不存在包含探測(cè)的服務(wù)器IP 地址的表項(xiàng)時(shí),說(shuō)明該服務(wù)器的IP地址相關(guān)的表項(xiàng)沒(méi)有被添加在host_mac表 中,因此,向host—mac表中添加該服務(wù)器的IP地址,MAC, VLAN和端口, 并向二層轉(zhuǎn)發(fā)表添加所述服務(wù)器IP地址對(duì)應(yīng)的MAC, VLAN和端口 。另外,當(dāng)查詢(xún)到host一mac表中存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng),且
該表項(xiàng)中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地址或端口相等 時(shí),說(shuō)明該服務(wù)器狀態(tài)沒(méi)有發(fā)生改變,因此不需要執(zhí)行操作。而且,上述方法實(shí)施例可以適應(yīng)環(huán)形組網(wǎng)的方式,當(dāng)發(fā)生網(wǎng)絡(luò)拓樸切換時(shí), 能自動(dòng)更新端口和服務(wù)器MAC地址的綁定關(guān)系,因此可以實(shí)現(xiàn)切換到另 一路 由。這樣,環(huán)形組網(wǎng)的可靠性和靈活性得以發(fā)揮。由以上方法實(shí)施例可見(jiàn),當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的 上行端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中對(duì)應(yīng)表項(xiàng)的MAC或端 口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述 探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的MAC或端口,這樣,可以自動(dòng)實(shí)現(xiàn)更新端口與服務(wù)器 MAC的綁定,并且,還可以適應(yīng)采用環(huán)形組網(wǎng)方式的網(wǎng)絡(luò)。以下仍以圖l所示的網(wǎng)絡(luò)結(jié)構(gòu)圖為例,舉一個(gè)本發(fā)明方法的完整實(shí)施例。 該實(shí)施例中,為VLAN配置三層接口 IP;預(yù)先配置上行端口組,為 uplink_port—group (PORTl, PORT2, PORT3 );建立服務(wù)器上行訪問(wèn)信息表, 為host—mac (IP, MAC, VLAN, PORT);預(yù)先配置上行服務(wù)器的IP地址池, 為uplink—hostip_pool (IP 1, IP2, IP3,…,IPn)。并包括圖4所示的流程步驟401:按照預(yù)設(shè)的時(shí)間間隔,在VLAN100發(fā)送x次ARP探測(cè)才艮文, 根據(jù)服務(wù)器1的地址IP1查詢(xún)其MAC地址。步驟402:判斷x次是否都沒(méi)有接收到ARP響應(yīng)報(bào)文,是則轉(zhuǎn)入步驟403; 否則轉(zhuǎn)入步驟404。步驟403:如果x次都沒(méi)有收到ARP響應(yīng)報(bào)文,認(rèn)為該服務(wù)器1已從網(wǎng) 絡(luò)上摘掉,根據(jù)IP1查host一mac表,如果找到包含IP1的表項(xiàng),則刪除L2轉(zhuǎn) 發(fā)表中的對(duì)應(yīng)表項(xiàng),然后再刪除host—mac 中的對(duì)應(yīng)表項(xiàng),本流程結(jié)束。步驟404:如果收到ARP響應(yīng)纟艮文,判斷其中的端口是否屬于 uplink_port_group,否則轉(zhuǎn)入步驟405,是則轉(zhuǎn)入步驟406;步驟405:判斷ARP響應(yīng)來(lái)自攻擊計(jì)算^U,丟棄該響應(yīng)纟艮文。步驟406:根據(jù)IP1查詢(xún)host—mac表,如果沒(méi)有找到包含IP1的表項(xiàng)轉(zhuǎn)入 步驟407;如果找到則轉(zhuǎn)入步驟408。
步驟407:向host_mac表添加一條表項(xiàng)IP = IP1 、 MAC = MACl 、 VLAN =VLANIOO、 PORT = PORTl ,并向L2轉(zhuǎn)發(fā)表下發(fā)該MAC靜態(tài)表項(xiàng)MAC =MAC1、 VLAN = VLANIOO 、 PORT-PORTl 。步驟408:比較查詢(xún)到的host—mac表中包含IP1的表項(xiàng)與所述ARP響應(yīng) 報(bào)文中的信息是否相等(包括PORT是否相等和MAC是否相等),是則本流 程結(jié)束,否則轉(zhuǎn)入步驟409。步驟409: 刪除L2轉(zhuǎn)發(fā)表中對(duì)應(yīng)表項(xiàng),然后再鄰!]除host—mac 對(duì)應(yīng)表項(xiàng); 向host—mac表添加一條表項(xiàng)IP = IP1、 MAC = MAC 1、 VLAN = VLANIOO、 PORT = PORTl ,并向L2轉(zhuǎn)發(fā)表下發(fā)該MAC靜態(tài)表項(xiàng)MAC = MACl 、 VLAN =VLAN100、 PORT = PORTL這樣,該實(shí)施例可以自動(dòng)實(shí)現(xiàn)更新端口與服務(wù)器MAC的綁定。以下說(shuō)明本發(fā)明的裝置實(shí)施例。圖5示出了本發(fā)明裝置第一實(shí)施例的框 圖,如圖,包括服務(wù)器地址表501,上行端口組502,上行服務(wù)器探測(cè)單元503, 更新單元504, 二層轉(zhuǎn)發(fā)表單元505,其中,服務(wù)器地址表501,用于存儲(chǔ)上行服務(wù)器的IP地址;上行端口組502,用于存儲(chǔ)預(yù)先配置的上行端口組;上行服務(wù)器探測(cè)單元503,用于在虛擬局域網(wǎng)發(fā)送根據(jù)上行服務(wù)器IP地 址查詢(xún)MAC地址的探測(cè)報(bào)文,并接收服務(wù)器返回的探測(cè)響應(yīng)報(bào)文;更新單元504,用于當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行 端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表 項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC 或端口更新為所述4笨測(cè)響應(yīng)4艮文對(duì)應(yīng)的MAC或端口 。二層轉(zhuǎn)發(fā)表單元505,用于存儲(chǔ)二層轉(zhuǎn)發(fā)表。所述更新單元504可以包括查詢(xún)單元504l,服務(wù)器上行訪問(wèn)信息表5042,, 刪除添加單元5043,查詢(xún)單元5041,用于當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上 行端口組時(shí),根據(jù)所述服務(wù)器IP地址查詢(xún)host—mac表;
所述服務(wù)器上行訪問(wèn)信息表5042,用于存儲(chǔ)建立的服務(wù)器上行訪問(wèn)信息 表host一mac,該host_mac表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器IP地址,MAC地 址,虛擬局域網(wǎng)和端口更新單元;刪除添加單元5043,用于當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器 IP地址的表項(xiàng),但該表項(xiàng)中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC 地址或端口不相等時(shí),刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host—mac表中 的相應(yīng)表項(xiàng);在host—mac表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表 項(xiàng),并向二層轉(zhuǎn)發(fā)表中添加該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。上述內(nèi)容可以如圖6中的裝置第二實(shí)施例的框圖所示。所述的更新單元504還可以包括刪除單元5044,用于當(dāng)上行服務(wù)器探測(cè) 單元503沒(méi)有收到探測(cè)響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器IP地址查找host_mac表, :i口果才戈到貝1]鄰'j除二層舉爭(zhēng)發(fā)表中的只于應(yīng)表工貞,并冊(cè)J除host—mac 表中的對(duì)應(yīng)表項(xiàng)。所述的更新單元504還可以包括添加單元5045 ,用于當(dāng)查詢(xún)到host_mac 表中不存在包含4笨觀'J的月艮務(wù)器IP地址的表項(xiàng)時(shí),向host_mac 表中添加該服務(wù) 器的IP地址,MAC, VLAN和端口,并向二層轉(zhuǎn)發(fā)表添加所述服務(wù)器IP地址 對(duì)應(yīng)的MAC, VLAN和端口 。上述內(nèi)容可以如圖7中的裝置第三實(shí)施例的框圖所示。利用上述裝置實(shí)施例實(shí)現(xiàn)綁定JR務(wù)器MAC地址和上行端口的方法與前述 方法類(lèi)似,在此不再贅述。由以上實(shí)施例可見(jiàn),當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行 端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同 一虛擬局域網(wǎng)的表 項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC 或端口更新為所述纟笨測(cè)響應(yīng)才艮文對(duì)應(yīng)的MAC或端口,這樣,可以自動(dòng)實(shí)現(xiàn)更 新端口與服務(wù)器MAC的綁定,并且,還可以適應(yīng)采用環(huán)形組網(wǎng)方式的網(wǎng)絡(luò)。雖然通過(guò)實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多 變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化 而不脫離本發(fā)明的精神。
權(quán)利要求
1、一種綁定服務(wù)器MAC地址和上行端口的方法,其特征在于,預(yù)先配置上行端口組;預(yù)設(shè)IP地址池,其中包括上行服務(wù)器的IP地址;預(yù)先為VLAN配置三層接口IP;并包括在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào)文;所述探測(cè)報(bào)文的目的IP地址屬于預(yù)先配置的IP地址池中的地址;當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的MAC或端口。
2、 如權(quán)利要求l所述的方法,其特征在于,所述方法還包括當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且二層轉(zhuǎn)發(fā) 表中不存在所述纟笨測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的表項(xiàng)時(shí),將所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的 MAC, VLAN和端口表項(xiàng)添加到二層轉(zhuǎn)發(fā)表中。
3、 如權(quán)利要求1所述的方法,其特征在于,所述當(dāng)收到的探測(cè)響應(yīng)報(bào)文 中的端口屬于預(yù)先配置的上行端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表 中的包含同 一虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中 的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述4冢測(cè)響應(yīng)才艮文對(duì)應(yīng)的MAC或 端口,由以下方式實(shí)現(xiàn)建立服務(wù)器上行訪問(wèn)信息表host—mac,該表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器 的IP地址,MAC地址,VLAN和端口 ;當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng),但該表項(xiàng) 中的MAC地址或端口與纟果測(cè)響應(yīng)才艮文相關(guān)的源MAC地址或端口不相等時(shí), 刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并冊(cè)1]除host—mac 表中的相應(yīng)表項(xiàng);在host mac 表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng),并向二層轉(zhuǎn)發(fā)表中添加 該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。
4、 如權(quán)利要求1所述的方法,其特征在于,所述在虛擬局域網(wǎng)發(fā)送根據(jù) 服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào)文由以下方式實(shí)現(xiàn)在虛擬局域網(wǎng)發(fā)送預(yù)設(shè)次數(shù)個(gè)根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的#:測(cè)報(bào)文。
5、 如權(quán)利要求1所述的方法,其特征在于,所述在虛擬局域網(wǎng)發(fā)送根據(jù) 服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)才艮文由以下方式實(shí)現(xiàn)每隔預(yù)設(shè)時(shí)間間隔在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址 的探測(cè)報(bào)文。
6、 如權(quán)利要求1所述的方法,其特征在于,所述發(fā)送的探測(cè)報(bào)文為地址 解析協(xié)議廣播查詢(xún)報(bào)文,或網(wǎng)際控制信息協(xié)議廣播查詢(xún)報(bào)文。
7、 如權(quán)利要求1所述的方法,其特征在于,所述方法還包括當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口不屬于預(yù)先配置的上行端口組時(shí),丟棄該 探測(cè)響應(yīng)報(bào)文。
8、 如權(quán)利要求3所述的方法,其特征在于,所述方法還包括當(dāng)沒(méi)有收到探測(cè)響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器IP地址查找host_mac表, 如果找到貝"刪除二層轉(zhuǎn)發(fā)表中的對(duì)應(yīng)表項(xiàng),并刪除host—mac 表中的對(duì)應(yīng)表項(xiàng)。
9、 如權(quán)利要求3所述的方法,其特征在于,所述方法還包括 當(dāng)查詢(xún)到host—mac表中不存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng)時(shí),向host—mac表中添加該服務(wù)器的IP地址,MAC, VLAN和端口,并向二層轉(zhuǎn)發(fā) 表添加所述服務(wù)器IP地址對(duì)應(yīng)的MAC, VLAN和端口 。
10、 一種綁定服務(wù)器MAC地址和上行端口的裝置,其特征在于,包括服 務(wù)器地址表,上行端口組,上行服務(wù)器探測(cè)單元,更新單元,二層轉(zhuǎn)發(fā)表單元, 其中,服務(wù)器地址表,用于存儲(chǔ)上行服務(wù)器的IP地址; 上行端口組,用于存儲(chǔ)預(yù)先配置的上行端口組;上行服務(wù)器探測(cè)單元,用于在虛擬局域網(wǎng)發(fā)送根據(jù)上行服務(wù)器IP地址查 詢(xún)MAC地址的探測(cè)報(bào)文,并接收服務(wù)器返回的探測(cè)響應(yīng)報(bào)文;更新單元,用于當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口 組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端 口更新為所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的MAC或端口 。 二層轉(zhuǎn)發(fā)表單元,用于存儲(chǔ)二層轉(zhuǎn)發(fā)表。
11、 如權(quán)利要求IO所述的裝置,其特征在于,所述更新單元包括服務(wù)器 上行訪問(wèn)信息表,查詢(xún)單元和刪除添加單元,服務(wù)器上行訪問(wèn)信息表,用于存儲(chǔ)建立的服務(wù)器上行訪問(wèn)信息表 host_mac,該host—mac表中包括探測(cè)響應(yīng)報(bào)文的服務(wù)器IP地址,MAC地址, 虛擬局域網(wǎng)和端口更新單元;查詢(xún)單元用于當(dāng)收到的^:測(cè)響應(yīng)^R文中的端口屬于預(yù)先配置的上行端口 組時(shí),根據(jù)所述服務(wù)器IP地址查詢(xún)host—mac表;刪除添加單元,用于當(dāng)查詢(xún)到host—mac表中存在包含探測(cè)的服務(wù)器IP地 址的表項(xiàng),但該表項(xiàng)中的MAC地址或端口與探測(cè)響應(yīng)報(bào)文相關(guān)的源MAC地 址或端口不相等時(shí),刪除二層轉(zhuǎn)發(fā)表中的相應(yīng)表項(xiàng),并刪除host—mac表中的 相應(yīng)表項(xiàng);在host—mac表中增加所述IP及對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng), 并向二層轉(zhuǎn)發(fā)表中添加該對(duì)應(yīng)MAC, VLAN和端口的表項(xiàng)。
12、 如權(quán)利要求11所述的裝置,其特征在于,所述更新單元還包括刪除 單元,用于當(dāng)上行服務(wù)器探測(cè)單元沒(méi)有收到探測(cè)響應(yīng)報(bào)文時(shí),根據(jù)所述服務(wù)器 IP地址查找host—mac表,如果找到則刪除二層轉(zhuǎn)發(fā)表中的對(duì)應(yīng)表項(xiàng),并刪除 host—mac表中的對(duì)應(yīng)表項(xiàng)。
13、 如權(quán)利要求11所述的裝置,其特征在于,所述更新單元還包括添加 單元,用于當(dāng)查詢(xún)到host—mac表中不存在包含探測(cè)的服務(wù)器IP地址的表項(xiàng)時(shí), 向host—mac表中添加該月l務(wù)器的IP地址,MAC, VLAN和端口 ,并向二層轉(zhuǎn) 發(fā)表添加所述服務(wù)器IP地址對(duì)應(yīng)的MAC, VLAN和端口 。
全文摘要
本發(fā)明公開(kāi)了一種綁定服務(wù)器MAC地址和上行端口的方法,預(yù)先配置上行端口組;預(yù)設(shè)IP地址池;預(yù)先為VLAN配置三層接口IP;并包括在虛擬局域網(wǎng)發(fā)送根據(jù)服務(wù)器IP地址查詢(xún)MAC地址的探測(cè)報(bào)文;所述探測(cè)報(bào)文的目的IP地址屬于預(yù)先配置的IP地址池中的地址;當(dāng)收到的探測(cè)響應(yīng)報(bào)文中的端口屬于預(yù)先配置的上行端口組,且源MAC或端口與交換機(jī)二層轉(zhuǎn)發(fā)表中的包含同一虛擬局域網(wǎng)的表項(xiàng)中的MAC或端口不相等時(shí),將二層轉(zhuǎn)發(fā)表中的該虛擬局域網(wǎng)對(duì)應(yīng)的MAC或端口更新為所述探測(cè)響應(yīng)報(bào)文對(duì)應(yīng)的MAC或端口。本發(fā)明還公開(kāi)了相應(yīng)裝置。利用本發(fā)明,可以自動(dòng)實(shí)現(xiàn)更新端口與服務(wù)器MAC的綁定,并且,還可以適應(yīng)采用環(huán)形組網(wǎng)方式的網(wǎng)絡(luò)。
文檔編號(hào)H04L12/56GK101127681SQ200710145800
公開(kāi)日2008年2月20日 申請(qǐng)日期2007年9月5日 優(yōu)先權(quán)日2007年9月5日
發(fā)明者偉 況 申請(qǐng)人:杭州華三通信技術(shù)有限公司