專利名稱:一種arp表項同步方法及業務處理方法和設備的制作方法
技術領域:
本發明涉及通信網絡技術領域,尤其涉及一種ARP表項同步方法及業務處理方法和設備。
背景技術:
ARP (Address Resolution Protocol,地址解析協議)是將IP地址解析為以太網MAC地址(或稱物理地址)的協議。當主機或其它網絡設備有數據要發送給另一個主機或設備時,必須知道對方的網絡層地址,即IP(Internet Protocol,網絡之間互連的協議)地址,但是僅僅有IP地址是不夠的,因為IP數據報文必須封裝成幀才能通過物理網絡發送,因此發送端設備還必須有接收端設備的MAC地址,所以需要一個從IP地址到MAC地址的映射,ARP就是實現這個功能的協議。交換設備通過ARP解析到目的MAC地址后,會在本設備的ARP表項中增加IP地址到MAC地址的映射表項,以用于后續到同一目的IP地址的報文轉發。交換設備存儲的ARP表項主要用于報文的三層轉發,報文進行三層轉發時,需要將報文鏈路層信息替換為轉發下一跳IP地址對應的鏈路層地址。當交換設備學習到一條新的ARP表項時,它同時產生一條主機FIB (Forward Information Base,轉發信息庫)表項,報文轉發時可以通過該FIB表項確定報文從交換設備的哪個端口發送出去,在報文發送前,再根據ARP表項確定發送報文的鏈路層信息。在分布式環境下,當接口板接收到ARP請求報文時,除在本接口板建立ARP表項夕卜,還須向其它接口板同步該條表項。傳統的ARP表項同步方案需要將所有ARP表項均同步到所有接口板,而對于某一接口板而言,許多ARP表項并不用于轉發,而大量ARP表項占用了接口板芯片資源,使得真正用于轉發的ARP表項無法學習到,從而導致接口板報文三層轉發失敗。當接口板進行報文轉發時,如果接收到報文的是VLAN (Virtual Local AreaNetwork,虛擬局域網)虛接口,則通過FIB表查詢到轉發的下一跳地址后,進一步查找ARP表項,若未查詢到相應的出接口,且接口板的ARP表項已滿,則丟棄該報文,導致相應的報文無法被轉發,接口板轉發報文的處理能力有限。因此,亟需一種ARP表項同步方案及業務處理方案以解決以上問題。
發明內容
本發明提供了一種ARP表項同步方法及設備,用以解決接口板芯片資源被大量占用的問題,提高接口板報文轉發能力。為此,本發明實施例采用如下技術方案:
本發明實施例提供一種ARP表項同步方法,應用于包含有主控板和至少2個接口板的分布式設備,所述方法包括:
接口板接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,若所述ARP請求報文的接收接口為非聚合接口,則根據所述ARP請求報文進行ARP表項學習,并根據所述ARP請求報文的接收接口的類型進行ARP表項同步;
所述根據所述ARP請求報文的接收接口的類型進行ARP表項同步,具體包括:
若所述ARP請求報文的接收接口的類型為二層接口,則所述接口板向主控板和除本接口板之外的其它接口板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述ARP表項配置消息的接收者根據所述ARP表項配置消息配置ARP表項;當所述接口板接收到其它接口板發送的ARP表項配置消息后,若所述接口板根據所述ARP表項配置消息中攜帶的ARP表項的虛擬局域網VLAN信息,判斷本接口板上有接口屬于相應VLAN,則在本接口板上配置所述ARP表項;
若所述ARP請求報文的接收接口的類型為三層接口,則所述接口板向主控板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述主控板配置所述ARP表項。本發明實施例還提供一種分布式設備,包括主控板和至少2個接口板,所述接口板包括:
控制模塊,用于在接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,在判斷所述ARP請求報文的接收接口為非聚合接口時,指示ARP表項處理模塊根據所述ARP請求報文進行ARP表項學習,并指示ARP表項同步模塊根據所述ARP請求報文的接收接口的類型進行ARP表項同步;
ARP表項處理模塊,用于根據所述ARP請求報文進行ARP表項學習;
ARP表項同步模塊,用于根據所述ARP請求報文的接收接口的類型進行ARP表項同步;其中,所述控制模塊具體用于,當所述ARP請求報文的接收接口的類型為二層接口時,指示所述ARP表項同步模塊向主控板和除本接口板之外的其它接口板發送攜帶有自身學習到的ARP表項的ARP表項配置消息;以及,在接收到其它接口板發送的ARP表項配置消息時,指示所述ARP表項處理模塊根據所述ARP表項配置消息在本接口板上配置所述ARP表項配置消息中攜帶的ARP表項;在接收到其它接口板發送的ARP表項配置消息后,若根據所述ARP表項配置消息中攜帶的ARP表項的虛擬局域網VLAN信息,判斷本接口板上有接口屬于相應VLAN時,指示所述ARP表項處理模塊在本接口板上配置所述ARP表項;當所述ARP請求報文的接收接口的類型為三層接口時,指示所述ARP表項同步模塊向主控板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述主控板配置所述ARP表項;所述ARP表項處理模塊還用于,根據所述控制模塊的指示,在本接口板上配置所述ARP表項;
所述主控板包括管理模塊和處理模塊;
所述管理模塊用于,在接收到接口板發送的ARP表項配置消息時,指示所述處理模塊根據所述ARP表項配置消息在本主控板上配置所述ARP表項配置消息中攜帶的ARP表項。與現有技術相比,本發明的上述實施例具有以下有益技術效果:
本發明實施例提供的ARP表項同步方案,當接口板接收ARP請求報文的接口為非聚合接口時,接口板進行ARP表項學習后,根據接收ARP請求報文的接口的類型,進行ARP表項同步,節約了接口板芯片資源,使得接口板能夠學習到更多的ARP表項,提高接口板報文轉發處理能力。本發明還提供了一種基于上述ARP表項同步方法實現的業務處理方法及設備,用以提高接口板報文轉發能力。為此,本發明實施例采用如下技術方案:
本發明實施例提供一種基于上述ARP表項同步方法實現的業務處理方法,所述方法包
括:
接口板接收到業務報文后,根據所述業務報文的目的IP地址查詢下一跳IP地址,并根據所述下一跳IP地址查詢ARP表項,若未查詢到ARP表項,則將所述業務報文上報至所述主控板;
主控板在接收到接口板上報的業務報文后,根據所述業務報文的目的IP地址查詢ARP表項,若查詢到所述目的IP地址對應的ARP表項,則根據查詢到的ARP表項中的接口信息,將所述業務報文透傳至該接口信息對應的接口板,并將查詢到的ARP表項同步至上報所述業務報文的接口板。與現有技術相比,本發明的上述實施例具有以下有益技術效果:
本發明實施例提供的業務處理方案,接口板接收到業務報文后,在未查詢到業務報文下一跳IP地址對應的ARP表項的情況下,將業務報文上報至主控板處理,在主控板查詢到業務報文目的IP地址對應的ARP表項時,將業務報文透傳至相應接口板,以指示該接口板轉發業務報文,并將查詢到的ARP表項同步至上報業務報文的接口板,解決了接口板由于ARP表項數量已滿,無法學習ARP表項而導致的業務報文被丟棄的問題,提高了報文轉發處理能力。
圖1為本發明實施例提供的接口板ARP表項同步流程不意 圖2為本發明實施例提供的接口板接口首次加入VLAN后的ARP表項同步流程示意圖; 圖3為發明實施例提供的接口板接口離開VLAN后的ARP表項同步流程示意 圖4為本發明實施例提供的業務處理流程示意 圖5為本發明實施例提供的分布式設備接口板結構示意 圖6為本發明實施例提供的分布式設備主控板結構示意圖。
具體實施例方式針對現有技術存在的上述問題,本發明實施例提供了一種ARP表項同步方案,當接口板接收ARP請求報文的接口為非聚合接口時,接口板進行ARP表項學習后,根據接收ARP請求報文的接口的類型進行ARP表項同步,節約了接口板芯片資源,使得接口板能夠學習到更多的ARP表項,提高接口板報文轉發處理能力。下面結合附圖對本發明實施例進行詳細描述。本發明實施例提供的ARP表項同步方案,應用于包含有主控板和至少2個接口板的分布式設備。接口板的接口可以為二層接口、三層接口以及聚合接口。二層接口不能配置IP地址,也不能運行路由協議,用于轉發二層以太網幀;三層接口可以配置IP地址以及運行路由協議,用于接收轉發IP包;聚合接口是指作為聚合組成員的接口,聚合組成員的接口可以分步在不同的接口板上,聚合接口包括二層或三層聚合接口。在本發明實施例中,接口板針對ARP請求報文接收接口的類型不同,采用不同的ARP表項同步方案。以下結合圖1詳細說明接口板ARP表項同步的流程,如圖所示,該流程包括以下步驟:
步驟101,接口板接收ARP請求報文。具體的,發送端設備發送ARP請求報文,以獲取接收端設備的MAC地址。步驟102,若接口板接收ARP請求報文的接口為非聚合接口,則根據ARP請求報文進行ARP表項學習,并返回ARP響應報文。具體的,接口板將ARP請求報文中攜帶的發送端設備的IP地址和MAC地址存入本地ARP表中,從而實現ARP表項的學習,并向發送端設備返回ARP響應報文,該ARP響應報文中攜帶有接口板自身的MAC地址。步驟103,接口板根據ARP請求報文的接收接口的類型進行ARP表項同步。其中,若接收ARP請求報文的接口為聚合接口(包括聚合二層接口或聚合三層接口),則接口板將接收到的ARP請求報文透傳至主控板,主控板將ARP請求報文中攜帶的發送端設備的IP地址和MAC地址存入本地ARP表中,從而實現ARP表項的學習,并返回ARP響應報文,該ARP響應報文中攜帶有主控板自身的MAC地址。主控板向分布式設備的全部接口板發送ARP表項配置消息,以指示分布式設備的各接口板根據ARP表項配置消息中攜帶的ARP表項,在本地配置該ARP表項,其中,ARP表項配置消息中攜帶有主控板學習到的ARP表項。通過上述流程可以看出,本發明上述實施例,當接口板接收ARP請求報文的接口為非聚合接口時,接口板進行ARP表項學習后,根據接收ARP請求報文的接口的類型,進行ARP表項同步,節約了接口板芯片資源,使得接口板能夠學習到更多的ARP表項,提高接口板報文轉發處理能力。當ARP請求報文的接收接口的類型為二層非聚合接口時,接口板進行ARP表項同步的流程包括以下步驟:
接口板向主控板和除本接口板之外的其它接口板發送ARP表項配置消息,該ARP表項配置消息中攜帶有本接口板自身學習到的ARP表項。其中,ARP表項可以包括:接口信息(接口標識)、該接口的VLAN信息(B卩該接口配置的VLAN的標識)、接口板的IP地址和MAC地址、發送端設備的IP地址和MAC地址、老化時間以及表項類型(例如,靜態表項或動態表項)。主控板接收到接口板發送的ARP表項配置消息后,獲取ARP表項配置消息中攜帶的ARP表項,并在本主控板上配置該ARP表項。其它接口板在接收到ARP表項配置消息后,根據ARP表項配置消息中攜帶的VLAN標識,在本接口板上查詢ARP表項,若查詢到該VLAN標識對應的ARP表項,則說明本接口板上有接口屬于該VLAN,則獲取ARP表項配置消息中攜帶的ARP表項,并在本接口板上配置該ARP表項;若在本接口板上未查詢到該VLAN標識對應的ARP表項,則說明本接口板上沒有接口屬于該VLAN,忽略該ARP表項配置消息。通過上述流程可以看出,當接收ARP請求報文的接口為非聚合二層接口時,接口板向主控板和其它接口板發送ARP表項配置消息,并由有接口屬于同一 VLAN的接口板配置該ARP表項,可以節約其它不屬于同一 VLAN的接口板的芯片資源,使得其它接口板能夠學習到更多的ARP表項,提高報文轉發處理能力。當ARP請求報文的接收接口的類型為三層非聚合接口時,接口板進行ARP表項同步的流程包括以下步驟:
接口板向主控板發送ARP表項配置消息,該ARP表項配置消息中攜帶有本接口板自身學習到的ARP表項。其中,ARP表項可以包括:接口信息(接口標識)、該接口的VLAN信息(即該接口配置的VLAN的標識)、接口板的IP地址和MAC地址、發送端設備的IP地址和MAC地址、老化時間以及表項類型(例如,靜態表項或動態表項)。主控板接收到ARP表項配置消息后,獲取其中攜帶的ARP表項,并在本主控板上配置該ARP表項。通過上述流程可以看出,當接收ARP請求報文的接口為非聚合三層接口時,接口板學習ARP表項后,指示主控板配置該ARP表項,而不再向其它接口板指示配置該ARP表項,可以節約其它接口板的芯片資源,使得其它接口板能夠學習到更多的ARP表項,提高報文轉發處理能力。進一步的,由于接口板的二層接口和三層接口學習到的ARP表項不是配置于全部接口板上,為了保證配置為同一 VLAN的各接口板上的ARP表項的一致,接口板的二層或三層非聚合接口在進行ARP表項學習之后,還可以執行下步驟:
接口板為學習到的ARP表項設置老化定時器,并在所述老化定時器超時時,在本地刪除對應的ARP表項,并向主控板發送攜帶有被刪除的ARP表項的ARP表項同步消息,以指示主控板根據ARP表項同步消息刪除對應的ARP表項。主控板刪除ARP表項后,根據該ARP表項中的VLAN標識,向配置有該VLAN的接口板發送ARP表項同步消息,該ARP表項同步消息中攜帶有被刪除的ARP表項,以指示接收到該ARP表項同步消息的接口板刪除該接口板自身存儲的對應的ARP表項。通過上述老化流程可以看出,當ARP表項老化時,同步得到ARP表項的接口板不會主動進行老化刪除,而是由學習到該ARP表項的接口板向分布式設備的主控板發送ARP表項同步消息,并進一步由主控板向相關接口板發送ARP表項同步消息,以實現在主控板和相關接口板上刪除老化的ARP表項,保證了 ARP表項在相關接口板上的一致性,確保了業務報文轉發的可靠性。進一步的,當接口板上的接口首次加入某一 VLAN時,會觸發該接口板與主控板之間進行ARP表項同步,以下結合圖2,詳細說明接口加入VLAN觸發的ARP表項同步流程,該流程包括以下步驟:
步驟201,當接口板接收到主控板發送的將指定接口加入指定VLAN的配置指令時,查詢本接口板上該VLAN內的ARP表項,若未查詢到ARP表項,則執行步驟202,否則,結束流程。具體的,接口板可以根據主控板發送的攜帶有VLAN標識和接口標識的配置消息,將接口加入VLAN,或者,接口板可以根據用戶指令將指定接口加入指定VLAN。接口板通過查詢VLAN標識對應的ARP表項,判斷本接口板上是否有其它接口已加入該VLAN,若查詢到該VLAN標識對應的ARP表項,則說明本接口板上已有其它接口加入該VLAN,則無需同步ARP表項,結束流程;若未查詢到該VLAN標識對應的ARP表項,說明該接口是本接口板上首個加入該VLAN的接口,則執行步驟202。步驟202,接口板向主控板發送攜帶有VLAN標識的ARP表項查詢請求。步驟203-204,主控板根據接收到的ARP表項查詢請求中攜帶的VLAN標識,查詢相應的ARP表項,并將查詢到的ARP表項攜帶于查詢響應中返回給接口板。具體的,由于主控板上存儲有分布式設備各個接口板以及本主控板學習到的全部ARP表項,如果VLAN中的一個接口所在接口板曾經學習到ARP表項,則在主控板上會記錄有相應的ARP表項,根據VLAN標識即可在主控板上查詢到相應的ARP表項,主控板將查詢到的ARP表項返回給接口板。步驟205,接口板接收主控板返回的查詢響應,并將查詢響應中攜帶的ARP表項配置到本接口板。優選的,接口板上預設有ARP表項閾值,ARP表項閾值可以根據應用場景的不同,以及接口板性能的不同進行設定。接口板在將ARP表項配置到本接口板的過程中,若待配置的ARP表項的數量大于ARP表項閾值,則停止配置該ARP表項。相應的,當有接口板的接口離開VLAN時,也會觸發接口板與主控板之間進行ARP表項同步,以下以一個主控板以及2個接口板為例(目標接口板為接口板I,其它接口板為接口板2 ),結合圖3詳細說明接口離開VLAN觸發的ARP表項同步流程,該流程包括以下步驟:
步驟301,當主控板接收到刪除目標接口板的指定VLAN內的指定接口的配置指令時,在本地刪除該接口的VLAN對應的ARP表項。步驟302,主控板向目標接口板發送配置指令,該配置指令中攜帶有該指定接口的接口標識和該指定VLAN的VLAN標識,以指示目標接口板刪除對應的ARP表項,并向除所述目標接口板之外的其它接口板發送ARP表項同步消息,其中,ARP表項同步消息攜帶有被刪除的ARP表項。步驟303-304,所述其它接口板在接收到主控板發送的ARP表項同步消息后,根據其中攜帶的ARP表項(例如接口標識)查詢自身存儲的ARP表項,若查詢到對應的ARP表項,則刪除該ARP表項,若未查詢到對應的ARP表項,則忽略該ARP表項同步消息。通過上述流程可以看出,當接口板上有接口首次加入某一 VLAN時,由主控板將該VLAN內的ARP表項同步至該接口板上;當接口板有接口離開VLAN時,主控板刪除對應的ARP表項后,并指示有接口離開VLAN的接口板刪除對應的ARP表項,同時發送刪除同步信息至其它各接口板,這樣避免了在接口板上保存本板轉發報文用不到的ARP表項(例如,本接口板未配置的VLAN的ARP表項),進一步節約了接口板芯片資源,使得接口板能夠學習到更多的ARP表項,提高接口板報文轉發處理能力。基于上述ARP表項同步方案,本發明實施例還提供了 一種業務處理方案,如圖4所示,業務處理流程包括以下步驟:
步驟401,接口板接收到業務報文后,根據業務報文的目的IP地址查詢下一跳IP地址。具體的,接口板根據業務報文的目的IP地址,查詢FIB表項,獲得業務報文的下一跳IP地址。其中,FIB表項存儲有報文的下一跳IP地址、目的IP地址以及轉發接口標識等信息。步驟402,接口板根據業務報文的下一跳IP地址查詢ARP表項,若未查詢到該業務報文的下一跳IP地址對應的ARP表項,則執行步驟403 ;若查詢到該業務報文的下一跳IP地址對應的ARP表項,則根據查詢到的ARP表項的接口信息轉發該業務報文。步驟403,接口板將該業務報文上報至主控板。
步驟404,主控板根據業務報文的目的IP地址,查詢是否存在該目的IP地址對應的ARP表項,若未查詢到ARP表項,則執行步驟405 ;若查詢到ARP表項,則執行步驟408。步驟405-407,主控板廣播發送攜帶有業務報文目的IP地址的ARP請求報文,在接收到ARP響應報文后,進行ARP表項學習,并根據學習到的ARP表項中的MAC地址,對該業務報文進行轉發。 步驟408,主控板根據ARP表項中的接口標識,確定轉發業務報文的接口,該接口即為業務報文入接口。步驟409,主控板將業務報文透傳至接口(業務報文入接口)對應的接口板,以便通過該接口板對該業務報文進行轉發,并將查詢到的ARP表項同步至上報業務報文的接口板。通過上述業務處理流程可以看出,接口板接收到業務報文后,在接口板未查詢到相應ARP表項的情況下,將業務報文上報至主控板處理,當主控板查詢到相應ARP表項時,將業務報文透傳至相應接口板,以指示該接口板轉發業務報文,并將查詢到的ARP表項同步至上報業務報文的接口板,解決了接口板由于ARP表項數量已滿,無法學習ARP表項而導致的業務報文被丟棄的問題,提高了接口板報文轉發處理能力。基于相同的技術構思,本發明實施例還提供了一種分布式設備,包括:包括主控板和至少2個接口板,所述接口板結構如圖5所示,主控板結構如圖6所示,該接口板包括:
控制模塊51,用于在接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,在判斷所述ARP請求報文的接收接口為非聚合接口時,指示ARP表項處理模塊52根據所述ARP請求報文進行ARP表項學習,并指示ARP表項同步模塊53根據所述ARP請求報文的接收接口的類型進行ARP表項同步。ARP表項處理模塊52,用于根據所述ARP請求報文進行ARP表項學習。ARP表項同步模塊53,用于根據所述ARP請求報文的接收接口的類型進行ARP表項同步。控制模塊51具體用于,當所述ARP請求報文的接收接口的類型為二層接口時,指示ARP表項同步模塊53向主控板和除本接口板之外的其它接口板發送攜帶有自身學習到的ARP表項的ARP表項配置消息;在接收到其它接口板發送的ARP表項配置消息后,若根據所述ARP表項配置消息中攜帶的ARP表項的虛擬局域網VLAN信息,判斷本接口板上有接口屬于相應VLAN時,指示ARP表項處理模塊52在本接口板上配置所述ARP表項;當所述ARP請求報文的接收接口的類型為三層接口時,指示所述ARP表項同步模塊53向主控板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述主控板配置所述ARP表項。所述ARP表項處理模塊52還用于,根據控制模塊51的指示,在本接口板上配置所述ARP表項。所述主控板包括管理模塊61和處理模塊62 ;
管理模塊61用于,在接收到接口板發送的ARP表項配置消息時,指示處理模塊62根據所述ARP表項配置消息在本主控板上配置所述ARP表項配置消息中攜帶的ARP表項。管理模塊61還用于,在接收到接口板發送的ARP表項配置消息時,指示處理模塊62根據所述ARP表項配置消息在本主控板上配置所述ARP表項配置消息中攜帶的ARP表項。
控制模塊51還用于,當所述ARP請求報文的接收接口為二層或三層聚合接口時,將所述ARP請求報文透傳至所述主控板,以指示所述主控板進行ARP表項學習。所述管理模塊61還用于,根據所述ARP請求報文,指示所述處理模塊62進行ARP表項學習。所述主控板還包括同步模塊63,同步模塊63用于,向所述分布式設備的全部接口板發送攜帶有處理模塊62學習到的ARP表項的ARP表項同步消息,以指示接收到所述ARP表項同步消息的接口板配置所述ARP表項。所述接口板還包括ARP表項查詢模塊54 ;
控制模塊51還用于,當所述接口板接收到所述主控板發送的將指定接口加入指定VLAN的配置指令時,指示ARP表項查詢模塊54查詢本接口板上該VLAN內的ARP表項,在未查詢到ARP表項時,向所述主控板發送查詢該VLAN內的ARP表項的查詢請求,并在接收到主控板返回的查詢響應后,指示ARP表項處理模塊52將所述查詢響應中攜帶的ARP表項配置到本接口板。所述主控板還包括查詢模塊63 ;
管理模塊61用于,在接收到所述接口板發送的ARP表項查詢請求時,指示查詢模塊63進行查詢,并向所述接口板返回攜帶的ARP表項的查詢響應。管理模塊61還用于,當接收到刪除目標接口板上指定VLAN內的指定接口的配置指令時,指示處理模塊62刪除所述指定接口和所述指定VLAN對應的ARP表項,向所述目標接口板發送所述刪除指定VLAN內的指定接口的配置指令,并指示同步模塊63向除所述目標接口板之外的其它接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息。控制模塊51還用于,根據所述主控板發送的配置指令,指示ARP表項處理模塊52在本接口板上刪除所述指定接口和所述指定VLAN對應的ARP表項;以及,在接收到所述主控板發送的ARP表項同步消息后,指示ARP表項處理模塊52根據其中攜帶的ARP表項,在本接口板上查找對應的ARP表項,當查找到對應的ARP表項時,刪除該接口板自身存儲的對應的ARP表項。控制模塊51還用于,為ARP表項處理模塊52學習到的ARP表項設置老化定時器;當所述老化定時器超時時,指示ARP表項處理模塊52刪除自身存儲的對應的ARP表項,并指示ARP表項同步模塊53向主控板發送攜帶有被刪除的ARP表項的ARP表項同步消息;以及,接收所述主控板發送的ARP表項同步消息,并指示ARP表項處理模塊52根據所述ARP表項同步消息中攜帶的ARP表項刪除自身存儲的對應的ARP表項。管理模塊61還用于,在接收到接口板發送的ARP表項同步消息時,指示處理模塊62根據所述ARP表項同步消息中攜帶的ARP表項刪除自身存儲的對應的ARP表項,并指示同步模塊64根據所述ARP表項中的VLAN信息,向配置有該VLAN的接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息。所述接口板還包括報文轉發模塊55,用于在接收到業務報文后,根據所述業務報文的目的IP地址查詢下一跳IP地址,并根據所述下一跳IP地址查詢ARP表項,若未查詢到ARP表項,則將所述業務報文上報至所述主控板。所述主控板還包括業務處理模塊65,業務處理模塊65用于,在接收到接口板上報的業務報文后,根據所述業務報文的目的IP地址查詢ARP表項,若查詢到所述目的IP地址對應的ARP表項,則根據查詢到的ARP表項中的接口信息,將所述業務報文透傳至該接口信息對應的接口板,并將查詢到的ARP表項同步至上報所述業務報文的接口板。業務處理模塊65還用于,若未查詢到所述目的IP地址對應的ARP表項,則指示處理模塊62進行ARP表項學習,并根據學習到的ARP表項中的介質訪問控制MAC地址轉發所述業務報文。處理模塊62還用于,根據業務處理模塊65的指示,廣播發送攜帶有所述目的IP地址的ARP請求報文,并在接收到ARP響應報文后,進行ARP表項學習。通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺終端設備(可以是手機,個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視本發明的保護范圍。
權利要求
1.一種地址解析協議ARP表項同步方法,其特征在于,應用于包含有主控板和至少2個接口板的分布式設備,所述方法包括: 接口板接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,若所述ARP請求報文的接收接口為非聚合接口,則根據所述ARP請求報文進行ARP表項學習,并根據所述ARP請求報文的接收接口的類型進行ARP表項同步; 所述根據所述ARP請求報文的接收接口的類型進行ARP表項同步,具體包括: 若所述ARP請求報文的接收接口的類型為二層接口,則所述接口板向主控板和除本接口板之外的其它接口板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述ARP表項配置消息的接收者根據所述ARP表項配置消息配置ARP表項;當所述接口板接收到其它接口板發送的ARP表項配置消息后,若所述接口板根據所述ARP表項配置消息中攜帶的ARP表項的虛擬局域網VLAN信息,判斷本接口板上有接口屬于相應VLAN,則在本接口板上配置所述ARP表項; 若所述ARP請求報文的接收接口的類型為三層接口,則所述接口板向主控板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述主控板配置所述ARP表項。
2.如權利要求1所述的方法,其特征在于,所述方法還包括: 若所述ARP請求報文的接收接口為二層或三層聚合接口,則所述接口板將所述ARP請求報文透傳至所述主控板,以指示所述主控板進行ARP表項學習; 所述主控板根據所述ARP請求報文進行ARP表項學習,并向所述分布式設備的全部接口板發送攜帶有本主控板學習到的ARP表項的ARP表項同步消息,以指示接收到所述ARP表項同步消息的接口板配置所述ARP表項。
3.如權利要求1所述的方法,其特征在于,所述方法還包括: 若所述接口板接收到所述主控板發送的將指定接口加入指定VLAN的配置指令,則查詢本接口板上該VLAN內的ARP表項;若未查詢到,則向所述主控板發送查詢該VLAN內的ARP表項的查詢請求,并在接收到主控板返回的查詢響應后,將所述查詢響應中攜帶的ARP表項配置到本接口板。
4.如權利要求1所述的方法,其特征在于,所述方法還包括: 若所述主控板接收到刪除目標接口板上指定VLAN內的指定接口的配置指令,則在本主控板上刪除所述指定接口和所述指定VLAN對應的ARP表項,向所述目標接口板發送所述刪除指定VLAN內的指定接口的配置指令,并向除所述目標接口板之外的其它接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息; 所述目標接口板根據所述配置指令,在本接口板上刪除所述指定接口和所述指定VLAN對應的ARP表項; 所述其它接口板根據所述ARP表項同步消息中攜帶的ARP表項,在本接口板上查找對應的ARP表項,若查找到,則刪除自身存儲的對應的ARP表項。
5.如權利要求1所述的方法,其特征在于,所述方法還包括: 所述接口板進行ARP表項學習之后,為學習到的ARP表項設置老化定時器; 當所述老化定時器超時時,刪除自身存儲的對應的ARP表項,并向主控板發送攜帶有被刪除的ARP表項的ARP表項同步消息; 所述主控板根據所述ARP表項同步消息中攜帶的ARP表項刪除自身存儲的對應的ARP表項,并根據所述ARP表項中的VLAN信息,向配置有該VLAN的接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息,以指示接收到該ARP表項同步消息的接口板刪除該接口板自身存儲的對應的ARP表項。
6.一種基于 權利要求1-5任一項所述的方法實現的業務處理方法,其特征在于,所述方法包括: 接口板接收到業務報文后,根據所述業務報文的目的IP地址查詢下一跳IP地址,并根據所述下一跳IP地址查詢ARP表項,若未查詢到ARP表項,則將所述業務報文上報至所述主控板; 主控板在接收到接口板上報的業務報文后,根據所述業務報文的目的IP地址查詢ARP表項,若查詢到所述目的IP地址對應的ARP表項,則根據查詢到的ARP表項中的接口信息,將所述業務報文透傳至該接口信息對應的接口板,并將查詢到的ARP表項同步至上報所述業務報文的接口板。
7.如權利要求6所述的方法,其特征在于,所述方法還包括:若所述主控板未查詢到所述目的IP地址對應的ARP表項,則廣播發送攜帶有所述目的IP地址的ARP請求報文,在接收到ARP響應報文后,進行ARP表項學習,并根據學習到的ARP表項中的介質訪問控制MAC地址轉發所述業務報文。
8.一種分布式設備,包括主控板和至少2個接口板,所述接口板包括: 控制模塊,用于在接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,在判斷所述ARP請求報文的接收接口為非聚合接口時,指示ARP表項處理模塊根據所述ARP請求報文進行ARP表項學習,并指示ARP表項同步模塊根據所述ARP請求報文的接收接口的類型進行ARP表項同步; ARP表項處理模塊,用于根據所述ARP請求報文進行ARP表項學習; ARP表項同步模塊,用于根據所述ARP請求報文的接收接口的類型進行ARP表項同步; 其中,所述控制模塊具體用于,當所述ARP請求報文的接收接口的類型為二層接口時,指示所述ARP表項同步模塊向主控板和除本接口板之外的其它接口板發送攜帶有自身學習到的ARP表項的ARP表項配置消息;以及,在接收到其它接口板發送的ARP表項配置消息后,若根據所述ARP表項配置消息中攜帶的ARP表項的虛擬局域網VLAN信息,判斷本接口板上有接口屬于相應VLAN時,指示所述ARP表項處理模塊在本接口板上配置所述ARP表項;當所述ARP請求報文的接收接口的類型為三層接口時,指示所述ARP表項同步模塊向主控板發送攜帶有自身學習到的ARP表項的ARP表項配置消息,以指示所述主控板配置所述ARP表項; 所述ARP表項處理模塊還用于,根據所述控制模塊的指示,在本接口板上配置所述ARP表項; 所述主控板包括管理模塊和處理模塊; 所述管理模塊用于,在接收到接口板發送的ARP表項配置消息時,指示所述處理模塊根據所述ARP表項配置消息在本主控板上配置所述ARP表項配置消息中攜帶的ARP表項。
9.如權利要求8所述的設備,其特征在于,所述控制模塊還用于,當所述ARP請求報文的接收接口為二層或三層聚合接口時,將所述ARP請求報文透傳至所述主控板,以指示所述主控板進行ARP表項學習;所述管理模塊還用于,根據所述ARP請求報文,指示所述處理模塊進行ARP表項學習; 所述主控板還包括同步模塊,所述同步模塊用于,向所述分布式設備的全部接口板發送攜帶有所述處理模塊學習到的ARP表項的ARP表項同步消息,以指示接收到所述ARP表項同步消息的接口板配置所述ARP表項。
10.如權利要求8所述的設備,其特征在于,所述接口板還包括ARP表項查詢模塊; 所述控制模塊還用于,當所述接口板接收到所述主控板發送的將指定接口加入指定VLAN的配置指令時,指示所述ARP表項查詢模塊查詢本接口板上該VLAN內的ARP表項,在未查詢到ARP表項時,向所述主控板發送查詢該VLAN內的ARP表項的查詢請求,并在接收到主控板返回的查詢響應后,指示所述ARP表項處理模塊將所述查詢響應中攜帶的ARP表項配置到本接口板; 所述主控板還包括查詢模塊; 所述管理模塊用于,在接收到所述接口板發送的ARP表項查詢請求時,指示所述查詢模塊進行查詢,并向所述接口板返回攜帶的ARP表項的查詢響應。
11.如權利要求8所述的設備,其特征在于, 所述管理模塊還用于,當接收到刪除目標接口板上指定VLAN內的指定接口的配置指令時,指示所述處理模塊刪除所述指定接口和所述指定VLAN對應的ARP表項,向所述目標接口板發送所述刪除指定VLAN內的指定接口的配置指令,并指示所述同步模塊向除所述目標接口板之外的其它接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息; 所述控制模塊還用于,根據所述主控板發送的配置指令,指示所述ARP表項處理模塊在本接口板上刪除所述指定接口和所述指定VLAN對應的ARP表項;以及,在接收到所述主控板發送的ARP表項同步消息后,指示所述ARP表項處理模塊根據其中攜帶的ARP表項,在本接口板上查找對應的ARP表項,當查找到對應的ARP表項時,刪除該接口板自身存儲的對應的ARP表項。
12.如權利要求8所述的設備,其特征在于,所述控制模塊還用于,為所述ARP表項處理模塊學習到的ARP表項設置老化定時器;當所述老化定時器超時時,指示所述ARP表項處理模塊刪除自身存儲的對應的ARP表項,并指示所述ARP表項同步模塊向主控板發送攜帶有被刪除的ARP表項的ARP表項同步消息;以及,接收所述主控板發送的ARP表項同步消息,并指示所述ARP表項處理模塊根據所述ARP表項同步消息中攜帶的ARP表項刪除自身存儲的對應的ARP表項; 所述管理模塊還用于,在接收到接口板發送的ARP表項同步消息時,指示所述處理模塊根據所述ARP表項同步消息中攜帶的ARP表項刪除自身存儲的對應的ARP表項,并指示所述同步模塊根據所述ARP表項中的VLAN信息,向配置有該VLAN的接口板發送攜帶有被刪除的ARP表項的ARP表項同步消息。
13.如權利要求8所述的設備,其特征在于,所述接口板還包括報文轉發模塊,用于在接收到業務報文后,根據所述業務報文的目的IP地址查詢下一跳IP地址,并根據所述下一跳IP地址查詢ARP表項,若未查詢到ARP表項,則將所述業務報文上報至所述主控板。
所述主控板還包括業務處理模塊,所述業務處理模塊用于,在接收到接口板上報的業務報文后,根據所述業務報文的目的IP地址查詢ARP表項,若查詢到所述目的IP地址對應的ARP表項,則根據查詢到的ARP表項中的接口信息,將所述業務報文透傳至該接口信息對應的接口板,并將查詢到的ARP表項同步至上報所述業務報文的接口板。
14.如權利要求13所述的設備,其特征在于,所述業務處理模塊還用于,若未查詢到所述目的IP地址對應的ARP表項,則指示所述處理模塊進行ARP表項學習,并根據學習到的ARP表項中的介質訪問控制MAC地址轉發所述業務報文; 所述處理模塊還用于,根據所述業務處理模塊的指示,廣播發送攜帶有所述目的IP地址的ARP請求報文,并在接 到ARP響應報文后,進行ARP表項學習。
全文摘要
本發明公開一種ARP表項同步方法、業務處理方法和設備,應用于包含有主控板和至少2個接口板的分布式設備,所述ARP表項同步方法包括接口板接收到請求查詢自身介質訪問控制MAC地址的ARP請求報文后,若所述ARP請求報文的接收接口為非聚合接口,則根據所述ARP請求報文進行ARP表項學習,并根據所述ARP請求報文的接收接口的類型進行ARP表項同步,節約了接口板芯片資源,使得接口板能夠學習到更多的ARP表項,提高接口板報文轉發處理能力。
文檔編號H04L12/741GK103078814SQ20131004758
公開日2013年5月1日 申請日期2013年2月6日 優先權日2013年2月6日
發明者王志晟, 王偉 申請人:杭州華三通信技術有限公司