一種ARP表項的生成方法、裝置及交換機與流程
2023-05-05 17:56:16 1
本發明涉及網絡通信
技術領域:
,尤其涉及一種arp表項的生成方法、裝置及交換機。
背景技術:
:隨著網際網路數據通信技術的高速發展,黑客通過網絡中的漏洞對網絡設備發起攻擊的事件屢見不鮮,arp泛洪攻擊就是一種常見的網絡攻擊方式。現有技術中,當交換機設備接收到待解析ip地址時,若待解析ip地址為黑客設置的無法解析到解析結果的ip地址,交換機設備為該待解析ip地址生成一條arp表項。由於交換機設備的arp表項資源有限,arp表項資源易被耗盡。技術實現要素:有鑑於此,本發明提供一種arp表項的生成方法、裝置及交換機,以解決arp表項資源易被耗盡的問題。為實現上述目的,本發明提供技術方案如下:根據本發明的第一方面,提出了一種arp表項的生成方法,所述方法包括:確定預設時長內接收到待解析ip地址的第一數量;當所述第一數量大於或者等於第一預設數量時,在預設arp列表中生成與所述待解析ip地址相對應的第一表項,所述第一表項用於記錄與所述待解析ip地址對應的預設埠,所述預設埠用於丟棄報文。根據本發明的第二方面,提出了一種arp表項的生成裝置,所述裝置包括:第一確定模塊,用於確定預設時長內接收到待解析ip地址的第一數量;第一表項生成模塊,用於當所述第一數量大於或者等於第一預設數量時,在預設arp列表中生成與所述待解析ip地址相對應的第一表項,所述第一表項用於記錄與所述待解析ip地址對應的預設埠,所述預設埠用於丟棄報文;地址廣播模塊,用於當所述第一數量小於第一預設數量時,向鄰居設備廣播所述待解析ip地址。根據本發明的第三方面,提出了一種交換機,所述交換機包括:cpu以及交換晶片;其中,所述cpu,用於確定預設時長內接收到待解析ip地址的第一數量;當所述第一數量大於或者等於第一預設數量時,針對所述待解析ip地址生成第一表項,第一表項用於記錄與所述待解析ip地址對應的預設埠,所述預設埠用於丟棄報文;將所述第一表項下發至所述交換晶片;所述交換晶片,用於在所述預設arp列表中存儲所述第一表項;所述cpu還用於當所述第一數量小於所述第一預設數量時,向鄰居設備廣播所述待解析ip地址。由以上技術方案可見,交換機確定預設時長內接收到待解析ip地址的第一數量,當第一數量大於或者等於第一預設數量時,交換機在預設arp列表中生成與待解析ip地址相對應的第一表項,對於短時間內交換機接收到大量相同的待解析ip地址的情況,通過第一預設數量,交換機可以限制在預設arp列表中生成表項的數量;對於交換機接收到離散的待解析ip地址的情況,由於待解析ip地址的第一數量未達到第一預設數量,交換機無需為待解析ip地址生成對應的arp表項,因此交換機在該兩種情況下接收到待解析ip地址時,可以有效減少arp表項的生成數量,進而解決了arp表項資源易被耗盡的問題。附圖說明圖1a是本發明提供的一個arp表項的生成方法的實施例流程圖;圖1b是本發明提供的arp表項的生成方法中的交換機內部結構示意圖;圖2是本發明提供的另一個arp表項的生成方法的實施例流程圖;圖3是本發明提供的再一個arp表項的生成方法的實施例流程圖;圖4是本發明提供的一種交換機的硬體結構圖;圖5是本發明提供的一個arp表項的生成裝置的實施例框圖;圖6是本發明提供的另一個arp表項的生成裝置的實施例框圖。具體實施方式這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。在本發明使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本發明。在本發明和所附權利要求書中所使用的單數形式的「一種」、「所述」和「該」也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語「和/或」是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。應當理解,儘管在本發明可能採用術語第一、第二、第三等來描述各種信息,但這些信息不應限於這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本發明範圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決於語境,如在此所使用的詞語「如果」可以被解釋成為「在……時」或「當……時」或「響應於確定」。圖1a是本發明提供的一個arp表項的生成方法的實施例流程圖,該地址解析協議(addressresolutionprotocol,簡稱為arp)表項的生成方法可以應用在交換機中,如圖1a所示,該arp表項的生成方法包括以下步驟101-102:步驟101:確定預設時長內接收到待解析ip地址的第一數量。步驟102:確定第一數量是否大於或者等於第一預設數量,當第一數量大於或者等於第一預設數量時,執行步驟103,當第一數量小於第一預設數量時,執行步驟104。步驟103:在預設arp列表中生成與待解析ip地址相對應的第一表項,第一表項用於記錄與待解析ip地址對應的預設埠,預設埠用於丟棄報文。可選的,arp表項的生成方法還可以包括步驟104:向鄰居設備廣播待解析ip地址。在步驟101中,在一實施例中,預設時長可以通過定時器或者計時裝置實現計時,預設時長例如為1秒。第一數量為預設時長內交換機接收到待解析ip地址的數量,需要說明的是,預設時長結束時,交換機將對第一數量進行清零,重新計算該待解析ip地址的數量。待解析ip地址為需要進行arp解析的ip地址,待解析ip地址的獲取過程的描述可參考現有技術的相關內容。此處以待解析ip地址為168.168.13.16,預設時長為1秒為例,交換機確定1秒內接收到待解析ip地址168.168.13.16的第一數量。在步驟102中,在一實施例中,第一預設數量的具體數值可以根據交換機處理待解析ip地址總數量的能力決定,第一預設數量例如為100。交換機確定第一數量是否大於或者等於第一預設數量,當交換機確定預設時長內接收到待解析ip地址的第一數量大於或者等於第一預設數量時,交換機執行步驟103,當確定預設時長內接收到待解析ip地址的第一數量小於第一預設數量時,交換機執行步驟104。在步驟103中,在一實施例中,當確定預設時長內接收到待解析ip地址的第一數量大於或者等於第一預設數量時,表示待解析ip地址短時間內被大量請求解析,此種情況可能為黑客發起的arp泛洪攻擊,因此交換機需要將後續接收到的待解析ip地址進行丟棄。具體的,交換機在預設arp列表中生成與待解析ip地址相對應的第一表項,第一表項用於記錄與待解析ip地址對應的預設埠,預設埠用於丟棄報文。其中,預設arp列表中用於記錄與待解析ip地址對應的相關內容,相關內容包括:預設埠(表示該待解析ip地址尚未得到解析結果,預設埠用於丟棄報文),解析結果(表示該待解析ip地址已被解析,解析結果包括:mac地址、vlan信息和出接口信息)。如表1所示,為預設arp列表的結構示例:表1待解析ip地址mac地址vlan信息出接口信息預設埠168.168.14.1544-45-53-54-00-00vlan-if286-168.168.12.1843-23-14-36-00-00vlan-if187-168.168.13.16---47表1中,待解析ip地址168.168.14.15對應mac地址44-45-53-54-00-00、vlan信息vlan-if2和出接口信息86;待解析ip地址168.168.12.18對應mac地址43-23-14-36-00-00、vlan信息vlan-if1和出接口信息87;待解析ip地址168.168.13.16對應預設埠47。表1中的「-」表示為空,未記錄任何信息。其中,待解析ip地址168.168.13.16未對應記錄解析結果,表示待解析ip地址168.168.13.16尚未解析成功,或者該待解析ip地址168.168.13.16為黑客惡意發送的無法解析的待解析ip地址。結合步驟101,以待解析ip地址為168.168.13.16為例,交換機在預設arp列表中生成與待解析ip地址168.168.13.16相對應的第一表項,第一表項用於記錄與待解析ip地址168.168.13.16對應的預設埠,預設埠用於丟棄報文,預設埠例如為埠47(參見表1中的第四行內容),當交換機再次接收到待解析ip地址168.168.13.16時,交換機通過預設arp列表中記錄的第一表項,查找到與待解析ip地址168.168.13.16對應的埠47,交換機將待解析ip地址168.168.13.16通過埠47進行丟棄。在步驟104中,在一實施例中,交換機向鄰居設備廣播待解析ip地址。當交換機確定預設時長內接收到待解析ip地址的第一數量小於第一預設數量時,第一數量的待解析ip地址處於交換機的處理能力範圍之內,因此交換機正常向鄰居設備發送廣播,以解析該待解析ip地址。本發明實施例中,交換機確定預設時長內接收到待解析ip地址的第一數量,當第一數量大於或者等於第一預設數量時,交換機在預設arp列表中生成與待解析ip地址相對應的第一表項,對於短時間內交換機接收到大量相同的待解析ip地址的情況,通過第一預設數量,交換機可以限制在預設arp列表中生成表項的數量;對於交換機接收到離散的待解析ip地址的情況,由於待解析ip地址的第一數量未達到第一預設數量,交換機無需為待解析ip地址生成對應的arp表項,因此交換機在該兩種情況下接收到待解析ip地址時,可以有效減少arp表項的生成數量,進而解決了arp表項資源易被耗盡的問題。圖1b是本發明提供的arp表項的生成方法中的交換機11內部結構示意圖,本發明實施例以圖1a實施例中的交換機11包括:cpu111和交換晶片112為例並結合圖1a進行示例性說明。當交換機11接收到攜帶待解析ip地址的報文時,交換機11將解析得到的該待解析ip地址發送至交換晶片112,交換晶片112中存儲有預設arp列表。交換晶片112存儲有預設arp列表,交換晶片112在預設arp列表中查找是否存在與該待解析ip地址對應的相關內容,相關內容包括:預設埠(表示該待解析ip地址尚未得到解析結果,預設埠用於丟棄報文),解析結果(表示該待解析ip地址已被解析,解析結果包括:mac地址、vlan信息和出接口信息)。當交換晶片112在預設arp列表中未查找到與該待解析ip地址對應的相關內容時,交換晶片112將該待解析ip地址發送至cpu111。cpu111確定預設時長內接收到待解析ip地址的第一數量。當第一數量大於或者等於第一預設數量時,cpu111針對該待解析ip地址生成第一表項,第一表項用於記錄與待解析ip地址對應的預設埠,預設埠用於丟棄報文。cpu111將該第一表項下發至交換晶片112,交換晶片112在預設arp列表中存儲該第一表項。當第一數量小於第一預設數量時,cpu111向鄰居設備廣播待解析ip地址。當cpu111接收到待解析ip地址對應的解析結果時,cpu111針對該待解析ip地址生成第二表項,第二表項用於記錄與待解析ip地址對應的解析結果。cpu111將該第二表項下發至交換晶片112,交換晶片112在預設arp列表中存儲該第二表項,若預設arp列表中存在待解析ip地址對應的第一表項,交換晶片112將刪除預設arp列表中記錄的第一表項。具體的,結合上述圖1a,以待解析ip地址為168.168.13.16、第一預設數量為100、預設時長為1秒、預設埠為47、mac地址21-53-59-75-00-00、vlan信息vlan-if3和出接口信息60為例,當交換晶片112在在預設arp列表中未查找到與該待解析ip地址168.168.13.16對應的相關內容時,交換晶片112將該待解析ip地址168.168.13.16發送至cpu111。cpu111確定預設時長1秒內接收到待解析ip地址168.168.13.16的第一數量。當第一數量大於或者等於第一預設數量100時,cpu111針對該待解析ip地址168.168.13.16生成第一表項,第一表項用於記錄與待解析ip地址對應的預設埠47。cpu111將該第一表項下發至交換晶片112,交換晶片112在預設arp列表中存儲該第一表項。當第一數量小於第一預設數量100時,cpu111向鄰居設備廣播待解析ip地址168.168.13.16。當cpu111接收到待解析ip地址168.168.13.16對應的解析結果(mac地址21-53-59-75-00-00、vlan信息vlan-if3和出接口信息60)時,cpu111針對該待解析ip地址生成第二表項,第二表項用於記錄與待解析ip地址對應的解析結果。cpu111將該第二表項下發至交換晶片112,交換晶片112在預設arp列表中存儲該第二表項,若預設arp列表中存在待解析ip地址對應的第一表項,交換晶片112將刪除預設arp列表中記錄的第一表項。通過本發明實施例,cpu111通過第一預設數量,限制在預設arp列表中生成表項的數量;對於cpu111接收到離散的待解析ip地址的情況,由於待解析ip地址的第一數量未達到第一預設數量,cpu111無需為待解析ip地址生成對應的arp表項,因此cpu111在該兩種情況下接收到待解析ip地址時,可以有效減少arp表項的生成數量,進而解決了arp表項資源易被耗盡的問題;當第一數量大於或者等於第一預設數量時,cpu111針對該待解析ip地址生成第一表項,第一表項用於記錄與待解析ip地址對應的預設埠,預設埠用於丟棄報文,當交換機11再次接收到該待解析ip地址時,該待解析ip地址通過交換晶片112轉發至該預設埠,無需將待解析ip地址上傳至cpu111,緩解了cpu的處理壓力。圖2是本發明提供的另一個arp表項的生成方法的實施例流程圖,結合圖1a進行示例性說明,如圖2所示,包括如下步驟:步驟201:確定預設arp列表中當前表項的第二數量。步驟202:當第二數量小於第二預設數量時,在預設arp列表中生成與待解析ip地址相對應的第一表項。在步驟201中,交換機確定預設arp列表中當前表項的第二數量,第二數量為預設arp列表中當前已記錄的表項的數量。在步驟202中,第二預設數量為交換機arp表項資源的總數量。當第二數量小於第二預設數量時,表示可以在預設arp列表中新增arp表項,交換機執行上述步驟102中在預設arp列表中生成與待解析ip地址相對應的第一表項的步驟。本發明實施例中,交換機確定預設arp列表中當前表項的第二數量,交換機確定第二數量是否小於交換機arp表項資源的總數量,若是則交換機在預設arp列表中生成與待解析ip地址相對應的第一表項,確保建立的第一表項不超出arp表項資源的總數量,保證了交換機工作的可靠性和穩定性。圖3是本發明提供的再一個arp表項的生成方法的實施例流程圖,本發明實施例結合圖1a、圖2,對交換機接收到待解析ip地址對應的解析結果時如何處理的,進行示例性說明,如圖3所示,包括如下步驟:步驟301:當接收到待解析ip地址對應的解析結果時,在預設arp列表中生成與待解析ip地址相對應的第二表項,第二表項用於記錄與待解析ip地址對應的解析結果。步驟302:刪除預設arp列表中記錄的第一表項。在步驟301中,以待解析ip地址為168.168.13.16,解析結果包括:mac地址21-53-59-75-00-00、vlan信息vlan-if3和出接口信息60為例,當交換機接收到待解析ip地址168.168.13.16對應的解析結果(mac地址21-53-59-75-00-00、vlan信息vlan-if3和出接口信息60)時,交換機在預設arp列表中生成與待解析ip地址168.168.13.16相對應的第二表項,第二表項用於記錄與待解析ip地址168.168.13.16對應的解析結果(mac地址21-53-59-75-00-00、vlan信息vlan-if3和出接口信息60)。在步驟302中,在預設arp列表中生成與待解析ip地址相對應的第一表項的步驟之後,如表1所示,預設arp列表中已記錄第一表項,則交換機刪除預設arp列表中記錄的第一表項,如表2所示,為在表1基礎上,執行步驟301-步驟302後預設arp列表的結構示例:表2待解析ip地址mac地址vlan信息出接口信息預設埠168.168.14.1544-45-53-54-00-00vlan-if286-168.168.12.1843-23-14-36-00-00vlan-if187-168.168.13.1621-53-59-75-00-00vlan-if360-表2中,待解析ip地址168.168.13.16相對應的第一表項已被刪除,取而代之的,待解析ip地址168.168.13.16對應的第四行內容為第二表項。本發明實施例中,當交換機接收到待解析ip地址對應的解析結果時,交換機在預設arp列表中生成與待解析ip地址相對應的第二表項,交換機刪除預設arp列表中記錄的第一表項,確保後續交換機接收到該待解析ip地址時,交換機可以正常對該待解析ip地址進行轉發,同時刪除第一表項也可以騰出更多arp表項資源,使arp表項資源得到更高效利用。對應於上述arp表項的生成方法,本發明還提出了圖4所示的交換機的硬體結構圖。請參考圖4,在硬體層面,該交換機包括處理器、內部總線、網絡接口、內存以及非易失性存儲器,當然還可能包括其他業務所需要的硬體。處理器從非易失性存儲器中讀取對應的電腦程式到內存中然後運行,在邏輯層面上形成arp表項的生成裝置。當然,除了軟體實現方式之外,本發明並不排除其他實現方式,比如邏輯器件抑或軟硬體結合的方式等等,也就是說以下處理流程的執行主體並不限定於各個邏輯單元,也可以是硬體或邏輯器件。圖5是本發明提供的一個arp表項的生成裝置的實施例框圖,如圖5所示,該arp表項的生成裝置可以包括:第一確定模塊51、第一表項生成模塊52、地址廣播模塊53,其中:第一確定模塊51,用於確定預設時長內接收到待解析ip地址的第一數量;第一表項生成模塊52,用於當第一數量大於或者等於第一預設數量時,在預設arp列表中生成與待解析ip地址相對應的第一表項,第一表項用於記錄與待解析ip地址對應的預設埠,預設埠用於丟棄報文;地址廣播模塊53,用於當第一數量小於第一預設數量時,向鄰居設備廣播待解析ip地址。圖6是本發明提供的另一個arp表項的生成裝置的實施例框圖,如圖6所示,在上述圖5所示實施例的基礎上,arp表項的生成裝置還包括:第二確定模塊54,用於確定預設arp列表中當前表項的第二數量,當第二數量小於第二預設數量時,執行第一表項生成模塊52中的在預設arp列表中生成與待解析ip地址相對應的第一表項的步驟。在一實施例中,arp表項的生成裝置還包括:第二表項生成模塊55,用於當接收到待解析ip地址對應的解析結果時,在預設arp列表中生成與待解析ip地址相對應的第二表項,第二表項用於記錄與待解析ip地址對應的解析結果。在一實施例中56,arp表項的生成裝置還包括:表項刪除模塊,用於在第一表項生成模塊52中的在預設arp列表中生成與待解析ip地址相對應的第一表項的步驟之後,刪除預設arp列表中記錄的第一表項。上述裝置中各個單元的功能和作用的實現過程具體詳見上述方法中對應步驟的實現過程,在此不再贅述。對於裝置實施例而言,由於其基本對應於方法實施例,所以相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本發明方案的目的。本領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。由上述實施例可見,交換機確定預設時長內接收到待解析ip地址的第一數量,當第一數量大於或者等於第一預設數量時,交換機在預設arp列表中生成與待解析ip地址相對應的第一表項,對於短時間內交換機接收到大量相同的待解析ip地址的情況,通過第一預設數量,交換機可以限制在預設arp列表中生成表項的數量;對於交換機接收到離散的待解析ip地址的情況,由於待解析ip地址的第一數量未達到第一預設數量,交換機無需為待解析ip地址生成對應的arp表項,因此交換機在該兩種情況下接收到待解析ip地址時,可以有效減少arp表項的生成數量,進而解決了arp表項資源易被耗盡的問題。本領域技術人員在考慮說明書及實踐這裡公開的發明後,將容易想到本發明的其它實施方案。本發明旨在涵蓋本發明的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本發明的一般性原理並包括本發明未公開的本
技術領域:
中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本發明的真正範圍和精神由下面的權利要求指出。還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。當前第1頁12