本發明涉及數據通信領域,尤其涉及一種利用遠端CPU特性實現板間通信的方法及網絡設備。
背景技術:隨著數據中心技術的發展,數據中心的核心交換設備將不斷追求更高的性能、更大的帶寬、更多的特性,因此需要使用最新、最高端的ASIC芯片。這就使得同一臺設備可能是由不同廠家、不同年代的許多芯片互聯而成,如此將大大增加系統的復雜性。在傳統的硬件設計中,主控板通常只負責各種網絡協議的計算,不參與業務報文的轉發,一般要求很高的CPU性能和比較大的內存,為了不影響網絡設備整體的業務處理能力,在新的硬件設計中往往不要求主控板與網板或者接口業務板間的業務報文互通,只要求控制報文或協議報文在彼此間可以互通即可。而同一設備框內的控制或協議報文之間的通信,一般可以通過簡單的二層交換芯片互聯實現。如圖1所示的某款網絡設備硬件架構圖,在該圖中,56526/5396等芯片用于控制或協議報文間互通。其中5396芯片是一款廉價的二層芯片,不支持HG特性(一種芯片間利用內部頭信息完成互通的特性),56526性能、規格、特性也比較弱,他們都無法和新的網板間實現控制報文和協議報文互通。在這種硬件框架下,控制報文和協議報文的處理有如下問題:(1)雖然同一設備框內的板間通信一般可以通過這些(控制)芯片(56526/5396)收發二層報文直接完成,然而不同設備框間的報文通信需要跨越XGS、Arad、FE1600等多個不同的轉發芯片,因而無法直接到達。因此,需要通過在轉發芯片上再次進行查表轉發,如此,可能會丟掉一些寶貴的CPU指定的報文信息(如優先級等);(2)主控板CPU在VLAN內廣播發送協議報文,或者指定某個端口直接發送。這些協議報文也無法直接從對應端口轉發出去,一般只能先發給接口業務板CPU,再由接口板CPU做軟件轉發,這將嚴重影響系統性能;(3)從接口業務板用戶端口接收到的協議報文,可能需要上送主控板CPU去處理。在此情況下,一般也只能先上接口業務板CPU,再由接口業務板CPU軟件轉發至主控板CPU,同樣,這也將嚴重影響系統性能。
技術實現要素:有鑒于此,本發明提供一種實現板間通信的方法及網絡設備,以解決現有技術方案中存在的問題與不足。本發明是通過如下技術方案實現的:一種利用遠端CPU特性實現板間通信的方法,應用于網絡設備上,其中所述設備至少包括有一個主控板、一個交換網板和若干個接口業務板,每塊主控板、交換網板上各自至少包括有一個CPU,每塊接口業務板上至少包括有一個轉發芯片,其中,所述方法包括如下步驟:步驟1、選定一個接口業務板的一個轉發芯片,并將所述設備同一框內的主控板、網板CPU作為該選定的轉發芯片的遠端CPU;步驟2、發送管理報文時,先構造該管理報文的內部頭,然后對所述管理報文封裝RCPUHeader并向選定的轉發芯片發送;步驟3、選定的轉發芯片在接收到管理報文后,先對RCPUHeader進行解封裝,然后按照報文內部頭的信息將報文進行轉發。本發明同時提供一種利用遠端CPU特性實現板間通信的網絡設備,所述設備至少包括有一個主控板、一個交換網絡和若干個接口業務板,每塊主控板、交換網板上各自至少包括有一個CPU,每塊接口業務板上至少包括有一個轉發芯片,其中,在所述設備中選定一個接口業務板上的一個轉發芯片,并將所述設備同一框內的主控板、網板CPU作為該選定的轉發芯片的遠端CPU;在所述設備內發送管理報文時,所述主控板或者網板CPU先構造該管理報文的內部頭,然后對所述管理報文封裝RCPUHeader并向選定的轉發芯片發送;選定的轉發芯片在接收到管理報文后,先對RCPUHeader進行解封裝,然后按照報文內部頭的信息將報文進行轉發。與現有的技術相比,本發明在實現控制報文或協議報文板間通信時,不再需要采用傳統的CPU軟件轉發的方法,突破了傳統的硬件設計帶來的限制,大大提高了協議、控制報文的處理速度,進而提升了系統整體的系統效率。附圖說明圖1是現有網絡設備的硬件架構示意圖;圖2是本發明利用遠端CPU特性實現板間通信的方法流程示意圖。具體實施方式針對背景技術所述,申請人通過對芯片遠端CPU特性進行分析,并結合當前數據中心中主流核心交換機的設計特點,提出了一種在利用遠端CPU特性實現板間通信的實現方法,可以很好地解決當前主控板、網板CPU發送控制報文或者廣播協議報文,以及接口業務板用戶端口無法直接上送協議報文給主控板CPU等板間通信問題。遠端CPU是芯片的一種特性,指的是CPU可以不和芯片直接相連,而是通過一個二層網絡,對芯片進行控制。具體地,當遠端CPU發出的封裝有RCPUHeader(RemoteCPUHeader,遠端CPU報文頭)的報文在目的芯片收到后,就可以對目的芯片進行各種讀、寫操作,也可以去掉RCPUHeader后對所述報文進行轉發;對應的,本地芯片接收到協議報文后,也可以對之進行RCPUHeader封裝進而發給遠端CPU進行處理。遠端CPU與芯片之間通過這樣一個特殊封裝的RCPUHeader,使得彼此交互的報文可以穿越二層網絡,進而完成對芯片的控制功能,其效果與本地CPU一樣,適用于一個CPU同時控制本地或遠程多款芯片的情形,一定程度上增加了靈活性、降低了成本。為使本領域技術人員更加清楚和明白,以下仍以圖1所示的網絡設備為例,本發明利用遠端CPU特性實現板間通信的方法,具體應用于網絡設備尤其由多個框設備堆疊組成的網絡設備上,其中所述設備至少包括有一個主控板、一個交換網絡和若干個接口業務板,每塊主控板、交換網板上各自至少包括有一個CPU,每塊接口業務板上至少包括有一個轉發芯片,所述方法的詳細實現流程如圖2所示,包括如下步驟:步驟1、在所述網絡設備內選定一個接口業務板的一個轉發芯片,并所述設備內同一框內的主控板、網板CPU作為該選定的轉發芯片的遠端CPU。步驟2、當主控板、網板CPU發送管理報文時,先構造包含內部頭的報文,然后對所述管理報文封裝RCPUHeader并向選定的轉發芯片發送。在本發明中,所述管理報文具體為主控板、網板CPU發送的控制報文或者在VLAN內廣播的協議報文。為了保證所述管理報文能夠順利地在網絡設備內的板間實現轉發,在本發明較佳的實現方式中,當主控板、網板CPU需要發送管理報文時,先對所述管理報文構造內部頭,其中所述內部頭,具體包含了目的芯片號、目的端口號等信息。然后,利用遠端CPU的特性,在發送該管理報文前,進一步對所述管理報文封裝一層RCPUHeader報文頭。由于該RCPU報文頭是一個二層的以太網報文頭,其中封裝有指定的目的Mac地址、源MAC地址以及VlanTag等信息,所述管理報文借由這些信息,就可以通過二層網絡發送給選定的轉發芯片。步驟3、選定的轉發芯片在接收到管理報文后,先對RCPUHeader進行解封裝,然后按照報文內部頭的信息將報文轉發。當選定的轉發芯片接收到遠端CPU發送的經過RCPUHeader封裝的管理報文后,先對RCPUHeader進行解封裝。然后根據該報文內部頭中攜帶的目的芯片號、目的端口號等信息,對該報文進行轉發。具體地,所述選定的轉發芯片對管理報文進行RCPUHeader解封裝后,通過報文內部頭獲取目的芯片號、目的端口號等信息,然后,根據其上轉發映射表記錄的轉發表項信息,將該報文從本芯片相應的端口轉發出去。如果目的單板是接口業務板,則所述轉發芯片直接將該管理報文上送該單板的CPU處理;如果是另一個設備框內的主控板或網板CPU,則該設備框內的接口業務板在接收到選定芯片轉發的管理報文后,對該管理報文封裝RCPUHeader后再發送至對應的主控板或網板,所述主控板或網板的CPU接收到該封裝的RCPUHeader報文后,先去掉RCPUHeader然后對該管理報文進行相應的處理。以上僅針對主控板下發管理報文,本發明利用遠端CPU特性實現網絡設備內板間通信的詳細說明。然而,在某些應用場景下,本發明網絡設備的接口業務板的用戶端口有可能接收到來自其他設備的協議報文,例如:假設網絡設備配置了VRRP協議,此時網絡設備在進行通信時就需要與其他設備交互VRRP協議報文,這些協議報文一般都由主控板處理,因此,當接口業務板接收到這些報文后,均需要上送至主控板CPU。對于這些協議報文主控板CPU通常還需要知道報文的源端口信息,這些信息在芯片轉發時一般均包含在報文的內部頭之中。對于這些協議報文,為了實現在網絡設備內板間通信,依據本發明所述的方法,接口業務板的芯片在接收到這些協議報文后,如果該報文需要上送所述設備內該接口業務板所在設備框的主控板做進一步處理,則先對該報文構造內部頭,然后對該報文及其內部頭封裝RCPUHeader,然后向其所在的框內主控板轉發,主控板CPU在接收到該協議報文后去掉RCPUHeader后,就可以根據報文內部頭所攜帶的源端口信息對該協議報文進行相應的處理了。綜上所述,本發明利用芯片具有的遠端CPU特性,將主控板CPU、網板CPU作為某個指定接口板的遠端CPU,從而很好地解決了主控板、網板CPU發送控制報文或者廣播協議報文,以及接口業務板用戶端口將協議報文上送到主控板CPU處理的問題。與現有的技術相比,本發明不需要采用CPU軟件轉發的做法,突破的硬件設計帶來的限制,大大提高了協議、控制報文的處理速度,提升了整體的系統效率。以上所述僅為本發明的較佳實施例而已,并不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的范圍之內。