互聯(lián)網(wǎng)協(xié)議地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備,該方法包括:接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,在ARP緩存表中查找IP地址沖突檢測報文中攜帶的目的IP地址和主機(jī)設(shè)備所在的Super?VLAN的ID對應(yīng)的第一ARP表項;若查找到第一ARP表項,在確定第一ARP表項中的Sub?VLAN的ID與主機(jī)設(shè)備所在的Sub?VLAN的ID不同、且第一ARP表項中的介質(zhì)訪問控制MAC地址與IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知主機(jī)設(shè)備。
【專利說明】互聯(lián)網(wǎng)協(xié)議地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤指一種互聯(lián)網(wǎng)協(xié)議(Internet Protocol, IP)地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備。
【背景技術(shù)】
[0002]超級虛擬局域網(wǎng)(SuperVirtual Local Area Network, Super VLAN)又稱為 VLAN聚合,其原理是一個Super VLAN包含多個子(Sub) VLAN,每個Sub VLAN是一個廣播域,不同Sub VLAN之間二層相互隔離。Super VLAN可以配置三層接口,Sub VLAN不能配置三層接口。當(dāng)Sub VLAN內(nèi)的主機(jī)(PC)需要進(jìn)行三層通信時,將使用Super VLAN三層接口的IP地址作為網(wǎng)關(guān)地址,這樣多個Sub VLAN共用一個IP網(wǎng)段,從而節(jié)省了 IP地址資源。如圖1所示,是一個Super VLAN組網(wǎng)的結(jié)構(gòu)示意圖。
[0003]為了實現(xiàn)不同Sub VLAN之間的三層互通及Sub VLAN與其他網(wǎng)絡(luò)的互通,SuperVLAN需要利用地址解析協(xié)議(Address Resolution Protocol, ARP)代理功能。通過ARP代理可以進(jìn)行相關(guān)ARP請求和應(yīng)答報文的轉(zhuǎn)發(fā)與處理,從而實現(xiàn)了 Sub VLAN二層隔離端口間
的三層互通。
[0004]如果在一個Super VLAN內(nèi),有兩個不同的主機(jī)同時使用一個IP地址,兩個主機(jī)將會沖突,從而嚴(yán)重影響Super VLAN上運行的業(yè)務(wù),因此如何實現(xiàn)IP地址沖突檢測就顯得尤
為重要。
[0005]目前,常用的IP地址沖突檢測方法為:Super VLAN上的網(wǎng)關(guān)設(shè)備將IP地址沖突檢測報文透傳到除源Sub VLAN之外的其他Sub VLAN中。在檢測到IP地址沖突后,該網(wǎng)關(guān)設(shè)備再將IP地址沖突檢測應(yīng)答報文發(fā)送到源Sub VLAN中。該方法需要將IP地址沖突檢測報文在除源Sub VLAN外的其他子VLAN中廣播,當(dāng)Super VLAN包括很多Sub VLAN,如4093個Sub VLAN的情況下,網(wǎng)關(guān)設(shè)備要復(fù)制轉(zhuǎn)發(fā)4093個IP地址沖突檢測報文,會嚴(yán)重影響網(wǎng)關(guān)設(shè)備的處理性能,且?guī)泶罅康膹V播報文,占用過多的網(wǎng)絡(luò)帶寬。
【發(fā)明內(nèi)容】
[0006]本發(fā)明實施例提供一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備,用以解決現(xiàn)有的IP地址沖突檢測方法嚴(yán)重影響網(wǎng)關(guān)設(shè)備的處理性能,以及占用過多的網(wǎng)絡(luò)帶寬的問題。
[0007]因此,根據(jù)本發(fā)明實施例,提供一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測方法,包括:
[0008]接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,在預(yù)先建立的地址解析協(xié)議ARP緩存表中查找所述IP地址沖突檢測報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的超級虛擬局域網(wǎng)Super VLAN的標(biāo)識ID對應(yīng)的第一 ARP表項,所述IP地址沖突探測報文的目的IP地址為所述主機(jī)設(shè)備的IP地址;
[0009]若查找到所述第一 ARP表項,在確定所述第一 ARP表項中的子Sub VLAN的ID與所述主機(jī)設(shè)備所在的Sub VLAN的ID不同、且所述第一 ARP表項中的介質(zhì)訪問控制MAC地址與所述IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定所述IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知所述主機(jī)設(shè)備。
[0010]較佳的,查找到所述第一 ARP表項之后,若所述IP地址沖突檢測報文中攜帶的目的IP地址不是沖突的IP地址,還包括:
[0011]當(dāng)所述IP地址沖突探測報文為ARP探測請求報文時,不更新所述第一 ARP表項;
[0012]當(dāng)所述IP地址沖突探測報文為免費ARP請求報文時,將所述第一 ARP表項中的Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第一 ARP表項中的MAC地址替換為所述IP地址沖突探測報文中攜帶的源MAC地址。
[0013]較佳的,還包括:
[0014]若未查找到所述第一 ARP表項,建立包括所述IP地址沖突探測報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
[0015]較佳的,通知所述主機(jī)設(shè)備之后,還包括:
[0016]向所述主機(jī)設(shè)備發(fā)送單播ARP請求報文;
[0017]若未接收到所述主機(jī)設(shè)備回復(fù)的ARP響應(yīng)報文,刪除所述第一 ARP表項。
[0018]較佳的,還包括:
[0019]接收到所述主機(jī)設(shè)備發(fā)送的普通ARP請求報文,在所述ARP緩存表中查找所述普通ARP請求報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的Super VLAN的ID對應(yīng)的第二 ARP表項;
[0020]若查找到所述第二 ARP表項,將所述第二 ARP表項中的子Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第二 ARP表項中的MAC地址替換為所述普通ARP請求報文中攜帶的源MAC地址;
[0021]若未查找到所述第二 ARP表項,建立包括所述普通ARP請求報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
[0022]本發(fā)明實施例還提供一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測裝置,包括:
[0023]查找單元,用于接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,在預(yù)先建立的地址解析協(xié)議ARP緩存表中查找所述IP地址沖突檢測報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的超級虛擬局域網(wǎng)Super VLAN的標(biāo)識ID對應(yīng)的第一 ARP表項,所述IP地址沖突探測報文的目的IP地址為所述主機(jī)設(shè)備的IP地址;
[0024]檢測單元,用于若所述查找單元查找到所述第一 ARP表項,在確定所述第一 ARP表項中的子Sub VLAN的ID與所述主機(jī)設(shè)備所在的Sub VLAN的ID不同、且所述第一 ARP表項中的介質(zhì)訪問控制MAC地址與所述IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定所述IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知所述主機(jī)設(shè)備。
[0025]較佳的,所述檢測單元,還用于:在所述查找單元查找到所述第一 ARP表項之后,若所述IP地址沖突檢測報文中攜帶的目的IP地址不是沖突的IP地址,當(dāng)所述IP地址沖突探測報文為ARP探測請求報文時,不更新所述第一 ARP表項;當(dāng)所述IP地址沖突探測報文為免費ARP請求報文時,將所述第一 ARP表項中的Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第一 ARP表項中的MAC地址替換為所述IP地址沖突探測報文中攜帶的源MAC地址。[0026]較佳的,所述檢測單元,還用于:
[0027]若所述查找單元未查找到所述第一 ARP表項,建立包括所述IP地址沖突探測報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
[0028]較佳的,所述檢測單元,還用于:
[0029]在通知所述主機(jī)設(shè)備之后,向所述主機(jī)設(shè)備發(fā)送單播ARP請求報文;
[0030]若未接收到所述主機(jī)設(shè)備回復(fù)的ARP響應(yīng)報文,刪除所述第一 ARP表項。
[0031]較佳的,所述查找單元,還用于接收到所述主機(jī)設(shè)備發(fā)送的普通ARP請求報文,在所述ARP緩存表中查找所述普通ARP請求報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的Super VLAN的ID對應(yīng)的第二 ARP表項;
[0032]所述檢測單元,還用于:
[0033]若所述查找單元查找到所述第二 ARP表項,將所述第二 ARP表項中的子Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第二 ARP表項中的MAC地址替換為所述普通ARP請求報文中攜帶的源MAC地址;
[0034]若所述查找單元未查找到所述第二 ARP表項,建立包括所述普通ARP請求報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
[0035]本發(fā)明實施例還提供一種網(wǎng)關(guān)設(shè)備,包括上述的互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測裝置。
[0036]本發(fā)明實施例提供的互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測方法、裝置及網(wǎng)關(guān)設(shè)備,在接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,首先在預(yù)先建立的ARP緩存表中查找IP地址沖突檢測報文中攜帶的目的IP地址和主機(jī)設(shè)備所在的Super VLAN的ID對應(yīng)的第一 ARP表項;若查找到第一 ARP表項,在確定第一 ARP表項中的Sub VLAN的ID與主機(jī)設(shè)備所在的Sub VLAN的ID不同、且第一 ARP表項中的MAC地址與所述IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,也就是說主機(jī)設(shè)備的IP地址為沖突的IP地址,并通知主機(jī)設(shè)備,并不需要再將IP地址沖突檢測報文在除主機(jī)設(shè)備所在的Sub VLAN外的其他Sub VLAN內(nèi)轉(zhuǎn)發(fā),從而能夠很好的保持網(wǎng)關(guān)設(shè)備的處理性能,并且節(jié)省了很多的網(wǎng)絡(luò)帶寬。
【專利附圖】
【附圖說明】
[0037]圖1為現(xiàn)有技術(shù)中Super VLAN組網(wǎng)的結(jié)構(gòu)示意圖;
[0038]圖2為本發(fā)明實施例中IP地址沖突檢測方法的流程圖;
[0039]圖3為本發(fā)明實施例中ARP探測請求報文的結(jié)構(gòu)示意圖;
[0040]圖4為本發(fā)明實施例中免費ARP請求報文的結(jié)構(gòu)圖;
[0041]圖5為本發(fā)明優(yōu)選的實施例中Super VLAN組網(wǎng)的結(jié)構(gòu)示意圖;
[0042]圖6為本發(fā)明實施例中IP地址沖突檢測裝置的結(jié)構(gòu)示意圖。
【具體實施方式】
[0043]針對現(xiàn)有的IP地址沖突檢測方法嚴(yán)重影響網(wǎng)關(guān)設(shè)備的處理性能,以及占用過多的網(wǎng)絡(luò)帶寬的問題,本發(fā)明實施例提供一種IP地址沖突檢測方法,該方法可以應(yīng)用在如圖1所示的組網(wǎng)結(jié)構(gòu)中,Sub VLAN2和Sub VLAN4聚合成Super VLAN3,為Super VLAN3分配一個IP子網(wǎng),Sub VLAN2和Sub VLAN4都位于此子網(wǎng)。該方法的流程如圖2所示,具體包括:
[0044]S20:接收主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文。
[0045]當(dāng)Super VLAN3中的主機(jī)設(shè)備起機(jī)后,都會發(fā)送IP地址沖突探測報文,該IP地址沖突探測報文經(jīng)由主機(jī)設(shè)備所在的Sub VLAN轉(zhuǎn)發(fā)到Super VLAN中的網(wǎng)關(guān)設(shè)備,網(wǎng)關(guān)設(shè)備就可以接收該IP地址沖突探測報文。
[0046]IP地址可以是IPv4地址,也可以是IPv6地址。
[0047]S21:在預(yù)先建立的ARP緩存表中查找IP地址沖突檢測報文中攜帶的目的IP地址和主機(jī)設(shè)備所在的Super VLAN的標(biāo)識(Identification,ID)對應(yīng)的第一 ARP表項,若查找到,執(zhí)行S22 ;否則,執(zhí)行S23。其中,IP地址沖突探測報文的目的IP地址為主機(jī)設(shè)備的IP地址
[0048]ARP緩存表中的表項記錄的是在Super VLAN中已經(jīng)存在的主機(jī)設(shè)備的IP地址、源MAC地址、所在的Sub VLAN的ID和Super VLAN的ID,可以根據(jù)接收到的IP地址沖突檢測報文中攜帶的目的IP地址和主機(jī)設(shè)備所在的Super VLAN的ID查找該ARP緩存表,然后根據(jù)查找結(jié)果可以確定接收到的IP地址沖突檢測報文中的目的IP地址是否為沖突的IP地址了,也就是確定主機(jī)設(shè)備的IP地址是否是沖突的IP地址了。
[0049]S22:在確定第一 ARP表項中的Sub VLAN的ID與主機(jī)設(shè)備所在的Sub VLAN的ID不同、且第一 ARP表項中的介質(zhì)訪問控制MAC地址與IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定IP地`址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知主機(jī)設(shè)備。
[0050]也就是說發(fā)送IP地址沖突探測請求報文的主機(jī)設(shè)備的IP地址與第一 ARP表項對應(yīng)的主機(jī)設(shè)備的IP地址相同、所在的Super VLAN相同,而所在的Sub VLAN不同、MAC地址
也不相同,由于MAC地址是唯一的,與主機(jī)設(shè)備是--對應(yīng)的,不會存在兩個主機(jī)設(shè)備使用
同一個MAC地址的情況,從而說明兩個主機(jī)設(shè)備分配的IP地址相同,也就說明目的IP地址為沖突的IP地址了。
[0051]該方案并不需要再將IP地址沖突檢測報文在除主機(jī)設(shè)備所在的Sub VLAN外的其他Sub VLAN內(nèi)轉(zhuǎn)發(fā),而是根據(jù)預(yù)先建立的ARP緩存表就可以進(jìn)行IP地址是否沖突的判斷,從而能夠很好的保持網(wǎng)關(guān)設(shè)備的處理性能,并且節(jié)省了很多的網(wǎng)絡(luò)帶寬。
[0052]S23:建立包括IP地址沖突探測報文的目的IP地址、源MAC地址、主機(jī)設(shè)備所在的Sub VLAN 的 ID 和 Super VLAN 的 ID 的 ARP 表項。
[0053]如果沒有查找到第一 ARP表項,那么就在ARP緩存表中建立該ARP表項,對于如圖1所示的PCl來說,建立的ARP表項中記錄的信息如下:
[0054]
Super VLAN 的 ID |lP 地址 ISub VLAN 的 ID~IMAC 地址
3192.168.1.4 2MAC-PCl
[0055]直接學(xué)習(xí)IP地址沖突探測報文中的目的IP地址、源MAC地址、主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID,并建立ARP表項,能夠減少網(wǎng)關(guān)設(shè)備在Super VLAN中轉(zhuǎn)發(fā)報文的數(shù)量,從而提高了網(wǎng)關(guān)設(shè)備的處理性能,同時也提高了網(wǎng)關(guān)設(shè)備建立ARP表項的效率。
[0056]較佳的,上述S22中的查找到第一 ARP表項之后,若IP地址沖突檢測報文中攜帶的目的IP地址不是沖突的IP地址,還包括:
[0057]當(dāng)IP地址沖突探測報文為ARP探測請求報文時,不更新第一 ARP表項;
[0058]當(dāng)IP地址沖突探測報文為免費ARP請求報文時,將第一 ARP表項中的Sub VLAN的ID替換為主機(jī)設(shè)備所在的Sub VLAN的ID,以及將第一 ARP表項中的MAC地址替換為IP地址沖突探測報文中攜帶的源MAC地址。
[0059]上述IP地址沖突檢測報文包括兩種:ARP探測報文和免費ARP請求報文。
[0060]目前一些主流的操作系統(tǒng)已經(jīng)采用請求注解(Request For Comments, RFC) 5227標(biāo)準(zhǔn)實現(xiàn)IP地址沖突檢測,如WIN7\WIN8操作系統(tǒng)。根據(jù)RFC5227標(biāo)準(zhǔn)定義,IPv4地址沖突探測報文為源IP地址為O、源MAC地址為待檢測主機(jī)設(shè)備的MAC、目的IP地址為待檢測主機(jī)設(shè)備的IP地址、目的MAC地址為0的ARP探測請求報文。其中,ARP探測請求報文如圖3所示。
[0061]在RFC5227標(biāo)準(zhǔn)出現(xiàn)之前,大多數(shù)操作系統(tǒng)采用免費ARP請求報文做IP地址沖突檢測。如Windows XP系統(tǒng)、Ubuntu操作系統(tǒng)和一些主流嵌入式網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)等。如圖4所示免費ARP請求報文的結(jié)構(gòu)示意圖。
[0062]其中,在Super VLANN組網(wǎng)中,不同Sub VLAN的主機(jī)設(shè)備的IP地址處于同一個網(wǎng)段內(nèi),但是不同Sub VLAN之間二層是相互隔離的,不能直接互訪。所以IP地址沖突檢測報文不能直接在二層上轉(zhuǎn)發(fā)。
[0063]當(dāng)IP地址沖突檢測報文為ARP探測請求報文時,不更新第一 ARP表項,因為這個報文本身是做探測用的。
[0064]當(dāng)IP地址沖突檢測報文為免費ARP請求報文時,可以包括兩種情況,一種情況是第一 ARP表項中的Sub VLAN的ID與免費ARP請求報文中的SubVLAN的ID相同、而免費ARP請求報文中攜帶的源MAC地址與第一 ARP表項中的MAC地址不同,這可能是由于更換了主機(jī)設(shè)備引起MAC地址改變導(dǎo)致的,所以直接將第一 ARP表項中的MAC地址替換為免費ARP請求報文中攜帶的源MAC地址即可;另一種情況是第一 ARP表項中的Sub VLAN的ID與免費ARP請求報文中的Sub VLAN的ID不同、而免費ARP請求報文中攜帶的源MAC地址與第一 ARP表項中的MAC地址相同,這可能是因為主機(jī)設(shè)備在Sub VLAN之間發(fā)生了遷移,所以直接將第一 ARP表項中的Sub VLAN的ID替換為免費ARP請求報文中攜帶的Sub VLAN的ID即可。
[0065]網(wǎng)關(guān)設(shè)備在檢測到主機(jī)設(shè)備的目的IP地址為沖突的IP地址后,通過主機(jī)設(shè)備所在的Sub VLAN通知主機(jī)設(shè)備,具體可以是向主機(jī)設(shè)備所在的Sub VLAN發(fā)送IP地址沖突檢測應(yīng)答報文,源IP為主機(jī)設(shè)備的IP地址、源MAC地址地址為網(wǎng)關(guān)設(shè)備的MAC地址、目的IP地址為O、目的MAC地址為主機(jī)主機(jī)設(shè)備的MAC地址。IP地址沖突檢測應(yīng)答報文可以是ARP探測應(yīng)答報文或者免費ARP應(yīng)答報文。
[0066]較佳的,上述通知主機(jī)設(shè)備之后,還包括:
[0067]向主機(jī)設(shè)備發(fā)送單播ARP請求報文;[0068]若未接收到主機(jī)設(shè)備回復(fù)的ARP響應(yīng)報文,刪除第一 ARP表項。
[0069]可以定時向主機(jī)設(shè)備發(fā)送單播ARP請求報文,如果收到ARP響應(yīng)報文,則說明主機(jī)設(shè)備還存在,第一 ARP表項不刪除;如果沒有收到ARP響應(yīng)報文,則刪除第一 ARP表項。
[0070]較佳的,上述IP地址沖突檢測方法,還包括:
[0071]接收到主機(jī)設(shè)備發(fā)送的普通ARP請求報文,在ARP緩存表中查找普通ARP請求報文中攜帶的目的IP地址和主機(jī)設(shè)備所在的Super VLAN的ID對應(yīng)的第二 ARP表項;
[0072]若查找到第二 ARP表項,將第二 ARP表項中的子Sub VLAN的ID替換為主機(jī)設(shè)備所在的Sub VLAN的ID,以及將第二 ARP表項中的MAC地址替換為普通ARP請求報文中攜帶的源MAC地址;
[0073]若未查找到第二 ARP表項,建立包括普通ARP請求報文的目的IP地址、源MAC地址、主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
[0074]如圖1所示的組網(wǎng)結(jié)構(gòu)中,假設(shè)Sub VLAN2中的PCl要與PC2通信,PCl發(fā)現(xiàn)PC2與自己處于同一網(wǎng)段,則直接發(fā)出普通ARP請求報文,那么Super VLAN中的網(wǎng)關(guān)設(shè)備收到該普通ARP請求報文后,根據(jù)普通ARP請求報文的目的IP和Super VLAN的ID查詢ARP緩存表,如果存在第二 ARP表項,則直接更新表項信息,如果不存在第二 ARP表項,則建立第二ARP表項。
[0075]下面以一個優(yōu)選的實施例來說明上述IP地址沖突檢測方法,組網(wǎng)結(jié)構(gòu)如圖5所示,以PCl和PC4的IPv4地址沖突為例進(jìn)行說明,假設(shè)PCl先起機(jī)。
[0076]PCl起機(jī)發(fā)出IP地址沖突檢測報文,可以是ARP探測請求報文或者免費ARP請求報文。`
`[0077]Super VLAN2中的網(wǎng)關(guān)設(shè)備A從Sub VLANlO接收到IP地址沖突檢測報文,根據(jù)報文的目的IP、Super VLAN ID2查找ARP緩存表,若查找不到,新建ARP表項,表項信息如下:
[0078]
【權(quán)利要求】
1.一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測方法,其特征在于,包括: 接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,在預(yù)先建立的地址解析協(xié)議ARP緩存表中查找所述IP地址沖突檢測報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的超級虛擬局域網(wǎng)Super VLAN的標(biāo)識ID對應(yīng)的第一 ARP表項,所述IP地址沖突探測報文的目的IP地址為所述主機(jī)設(shè)備的IP地址; 若查找到所述第一 ARP表項,在確定所述第一 ARP表項中的子Sub VLAN的ID與所述主機(jī)設(shè)備所在的Sub VLAN的ID不同、且所述第一 ARP表項中的介質(zhì)訪問控制MAC地址與所述IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定所述IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知所述主機(jī)設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,查找到所述第一ARP表項之后,若所述IP地址沖突檢測報文中攜帶的目的IP地址不是沖突的IP地址,還包括: 當(dāng)所述IP地址沖突探測報文為ARP探測請求報文時,不更新所述第一 ARP表項; 當(dāng)所述IP地址沖突探測報文為免費ARP請求報文時,將所述第一 ARP表項中的SubVLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第一 ARP表項中的MAC地址替換為所述IP地址沖突探測報文中攜帶的源MAC地址。
3.如權(quán)利要求1所述的方法,其特征在于,還包括: 若未查找到所述第一 ARP表項,建立包括所述IP地址沖突探測報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
4.如權(quán)利要求1-3任一所述的方法,其特征在于,通知所述主機(jī)設(shè)備之后,還包括: 向所述主機(jī)設(shè)備發(fā)送單播ARP請求報文; 若未接收到所述主機(jī)設(shè)備回復(fù)的ARP響應(yīng)報文,刪除所述第一 ARP表項。
5.如權(quán)利要求1所述的方法,其特征在于,還包括: 接收到所述主機(jī)設(shè)備發(fā)送的普通ARP請求報文,在所述ARP緩存表中查找所述普通ARP請求報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的Super VLAN的ID對應(yīng)的第二 ARP表項; 若查找到所述第二 ARP表項,將所述第二 ARP表項中的子Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第二 ARP表項中的MAC地址替換為所述普通ARP請求報文中攜帶的源MAC地址; 若未查找到所述第二 ARP表項,建立包括所述普通ARP請求報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
6.一種互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測裝置,其特征在于,包括: 查找單元,用于接收到主機(jī)設(shè)備發(fā)送的IP地址沖突探測報文后,在預(yù)先建立的地址解析協(xié)議ARP緩存表中查找所述IP地址沖突檢測報文中攜帶的目的IP地址和所述主機(jī)設(shè)備所在的超級虛擬局域網(wǎng)Super VLAN的標(biāo)識ID對應(yīng)的第一 ARP表項,所述IP地址沖突探測報文的目的IP地址為所述主機(jī)設(shè)備的IP地址; 檢測單元,用于若所述查找單元查找到所述第一 ARP表項,在確定所述第一 ARP表項中的子Sub VLAN的ID與所述主機(jī)設(shè)備所在的Sub VLAN的ID不同、且所述第一 ARP表項中的介質(zhì)訪問控制MAC地址與所述IP地址沖突探測報文中攜帶的源MAC地址也不同后,確定所述IP地址沖突檢測報文中攜帶的目的IP地址為沖突的IP地址,并通知所述主機(jī)設(shè)備。
7.如權(quán)利要求6所述的裝置,其特征在于,所述檢測單元,還用于:在所述查找單元查找到所述第一 ARP表項之后,若所述IP地址沖突檢測報文中攜帶的目的IP地址不是沖突的IP地址,當(dāng)所述IP地址沖突探測報文為ARP探測請求報文時,不更新所述第一 ARP表項;當(dāng)所述IP地址沖突探測報文為免費ARP請求報文時,將所述第一 ARP表項中的Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第一 ARP表項中的MAC地址替換為所述IP地址沖突探測報文中攜帶的源MAC地址。
8.如權(quán)利要求6所述的裝置,其特征在于,所述檢測單元,還用于: 若所述查找單元未查找到所述第一 ARP表項,建立包括所述IP地址沖突探測報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
9.如權(quán)利要求6-8任一所述的裝置,其特征在于,所述檢測單元,還用于: 在通知所述主機(jī)設(shè)備之后,向所述主機(jī)設(shè)備發(fā)送單播ARP請求報文; 若未接收到所述主機(jī)設(shè)備回復(fù)的ARP響應(yīng)報文,刪除所述第一 ARP表項。
10.如權(quán)利要求6所述的裝置,其特征在于,所述查找單元,還用于接收到所述主機(jī)設(shè)備發(fā)送的普通ARP請求報文,在所述ARP緩存表中查找所述普通ARP請求報文中攜帶的目的IP地址和所述主機(jī)設(shè) 備所在的Super VLAN的ID對應(yīng)的第二 ARP表項; 所述檢測單元,還用于: 若所述查找單元查找到所述第二 ARP表項,將所述第二 ARP表項中的子Sub VLAN的ID替換為所述主機(jī)設(shè)備所在的Sub VLAN的ID,以及將所述第二 ARP表項中的MAC地址替換為所述普通ARP請求報文中攜帶的源MAC地址; 若所述查找單元未查找到所述第二 ARP表項,建立包括所述普通ARP請求報文的目的IP地址、源MAC地址、所述主機(jī)設(shè)備所在的Sub VLAN的ID和Super VLAN的ID的ARP表項。
11.一種網(wǎng)關(guān)設(shè)備,其特征在于,包括如權(quán)利要求6-10任一所述的互聯(lián)網(wǎng)協(xié)議IP地址沖突檢測裝置。
【文檔編號】H04L29/12GK103501355SQ201310397576
【公開日】2014年1月8日 申請日期:2013年9月4日 優(yōu)先權(quán)日:2013年9月4日
【發(fā)明者】楊建陽 申請人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司