新四季網

一種節點地址衝突的檢測方法及裝置的製作方法

2023-10-11 22:37:34

專利名稱:一種節點地址衝突的檢測方法及裝置的製作方法
技術領域:
本發明涉及通信技術領域,尤其涉及一種節點地址衝突的檢測方法及裝置。
背景技術:
隨著網絡技術的發展,工業乙太網已經廣泛應用在各種大、中型網絡建設中。在網絡數據報文的傳輸過程中,經常會由於網絡節點的網絡互聯協議(Internet Protocol, IP)地址或者介質訪問控制(Medium Access Control,MAC)地址發生衝突而導致報文傳輸出現異常。
然而,在現有技術中,檢測各網絡節點的地址是否衝突時,主要針對的是各網絡節點的IP位址,而並未對各網絡節點的MAC地址是否衝突進行檢測,因此,現有技術中檢測節點地址衝突的準確性較低,影響了報文的正常傳輸。
另外,現有技術中在檢測各網絡節點的地址是否衝突時,一般採用的是各網絡節點周期性的相互發送攜帶自身IP位址的報文的方法進行檢測的。具體的,對於一個網絡節點來說,其可能存在多個IP位址,當預設的周期到來時,該網絡節點則以一個報文攜帶一個IP位址的方式,生成各報文,並同時發送生成的各報文。現有技術中這種同時發送所有報文的方式會造成網絡泛洪,導致網絡傳輸壓力較大。發明內容
本發明實施例提供一種節點地址衝突的檢測方法及裝置,用以解決現有技術中檢測節點地址衝突的準確性較低、網絡傳輸壓力較大的問題。
本發明實施例提供一種節點地址衝突的檢測方法,包括:
第一網絡節點接收第二網絡節點廣播的地址解析協議ARP報文,其中,所述第二網絡節點在廣播ARP報文時,周期性的廣播以所述第二網絡節點自身每個虛接口的介質訪問控制MAC地址和網絡互聯協議IP位址為源地址的各ARP報文,且,所述第二網絡節點不同時廣播所有的ARP報文;
所述第一網絡節點判斷所述ARP報文的源地址是否與所述第一網絡節點自身的地址衝突;
若衝突,則向網管伺服器上報攜帶所述ARP報文的源地址的地址衝突信息。
本發明實施例提供一種節點地址衝突的檢測裝置,包括:
接收模塊,用於接收第二網絡節點廣播的地址解析協議ARP報文,其中,所述第二網絡節點在廣播ARP報文時,周期性的廣播以所述第二網絡節點自身每個虛接口的介質訪問控制MAC地址和網絡互聯協議IP位址為源地址的各ARP報文,且,所述第二網絡節點不同時廣播所有的ARP報文;
判斷模塊,用於判斷所述ARP報文的源地址是否與自身的地址衝突;
上報模塊,用於當所述判斷模塊判斷衝突時,向網管伺服器上報攜帶所述ARP報文的源地址的衝突信息。
本發明實施例提供一種節點地址衝突的檢測方法及裝置,該方法第二網絡節點周期性的廣播以自身每個MAC地址和IP位址為源地址的各ARP報文,並且第二網絡節點不同時廣播所有的ARP報文,第一網絡節點接收第二網絡節點廣播的ARP報文,並判斷該ARP報文的源地址是否與第一網絡節點自身的地址衝突,若衝突,則向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息。通過上述方法,第一網絡節點除了可以檢測自身的IP位址是否與第二網絡節點的IP位址衝突以外,還可以檢測自身的MAC地址是否與第二網絡節點的MAC地址衝突,因此提高了檢測節點地址衝突的準確性,並且第二網絡節點不同時廣播所有的ARP報文,可以避免造成網絡泛洪,減小網絡傳輸壓力。


