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