專利名稱:無vlan虛接口情況下發(fā)送arp請求的方法和裝置的制作方法
技術領域:
本發(fā)明屬于以太網(wǎng)領域,涉及以太網(wǎng)內(nèi)的VLAN(Virtual Local AreaNetwork,虛擬局域網(wǎng))技術,尤其涉及一種在無VLAN虛接口情況下發(fā)送ARP請求的方法和裝置。
背景技術:
ARP(Address Resolution Protocol,地址解析協(xié)議)協(xié)議用來在以太網(wǎng)鏈路中動態(tài)建立IP(Internet Protocol,互聯(lián)網(wǎng)協(xié)議)地址和物理MAC(Media Access Control,媒體訪問控制)地址的映射關系。
在如圖1所示的典型網(wǎng)絡中,網(wǎng)關130和客戶端計算機110之間會交互ARP報文。通過ARP報文的交互,計算機110上建立ARP緩存表(ARP Cache),用于連接網(wǎng)絡和通信。作為網(wǎng)關130的路由器或三層交換機上也會建立ARP表,作為轉(zhuǎn)發(fā)數(shù)據(jù)的依據(jù)。計算機110和網(wǎng)關130之間的二層交換機120會對ARP報文進行轉(zhuǎn)發(fā),但不會進行解析。然而,現(xiàn)在越來越多的應用要求在二層交換機120上啟動ARP偵聽、ARP代答等功能。
比如,啟動了MAC強制轉(zhuǎn)發(fā)特性后,在二層交換機120上記錄網(wǎng)關130的MAC地址,同時將計算機110發(fā)送的ARP報文全部上送接入設備二層交換機120。對于計算機110的ARP請求,二層交換機120都代為應答,且應答的MAC地址正是網(wǎng)關130的MAC。這樣,計算機110發(fā)送的所有數(shù)據(jù)報文都會被強制轉(zhuǎn)發(fā)到網(wǎng)關130上進行處理,以實現(xiàn)VLAN(Virtual Local Area Network,虛擬局域網(wǎng))內(nèi)的用戶通信都不再進行二層交換,而是強制在網(wǎng)關130上進行三層轉(zhuǎn)發(fā)。這樣,在網(wǎng)關130上就可以實現(xiàn)對流量進行統(tǒng)一監(jiān)控,或者部署一些安全特性。在此特性中,為了感知網(wǎng)關130 MAC地址的變化,需要二層交換機120針對網(wǎng)關130進行ARP探測,也即發(fā)起對網(wǎng)關130 IP地址的ARP請求。
再比如,為了快速應答計算機110或網(wǎng)關130發(fā)送的ARP請求,以減少廣播,還有一些特性需要在二層交換機120上維護ARP Snooping(偵聽)表項。為了實現(xiàn)這些ARP Snooping表項的老化,也需要在二層交換機120上發(fā)起對某一用戶IP地址的ARP請求。
由于ARP報文和機制的需要,在發(fā)送ARP請求時,必須為ARP請求報文指定一個源IP和源MAC地址。但是對于二層交換機,用戶對應的VLAN不需要配置IP地址就可進行二層轉(zhuǎn)發(fā),因此正常情況下對于只需要進行二層轉(zhuǎn)發(fā)的VLAN往往不配置IP地址。然而,為了滿足上述ARP探測需求,目前組網(wǎng)時,在接入交換機上,就必須為用戶所需的VLAN配置VLAN接口,并在這個VLAN接口上配置IP地址。
上述ARP探測實現(xiàn)方案不僅增加了不必要的配置,更重要的是還無端浪費了大量的IP地址。IPv4地址十分緊張,因此這種配置在實際應用中受到限制,容易遭到用戶的質(zhì)疑。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明目的在于提供一種發(fā)送ARP請求的方法,使得即使在不配置VLAN虛接口和接口IP的情況下,也能實現(xiàn)在某一個VLAN內(nèi)對某一個IP地址通過發(fā)送ARP請求的方式進行探測。
同時,本發(fā)明另一目的在于提供一種發(fā)送ARP請求的裝置,以支持上述方法的實施。
為了達到上述目的,本發(fā)明公開了一種二層交換機發(fā)送ARP請求的方法。該方法應用在所述二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、但卻沒有為所述目的IP地址對應的VLAN配置VLAN虛接口的情況下,主要包括有下列步驟步驟S1,從所述二層交換機上的用戶信息表中讀取一個對應所述VLAN、且其中IP地址不等于所述目的IP地址的表項;或者,當所述二層交換機因其組網(wǎng)和/或特性使能的要求探測所述目的IP地址所用的ARP請求報文不能從所讀取表項的接入端口輸出時,則從所述二層交換機上的用戶信息表中讀取一個對應所述VLAN的表項,且所述表項中的IP地址不等于所述目的IP地址、而所述表項的接入端口不等于所述探測用ARP請求報文的發(fā)送端口;步驟S2,將所讀取表項中的IP地址和MAC地址用作源IP地址和源MAC地址來構(gòu)造針對所述目的IP地址的ARP請求報文,并輸出所述ARP請求報文。
對于上述二層交換機發(fā)送ARP請求的方法,優(yōu)選地,在步驟S1之前還包括有步驟S0,用于判斷所述用戶信息表中對應所述VLAN的表項是否為0,并且在判定為否時繼續(xù)執(zhí)行所述步驟S1、或者在判定為是時直接結(jié)束而不發(fā)送ARP請求。
對于上述二層交換機發(fā)送ARP請求的方法,優(yōu)選地,所述步驟S1具體包括有下列步驟步驟S1-1,從所述用戶信息表中讀取一個對應所述VLAN的表項,步驟S1-2,判斷所讀取表項中的IP地址是否等于所述目的IP地址,如果判定為否則繼續(xù)執(zhí)行所述步驟S2,如果判定為是則繼續(xù)執(zhí)行下述步驟S1-3;或者,當所述二層交換機因其組網(wǎng)和/或特性使能的要求探測所述目的IP地址所用ARP請求報文不能從所讀取表項的接入端口輸出時,則判斷所讀取表項中的IP地址是否等于所述目的IP地址、以及所讀取表項的接入端口是否等于所述探測用ARP請求報文的發(fā)送端口,如果兩個判定中任一為是則繼續(xù)執(zhí)行所述步驟S1-3,如果兩個判定均為否則繼續(xù)執(zhí)行所述步驟S2;步驟S1-3,從所述用戶信息表中讀取另一個對應所述VLAN的表項,之后再繼續(xù)執(zhí)行所述步驟S2。
對于上述二層交換機發(fā)送ARP請求的方法,優(yōu)選地,所述步驟S1-1具體為讀取所述用戶信息表中對應所述VLAN的第一個表項,而所述步驟S1-3具體為讀取所述用戶信息表中對應所述VLAN的第二個表項;或者,所述步驟S1-1具體為隨機讀取所述用戶信息表中對應所述VLAN的任意一個表項,而所述步驟S1-3具體為隨機讀取所述用戶信息表中對應所述VLAN的任意一個其他表項。
對于上述二層交換機發(fā)送ARP請求的方法,進一步優(yōu)選地,所述用戶信息表為所述二層交換機通過使能DHCP偵聽特性后建立的DHCP偵聽表;或者,所述用戶信息表為所述二層交換機通過ARP偵聽建立的ARP偵聽表。
同時,為了達到上述另一目的,本發(fā)明公開了一種發(fā)送ARP請求的裝置。該裝置配置在二層交換機中,應用在所述二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、但卻沒有為所述目的IP地址對應的VLAN配置VLAN虛接口的情況下,主要包括有用戶信息獲取單元和報文構(gòu)造單元。其中,所述用戶信息獲取單元與所述二層交換機上的用戶信息表相連,用于從所述用戶信息表中讀取一個對應所述VLAN、且其中IP地址不等于所述目的IP地址的表項;所述報文構(gòu)造單元與所述用戶信息獲取單元相連,用于將所讀取表項中的IP地址和MAC地址作為源IP地址和源MAC地址來構(gòu)造針對所述目的IP地址的ARP請求報文,并輸出所述ARP請求報文。
對于上述發(fā)送ARP請求的裝置,優(yōu)選地,其還包括有與所述用戶信息表和所述用戶信息獲取單元相連的探測可能判斷單元,用于判斷所述用戶信息表中是否存在對應所述VLAN的表項,并在判定存在時才觸發(fā)所述用戶信息獲取單元的運行。
對于上述發(fā)送ARP請求的裝置,優(yōu)選地,所述用戶信息獲取單元包括有讀模塊和判斷模塊。其中,所述讀模塊與所述用戶信息表相連,用于從所述用戶信息表中讀取一個對應所述VLAN的表項。所述判斷模塊與所述讀模塊和所述報文構(gòu)造單元相連,用于判斷所讀取表項中的IP地址是否等于所述目的IP地址,并在判定相等時通知所述讀模塊從所述用戶信息表中讀取另一個對應所述VLAN的表項、或者在判定不等時將所讀取表項輸出至所述報文構(gòu)造單元;或者,當所述二層交換機因其組網(wǎng)和/或特性使能的要求探測所述目的IP地址所用ARP請求報文不能從所讀取表項的接入端口輸出時,則所述判斷模塊還用于判斷所讀取表項的接入端口是否等于所述探測用ARP請求報文的發(fā)送端口,并在兩個判定中任一出現(xiàn)相等時通知所述讀模塊從所述用戶信息表中讀取另一個對應所述VLAN的表項、或者在兩個判定均不等時將所讀取表項輸出至所述報文構(gòu)造單元。
對于上述發(fā)送ARP請求的裝置,優(yōu)選地,所述讀模塊順序地讀取所述用戶信息表中對應所述VLAN的第一個表項和/或第二個表項;或者,所述讀模塊隨機地讀取所述用戶信息表中對應所述VLAN的任意一個表項和/或任意一個其他表項。
對于上述發(fā)送ARP請求的裝置,進一步優(yōu)選地,所述用戶信息表為所述二層交換機通過使能DHCP偵聽特性后建立的DHCP偵聽表;或者,所述用戶信息表為所述二層交換機通過ARP偵聽建立的ARP偵聽表。
這樣,通過對偵聽所得的用戶信息加以利用,本發(fā)明使得二層交換機在不需要具備3層轉(zhuǎn)發(fā)功能的VLAN內(nèi)發(fā)送ARP請求進行探測時,無需特別配置VLAN虛接口,更不需要配置IP地址。
并且,利用VLAN內(nèi)某一用戶的IP地址和MAC地址作為源IP地址和源MAC地址來構(gòu)造ARP請求報文,不僅能夠正確實現(xiàn)MAC強制特性功能,還不需要增加額外的配置,從而也不會造成IP地址浪費。
圖1為現(xiàn)有技術中的典型網(wǎng)絡圖;圖2為本發(fā)明中二層交換機發(fā)送ARP請求方法的第一優(yōu)選實施例的流程圖;圖3為本發(fā)明中二層交換機發(fā)送ARP請求方法的第二優(yōu)選實施例的流程圖;圖4為本發(fā)明中發(fā)送ARP請求裝置的最佳實施例的結(jié)構(gòu)框圖。
具體實施例方式
本發(fā)明的上述及其他技術特征和有益效果,將通過下面參照附圖進行的優(yōu)選實施例介紹得到更充分的闡述。
請參閱圖2,其為本發(fā)明所提供二層交換機發(fā)送ARP請求的方法的第一優(yōu)選實施例的流程圖。
如果作為接入設備的二層交換機上使能了DHCP(Dynamic HostConfiguration Protocol,動態(tài)主機配置協(xié)議)Snooping(偵聽)特性,則該二層交換機通過偵聽DHCP報文能夠獲得用戶的IP地址和MAC地址的對應關系。
當二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、卻沒有為這個目的IP地址的對應VLAN配置VLAN虛接口的情況下,假設這個二層交換機上使能有DHCP Snooping特性,則其可利用通過偵聽DHCP報文建立的DHCP Snooping表中用戶信息來實現(xiàn)ARP請求發(fā)送,且具體實現(xiàn)過程描述如下首先,該二層交換機需要判斷其上通過偵聽所得的DHCP Snooping表中是否存在對應這個VLAN的表項,也即執(zhí)行圖2所示步驟S0。
如果不存在對應這個VLAN的DHCP Snooping表項,也即DHCPSnooping表中對應這個VLAN的用戶信息表項數(shù)為0,則說明這個VLAN內(nèi)沒有用戶存在使用網(wǎng)絡的需求。此時,也就不存在對這個VLAN內(nèi)IP地址進行探測的需求。在這種情況下,則如圖2所示,二層交換機將由于不需要發(fā)送ARP請求而直接結(jié)束。
如果存在對應這個VLAN的DHCP Snooping表項,也即DHCPSnooping表中對應這個VLAN的用戶信息表項數(shù)大于或等于1,則說明這個VLAN內(nèi)至少有一個用戶存在使用網(wǎng)絡的需求。在這種情況下,二層交換機就可利用其上DHCP Snooping表中用戶信息來實現(xiàn)針對目的IP地址的ARP請求發(fā)送,且該實現(xiàn)如圖2所示包括有下列步驟步驟S1,從這個二層交換機上的DHCP Snooping表中讀取一個對應這個VLAN、且其中IP地址不等于所需探測目的IP地址的表項;步驟S2,將所讀取表項中的IP地址和MAC地址用作源IP地址和源MAC地址來構(gòu)造針對這個目的IP地址的ARP請求報文,并輸出這個ARP請求報文。
其中,上述步驟S1又進一步細分為包括有下列子步驟步驟S1-1,從這個二層交換機上的DHCP Snooping表中讀取第一個對應這個VLAN的表項;步驟S1-2,判斷所讀取表項中的IP地址是否等于所需探測的目的IP地址,如果判定為否則繼續(xù)執(zhí)行上述步驟S2,如果判定為是則繼續(xù)執(zhí)行下述步驟S1-3;步驟S1-3,從這個二層交換機上的DHCP Snooping表中讀取第二個對應這個VLAN的表項,然后繼續(xù)執(zhí)行上述步驟S2。
通過上述介紹可知,在不需要具備三層轉(zhuǎn)發(fā)功能的VLAN內(nèi)通過ARP請求的方式進行IP探測時,完全可利用偵聽所得的DHCP Snooping表中用戶信息來構(gòu)造相應的ARP請求報文,而無需為所需探測IP地址對應的VLAN特別配置VLAN虛接口,更不需要配置IP地址。并且,根據(jù)DHCP Snooping表中對應這個VLAN的用戶信息表項的數(shù)量,具體實現(xiàn)過程大致有三種1、當DHCP Snooping表中對應這個VLAN的用戶信息表項數(shù)等于0時,表明這個對應VLAN內(nèi)沒有用戶存在使用網(wǎng)絡的需求,因此不需要進行探測,從而只需執(zhí)行圖2中所示步驟S0。
2、當DHCP Snooping表中對應這個VLAN的用戶信息表項數(shù)等于1時,表明這個對應VLAN內(nèi)只有一個用戶存在使用網(wǎng)絡的需求,因此不需要對這個用戶進行探測,當然也不需要對其他用戶進行探測(因為根本不存在其他用戶),但是可以對對應這個VLAN的網(wǎng)關或Server(服務器)進行探測。
并且,當DHCP Snooping表中只有一個用戶信息表項、且所需探測的目的IP為對應VLAN的網(wǎng)關或Server的IP地址時,一般來說只需執(zhí)行圖2中所示步驟S1-1、步驟S1-2、和步驟S2。
3、當DHCP Snooping表中對應這個VLAN的用戶信息表項數(shù)大于1時,表明這個對應VLAN內(nèi)有多個用戶存在使用網(wǎng)絡的需求,此時不僅可以對對應這個VLAN的網(wǎng)關和Server進行探測,還可對對應這個VLAN的用戶進行探測。
并且,當目的IP地址為對應這個VLAN的用戶IP地址時,則執(zhí)行圖2中所示步驟S1-1時讀取到的表項可能就是這個用戶的信息表項,此時就需要繼續(xù)執(zhí)行圖2中所示步驟S1-3來讀取其它用戶的信息表項以實施對這個用戶的探測。
請參閱圖3,其為本發(fā)明所提供二層交換機發(fā)送ARP請求的方法的第二優(yōu)選實施例的流程圖。
如果作為接入設備的二層交換機上沒有使能DHCP Snooping特性,則該二層交換機上不存在通過偵聽DHCP報文而建立的DHCP Snooping表,也就無法實施圖2所示第一優(yōu)選實施例。在這種情況下,可以讓二層交換機在偵聽用戶ARP表項時建立ARP Snooping表來記錄用戶的IP地址和MAC地址的對應關系。
從而使得,當這個二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、卻沒有為這個目的IP地址的對應VLAN配置VLAN虛接口的情況下,則其可利用通過偵聽ARP報文建立的ARP Snooping表中用戶信息來實現(xiàn)ARP請求發(fā)送,且具體實現(xiàn)過程描述如下首先,該二層交換機需要判斷其上通過偵聽所得的ARP Snooping表中是否存在對應這個VLAN的表項,也即執(zhí)行圖3所示步驟S0。
如果不存在對應這個VLAN的ARP Snooping表項,也即ARPSnooping表中對應這個VLAN的用戶信息表項數(shù)為0,則說明這個VLAN內(nèi)沒有用戶存在使用網(wǎng)絡的需求。此時,也就不存在對這個VLAN內(nèi)IP地址進行探測的需求。在這種情況下,則如圖3所示,二層交換機將由于不需要發(fā)送ARP請求而直接結(jié)束。
如果存在對應這個VLAN的ARP Snooping表項,也即ARP Snooping表中對應這個VLAN的用戶信息表項數(shù)大于或等于1,則說明這個VLAN內(nèi)至少有一個用戶存在使用網(wǎng)絡的需求。在這種情況下,二層交換機就可利用其上ARP Snooping表中用戶信息來實現(xiàn)針對目的IP地址的ARP請求發(fā)送,且該實現(xiàn)如圖2所示包括有下列步驟步驟S1,從這個二層交換機上的ARP Snooping表中讀取一個對應這個VLAN、且其中IP地址不等于所需探測目的IP地址的表項;步驟S2,將所讀取表項中的IP地址和MAC地址用作源IP地址和源MAC地址來構(gòu)造針對這個目的IP地址的ARP請求報文,并輸出這個ARP請求報文。
其中,上述步驟S1又進一步細分為包括有下列子步驟步驟S1-1,從這個二層交換機上的ARP Snooping表中隨機讀取任意一個對應這個VLAN的表項;步驟S1-2,判斷所讀取表項中的IP地址是否等于所需探測的目的IP地址,如果判定為否則繼續(xù)執(zhí)行上述步驟S2,如果判定為是則繼續(xù)執(zhí)行下述步驟S1-3;步驟S1-3,從這個二層交換機上的ARP Snooping表中隨機讀取任意一個其它對應這個VLAN的表項,然后繼續(xù)執(zhí)行上述步驟S2。
通過上述介紹可知,圖3所示第二優(yōu)選實施例與圖2所示第一優(yōu)選實施例的區(qū)別有兩點首先,被圖2所示第一優(yōu)選實施例加以利用的用戶信息表為通過偵聽DHCP報文建立的DHCP Snooping表,而被圖3所示第二優(yōu)選實施例加以利用的用戶信息表為通過偵聽ARP報文建立的ARP Snooping表。
其次,圖2所示第一優(yōu)選實施例中讀取用戶信息表項的方式為順序讀取,具體表現(xiàn)為在第一次讀取時選擇用戶信息表中對應指定VLAN的第一個表項,并在需要進行第二次讀取時選擇用戶信息表中對應指定VLAN的第二個表項。然而,圖3所示第二優(yōu)選實施例中讀取用戶信息表項的方式為隨機讀取,具體表項為在第一次讀取時隨機選擇用戶信息表中對應指定VLAN的任意一個表項,并在需要進行第二次讀取時隨機選擇用戶信息表中對應指定VLAN的任意一個其它表項。
除了上述兩點,圖2所示第一優(yōu)選實施例的其它特征及優(yōu)點均同樣適用于圖3所示第二優(yōu)選實施例,故在此不再重復。
需要聲明的是,上述僅為本發(fā)明所提供發(fā)送ARP請求方法的例示性解釋,本領域技術人員當可在理解本發(fā)明原理之上設計出與圖2或圖3所示類似的具體實施例,比如選用通過偵聽DHCP報文而建立的DHCPSnooping表作為用戶信息表,并利用隨機讀取方式來選擇其中的用戶信息表項;或者選用通過偵聽ARP報文而建立的ARP Snooping表作為用戶信息表,并利用順序讀取方式來選擇其中的用戶信息表項。
此外,本領域技術人員還應能理解,具體實施上述本發(fā)明所提供ARP請求方法時,可能還需要根據(jù)實際組網(wǎng)來適當調(diào)整用作源IP地址和MAC地址的用戶信息表項選擇標準。比如在某些級聯(lián)組網(wǎng)的情況下,如果被上行連接網(wǎng)關的二層交換機用來作為ARP報文中源IP地址對應的用戶與所需探測目的IP地址對應的用戶連接在同一個端口下,那么利用這個源IP地址偽造ARP報文、并從學習到這個源IP地址所對應表項的端口(也即這個表項的接入端口)發(fā)送至這個目的IP地址,就有可能會導致這個二層交換機下行連接的設備出現(xiàn)ARP Snooping表項端口學習錯誤、甚至MAC地址學習錯誤。因此,在二層交換機因其組網(wǎng)和/或特性使能的要求探測某一目的IP地址所用ARP請求報文不能從所讀取表項的接入端口輸出的情況下,則具體選擇用戶信息表項時還需兼顧表項中的接入端口信息。具體而言,對用來構(gòu)造探測某一目的IP地址所用ARP請求報文的表項來說,不僅要求該表項與所需探測目的IP地址對應同一個VLAN、以及該表項中的IP地址不等于所需探測目的IP地址,還要求該表項中的接入端口不等于探測所用ARP請求報文的發(fā)送端口。
請參閱圖4,其為本發(fā)明所提供發(fā)送ARP請求裝置的最佳實施例的結(jié)構(gòu)框圖。該發(fā)送ARP請求的裝置安放在二層交換機中,主要應用在這個二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、但卻沒有為這個目的IP地址的對應VLAN配置VLAN虛接口的情況下。
如圖4所示,該裝置400的最佳實施例中包括有探測可能判斷單元410、用戶信息獲取單元420、以及報文構(gòu)造單元430。并且,在圖4中,①表示所需探測的目的IP地址,②表示用來構(gòu)造針對所需探測目的IP地址的ARP請求報文的源IP地址和源MAC地址,③表示針對所需探測目的IP地址的ARP請求報文。
探測可能判斷單元410與用戶信息獲取單元420以及該裝置400所在二層交換機中通過偵聽而建立的用戶信息表500相連,用于判斷用戶信息表500中是否存在對應這個VLAN的表項。如果判定為不存在,則說明這個VLAN中沒有用戶存在使用網(wǎng)絡的需求,也即不存在對這個VLAN內(nèi)IP地址進行探測的需求,這時探測可能判斷單元410將由于裝置400所在二層交換機不需要發(fā)送ARP請求而決定不進行后續(xù)操作。如果判定為存在,則說明這個VLAN中有用戶存在使用網(wǎng)絡的需求,這時探測可能判斷單元410將觸發(fā)用戶信息獲取單元420的運行。
并且,如果裝置400所在二層交換機使能了DHCP Snooping特性,則可將通過偵聽DHCP報文而建立的DHCP Snooping表用作圖4中所示用戶信息表500。如果裝置400所在二層交換機沒有使能DHCP Snooping特性,則可通過偵聽ARP報文來建立用于表達用戶IP地址和MAC地址對應關系的ARP Snooping表,并將這個ARP Snooping用作圖4中所示用戶信息表500。
用戶信息獲取單元420與探測可能判斷單元410和報文構(gòu)造單元430相連,用于接收探測可能判斷單元的觸發(fā),并據(jù)此從用戶信息表500中讀取一個對應這個VLAN、且其中IP地址不等于所需探測目的IP地址的表項,然后再將該表項信息②輸出給報文構(gòu)造單元430。
至于如何確保所讀取表項中IP地址不等于所需探測的目的IP地址,如圖4所示,用戶信息獲取單元420優(yōu)選地包括有讀模塊421和判斷模塊422。其中,讀模塊421用于接收探測可能判斷單元410的觸發(fā),并據(jù)此從用戶信息表500中讀取第一個或任意一個對應這個VLAN的表項,然后將所讀取表項的信息②輸出給判斷模塊422;而判斷模塊422在收到讀模塊421輸入的表項信息②后,將首先判斷所讀取表項信息②中的IP地址是否等于所需探測的目的IP地址①,并在判定相等時通知讀模塊421從用戶信息表500中重新讀取第二個或任意一個其它對應這個VLAN的表項、或者在判定不等時將所讀取表項的信息②輸出給報文構(gòu)造單元430。
與本發(fā)明所提供發(fā)送ARP請求方法中類似,在二層交換機因其組網(wǎng)和/或特性使能的要求探測某一目的IP地址所用ARP請求報文不能從所讀取表項的接入端口輸出的情況下,則不僅要確保所讀取表項中IP地址不等于所需探測的目的IP地址,還需要同時確保所讀取表項的接入端口不等于探測目的IP地址所用ARP請求報文的發(fā)送端口。并且,對于端口信息的判斷同樣可用上述判斷模塊來執(zhí)行,也即圖4中所示判斷模塊422在收到讀模塊421輸入的表項信息②后,將首先判斷所讀取表項信息②中的IP地址是否等于所需探測的目的IP地址①、以及表項信息②中的接入端口是否等于探測目的IP地址①所用ARP請求報文③的發(fā)送端口,并在任一判定為相等時通知讀模塊421從用戶信息表500中重新讀取第二個或任意一個其它對應這個VLAN的表項、或者在判定均不等時將所讀取表項的信息②輸出給報文構(gòu)造單元430。
報文構(gòu)造單元430與用戶信息獲取單元420中的判斷模塊422相連,用于將所讀取表項中的IP地址和MAC地址②作為源IP地址和源MAC地址來構(gòu)造針對所需探測目的IP地址①的ARP請求報文③,并輸出這個ARP請求報文③。
這樣,通過在圖4所示發(fā)送ARP請求的裝置上運行本發(fā)明所提供發(fā)送ARP請求的方法,不僅能夠正確實現(xiàn)MAC強制特性功能,還不需要增加額外的配置,從而也不會造成IP地址浪費。
需要聲明的是,上述發(fā)明內(nèi)容及具體實施方式
意在證明本發(fā)明所提供技術方案的實際應用,不應解釋為對本發(fā)明保護范圍的限定。本領域技術人員在本發(fā)明的精神和原理內(nèi),當可作各種修改、等同替換、或改進。本發(fā)明的保護范圍以所附權(quán)利要求書為準。
權(quán)利要求
1.一種二層交換機發(fā)送ARP請求的方法,應用在所述二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、卻沒有為所述目的IP地址對應的VLAN配置VLAN虛接口的情況下;其特征在于,包括有下列步驟步驟S1,從所述二層交換機上的用戶信息表中讀取一個對應所述VLAN、且其中IP地址不等于所述目的IP地址的表項;步驟S2,將所讀取表項中的IP地址和MAC地址用作源IP地址和源MAC地址來構(gòu)造針對所述目的IP地址的ARP請求報文,并輸出所述ARP請求報文。
2.如權(quán)利要求1所述的方法,其特征在于,在步驟S1之前還包括有步驟S0,用于判斷所述用戶信息表中對應所述VLAN的表項是否為零,并且在判定為否時繼續(xù)執(zhí)行所述步驟S1、或者在判定為是時直接結(jié)束而不發(fā)送ARP請求。
3.如權(quán)利要求2所述的方法,其特征在于,所述步驟S1具體包括有下列步驟步驟S1-1,從所述用戶信息表中讀取一個對應所述VLAN的表項,步驟S1-2,判斷所讀取表項中的IP地址是否等于所述目的IP地址,如果判定為否則繼續(xù)執(zhí)行所述步驟S2,如果判定為是則繼續(xù)執(zhí)行下述步驟S1-3;步驟S1-3,從所述用戶信息表中讀取另一個對應所述VLAN的表項,之后再繼續(xù)執(zhí)行所述步驟S2。
4.如權(quán)利要求3所述的方法,其特征在于,當所述二層交換機因其組網(wǎng)和/或特性使能的要求探測所述目的IP所用ARP請求報文不能從所讀取表項的接入端口輸出時,則所述步驟S1具體為,從所述二層交換機上的用戶信息表中讀取一個對應所述VLAN的表項,且所述表項中的IP地址不等于所述目的IP地址、而所述表項的接入端口不等于所述探測用ARP請求報文的發(fā)送端口;或者,所述步驟S1-2具體為,判斷所讀取表項中的IP地址是否等于所述目的IP地址、以及所讀取表項的接入端口是否等于所述探測用ARP請求報文的發(fā)送端口,如果兩個判定中任一為是則繼續(xù)執(zhí)行所述步驟S1-3,如果兩個判定均為否則繼續(xù)執(zhí)行所述步驟S2。
5.如權(quán)利要求1至4中任一所述的方法,其特征在于,所述用戶信息表為所述二層交換機通過使能DHCP偵聽特性后建立的DHCP偵聽表,或者為所述二層交換機通過ARP偵聽建立的ARP偵聽表。
6.一種發(fā)送ARP請求的裝置,配置在二層交換機中,應用在所述二層交換機需要通過ARP請求的方式對某一目的IP地址進行探測、卻沒有為所述目的IP地址對應的VLAN配置VLAN虛接口的情況下;其特征在于,包括有用戶信息獲取單元,與所述二層交換機上的用戶信息表相連,用于從所述用戶信息表中讀取一個對應所述VLAN、且其中IP地址不等于所述目的IP地址的表項;報文構(gòu)造單元,與所述用戶信息獲取單元相連,用于將所讀取表項中的IP地址和MAC地址作為源IP地址和源MAC地址來構(gòu)造針對所述目的IP地址的ARP請求報文,并輸出所述ARP請求報文。
7.如權(quán)利要求6所述的裝置,其特征在于,還包括有與所述用戶信息表和所述用戶信息獲取單元相連的探測可能判斷單元,用于判斷所述用戶信息表中是否存在對應所述VLAN的表項,并在判定存在時才觸發(fā)所述用戶信息獲取單元的運行。
8.如權(quán)利要求7所述的裝置,其特征在于,所述用戶信息獲取單元包括有讀模塊,與所述用戶信息表相連,用于從所述用戶信息表中讀取一個對應所述VLAN的表項;判斷模塊,與所述讀模塊和所述報文構(gòu)造單元相連,用于判斷所讀取表項中的IP地址是否等于所述目的IP地址,并在判定相等時通知所述讀模塊從所述用戶信息表中讀取另一個對應所述VLAN的表項、或者在判定不等時將所讀取表項輸出至所述報文構(gòu)造單元。
9.如權(quán)利要求8所述的裝置,其特征在于,所述判斷模塊還用于判斷所讀取表項的接入端口是否等于探測所述目的IP地址所用ARP請求報文的發(fā)送端口,并在兩個判定中任一出現(xiàn)相等時通知所述讀模塊從所述用戶信息表中讀取另一個對應所述VLAN的表項、或者在兩個判定均不等時將所讀取表項輸出至所述報文構(gòu)造單元。
10.如權(quán)利要求6至9任一所述的裝置,其特征在于,所述用戶信息表為所述二層交換機通過使能DHCP偵聽特性后建立的DHCP偵聽表,或者為所述二層交換機通過ARP偵聽建立的ARP偵聽表。
全文摘要
本發(fā)明公開了一種二層交換機發(fā)送ARP請求的方法及其裝置,應用在所述二層交換機需要通過ARP請求方式對某一目的IP地址進行探測、卻沒有為所述目的IP地址對應的VLAN配置VLAN虛接口的情況下。該方法包括首先,從該二層交換機上的用戶信息表中讀取一個對應該VLAN、且其中IP地址不等于該目的IP地址的表項;然后,將所讀取表項中的IP地址和MAC地址用作源IP地址和源MAC地址來構(gòu)造針對該目的IP地址的ARP請求報文并發(fā)送出去。這樣,通過利用偵聽到的用戶信息,使得在不具備三層轉(zhuǎn)發(fā)功能的VLAN內(nèi)發(fā)送ARP請求時無需特別配置VLAN虛接口和/或IP地址。
文檔編號H04L29/06GK101094178SQ200710119120
公開日2007年12月26日 申請日期2007年7月16日 優(yōu)先權(quán)日2007年7月16日
發(fā)明者王珍異, 陳光輝, 傅嘉嘉 申請人:杭州華三通信技術有限公司