圖1為本發明實施例提供的節點地址衝突的檢測過程;
圖2為本發明實施例提供的第一網絡節點廣播ARP報文的過程;
圖3為本發明實施例提供的節點地址衝突的檢測裝置結構示意圖。
具體實施方式
本發明實施例提供一種節點地址衝突的檢測方法及裝置,該方法第二網絡節點周期性的廣播以自身每個MAC地址和IP位址為源地址的各ARP報文,並且第二網絡節點不同時廣播所有的ARP報文,第一網絡節點接收第二網絡節點廣播的ARP報文,並判斷該ARP報文的源地址是否與第一網絡節點自身的地址衝突,若衝突,則向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息。通過上述方法,第一網絡節點除了可以檢測自身的IP位址是否與第二網絡節點的IP位址衝突以外,還可以檢測自身的MAC地址是否與第二網絡節點的MAC地址衝突,因此提高了檢測節點地址衝突的準確性,並且第二網絡節點不同時廣播所有的ARP報文,可以避免造成網絡泛洪,減小網絡傳輸壓力。
下面結合說明書附圖,對本發明實施例進行詳細描述。
圖1為本發明實施例提供的節點地址衝突的檢測過程,具體包括以下步驟:
SlOl:第一網絡節點接收第二網絡節點廣播的地址解析協議(AddressResolution Protocol, ARP)報文。
在本發明實施例中,乙太網中的各網絡節點基於ARP協議來檢測網絡中與自身的地址衝突的其他網絡節點,各網絡節點均向網絡中的其他網絡節點廣播ARP報文。其中,本發明實施例中所述的網絡節點包括乙太網中任何形式的網絡節點,如終端、交換機等。
以網絡中的第一網絡節點和第二網絡節點為例進行說明。
第二網絡節點向網絡中的其他網絡節點(包括第一網絡節點)廣播ARP報文,其中,第二網絡節點在廣播ARP報文時,周期性的廣播以該第二網絡節點自身每個虛接口的MAC地址和IP位址為源地址的各ARP報文,且,第二網絡節點不同時廣播所有的ARP報文。第一網絡節點則接收第二網絡節點廣播的該ARP報文。
例如,第二網絡節點在周期性的廣播兩個源地址不同(源MAC地址或源IP位址不同)的ARP報文時,可以在第一個周期中的第I秒廣播第一個ARP報文,在第一個周期中的第2秒廣播第二個ARP報文,然後,在第二個周期中的第I秒再次廣播第一個ARP報文,在第二個周期中的第2秒再次廣播第二個ARP報文,以此類推。這樣,對於這兩個源地址不同的ARP報文來說,每個ARP報文都是周期性被廣播的,但每個ARP報文的廣播時刻卻不相同。
S102:判斷該ARP報文的源地址是否與該第一網絡節點自身的地址衝突,若是,則執行步驟S103,否則,執行步驟S104。
其中,該ARP報文的源地址包括源IP位址和源MAC地址。由於該ARP報文是由第二網絡節點廣播的ARP報文,因此,該ARP報文的源IP位址就是第二網絡節點為自身的某個虛接口分配的IP位址,該ARP報文的源MAC地址即為第二網絡節點為自身相應的虛接口分配的MAC地址。
第一網絡節點接收到該ARP報文後,則可以根據該ARP報文的源地址(該ARP報文的源IP位址和源MAC地址),以及該第一網絡節點為自身各虛接口分配的IP位址和MAC地址,判斷該ARP報文的源地址是否與第一網絡節點自身的地址衝突。
在實際應用中,一個網絡節點中存在多個虛接口,該網絡節點會為自身的每個虛接口均分配一個MAC地址,再為自身的每個虛接口分配至少一個IP位址。例如,一個網絡節點中存在31個虛接口,該網絡節點可為這31個虛接口各分配一個MAC地址,再為每個虛接口分配64個IP位址,其中,對於為一個虛接口而言,在為該虛接口分配的64個IP位址中,I個IP位址可作為該虛接口的主用IP位址,另外63個IP位址可作為該虛接口的備用IP位址。
因此,第一網絡節點判斷該ARP報文的源地址是否與該第一網絡節點自身的地址衝突的方法具體可以為:第一網絡節點判斷該ARP報文的源MAC地址是否落入該第一網絡節點自身分配的MAC地址範圍內,並判斷第一網絡節點為自身各虛接口分配的IP位址中,是否存在與該ARP報文的源IP位址相同的IP位址,當上述至少一個判斷結果為是時,確定該ARP報文的源地址與該第一網絡節點自身的地址衝突,當上述判斷結果均為否時,確定該ARP報文的源地址與該第一網絡節點自身的地址不衝突。
也即,第一網絡節點接收到第二網絡節點廣播的ARP報文後,如果確定為自身各虛接口分配的MAC地址中存在至少一個MAC地址與該ARP報文的源MAC地址相同,則確定該ARP報文的源MAC地址與第一網絡節點自身的MAC地址衝突,進而可以確定第二網絡節點的MAC地址(也即該ARP報文的源MAC地址)與第一網絡節點的MAC地址衝突。如果第一網絡節點確定為自身各虛接口分配的IP位址中存在至少一個IP位址與該ARP報文的源IP位址相同,則確定該ARP報文的源IP位址與第一網絡節點自身的IP位址衝突,進而可以確定第二網絡節點的IP位址(也即該ARP報文的源IP位址)與第一網絡節點的IP位址衝突。
當第一網絡節點確定自身的MAC地址與該ARP報文的源MAC地址發生衝突,或者自身的IP位址與該ARP報文的源IP位址發生衝突時,即可確定該ARP報文的源地址與第一網絡節點自身的地址衝突。當第一網絡節點確定自身的MAC地址與該ARP報文的源MAC地址不衝突,且,自身的IP位址與該ARP報文的地址也不衝突時,即可確定該ARP報文的源地址與第一網絡節點自身的地址不衝突。
較佳的,由於在實際應用中網絡節點為其虛接口分配了 MAC地址後,該虛接口可能並未啟用,這樣,即使其他網絡節點的MAC地址與該未啟用的虛接口的MAC地址衝突,也不會影響報文的正常傳輸,因此,第一網絡節點通過上述方法判斷自身的MAC地址是否與接收到的ARP報文的源MAC地址衝突時,還可以判斷自身為各已啟用的虛接口分配的MAC地址中是否存在至少一個MAC地址與該ARP報文的源MAC地址相同,若存在,則確定自身的MAC地址與該ARP報文的源MAC地址衝突,否則,確定自身的MAC地址與該ARP報文的源MAC地址不衝突。
S103:向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息。
當第一網絡節點通過上述步驟S102確定該ARP報文的源地址與該第一網絡節點自身的地址衝突(包括上述MAC地址衝突以及IP位址衝突中的至少一種)時,向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息,使網管伺服器獲知衝突的MAC地址或IP位址,網管伺服器則可以根據預設的衝突解決策略對MAC地址或IP位址衝突的第一網絡節點和第二網絡節點進行處理,例如修改第一網絡節點或者第二網絡節點中發生衝突的MAC地址或IP位址等。
較佳的,當第一網絡節點確定自身的MAC地址與該ARP報文的源MAC地址發生衝突,或者自身的IP位址與該ARP報文的源IP位址發生衝突時,獲取發送該ARP報文的第二網絡節點的優先級信息,判斷所述發送該ARP報文的第二網絡節點的優先級是否高於自身的優先級,當判斷結果為是時,第一網絡節點修改自身與該ARP報文的源MAC地址或IP位址發生衝突的MAC地址或IP位址,並向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息,其中,該地址衝突信息中包括自身修改後的源MAC地址或IP位址,通知網管伺服器自身已經完成對與該ARP報文的源地址發生衝突的自身地址的修改;當判斷結果為否時,第一網絡節點保持自身與該ARP報文的源MAC地址發生衝突的MAC地址不變,或者第一網絡節點保持自身與該ARP報文的IP位址發生衝突的IP位址不變,並向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息,通知網管伺服器對所述發送該ARP報文的第二網絡節點對發生衝突的MAC地址或IP位址進行管理。具體的,第一網絡節點上報的地址衝突信息可以是TRAP消息,即,向網管伺服器上報攜帶該ARP報文的源地址的TRAP消息。當第一網絡節點判斷該ARP報文的源MAC地址與第一網絡節點自身的MAC地址衝突時,可生成攜帶衝突的MAC地址以及該ARP報文的源IP位址(即第二網絡節點的IP位址)的TRAP消息,並上報給網管伺服器,以方便網管伺服器根據該ARP報文的源IP位址追蹤第二網絡節點。當第一網絡節點判斷該ARP報文的源IP位址與第一網絡節點自身的IP位址衝突時,可生成攜帶衝突的IP位址以及該ARP報文的源MAC地址(即第二網絡節點的MAC地址)的TRAP消息,並上報給網管伺服器,以方便網管伺服器根據該ARP報文的源MAC地址追蹤第二網絡節點。
當然,第一網絡節點向網管伺服器上報地址衝突信息之前,可以先判斷自身的地址衝突信息上報功能是否使能,若使能,則上報,若未使能,則不上報,用戶可根據實際需要自行配置第一網絡節點的地址衝突信息上報功能是否使能。
S104:根據該ARP報文添加ARP表項,並返回步驟SlOl。
當第一網絡節點通過上述步驟S102確定該ARP報文的源地址與該第一網絡節點自身的地址不衝突(未發生MAC地址衝突,也未發生IP位址衝突)時,則第一網絡節點可按照現行的ARP協議標準對該ARP報文進行處理,根據該ARP報文條件ARP表項,並繼續接收第二網絡節點廣播的ARP報文,判斷接收到的ARP報文的源地址是否與第一網絡節點自身的地址衝突,也即,返回步驟SlOl。
通過上述方法,對於乙太網中的任意一個網絡節點來說,該網絡節點除了可以檢測是否自身是否與其他網絡節點發生IP位址衝突之外,還可以檢測自身是否與其他網絡節點發生MAC地址衝突,因此有效的提高了檢測節點地址衝突的準確性,根據檢測衝突的結果對網絡節點進行處理後,則可以保證後續報文在乙太網中的正常傳輸。並且,第二網絡節點在周期性的廣播各源地址不同的ARP報文時,不同時廣播所有的ARP報文,可以避免造成網絡泛洪,減小網絡的傳輸壓力。
在本發明實施例中,當第一網絡節點判斷自身的MAC地址與接收到的ARP報文的源MAC地址衝突,且自身的IP位址與該ARP報文的源IP位址也衝突時,則說明當前網絡存在嚴重的錯誤,此時,即使第一網絡節點要將攜帶該ARP報文的源地址(包括該ARP報文的源MAC地址和源IP位址)的地址衝突信息上報給網管伺服器,該地址衝突信息也很有可能會由於網絡中存在的嚴重錯誤而不能被正常發送到網管伺服器中,因此,此時第一網絡節點可以自行對自身的MAC地址和IP位址進行修改。
具體的,在圖1所示的步驟S102中,如果第一網絡節點判斷接收到的ARP報文的源MAC地址落入該第一網絡節點自身分配的MAC地址範圍內(MAC地址衝突),且,判斷第一網絡節點為自身各虛接口分配的IP位址中,存在與該ARP報文的源IP位址相同的IP位址(IP位址衝突),則該第一網絡節點修改自身分配的MAC地址和IP位址。例如,第一網絡節點在修改自身分配的MAC地址時,可以將為接收到該ARP報文的虛接口分配的MAC地址修改為其他虛接口的MAC地址。考慮到一般MAC地址是第一網絡節點在出廠時就已經設定好的,其並不容易修改,因此,當同時發生MAC地址衝突和IP位址衝突時,第一網絡節點也可以只修改自身的IP位址。
在本發明實施例中,第一網絡節點還可以針對MAC地址衝突和IP位址衝突分別維護相應的衝突告警表,用以對MAC地址衝突和IP位址衝突的衝突時間進行監控。
具體的,第一網絡節點可以以基於SNMP協議的結構體鍊表的形式維護一張MAC衝突告警表和一張IP衝突告警表。
當第一網絡節點通過上述步驟S102判斷該ARP報文的源MAC地址落入該第一網絡節點自身分配的MAC地址範圍內時,通過步驟S103向網管伺服器上報地址衝突信息之前,還可以判斷自身當前保存的MAC衝突告警表中是否存在該ARP報文的源MAC地址,若存在,則將該MAC衝突告警表中該ARP報文的源MAC地址對應的告警清除時間重置為預設的第一初始值,否則,將該ARP報文的源MAC地址寫入該MAC衝突告警表中,並將寫入的該ARP報文的源MAC地址對應的告警清除時間設置為預設的第一初始值。
當第一網絡節點通過上述步驟S102判斷為自身各虛接口分配的IP位址中存在與該ARP報文的源IP位址相同的IP位址時,通過步驟S103向網管伺服器上報地址衝突信息之前,還可以判斷自身當前保存的IP衝突告警表中是否存在該ARP報文的源IP位址,若存在,則將該IP衝突告警表中該ARP報文的源IP位址對應的告警清除時間重置為預設的第一初始值,否則,將該ARP報文的源IP位址寫入該IP衝突告警表中,並將寫入的該ARP報文的源IP位址對應的告警清除時間設置為預設的第一初始值。
另外,對於上述MAC衝突告警表中每個源MAC地址以及上述IP衝突告警表中每個源IP位址,第一網絡節點可以按照第一設定時間間隔,將該MAC衝突告警表中每個源MAC地址對應的告警清除時間減少預設的第一步進值,將該IP衝突告警表中每個源IP位址對應的告警清除時間減少預設的第一步進值,並刪除該MAC衝突告警表中對應的告警清除時間小於該第一步進值的源MAC地址,刪除該IP衝突告警表中對應的告警清除時間小於該第一步進值的源IP位址,最後向網管伺服器上報地址衝突消失信息,該地址衝突消失信息中攜帶被刪除的源MAC地址和源IP位址,以通知網管伺服器相應的MAC地址衝突和/或IP位址衝突已消失。
上述預設的第一初始值、第一設定時間間隔、預設的第一步進值均可以根據需要進行設定。
例如,假設將預設的第一初始值為800秒,第一設定時間間隔為10秒,預設的第一步進值為10秒,則當第一網絡節點判斷自身的MAC地址與接收到的ARP報文的源MAC地址衝突時,先判斷自身當前保存的MAC衝突告警表中是否存在該ARP報文的源MAC地址,若存在,則將該MAC衝突告警表中該ARP報文的源MAC地址對應的告警清除時間重置為800秒,若不存在,則將該ARP報文的源MAC地址寫入該MAC衝突告警表中,並將寫入的該ARP報文的源MAC地址對應的告警清除時間設置為800秒。對於MAC衝突報警表,第一網絡節點則每10秒將該MAC衝突告警表中每個源MAC地址對應的告警清除時間減少10秒,並刪除MAC衝突告警表中對應的告警清除時間小於10秒的源MAC地址,刪除後則向網管伺服器上報地址衝突消失彳目息。
上例是以對MAC衝突告警表進行處理為例說明的,對IP衝突告警表的處理方式類似於上述對MAC衝突告警表的處理方式,這裡就不再一一贅述。
當然,本發明實施例中第一網絡節點還可以根據上述MAC衝突告警表和IP衝突告警表生成相應的告警日誌,以通過多種方式來通知用戶第一網絡節點與第二網絡節點發生地址衝突。具體的,上述通過TRAP消息主動通知網管伺服器地址衝突的方法,可以使網管人員在使用網管伺服器進行其他操作時也能及時發現網絡中的節點地址發生衝突,提高了發現節點地址衝突的時效性。發現節點地址衝突後,網管人員則可使用該網管伺服器通過基於SNMP協議的MIB-BR0WER建立與相應網絡節點的通信連接,獲取並查看該網絡節點本地保存的MAC衝突告警表和IP衝突告警表,以確定發生地址衝突的類型、時間等信息。另夕卜,通過網絡節點本地保存的告警日誌,則可以使網管人員直接通過該網絡節點(無需通過網管伺服器)確定發生地址衝突的類型、時間等信息。
在本發明實施例中,第二網絡節點在廣播ARP報文時,可以分別針對自身每個虛接口的MAC地址和IP位址,周期性的以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播。例如,假設廣播ARP報文的周期設定為300秒,則第二網絡節點可以分別針對自身每個虛接口的MAC地址和IP位址,每300秒廣播一次以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址的ARP報文。
但是,對於一個網絡節點而言,該網絡節點中往往存在多個虛接口,對於一個虛接口而言,可為該虛接口分配一個MAC地址和多個IP位址。假設該網絡節點中存在31個虛接口,分別為每個虛接口分配一個MAC地址和64個IP位址,則該網絡節點每300秒(廣播ARP報文的周期)就要廣播31x64個ARP報文,因此,如果這31x64個ARP報文均在一個300秒周期的結束時同時發送,就會造成網絡泛洪,導致網絡傳輸壓力增大。
因此,為了避免第二網絡節點在廣播ARP報文時造成網絡泛洪,降低網絡傳輸壓力,第二網絡節點可通過圖2所示的過程廣播ARP報文,如圖2所示。圖2為本發明實施例提供的第二網絡節點廣播ARP報文的過程,具體包括以下步驟:
S201:第二網絡節點針對自身每個虛接口的MAC地址和IP位址,將該虛接口的MAC地址和IP位址對應的衝突檢測時間設置為一個隨機值,該隨機值不大於預設的第二初始值。
例如,對於第二網絡節點的一個虛接口,第二網絡節點為該虛接口分配了一個MAC地址,記為MAC1,為該虛接口分配了兩個IP位址,記為IPl和IP2,假設預設的第二初始值為300秒,則:
第二網絡節點針對[MAC1,IPl],將[MAC1,IPl]對應的衝突檢測時間設置為一個不大於300秒的隨機值,例如為146 ;
第二網絡節點針對[MAC1,IP2],將[MAC1,IP2]對應的衝突檢測時間也設置為一個不大於300秒的隨機值,例如為58。
S202:按照第二設定時間間隔,將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值。
繼續沿用上例,假設第二設定時間間隔為10秒,預設的第二步進值也為10秒,則第二網絡節點每隔10秒,分別將[MACI, IPl]和[MACI, IP2]對應的衝突檢測時間減少10秒。如,在第10秒時,將[MAC1,IP1]對應的衝突檢測時間146減少10秒,減少後是136秒,將[MAC1,IP2]對應的衝突檢測時間58減少10秒,減少後是48秒。以此類推,在第50秒時,[MACI, IPl]對應的衝突檢測時間為96秒,[MACI, IP2]對應的衝突檢測時間為8秒。
S203:當該虛接口的MAC地址和IP位址對應的衝突檢測時間小於預設的第二步進值時,以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播。
繼續沿用上例,由於在第50秒時,[MACLIP2]對應的衝突檢測時間為8秒,小於第二步進值10秒,因此,第二網絡節點發送以MACl為源MAC地址、以IP2為源IP位址的ARP報文並廣播。
在第140秒時,[MACI, IPl]對應的衝突檢測時間為6秒,小於第二步進值10秒,因此,第二網絡節點發送以MACl為源MAC地址、以IPl為源IP位址的ARP報文並廣播。
第一網絡節點接收到第二網絡節點廣播的ARP報文後,則可以基於如圖1所示的方法,判斷該第二網絡節點廣播的ARP報文的源地址是否與第一網絡節點自身的地址衝突,並根據判斷結果進行相應處理。
S204:第二網絡節點將該虛接口的MAC地址和IP位址對應的衝突檢測時間重置為預設的第二初始值,返回步驟S202。
繼續沿用上例,在第50秒時,第二網絡節點以MACl為源MAC地址、以IP2為源IP位址的ARP報文並廣播,因此,第二網絡節點將[MAC1,IP2]對應的衝突檢測時間重置為預設的第二初始值,即300秒,並繼續每10秒(第二設定時間間隔)將[MAC1,IP2]對應的衝突檢測時間減少10秒(預設的第二步進值)。
類似的,在第140秒時,第二網絡節點以MACl為源MAC地址、以IPl為源IP位址的ARP報文並廣播,因此,第二網絡節點將[MAC1,IPl]對應的衝突檢測時間也重置為預設的第二初始值,即300秒,並繼續每10秒(第二設定時間間隔)將[MAC1,IPl]對應的衝突檢測時間減少10秒(預設的第二步進值)。
這樣,第二網絡節點實際上仍是以預設的第二初始值(300秒)為周期,進行周期性發送ARP報文的,但是,如上例所述,以將[MAC1,IPl]和[MAC1,IP2]對應的衝突檢測時間設置為隨機值的時刻為起始時刻,則在第50秒發送了 [MAC1,IP2]對應的ARP報文,第140秒發送了 [MAC1,IP1]對應的ARP報文,在第350秒發送類[MAC1,IP2]對應的ARP報文,第440秒發送了 [MAC1,IPl]對應的ARP報文。可見,第二網絡節點實際上是在每個300秒周期的第50秒發送[MAC1,IP2]對應的ARP報文,在每個300秒周期的第140秒發送[MAC1,IPl]對應的ARP報文,也就是將發送[MAC1,IPl]對應的ARP報文和[MAC1,IP2]對應的ARP報文的發送時間離散到了 300秒周期中的不同時刻,因此,採用上述方法周期性的廣播ARP報文,就可以避免造成網絡泛洪,降低網絡傳輸壓力。
另外,由於在本發明實施例中,各網絡節點均要向網絡中的其他網絡節點廣播ARP報文,因此第一網絡節點一方面接收由第二網絡節點廣播的ARP報文,並採用如圖1所示的方法進行地址衝突檢測,另一方面也要採用如圖2所示的方法廣播以該第一網絡節點的MAC地址和IP位址為源地址的ARP報文,第二網絡節點接收到由第一網絡節點廣播的ARP報文後,也可採用如圖1所示的方法進行地址衝突檢測,也即,在本發明實施例提供的上述如圖1和圖2所示的過程中,第一網絡節點和第二網絡節點可互換,這裡就不再一一贅述。
以上是本發明實施例提供的節點地址衝突的檢測方法,基於同樣的發明思路,本發明實施例還提供一種節點地址衝突的檢測裝置,如圖3所示。圖3為本發明實施例提供的節點地址衝突的檢測裝置結構示意圖,具體包括:
接收模塊301,用於接收第二網絡節點廣播的地址解析協議ARP報文,其中,所述第二網絡節點在廣播ARP報文時,周期性的廣播以所述第二網絡節點自身每個虛接口的介質訪問控制MAC地址和網絡互聯協議IP位址為源地址的各ARP報文,且,所述第二網絡節點不同時廣播所有的ARP報文;
判斷模塊302,用於判斷所述ARP報文的源地址是否與自身的地址衝突;
上報模塊303,用於當所述判斷模塊302判斷衝突時,向網管伺服器上報攜帶所述ARP報文的源地址的衝突信息。
所述判斷模塊302具體用於,判斷所述ARP報文的源MAC地址是否落入自身分配的MAC地址範圍內,並判斷為自身各虛接口分配的IP位址中,是否存在與所述ARP報文的源IP位址相同的IP位址,當上述至少一個判斷結果為是時,確定所述ARP報文的源地址與自身的地址衝突,當上述判斷結果均為否時,確定所述ARP報文的源地址與自身的地址不衝突。
所述裝置還包括:
調整模塊304,用於當所述判斷模塊302判斷所述ARP報文的源MAC地址落入自身分配的MAC地址範圍內,且,判斷為自身各虛接口分配的IP位址中,存在與所述ARP報文的源IP位址相同的IP位址時,修改自身分配的MAC地址和IP位址。
所述上報模塊303還用於,當所述判斷模塊302判斷所述ARP報文的源MAC地址落入自身分配的MAC地址範圍內時,判斷自身當前保存的MAC衝突告警表中是否存在所述ARP報文的源MAC地址,若存在則將所述MAC衝突告警表中所述ARP報文的源MAC地址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源MAC地址寫入所述MAC衝突告警表中,並將寫入的所述ARP報文的源MAC地址對應的告警清除時間設置為預設的第一初始值;當所述判斷模塊302判斷為自身各虛接口分配的IP位址中存在與所述ARP報文的源IP位址相同的IP位址時,判斷自身當前保存的IP衝突告警表中是否存在所述ARP報文的源IP位址,若存在,則將所述IP衝突告警表中所述ARP報文的源IP位址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源IP位址寫入所述IP衝突告警表中,並將寫入的所述ARP報文的源IP位址對應的告警清除時間設置為預設的第一初始值。
所述上報模塊303還用於,按照第一設定時間間隔,將所述MAC衝突告警表中每個源MAC地址對應的告警清除時間減少預設的第一步進值,將所述IP衝突告警表中每個源IP位址對應的告警清除時間減少預設的第一步進值,刪除所述MAC衝突告警表中對應的告警清除時間小於所述第一步進值的源MAC地址,刪除所述IP衝突告警表中對應的告警清除時間小於所述第一步進值的源IP位址,向所述網管伺服器上報地址衝突消失信息,所述地址衝突消失信息中攜帶被刪除的源MAC地址和源IP位址。
所述接收模塊301具體用於,接收所述第二網絡節點採用以下方式廣播的ARP報文:所述第二網絡節點針對自身每個虛接口的MAC地址和IP位址,將該虛接口的MAC地址和IP位址對應的衝突檢測時間設置為一個隨機值,所述隨機值不大於預設的第二初始值;按照第二設定時間間隔,將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值;當該虛接口的MAC地址和IP位址對應的衝突檢測時間小於所述預設的第二步進值時,以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播;將該虛接口的MAC地址和IP位址對應的衝突檢測時間重置為所述預設的第二初始值,繼續按照第二設定時間間隔將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值,並根據該虛接口的MAC地址和IP位址對應的衝突檢測時間廣播ARP報文。
當然,上述網絡節點的結構中還可包括廣播模塊(圖3中未示出),用於針對自身每個虛接口的MAC地址和IP位址,將該虛接口的MAC地址和IP位址對應的衝突檢測時間設置為一個隨機值,所述隨機值不大於預設的第二初始值;按照第二設定時間間隔,將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值;當該虛接口的MAC地址和IP位址對應的衝突檢測時間小於所述預設的第二步進值時,以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播,使所述第二網絡節點接收到所述廣播模塊廣播的ARP報文後,判斷所述廣播模塊廣播的ARP報文的源地址是否與第二網絡節點自身的地址衝突,並根據判斷結果進行相應處理;將該虛接口的MAC地址和IP位址對應的衝突檢測時間重置為所述預設的第二初始值,繼續按照第二設定時間間隔將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值,並根據該虛接口的MAC地址和IP位址對應的衝突檢測時間廣播ARP報文。
具體的上述如圖3所示的檢測裝置可以位於網絡節點中。
本發明實施例提供一種節點地址衝突的檢測方法及裝置,該方法第二網絡節點周期性的廣播以自身每個MAC地址和IP位址為源地址的各ARP報文,並且第二網絡節點不同時廣播所有的ARP報文,第一網絡節點接收第二網絡節點廣播的ARP報文,並判斷該ARP報文的源地址是否與第一網絡節點自身的地址衝突,若衝突,則向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息。通過上述方法,第一網絡節點除了可以檢測自身的IP位址是否與第二網絡節點的IP位址衝突以外,還可以檢測自身的MAC地址是否與第二網絡節點的MAC地址衝突,因此提高了檢測節點地址衝突的準確性,並且第二網絡節點不同時廣播所有的ARP報文,可以避免造成網絡泛洪,減小網絡傳輸壓力。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或電腦程式產品。因此,本申請可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本申請可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、CD-ROM、光學存儲器等)上實施的電腦程式產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
儘管已描述了本申請的優選實施例,但本領域內的技術人員一旦得知了基本創造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權利要求意欲解釋為包括優選實施例以及落入本申請範圍的所有變更和修改。
顯然,本領域的技術人員可以對本申請進行各種改動和變型而不脫離本申請的精神和範圍。這樣,倘若本申請的這些修改和變型屬於本申請權利要求及其等同技術的範圍之內,則本申請也意圖包含這些改動和變型在內。
權利要求
1.一種節點地址衝突的檢測方法,其特徵在於,包括: 第一網絡節點接收第二網絡節點廣播的地址解析協議ARP報文,其中,所述第二網絡節點在廣播ARP報文時,周期性的廣播以所述第二網絡節點自身每個虛接口的介質訪問控制MAC地址和網絡互聯協議IP位址為源地址的各ARP報文,且,所述第二網絡節點不同時廣播所有的ARP報文; 所述第一網絡節點判斷所述ARP報文的源地址是否與所述第一網絡節點自身的地址衝關; 若衝突,則向網管伺服器上報攜帶所述ARP報文的源地址的地址衝突信息。
2.如權利要求1所述的方法,其特徵在於,判斷所述ARP報文的源地址是否與所述第一網絡節點自身的地址衝突,具體包括: 判斷所述ARP報文的源MAC地址是否落入所述第一網絡節點自身分配的MAC地址範圍內,並判斷所述第一網絡節點為自身各虛接口分配的IP位址中,是否存在與所述ARP報文的源IP位址相同的IP位址; 當上述至少一個判斷結果為是時,確定所述ARP報文的源地址與所述第一網絡節點自身的地址衝突,當上述判斷結果均為否時,確定所述ARP報文的源地址與所述第一網絡節點自身的地址不衝突。
3.如權利要求2所述的方法,其特徵在於,所述方法還包括: 當所述第一網絡節點判斷所述ARP報文的源MAC地址落入所述第一網絡節點自身分配的MAC地址範圍內,且,判斷所述第一網絡節點為自身各虛接口分配的IP位址中,存在與所述ARP報文的源IP位址相同的IP位址時,所述第一網絡節點修改自身分配的MAC地址和IP位址。
4.如權利要求2所述的方法,其特徵在於,當所述第一網絡節點判斷所述ARP報文的源MAC地址落入所述第一網絡節點自身分配的MAC地址範圍內時,向網管伺服器上報攜帶所述ARP報文的源地址 的地址衝突信息之前,所述方法還包括: 所述第一網絡節點判斷自身當前保存的MAC衝突告警表中是否存在所述ARP報文的源MAC地址; 若存在,則將所述MAC衝突告警表中所述ARP報文的源MAC地址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源MAC地址寫入所述MAC衝突告警表中,並將寫入的所述ARP報文的源MAC地址對應的告警清除時間設置為預設的第一初始值; 當所述第一網絡節點判斷為自身各虛接口分配的IP位址中存在與所述ARP報文的源IP位址相同的IP位址時,向網管伺服器上報攜帶所述ARP報文的源地址的地址衝突信息之前,所述方法還包括: 所述第一網絡節點判斷自身當前保存的IP衝突告警表中是否存在所述ARP報文的源IP位址; 若存在,則將所述IP衝突告警表中所述ARP報文的源IP位址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源IP位址寫入所述IP衝突告警表中,並將寫入的所述ARP報文的源IP位址對應的告警清除時間設置為預設的第一初始值。
5.如權利要求3所述的方法,其特徵在於,所述方法還包括:所述第一網絡節點按照第一設定時間間隔,將所述MAC衝突告警表中每個源MAC地址對應的告警清除時間減少預設的第一步進值,將所述IP衝突告警表中每個源IP位址對應的告警清除時間減少預設的第一步進值;並 刪除所述MAC衝突告警表中對應的告警清除時間小於所述第一步進值的源MAC地址,刪除所述IP衝突告警表中對應的告警清除時間小於所述第一步進值的源IP位址;以及 向所述網管伺服器上報地址衝突消失信息,所述地址衝突消失信息中攜帶被刪除的源MAC地址和源IP位址。
6.如權利要求1所述的方法,其特徵在於,所述第二網絡節點周期性的廣播以自身每個虛接口的MAC地址和IP位址為源地址的各ARP報文,具體包括: 所述第二網絡節點針對自身每個虛接口的MAC地址和IP位址,將該虛接口的MAC地址和IP位址對應的衝突檢測時間設置為一個隨機值,所述隨機值不大於預設的第二初始值;並 按照第二設定時間間隔,將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值;以及 當該虛接口的MAC地址和IP位址對應的衝突檢測時間小於所述預設的第二步進值時,以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播; 所述第二網絡節點將該虛接口的MAC地址和IP位址對應的衝突檢測時間重置為所述預設的第二初始值,繼續按照第二設定時間間隔將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二·步進值,並根據該虛接口的MAC地址和IP位址對應的衝突檢測時間廣播ARP報文。
7.一種節點地址衝突的檢測裝置,其特徵在於,包括: 接收模塊,用於接收第二網絡節點廣播的地址解析協議ARP報文,其中,所述第二網絡節點在廣播ARP報文時,周期性的廣播以所述第二網絡節點自身每個虛接口的介質訪問控制MAC地址和網絡互聯協議IP位址為源地址的各ARP報文,且,所述第二網絡節點不同時廣播所有的ARP報文; 判斷模塊,用於判斷所述ARP報文的源地址是否與自身的地址衝突; 上報模塊,用於當所述判斷模塊判斷衝突時,向網管伺服器上報攜帶所述ARP報文的源地址的衝突信息。
8.如權利要求7所述的裝置,其特徵在於,所述判斷模塊具體用於,判斷所述ARP報文的源MAC地址是否落入自身分配的MAC地址範圍內,並判斷為自身各虛接口分配的IP位址中,是否存在與所述ARP報文的源IP位址相同的IP位址,當上述至少一個判斷結果為是時,確定所述ARP報文的源地址與自身的地址衝突,當上述判斷結果均為否時,確定所述ARP報文的源地址與自身的地址不衝突。
9.如權利要求8所述的裝置,其特徵在於,所述裝置還包括: 調整模塊,用於當所述判斷模塊判斷所述ARP報文的源MAC地址落入自身分配的MAC地址範圍內,且,判斷為自身各虛接口分配的IP位址中,存在與所述ARP報文的源IP位址相同的IP位址時,修改自身分配的MAC地址和IP位址。
10.如權利要求8所述的裝置,其特徵在於,所述上報模塊還用於,當所述判斷模塊判斷所述ARP報文的源MAC地址落入自身分配的MAC地址範圍內時,判斷自身當前保存的MAC衝突告警表中是否存在所述ARP報文的源MAC地址,若存在則將所述MAC衝突告警表中所述ARP報文的源MAC地址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源MAC地址寫入所述MAC衝突告警表中,並將寫入的所述ARP報文的源MAC地址對應的告警清除時間設置為預設的第一初始值;當所述判斷模塊判斷為自身各虛接口分配的IP位址中存在與所述ARP報文的源IP位址相同的IP位址時,判斷自身當前保存的IP衝突告警表中是否存在所述ARP報文的源IP位址,若存在,則將所述IP衝突告警表中所述ARP報文的源IP位址對應的告警清除時間重置為預設的第一初始值,否則,將所述ARP報文的源IP位址寫入所述IP衝突告警表中,並將寫入的所述ARP報文的源IP位址對應的告警清除時間設置為預設的第一初始值。
11.如權利要求9所述的裝置,其特徵在於,所述上報模塊還用於,按照第一設定時間間隔,將所述MAC衝突告警表中每個源MAC地址對應的告警清除時間減少預設的第一步進值,將所述IP衝突告警表中每個源IP位址對應的告警清除時間減少預設的第一步進值,刪除所述MAC衝突告警表中對應的告警清除時間小於所述第一步進值的源MAC地址,刪除所述IP衝突告警表中對應的告警清除時間小於所述第一步進值的源IP位址,向所述網管伺服器上報地址衝突消失信息,所述地址衝突消失信息中攜帶被刪除的源MAC地址和源IP位址。
12.如權利要求7所述的裝置,其特徵在於,所述接收模塊具體用於,接收所述第二網絡節點採用以下方式廣播的ARP報文:所述第二網絡節點針對自身每個虛接口的MAC地址和IP位址,將該虛接口的MAC地址和IP位址對應的衝突檢測時間設置為一個隨機值,所述隨機值不大於預設的第二初始值;按照第二設定時間間隔,將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值;當該虛接口的MAC地址和IP位址對應的衝突檢測時間小於所述預設的第二步進值時,以該虛接口的MAC地址為源MAC地址、以該虛接口的IP位址為源IP位址生成ARP報文並廣播;將該虛接口的MAC地址和IP位址對應的衝突檢測時間重置為所述預設的第二初始值,繼續按照第二設定時間間隔將該虛接口的MAC地址和IP位址對應的衝突檢測時間減少預設的第二步進值,並根據該虛接口的MAC地址和IP位址對應的衝突檢 測時間廣播ARP報文。
全文摘要
本發明公開了一種節點地址衝突的檢測方法及裝置,該方法第二網絡節點周期性的廣播以自身每個MAC地址和IP位址為源地址的各ARP報文,且第二網絡節點不同時廣播所有的ARP報文,第一網絡節點接收ARP報文,並判斷該ARP報文的源地址是否與第一網絡節點自身的地址衝突,若衝突,則向網管伺服器上報攜帶該ARP報文的源地址的地址衝突信息。通過上述方法,第一網絡節點除了可以檢測自身的IP位址是否與第二網絡節點的IP位址衝突以外,還可以檢測自身的MAC地址是否與第二網絡節點的MAC地址衝突,因此提高了檢測節點地址衝突的準確性,並且第二網絡節點不同時廣播所有的ARP報文,可以減小網絡傳輸壓力。
文檔編號H04L29/12GK103188354SQ20131010967
公開日2013年7月3日 申請日期2013年3月29日 優先權日2013年3月29日
發明者李志強 申請人:北京東土科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