国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網絡負荷的分擔方法、系統(tǒng)及網絡處理器的制作方法

      文檔序號:7621301閱讀:111來源:國知局
      專利名稱:網絡負荷的分擔方法、系統(tǒng)及網絡處理器的制作方法
      技術領域
      本發(fā)明涉及通信領域,具體而言,尤其涉及一種網絡負荷的分擔方法、系統(tǒng)及網絡 處理器。
      背景技術
      在網絡處理器中,網絡負荷分擔的實現技術例如有鏈路匯聚控制協(xié)議(Link Aggregation Control Protocol,簡稱為LACP),將多個物理端口動態(tài)聚合到Trunk組,形成 一個邏輯端口,并根據用戶配置的端口負荷分擔策略決定報文從哪一個成員端口發(fā)送到對 端;等價多路徑ECMP (Equal Cost Multi I^ath),通過多個下一跳可以達到同一個目的地, 同樣用于網絡的負載均衡。其實現的基本原理都是選擇報文的某些指定字段進行hash計 算,根據獲取的偏移進行出端口的選擇,最終達到網絡負荷分擔的效果。在目前的網絡處理器中,報文的處理通常包括兩個模塊,報文解析模塊和微碼查 表轉發(fā)模塊,其中報文解析模塊主要是完成報文的解析,解析當前報文是哪種業(yè)務的報文, 確定下一步的微碼處理流程。并獲取報文的關鍵字段以供微碼查表轉發(fā)模塊使用。例如一 個三層報文,在報文解析階段需要進行機架mac地址的匹配,獲取etype類型,同時解析出 ip地址;該報文獲取解析階段的信息后被發(fā)送到三層微碼處理流程,進行目的ip的查找并 轉發(fā)出去。在目前的網絡處理器中,網絡負荷分擔功能通常放在微碼查表轉發(fā)模塊進行,該 傳統(tǒng)做法消耗了微碼指令,增加了微碼處理的復雜度,并在一定程度上影響了微碼的處理 性能。針對上述現有技術的網絡負荷分擔方法中,微碼處理復雜度高導致系統(tǒng)處理報文 轉發(fā)效率的問題,目前還未提出有效的解決方案。

      發(fā)明內容
      本發(fā)明的主要目的在于提供一種網絡負荷的分擔方法、系統(tǒng)及網絡處理器,以解 決現有技術的網絡負荷分擔方法中,微碼處理復雜度高導致系統(tǒng)處理報文轉發(fā)效率的問題。為了實現上述目的,根據本發(fā)明的一方面,提供了一種網絡負荷的分擔方法。根據本發(fā)明的網絡負荷的分擔方法包括獲取報文,通過解析規(guī)則來解析報文,并 根據解析結果來選擇哈希模板進行哈希計算,以獲取偏移量;根據偏移量來選擇輸出端口 ; 通過輸出端口轉發(fā)報文至目的終端。進一步地,在獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選擇哈希模 板進行計算,以獲取偏移量之前,方法還包括基于預設參數來創(chuàng)建一個或多個哈希模板, 并為每個哈希模板設定模板號,預定參數包括以下任意一種參數:MAC地址、IP地址以及端口號。進一步地,基于預設參數來創(chuàng)建一個或多個哈希模板,并為每個哈希模板設定模 板號的步驟包括設定哈希模板中預設參數的字段起始位置和字段長度;根據字段起始位置和字段長度來生成哈希模板的掩碼;確定具有掩碼的哈希模板的模板號。進一步地,獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選擇哈希模板 進行哈希計算,以獲取偏移量的步驟包括解析報文得到預定參數;根據解析規(guī)則來調用 預定參數對應的哈希模板;通過哈希模板中的掩碼來截取報文頭,并獲得第一字段;對第 一字段進行哈希結算,得到偏移量;其中,解析規(guī)則用于設定模板號,通過模板號來確定當 解析報文得到預定參數時,該預定參數對應調用的哈希模板。進一步地,哈希模塊包括字節(jié)哈希模板和位哈希模板。為了實現上述目的,根據本發(fā)明的另一個方面,提供了一種網絡處理器。根據本發(fā)明的網絡處理器包括報文解析模塊,用于獲取報文,通過解析規(guī)則來解 析報文,并根據解析結果來選擇哈希模板進行哈希計算,以獲取偏移量;報文處理模塊,用 于根據偏移量來選擇輸出端口 ;輸出模塊,用于通過輸出端口轉發(fā)報文至目的終端。進一步地,網絡處理器還包括創(chuàng)建模塊,用于基于預設參數來創(chuàng)建一個或多個哈 希模板,并為每個哈希模板設定模板號,預定參數包括以下任意一種參數:MAC地址、IP地 址以及端口號。進一步地,創(chuàng)建模塊包括設置模塊,用于設定哈希模板中預設參數的字段起始位 置和字段長度;生成模塊,用于根據字段起始位置和字段長度來生成哈希模板的掩碼;確 定模塊,用于確定具有掩碼的哈希模板的模板號。進一步地,報文解析模塊包括解析模塊,用于解析報文得到預定參數;調用模 塊,用于根據解析規(guī)則來調用預定參數對應的哈希模板;截取模塊,用于通過哈希模板中的 掩碼來截取報文頭,并獲得第一字段;計算模塊,用于對第一字段進行哈希結算,得到偏移 量;其中,解析規(guī)則用于設定模板號,通過模板號來確定當解析報文得到預定參數時,該預 定參數對應調用的哈希模板。為了實現上述目的,根據本發(fā)明的再一方面,提供了一種網絡負荷的分擔系統(tǒng)。該 網絡負荷的分擔系統(tǒng)包括上述任意一種網絡處理器。通過本發(fā)明,采用獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選擇哈 希模板進行哈希計算,以獲取偏移量;根據偏移量來選擇輸出端口 ;通過輸出端口轉發(fā)報 文至目的終端,解決了現有技術的網絡負荷分擔方法中,微碼處理復雜度高導致系統(tǒng)處理 報文轉發(fā)效率的問題,進而達到了提高網絡系統(tǒng)的處理效率的效果。


      此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本發(fā)明的一部分,本發(fā) 明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中圖1是根據本發(fā)明實施例的網絡處理器的結構示意圖;圖2是根據本發(fā)明實施例的網絡負荷的分擔方法的流程圖;圖3是根據本發(fā)明實施例中創(chuàng)建哈希模版的流程圖;圖4是根據本發(fā)明實施例的報文解析的處理流程圖。
      具體實施例方式為了使本發(fā)明所要解決的技術問題、技術方案及有益效果更加清楚、明白,以下結合附圖和實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅 用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提供了一種網絡負荷的分擔方法、系統(tǒng)及網絡處理器。圖1是根據本發(fā)明實施例的網絡處理器的結構示意圖。如圖1所示,該網絡處理 器包括報文解析模塊101,用于獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來 選擇哈希模板進行哈希計算,以獲取偏移量;報文處理模塊102,用于根據偏移量來選擇輸 出端口 ;輸出模塊103,用于通過輸出端口轉發(fā)報文至目的終端。本發(fā)明上述實施例針對目前的實現方法,提出了在報文解析階段進行負荷分擔功 能的實現,通過驅動進行模板的設定,并通過該預先設定好的模板,當解析出報文后即可以 通過選擇的模板進行快速計算。從而實現不需要消耗非常有限的微碼指令,僅通過驅動進 行模板的整合,計算結果在報文解析階段就可以進行,有效的提高了系統(tǒng)的處理效率。本發(fā)明上述實施例中,網絡處理器還包括創(chuàng)建模塊104,用于基于預設參數來創(chuàng) 建一個或多個哈希模板,并為每個哈希模板設定模板號,預定參數包括以下任意一種參數 MAC地址、IP地址以及端口號。優(yōu)選地,創(chuàng)建模塊104可以包括設置模塊,用于設定哈希模板中預設參數的字段 起始位置和字段長度;生成模塊,用于根據字段起始位置和字段長度來生成哈希模板的掩 碼;確定模塊,用于確定具有掩碼的哈希模板的模板號。具體的,本發(fā)明裝置中預定的哈希模板可以包括基于字節(jié)和基于位兩種形式的算 法,以便于不同的業(yè)務中對不同的hash精度的要求。由于本發(fā)明裝置中的模板,可以預設 多種形式,因此用戶可以根據需求選擇合適的模板,大大減少了用戶后期的開發(fā)周期,同時 可以靈活方便地進行功能的擴展。優(yōu)選地,報文解析模塊101可以包括解析模塊,用于解析報文得到預定參數;調 用模塊,用于根據解析規(guī)則來調用預定參數對應的哈希模板;截取模塊,用于通過哈希模板 中的掩碼來截取報文頭,并獲得第一字段;計算模塊,用于對第一字段進行哈希結算,得到 偏移量;其中,解析規(guī)則用于設定模板號,通過模板號來確定當解析報文得到預定參數時, 該預定參數對應調用的哈希模板。圖2是根據本發(fā)明實施例的網絡負荷的分擔方法的流程圖。如圖2所示,該網絡 負荷的分擔方法包括如下步驟步驟S202,獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選擇哈希模板 進行哈希計算,以獲取偏移量。步驟S204,根據偏移量來選擇輸出端口。步驟S206,通過輸出端口轉發(fā)報文至目的終端。本發(fā)明上述實施例針對目前的實現方法,提出了在報文解析階段進行負荷分擔功 能的實現,通過驅動進行模板的設定,并通過該預先設定好的模板,當解析出報文后即可以 通過選擇的模板進行快速計算。從而實現不需要消耗非常有限的微碼指令,僅通過驅動進 行模板的整合,計算結果在報文解析階段就可以進行,有效的提高了系統(tǒng)的處理效率。具體的,目前的網絡處理器,通常分為報文解析模塊和報文處理模塊。報文解析模 塊主要完成報文的解析,以確定當前報文需要走何種業(yè)務的處理流程。報文處理模塊則通 過查表處理,獲取報文的進一步轉發(fā)動作和出口信息。本發(fā)明的網絡處理器可以實現,將負荷分擔裝置設置在報文的解析階段,即實現如果報文需要進行負荷分擔,則在報文的解析 規(guī)則后面設定一個哈希hash動作,即需要對當前解析到的某個字段進行哈希hash計算,該 哈希hash動作只是選定模板,而模板的具體算法是預先設定的,通過在解析階段進行負荷 分擔功能中hash的計算,可以極大的節(jié)省微碼指令。本發(fā)明上述實施例中,在獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來 選擇哈希模板進行計算,以獲取偏移量之前,方法還可以包括基于預設參數來創(chuàng)建一個 或多個哈希模板,并為每個哈希模板設定模板號,預定參數包括以下任意一種參數MAC地 址、IP地址以及端口號。該實施例中,由于哈希模板可以根據預定參數預設多種形式,因此 用戶可以根據需求選擇合適的模板,大大減少了用戶后期的開發(fā)周期,同時可以靈活方便 地進行功能的擴展。優(yōu)選地,基于預設參數來創(chuàng)建一個或多個哈希模板,并為每個哈希模板設定模板 號的步驟可以包括設定哈希模板中預設參數的字段起始位置和字段長度;根據字段起始 位置和字段長度來生成哈希模板的掩碼;確定具有掩碼的哈希模板的模板號。本發(fā)明上述實施例中,獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選 擇哈希模板進行哈希計算,以獲取偏移量的步驟可以包括解析報文得到預定參數;根據 解析規(guī)則來調用預定參數對應的哈希模板;通過哈希模板中的掩碼來截取報文頭,并獲得 第一字段;對第一字段進行哈希結算,得到偏移量;其中,解析規(guī)則用于設定模板號,通過 模板號來確定當解析報文得到預定參數時,該預定參數對應調用的哈希模板。優(yōu)選地,哈希 模塊包括字節(jié)哈希模板和位哈希模板。本發(fā)明中的每個哈希模板,可以預設的預定參數可以是基于mac (包括目的mac+ 源mac;目的mac;源mac的形式);基于ip (目的ip+源ip ;目的ip ;源ip);基于端口號 (UDP/TCP端口號)等。下面以基于目的mac+源mac進行哈希模板的設定。圖3是根據本發(fā)明實施例中創(chuàng)建哈希模版的工作流程圖。如圖3所示,以創(chuàng)建基 于字節(jié)的哈希模板為例,可以包括如下步驟步驟S301,設定一個哈希模板,并設定該哈希模板的模板號為4。步驟S302,在該哈希模板中,設定參與哈希hash計算的字段的起始位置hash_ start 以及字段長度 hash_length ;其中 hash_start = 0 ;hash_length = 24。步驟S303,由hash_start以及hash_length可以生成一個掩碼。例如,基于字節(jié) 的hash模板的總長度是40B。該模板的掩碼生成為Obl 111111111111111111111110000000 000000000,其中每bit對應一個字節(jié)。步驟S304,24字節(jié)的有效字段按照字節(jié)hash運算。圖4是根據本發(fā)明實施例的報文解析的處理流程圖。本發(fā)明的報文解析處理過程 的核心在于哈希hash模板的設定,哈希hash模板可以根據用戶的需要進行預先設定,并且 實現了基于字節(jié)和基于位的兩種形式。用戶在設定模板后,對各種業(yè)務可以選擇需要的模 板,大大減少了后期開發(fā)的周期,同時利于功能擴展。如圖4所示,對于一個配置了 LACP的端口,其報文在網絡處理器中的處理需要進 行成員出口的選擇,其規(guī)則選擇目的mac+源mac處理,該報文解析包括如下步驟步驟S401,在報文解析階段,解析規(guī)則中設定當報文解析出mac地址后,設定對應 的哈希hash動作,即設定對應的哈希模塊,并且該哈希模板的模板號為4。
      步驟S402,將當前解析規(guī)則中的mac地址模板截取出來。具體的可以先截取報 文頭,40字節(jié)的報文頭通過掩碼截取后獲得MB的mac字段,該字段即是設定的需要參加 hash計算的字段。 步驟S403,24B字節(jié)的mac地址按字節(jié)參與hash運算。步驟S404,報文根據計算結果獲取出口的偏移,該結果傳給微碼處理階段,進行出 口成員的選擇,最終達到負荷分擔的目的。本發(fā)明還可以創(chuàng)建基于位的哈希hash模板。該基于位的哈希模塊中,每個哈希模 板的長度可以支持320b。其不同于基于字節(jié)的hash模板裝置就在于,取值是按照bit位進 行取值的,其長度也是以bit為單位,即hash_start和hashjength都是以bit為單位;并 且最終按照位進行hash計算。需要說明的是,本發(fā)明實施例在附圖的流程圖示出的步驟可以在諸如一組計算機 可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況 下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。本發(fā)明還提供了一種網絡負荷的分擔系統(tǒng)。該網絡負荷的分擔系統(tǒng)可以包括上述 任意一種網絡處理器的實施例。從以上的實施例描述中,可以看出,本發(fā)明實現了如下技術效果解決了現有技術 的網絡負荷分擔方法中,微碼處理復雜度高導致系統(tǒng)處理報文轉發(fā)效率的問題,進而達到 了提高網絡系統(tǒng)的處理效率的效果。顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用 的計算裝置來實現,它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成 的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現,從而,可以將它們存儲 在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成多個集成電路模塊,或者將它們 中的多個模塊或步驟制作成單個集成電路模塊來實現。這樣,本發(fā)明不限制于任何特定的 硬件和軟件結合。上述說明示出并描述了本發(fā)明的一個優(yōu)選實施例,但如前所述,應當理解本發(fā)明 并非局限于本文所披露的形式,不應看作是對其他實施例的排除,而可用于各種其他組合、 修改和環(huán)境,并能夠在本文所述發(fā)明構想范圍內,通過上述教導或相關領域的技術或知識 進行改動。而本領域人員所進行的改動和變化不脫離本發(fā)明的精神和范圍,則都應在本發(fā) 明所附權利要求的保護范圍內。
      權利要求
      1.一種網絡負荷的分擔方法,其特征在于,包括獲取報文,通過解析規(guī)則來解析所述報文,并根據解析結果來選擇哈希模板進行哈希 計算,以獲取偏移量;根據所述偏移量來選擇輸出端口; 通過所述輸出端口轉發(fā)所述報文至目的終端。
      2.根據權利要求1所述的方法,其特征在于,在獲取報文,通過解析規(guī)則來解析所述報 文,并根據解析結果來選擇哈希模板進行計算,以獲取偏移量之前,所述方法還包括基于預設參數來創(chuàng)建一個或多個所述哈希模板,并為每個所述哈希模板設定模板號, 所述預定參數包括以下任意一種參數MAC地址、IP地址以及端口號。
      3.根據權利要求2所述的方法,其特征在于,基于預設參數來創(chuàng)建一個或多個所述哈 希模板,并為每個所述哈希模板設定模板號的步驟包括設定所述哈希模板中所述預設參數的字段起始位置和字段長度; 根據所述字段起始位置和所述字段長度來生成所述哈希模板的掩碼; 確定具有所述掩碼的所述哈希模板的模板號。
      4.根據權利要求2或3所述的方法,其特征在于,獲取報文,通過解析規(guī)則來解析所述 報文,并根據解析結果來選擇哈希模板進行哈希計算,以獲取偏移量的步驟包括解析所述報文得到所述預定參數;根據所述解析規(guī)則來調用所述預定參數對應的所述哈希模板; 通過所述哈希模板中的所述掩碼來截取所述報文頭,并獲得第一字段; 對所述第一字段進行所述哈希結算,得到所述偏移量;其中,所述解析規(guī)則用于設定模板號,通過所述模板號來確定當解析報文得到所述預 定參數時,該預定參數對應調用的所述哈希模板。
      5.根據權利要求1所述的方法,其特征在于,所述哈希模塊包括字節(jié)哈希模板和位哈 希模板。
      6.一種網絡處理器,其特征在于,包括報文解析模塊,用于獲取報文,通過解析規(guī)則來解析所述報文,并根據解析結果來選擇 哈希模板進行哈希計算,以獲取偏移量;報文處理模塊,用于根據所述偏移量來選擇輸出端口 ; 輸出模塊,用于通過所述輸出端口轉發(fā)所述報文至目的終端。
      7.根據權力要求6所述的網絡處理器,其特征在于,所述網絡處理器還包括創(chuàng)建模 塊,用于基于預設參數來創(chuàng)建一個或多個所述哈希模板,并為每個所述哈希模板設定模板 號,所述預定參數包括以下任意一種參數MAC地址、IP地址以及端口號。
      8.根據權利要求7所述的網絡處理器,其特征在于,所述創(chuàng)建模塊包括設置模塊,用于設定所述哈希模板中所述預設參數的字段起始位置和字段長度; 生成模塊,用于根據所述字段起始位置和所述字段長度來生成所述哈希模板的掩碼; 確定模塊,用于確定具有所述掩碼的所述哈希模板的模板號。
      9.根據權利要求8所述的網絡處理器,其特征在于,所述報文解析模塊包括 解析模塊,用于解析所述報文得到所述預定參數;調用模塊,用于根據所述解析規(guī)則來調用所述預定參數對應的所述哈希模板;截取模塊,用于通過所述哈希模板中的所述掩碼來截取所述報文頭,并獲得第一字段;計算模塊,用于對所述第一字段進行所述哈希結算,得到所述偏移量;其中,所述解析 規(guī)則用于設定模板號,通過所述模板號來確定當解析報文得到所述預定參數時,該預定參 數對應調用的所述哈希模板。
      10. 一種網絡負荷的分擔系統(tǒng),其特征在于,包括權利要求6-9中任意一項所述的網絡 處理器。
      全文摘要
      本發(fā)明公開了一種網絡負荷的分擔方法、系統(tǒng)及網絡處理器。其中,該方法包括獲取報文,通過解析規(guī)則來解析報文,并根據解析結果來選擇哈希模板進行哈希計算,以獲取偏移量;根據偏移量來選擇輸出端口;通過輸出端口轉發(fā)報文至目的終端。通過本發(fā)明,能夠解決了現有技術的網絡負荷分擔方法中,微碼處理復雜度高導致系統(tǒng)處理報文轉發(fā)效率的問題,進而達到了提高網絡系統(tǒng)的處理效率的效果。
      文檔編號H04L12/56GK102143074SQ201110074049
      公開日2011年8月3日 申請日期2011年3月25日 優(yōu)先權日2011年3月25日
      發(fā)明者冷星星, 孫蓓 申請人:中興通訊股份有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1