專利名稱:一種報文處理方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種報文處理方法和設(shè)備。
背景技術(shù):
目前,網(wǎng)絡(luò)交換設(shè)備比如路由器和交換機典型的結(jié)構(gòu)主要由主控板和接口板組成。其中,主控板具有管理和控制接口板等功能,其至少包括交換芯片(CROSSBAR),該CROSSBAR用于與該網(wǎng)絡(luò)交換設(shè)備中的所有接口板連接;接口板具有報文轉(zhuǎn)發(fā)功能,主要包括轉(zhuǎn)發(fā)芯片(NP/ASIC)和CPU,其中,NP/ASIC用于負(fù)責(zé)報文的轉(zhuǎn)發(fā),CPU與主控板通信,主要包括檢測主控板的狀態(tài)和接收主控板的指令,并按照該指令執(zhí)行相應(yīng)的操作。
參見圖1,圖1為現(xiàn)有技術(shù)中網(wǎng)絡(luò)交換設(shè)備的結(jié)構(gòu)圖。如圖1所示,該網(wǎng)絡(luò)交換設(shè)備包括主控板和N個接口板,其中,主控板和每一接口板的功能如上所述。目前,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,越來越多的網(wǎng)絡(luò)交換設(shè)備可以獨立對傳輸中的業(yè)務(wù)流即會話的報文進行業(yè)務(wù)處理,其中,業(yè)務(wù)處理包括網(wǎng)絡(luò)地址轉(zhuǎn)換(NATNet Address Translation)、附帶協(xié)議轉(zhuǎn)換的網(wǎng)絡(luò)地址轉(zhuǎn)換(NATPTNet Address Translation-Protocol Translation)、網(wǎng)絡(luò)流統(tǒng)計(NSNet Stream)和防火墻(FWFire Wall)中的至少一個。下面以圖1所示的網(wǎng)絡(luò)交換設(shè)備為例對現(xiàn)有網(wǎng)絡(luò)交換設(shè)備獨立執(zhí)行業(yè)務(wù)處理的流程進行描述。
首先,從各個接口板包含的各個CPU中指定出一個用于執(zhí)行業(yè)務(wù)處理操作的CPU。這里,可按照接口板上CPU業(yè)務(wù)處理性能高的原則指定用于執(zhí)行業(yè)務(wù)處理操作的CPU,比如圖1所示的各個接口板上,接口板1上CPU的業(yè)務(wù)處理性能高于其他接口板(接口板2至接口板N)上CPU的業(yè)務(wù)處理性能,如此,指定接口板1上的CPU為用于執(zhí)行業(yè)務(wù)處理操作的CPU。
之后,當(dāng)網(wǎng)絡(luò)交換設(shè)備的其中一個接口板比如接口板2(當(dāng)然也可為接口板1或者其他接口板,其執(zhí)行的操作與接口板2類似)接收到一個報文后,接口板2上的NP/ASIC判斷接收的報文是否滿足預(yù)設(shè)的業(yè)務(wù)處理條件,其中,所述預(yù)設(shè)的業(yè)務(wù)處理條件為NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的至少一個;如果否(具體為接收的報文不滿足NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的任何一個),接口板2查找到達(dá)下一跳的輸出端口,并通過該輸出端口發(fā)送接收的報文;如果是,接口板2上的NP/ASIC將接收的報文重定向到指定的CPU,并由該指定的CPU對該接收的報文執(zhí)行相應(yīng)的業(yè)務(wù)處理操作。其中,指定的CPU對該接收的報文執(zhí)行相應(yīng)的業(yè)務(wù)處理操作主要包括指定的CPU判斷接收的報文滿足NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的哪一個,比如判斷出接收的報文滿足NAT對應(yīng)的業(yè)務(wù)處理條件,則對該接收的報文執(zhí)行NAT處理操作。當(dāng)指定的CPU完成相應(yīng)的業(yè)務(wù)處理后,該指定的CPU發(fā)送給與其處于同一接口板上的NP/ASIC,之后,按照現(xiàn)有的轉(zhuǎn)發(fā)流程執(zhí)行由指定的CPU執(zhí)行了業(yè)務(wù)處理的報文。
通過以上描述可以看出,現(xiàn)有方法主要是由預(yù)先指定的一個CPU來對網(wǎng)絡(luò)交換設(shè)備中所有接口板接收的報文執(zhí)行業(yè)務(wù)處理操作,也就是說,現(xiàn)有方法是由一個固定的接口板上的CPU統(tǒng)一對網(wǎng)絡(luò)交換設(shè)備中所有接口板上接收的報文執(zhí)行業(yè)務(wù)處理操作,這樣,就大大加重了該CPU的業(yè)務(wù)處理負(fù)荷,降低了業(yè)務(wù)處理速度,進而也降低了網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)處理能力。
發(fā)明內(nèi)容
本發(fā)明提供了一種報文處理方法和設(shè)備,以便提高網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)處理能力。
一種報文處理方法,該方法應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;該方法包括 A,所述網(wǎng)絡(luò)交換設(shè)備的接口板當(dāng)前接收到需要執(zhí)行業(yè)務(wù)處理操作的報文時,從所述用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU;將所述當(dāng)前接收的報文發(fā)送給該確定出的CPU,由該CPU對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。
一種報文處理設(shè)備,該設(shè)備應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,該設(shè)備包括第一確定單元、判斷單元、第二確定單元和發(fā)送單元;其中, 所述第一確定單元用于從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU; 所述判斷單元用于在網(wǎng)絡(luò)交換設(shè)備的接口板接收到報文時,判斷該接口板接收到報文是否需要執(zhí)行業(yè)務(wù)處理操作; 所述第二確定單元用于在所述判斷單元的判斷結(jié)果為是時,從所述第一確定單元確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU; 所述發(fā)送單元將所述當(dāng)前接收的報文發(fā)送給所述第二確定單元確定出的CPU,由該CPU對所述當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。
由以上技術(shù)方案可以看出,本發(fā)明提供的方法和設(shè)備中,并非現(xiàn)有技術(shù)中由預(yù)先指定的一個CPU統(tǒng)一對網(wǎng)絡(luò)交換設(shè)備中所有接口板接收的報文執(zhí)行業(yè)務(wù)處理操作,而是在各個接口板接收到報文后,由各個接口板動態(tài)選擇用于針對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU,如此,避免了現(xiàn)有方法中由一個的固定的接口板上的CPU統(tǒng)一對網(wǎng)絡(luò)交換設(shè)備中所有接口板上接收的報文執(zhí)行業(yè)務(wù)處理操作的缺陷,大大提高了網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)處理能力。
圖1為現(xiàn)有技術(shù)中網(wǎng)絡(luò)交換設(shè)備的結(jié)構(gòu)圖; 圖2為本發(fā)明實施例提供的基本流程圖; 圖3為本發(fā)明實施例提供的詳細(xì)流程圖; 圖4為本發(fā)明實施例提供的設(shè)備結(jié)構(gòu)圖。
具體實施例方式 為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細(xì)描述。
在實際的業(yè)務(wù)實現(xiàn)中,網(wǎng)絡(luò)交換設(shè)備包含了多塊接口板,并且,網(wǎng)絡(luò)交換設(shè)備中通常絕大多數(shù)接口板上的CPU甚至是全部接口板上的CPU都能夠?qū)笪膱?zhí)行相應(yīng)的業(yè)務(wù)處理操作,因此,完全可以不必局限于現(xiàn)有技術(shù)使用固定的一個CPU執(zhí)行業(yè)務(wù)處理操作的做法,而是完全可以靈活地選擇對應(yīng)地CPU執(zhí)行業(yè)務(wù)處理操作,從而大大提高了網(wǎng)絡(luò)交換設(shè)備的報文處理能力。
基于此,本發(fā)明提供了一種報文處理方法,具體可參見圖2。圖2為本發(fā)明實施例提供的基本流程圖,本實施例可應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,其中,CPU是每一接口板上必不可少的硬件。如圖2所示,該流程可包括以下步驟 步驟201,從各個接口板包含的CPU中確定出用于執(zhí)行業(yè)務(wù)處理操作的CPU。
這里,步驟201中的操作具體可由網(wǎng)絡(luò)交換設(shè)備中的主控板執(zhí)行。通常,網(wǎng)絡(luò)交換設(shè)備中的接口板在啟動時,該接口板就會向主控板發(fā)送注冊請求,其中,該注冊請求攜帶了該接口板上CPU的業(yè)務(wù)處理性能信息,比如業(yè)務(wù)處理性能值,或者該CPU的核數(shù)(隨著CPU的處理性能不斷提高,CPU也從單核技術(shù)發(fā)展到多核技術(shù),如3核CPU,4核CPU等),如此,步驟201中主控板可根據(jù)各個接口板發(fā)送的注冊請求所攜帶的CPU的業(yè)務(wù)處理性能信息來確定出用于執(zhí)行業(yè)務(wù)處理操作的CPU。具體實現(xiàn)時可包括根據(jù)實際情況設(shè)定適用于執(zhí)行業(yè)務(wù)處理操作的CPU業(yè)務(wù)處理性能條件(可為CPU的業(yè)務(wù)處理性能閾值或核數(shù)閾值)之后,針對每一接口板,判斷該接口板發(fā)送的注冊請求攜帶的CPU的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件(比如,若注冊請求攜帶的業(yè)務(wù)處理性能信息為業(yè)務(wù)處理性能值,CPU業(yè)務(wù)處理性能條件為CPU的業(yè)務(wù)處理性能閾值,則判斷該注冊請求攜帶的業(yè)務(wù)處理性能值是否大于或者等于CPU的業(yè)務(wù)處理性能閾值),如果是,確定該CPU為用于執(zhí)行業(yè)務(wù)處理操作的CPU;如果否,確定該CPU不為用于執(zhí)行業(yè)務(wù)處理操作的CPU。當(dāng)然,為節(jié)省主控板資源,本發(fā)明實施例中,步驟201中的操作還可由用戶預(yù)先根據(jù)各個接口板啟動時發(fā)送的注冊請求所攜帶的CPU的業(yè)務(wù)性能信息確定出用于執(zhí)行業(yè)務(wù)處理操作的各個CPU,因此,圖2所示的只是一種舉例,并非限定本發(fā)明實施例的應(yīng)用。
其中,優(yōu)選地,步驟201中確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的個數(shù)至少為一個。為便于后續(xù)接口板接收到需要執(zhí)行業(yè)務(wù)處理操作的報文后對該報文執(zhí)行業(yè)務(wù)處理操作,在主控板確定出用于執(zhí)行業(yè)務(wù)處理操作的CPU后,該主控板還需將確定出的CPU的信息告知給網(wǎng)絡(luò)交換設(shè)備中的所有接口板。如此,即可執(zhí)行步驟202。
步驟202,當(dāng)網(wǎng)絡(luò)交換設(shè)備中的一接口板接收到報文時,判斷當(dāng)前接收的報文是否需要執(zhí)行業(yè)務(wù)處理操作,如果是,執(zhí)行步驟203;否則,按照現(xiàn)有流程直接轉(zhuǎn)發(fā)該接收的報文。
這里,判斷當(dāng)前接收的報文是否需要執(zhí)行業(yè)務(wù)處理操作具體可為判斷當(dāng)前接收的報文是否滿足預(yù)設(shè)的業(yè)務(wù)處理條件,其中,預(yù)設(shè)的業(yè)務(wù)處理條件為NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的至少一個;其中,NAT、NATPT、NS和FW對應(yīng)的業(yè)務(wù)處理條件可以相同,也可不同,如果是,確定當(dāng)前接收的報文需要執(zhí)行業(yè)務(wù)處理操作;否則,在判斷出當(dāng)前接收的報文不滿足NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的任何一個時,確定當(dāng)前接收的報文不需要執(zhí)行業(yè)務(wù)處理操作。優(yōu)選地,本實施例中判斷當(dāng)前接收的報文是否需要執(zhí)行業(yè)務(wù)處理操作的具體判斷方式,可與現(xiàn)有技術(shù)類似,這里不再贅述。
步驟203,從步驟201中確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
這里,之所以執(zhí)行步驟203,是為了保證本實施例中并非將所有接口板接收的報文的業(yè)務(wù)處理操作都集中到一個CPU上。比如,在步驟201中確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的個數(shù)為3,如此,執(zhí)行到本步驟203時,需要從已確定出的3個用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出其中一個來對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作。
其中,步驟203的確定操作可按照負(fù)載均衡原則(記為原則1),和/或,兩個用戶之間交互的報文的業(yè)務(wù)處理操作由同一個CPU執(zhí)行的原則(記為原則2)從步驟201中確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU,其中,負(fù)載均衡原則是不使所有接口板接收的報文的業(yè)務(wù)處理操作都集中在一個固定的CPU上,而是使確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的業(yè)務(wù)處理分擔(dān)均勻;而同一個CPU對兩個用戶之間交互的報文進行業(yè)務(wù)處理的原則是用戶A發(fā)送給用戶B的報文(其中,該報文的源地址和目的地址分別為用戶A的地址和用戶B的地址)和用戶B發(fā)送給用戶A的報文(其中,該報文的源地址和目的地址分別為用戶B的地址和用戶A的地址)的業(yè)務(wù)處理操作由同一個CPU執(zhí)行。至于步驟203如何按照原則1和/或原則2確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU,具體參見圖3所示的流程,這里不再詳述。
步驟204,將當(dāng)前接收的報文發(fā)送給步驟203確定出的CPU,由該CPU對當(dāng)前接收的報文執(zhí)行相應(yīng)的業(yè)務(wù)處理。
如此,通過上述操作實現(xiàn)了本發(fā)明實施例提供的基本流程。為便于理解本發(fā)明實施例提供的方案,下面對本發(fā)明實施例提供的流程進行詳述。
參見圖3,圖3為本發(fā)明實施例提供的詳細(xì)流程圖,該方法應(yīng)用于網(wǎng)絡(luò)交換設(shè)備中,其中,網(wǎng)絡(luò)交換設(shè)備的結(jié)構(gòu)以圖1所示的結(jié)構(gòu)為例,如圖3所示,該流程可包括以下步驟 步驟301,網(wǎng)絡(luò)交換設(shè)備的主控板接收網(wǎng)絡(luò)交換設(shè)備中各個接口板在啟動時發(fā)送的注冊請求。
這里,當(dāng)網(wǎng)絡(luò)交換設(shè)備的每一接口板啟動時,該接口板就會向主控板發(fā)送注冊請求,其中,該注冊請求攜帶了該接口板上CPU的業(yè)務(wù)處理性能信息。
步驟302,判斷接收的注冊請求攜帶的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件,如果是,執(zhí)行步驟303,否則,忽略該注冊請求。
這里,步驟302中的判斷操作具體實現(xiàn)時可有多種形式,比如若注冊請求攜帶的業(yè)務(wù)處理性能信息具體為業(yè)務(wù)處理性能值,則本步驟302中的CPU業(yè)務(wù)處理性能條件為CPU的業(yè)務(wù)處理性能閾值,如此,步驟302中的判斷操作為判斷該注冊請求攜帶的業(yè)務(wù)處理性能值是否大于或者等于CPU的業(yè)務(wù)處理性能閾值;若注冊請求攜帶的業(yè)務(wù)處理性能信息具體為發(fā)送該注冊請求的接口板上CPU的核數(shù),本步驟302中的CPU業(yè)務(wù)處理性能條件為核數(shù)閾值比如3核,如此,步驟302中的判斷操作為判斷該注冊請求攜帶的CPU的核數(shù)是否大于等于核數(shù)閾值比如3核。當(dāng)然,本發(fā)明也可采用其他方式確定出用于執(zhí)行業(yè)務(wù)處理操作的CPU,這里并不具體限定。
這里,步驟302在判斷出注冊請求攜帶的業(yè)務(wù)處理性能信息滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件時,可確定發(fā)送該注冊請求的接口板上的CPU為用于執(zhí)行業(yè)務(wù)處理操作的CPU。
步驟303,記錄該接收的注冊請求攜帶的CPU的標(biāo)識信息。
這里,接口板啟動時發(fā)送的注冊請求中還攜帶了該接口板上CPU的標(biāo)識信息,如此,主控板很容易在接收的注冊請求攜帶的業(yè)務(wù)處理性能信息滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件時,記錄該注冊請求攜帶的CPU的標(biāo)識信息。
其中,CPU的標(biāo)識信息具體可為用于唯一標(biāo)識CPU的信息,具體實現(xiàn)時可有多種實現(xiàn)形式,本發(fā)明實施例以設(shè)備號和端口號作為CPU的標(biāo)識信息為例,其中,設(shè)備號為CPU當(dāng)前所處的接口板的號碼(記為設(shè)備號),端口號為CPU當(dāng)前所處的接口板上端口的號碼(記為端口號)。
步驟304,從第一預(yù)設(shè)值起對步驟303記錄的各個CPU的標(biāo)識信息進行連續(xù)編號。
這里,第一預(yù)設(shè)值可為1或者為其他值,本發(fā)明實施例并不具體限定。比如,若步驟303記錄的CPU的標(biāo)識信息為3個CPU的標(biāo)識信息,其中一個CPU的標(biāo)識信息為設(shè)備號為2,端口號為5,另一個CPU的標(biāo)識信息為設(shè)備號為3,端口號為5;最后一個CPU的標(biāo)識信息為設(shè)備號為4,端口號為5,如此,執(zhí)行到本步驟304時,若第一預(yù)設(shè)值為1,則對這3個CPU的標(biāo)識信息進行編號,具體可如表1所示表1 如此,通過步驟304,即可形成記錄的各個CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系。
需要說明的是,形成的各個CPU的標(biāo)識信息和該各個CPU的標(biāo)識信息的編號之間的對應(yīng)關(guān)系并非一成不變的,其可隨著增加或者刪減網(wǎng)絡(luò)交換設(shè)備中的接口板而動態(tài)變化。比如,假如當(dāng)前形成的對應(yīng)關(guān)系具體如表1所示,若需要在網(wǎng)絡(luò)交換設(shè)備中增加一接口板,當(dāng)該增加的接口板啟動時會向主控板發(fā)送注冊請求,該注冊請求中攜帶了該增加的接口板上CPU的業(yè)務(wù)處理性能信息和該CPU的標(biāo)識信息,如此,主控板可按照步驟302的操作判斷該注冊請求攜帶的CPU的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件,如果否,按照現(xiàn)有技術(shù)的流程處理該新增加的接口板;如果是,在表1中添加該增加的接口板上的CPU的標(biāo)識信息和對應(yīng)的編號(其中,該添加的編號具體可為表1中最后一個編號與1的和,即為3+1=4),若新增加的接口板上的CPU的標(biāo)識信息為設(shè)備號為5,端口號為4,則表1更新為下述的表2; 表2 當(dāng)然,若當(dāng)前有一接口板需要退出(記為需要在網(wǎng)絡(luò)交換設(shè)備中刪減接口板),在該接口板退出時,該接口板需要發(fā)送退出請求給主控板,該退出請求中攜帶了該要退出的接口板上CPU的標(biāo)識信息,如此,當(dāng)主控板接收到退出請求后,判斷該退出請求攜帶的CPU的標(biāo)識信息是否存在于當(dāng)前已形成的對應(yīng)關(guān)系中,如果否,按照現(xiàn)有技術(shù)的流程處理該退出的接口板;如果是,從當(dāng)前存在的對應(yīng)關(guān)系中刪除該CPU的標(biāo)識信息和該標(biāo)識信息的編號,并相應(yīng)調(diào)整后續(xù)CPU的標(biāo)識信息的編號。以當(dāng)前形成的對應(yīng)關(guān)系如表1所示為例,若當(dāng)前需要刪減一接口板,即,使該接口板退出,當(dāng)主控板接收到退出請求后,在表1中查找該退出請求攜帶的CPU的標(biāo)識信息,如果沒有查找到,則按照現(xiàn)有流程處理該退出的接口板;如果查找到,則在表1中刪除該CPU的標(biāo)識信息和該CPU的標(biāo)識信息對應(yīng)的編號,并相應(yīng)調(diào)整后續(xù)CPU的標(biāo)識信息的編號。比如,若發(fā)送的退出請求攜帶的CPU的標(biāo)識信息為設(shè)備號為3,端口號為5,根據(jù)表1可知,表1中存在設(shè)備號為3,端口號為5的信息,如此,在表1中刪除設(shè)備號為3,端口號為5,以及編號為2之間的對應(yīng)關(guān)系;并相應(yīng)調(diào)整后續(xù)CPU的標(biāo)識信息的編號,具體參見下述表3表3 需要說明的是,上述步驟302至步驟304的操作是由主控板動態(tài)執(zhí)行的。優(yōu)選地,為節(jié)省主控板資源,本發(fā)明實施例中,還可由用戶根據(jù)各個接口板啟動時發(fā)送的注冊請求所攜帶的CPU的業(yè)務(wù)性能信息和標(biāo)識信息手工配置出用于執(zhí)行業(yè)務(wù)處理操作的各個CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系,之后,執(zhí)行步驟305。因此,圖3所示的只是一種舉例,并非限定本發(fā)明實施例的應(yīng)用。
步驟305,主控板將各個CPU的標(biāo)識信息和該各個CPU的標(biāo)識信息的編號之間的對應(yīng)關(guān)系發(fā)送給所有的接口板。
這里,主控板通過CROSSBAR將各個CPU的標(biāo)識信息和該各個CPU的標(biāo)識信息的編號之間的對應(yīng)關(guān)系發(fā)送給所有接口板。
步驟306,接口板將接收到的主控板發(fā)送的各個CPU的標(biāo)識信息和該各個CPU的標(biāo)識信息的編號之間的對應(yīng)關(guān)系存儲到自身的NP/ASCIC上。
如此,通過上述步驟,實現(xiàn)了各個接口板獲取主控板形成的用于執(zhí)行業(yè)務(wù)處理操作的各個CPU的標(biāo)識信息和該各個CPU的標(biāo)識信息的編號之間的對應(yīng)關(guān)系的操作。
步驟307,當(dāng)網(wǎng)絡(luò)交換設(shè)備的一接口板接收到報文時,該接口板上的NP/ASCIC判斷當(dāng)前接收的報文是否滿足預(yù)設(shè)的業(yè)務(wù)處理條件,如果是,執(zhí)行步驟308,如果否,按照現(xiàn)有流程直接進行報文的轉(zhuǎn)發(fā)。
這里,由于業(yè)務(wù)處理包括NAT、NATPT、NS和FW中的至少一個;因此,本步驟307中預(yù)設(shè)的業(yè)務(wù)處理條件具體可為NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件中的至少一個。需要說明的是,NAT、NATPT、NS和FW分別對應(yīng)的業(yè)務(wù)處理條件可相同,也可不同。具體地,接口板上的NP/ASCIC判斷當(dāng)前接收的報文是否滿足預(yù)設(shè)的業(yè)務(wù)處理條件具體可與現(xiàn)有技術(shù)類似,這里不再贅述。
其中,當(dāng)判斷當(dāng)前接收的報文滿足預(yù)設(shè)的業(yè)務(wù)處理條件時,確定該當(dāng)前接收的報文為需要執(zhí)行業(yè)務(wù)處理操作的報文,之后,執(zhí)行步驟308;在判斷結(jié)果為否時,確定該當(dāng)前接收的報文為不需要執(zhí)行業(yè)務(wù)處理操作的報文,按照現(xiàn)有流程直接進行該報文的轉(zhuǎn)發(fā)。
步驟308,將所述源地址和所述目的地址進行異或運算,得到第一異或結(jié)果。
通常,網(wǎng)絡(luò)中傳輸?shù)膱笪臄y帶的源地址和目的地址的位(bit)數(shù)相同,比如為32bit,或者64bit等。若源地址和目的地址的大小為32bit,則步驟308可用下式表示 32bit SIP XOR 32bit DIP =result_1。
其中,SIP為源地址,DIP為目的地址,XOR為異或運算,result_1為第一異或結(jié)果。
步驟309,將第一異或結(jié)果中的高N位和低N位進行異或運算,得到第二異或結(jié)果。
這里,N為正整數(shù),大于等于1,且小于源地址或目的地址的位數(shù),本實施例以16為例。其中,高N位具體是從高位開始的N位;低N位具體是從低位開始的N位。
若步驟308中的第一異或結(jié)果為result_1,N為16,則步驟309可用下式表示 result_1高16位XORresult_1低16位=第二異或結(jié)果。
需要說明的是,上述步驟308和步驟309主要是為了保證兩個用戶之間交互的報文的業(yè)務(wù)處理操作由同一個CPU執(zhí)行。本領(lǐng)域技術(shù)人員知道,防火墻有一項基本功能,即,受保護區(qū)域的用戶1(地址設(shè)為IP1)主動向非保護區(qū)域的用戶2(地址設(shè)為IP2)發(fā)起訪問后,非保護區(qū)域的用戶2才能訪問保護區(qū)域用戶1,為了實現(xiàn)該功能,就需要用戶2返回給用戶1的報文的防火墻處理操作和用戶1返回給用戶2的報文的防火墻處理操作由同一個CPU執(zhí)行。這是因為在用戶1發(fā)送報文(記為報文1)給用戶2的過程中,若報文1滿足了預(yù)設(shè)的防火墻處理條件,則用于對報文1執(zhí)行防火墻處理的CPU(記為CPU1)記錄了用戶1訪問用戶2的一條表項,當(dāng)用戶2返回報文(記為報文2)給用戶1時,用于對報文2執(zhí)行業(yè)務(wù)處理的CPU查找用戶1訪問用戶2的記錄,如果該CPU為CPU1,則能查找到用戶1訪問用戶2的記錄,如此,即可允許用戶2訪問用戶1,否則禁止用戶2訪問用戶1。因此,為了實現(xiàn)該防火墻的上述功能,需要執(zhí)行上述步驟308至步驟309。
步驟310,將第二異或結(jié)果除以確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù),得到余數(shù)。
這里,確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù)為步驟303中記錄的CPU的標(biāo)識信息的個數(shù)。
其中,步驟308中得到的余數(shù)最小為0,最大為確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù)與1的差。
步驟311,將步驟310得到的余數(shù)和第一預(yù)設(shè)值相加,得到相加的結(jié)果X,從當(dāng)前存儲的CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系中查找到編號為X的CPU的標(biāo)識信息。
這里,由于步驟304是從第一預(yù)設(shè)值開始對步驟303記錄的各個CPU的標(biāo)識信息進行連續(xù)編號的,并且在步驟310中,得到的余數(shù)最小為0,最大為確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù)與1的差,因此,本步驟311為了便于查找到對應(yīng)的CPU的標(biāo)識信息,需要將得到的余數(shù)與該第一預(yù)設(shè)值相加,得到X;之后,在當(dāng)前存儲CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系中查找到編號為X的標(biāo)識信息,將該標(biāo)識信息對應(yīng)的CPU確定出對用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。比如,若當(dāng)前存儲的CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系如表1所示,本步驟中的X為2,則在表1中查找編號為2的標(biāo)識信息,即設(shè)備號為3,端口號為5;如此,將設(shè)備號為3,端口號為5所對應(yīng)的CPU(具體為接口板3上處于端口號為5的端口上的CPU)為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
需要說明的是,步驟310至步驟311簡單可概括為根據(jù)第二異或結(jié)果從用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU的操作,具體實現(xiàn)方式可為上述步驟310至步驟311的操作,或者其他方式,之所以執(zhí)行該步驟310至步驟311,目的是為了保證本實施例中并非將所有接口板接收的報文的業(yè)務(wù)處理操作都集中到一個CPU上。
如此,通過上述步驟308至步驟311可實現(xiàn)確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU的操作。
需要說明的是,上述實施例是以按照原則1,和/或原則2確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU的操作。優(yōu)選地,本發(fā)明實施例也可不按照原則1和原則2兩個原則中任何一個實現(xiàn)確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU的操作,具體實現(xiàn)時可有多種實現(xiàn)形式,比如,從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;每一接口板接收到報文后,若該報文滿足預(yù)設(shè)的業(yè)務(wù)處理條件,則該接口板判斷與其最相鄰的接口板上的CPU是否為確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU,如果是,將當(dāng)前接收的報文發(fā)送給與其最相鄰的接口板上的CPU,由該CPU執(zhí)行相應(yīng)的業(yè)務(wù)處理操作。當(dāng)然,本領(lǐng)域技術(shù)人員根據(jù)本申請的主要思想也可得到即使本發(fā)明實施例按照原則1和原則2兩個原則中至少一個確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU的操作時,也可不執(zhí)行上述步驟,比如,從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;每一接口板接收到報文后,若該報文滿足預(yù)設(shè)的業(yè)務(wù)處理條件,將當(dāng)前接收的報文攜帶的源地址和目的地址進行異或運算,得到第一異或結(jié)果;將第一異或結(jié)果中的高N位和低N位進行異或運算,得到第二異或結(jié)果;之后,根據(jù)第二異或結(jié)果從確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。其中,根據(jù)第二異或結(jié)果從確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU具體實現(xiàn)時可有多種形式,比如判斷設(shè)備號為第二異或結(jié)果的接口板上的CPU是否為用于執(zhí)行業(yè)務(wù)處理操作的CPU,如果是,將該設(shè)備號為第二異或結(jié)果的接口板上的CPU確定為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU;或者將第二異或結(jié)果除以預(yù)設(shè)值,得到余數(shù),判斷設(shè)備號為該余數(shù)的接口板上的CPU是否為用于執(zhí)行業(yè)務(wù)處理操作的CPU,如果是,將該設(shè)備號為余數(shù)的接口板上的CPU確定為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。如此,可以看出,圖3所示的只是一種舉例,并非限定本發(fā)明實施例的應(yīng)用。
步驟312,將查找到的標(biāo)識信息封裝到該當(dāng)前接收的報文中,之后,發(fā)送該報文給步驟311查找到的標(biāo)識信息對應(yīng)的CPU,由該CPU對接收的報文執(zhí)行相應(yīng)的業(yè)務(wù)處理操作。
這里,步驟312中的操作具體可為將查找到的標(biāo)識信息封裝到該報文的轉(zhuǎn)發(fā)頭中,之后,發(fā)送該報文給主控板;主控板接收到報文后,根據(jù)接收的報文的轉(zhuǎn)發(fā)頭上封裝的標(biāo)識信息將該報文發(fā)送給對應(yīng)的接口板,這里,若標(biāo)識信息為設(shè)備號和端口號,則主控板根據(jù)接收的報文的轉(zhuǎn)發(fā)頭上封裝的設(shè)備號將該報文發(fā)送給該設(shè)備號對應(yīng)的接口板;接口板接收到報文后,根據(jù)接收的報文中轉(zhuǎn)發(fā)頭上封裝的端口號發(fā)送該接收的報文給處于該端口號對應(yīng)的端口上的CPU,如此,當(dāng)CPU接收到報文后,按照現(xiàn)有流程對該報文執(zhí)行相應(yīng)的業(yè)務(wù)處理。
如此,通過上述操作實現(xiàn)了本發(fā)明實施例提供的流程。
需要說明的是,CPU執(zhí)行的一些業(yè)務(wù)處理操作,比如NAT,或者NATPT中需要對接收的報文(記為正向報文)攜帶的地址(源地址和/或目的地址)進行轉(zhuǎn)換,這樣,當(dāng)后續(xù)再需要發(fā)送響應(yīng)該接收的報文的報文(記為反向報文)時,就會導(dǎo)致該反向報文不能正確到達(dá)對端。比如,用戶1(源地址,記為IP1)主動向用戶2(目的地址,記為IP2)發(fā)送報文(記為正向報文,兩個用戶之間第一次交互的報文),當(dāng)接口板1接收到該正向報文后,判斷出該正向報文滿足預(yù)設(shè)的業(yè)務(wù)處理條件,則按照上述步驟308至步驟311的操作確定用于對正向報文執(zhí)行業(yè)務(wù)處理的CPU(記為CPU1),之后,發(fā)送正向報文給CPU1,當(dāng)CPU1按照現(xiàn)有流程確定出需要對該正向報文執(zhí)行NAT處理,若該NAT處理需要對正向報文攜帶的源地址變換,如此,CPU1對正向報文攜帶的源地址進行變換,比如從IP1變換為IP3,并記錄變換之前的源地址IP1和變換之后的源地址IP3的對應(yīng)關(guān)系,之后,將該變換后的源地址IP3和目的地址攜帶在正向報文中發(fā)送給下一跳。若用戶2(源地址,記為IP2)需要發(fā)送響應(yīng)用戶1發(fā)送的正向報文的報文(記為反向報文),則發(fā)送該反向報文給用戶1(由于用戶2接收到的正向報文攜帶的源地址為IP3,也就是說,用戶1對用戶2公布的地址為IP3,因此,用戶2發(fā)送的反向報文的目的地址為IP3,而不是IP1),當(dāng)接口板2接收到報文后,判斷出該報文滿足預(yù)設(shè)的業(yè)務(wù)處理條件,由于地址發(fā)生了變化,如此,通過上述步驟308至步驟311的操作確定出的用于對反向報文執(zhí)行業(yè)務(wù)處理操作的CPU可能不為CPU1,這里,假如確定出的CPU為CPU2,之后,發(fā)送反向報文給CPU2,由CPU2對該反向報文執(zhí)行相應(yīng)的業(yè)務(wù)處理操作,當(dāng)CPU2完成相應(yīng)的業(yè)務(wù)處理操作后,由于CPU2中并沒有記錄變換之前的IP1和變換之后的IP3的對應(yīng)關(guān)系,進而也不存在該變換之后的地址IP3對應(yīng)的路由表項,這樣,CPU2無法知道將該完成業(yè)務(wù)處理操作的反向報文發(fā)送給誰,如此,該反向報文不能正確到達(dá)用戶A。
可以看出,若用戶1和用戶2之間交互的報文執(zhí)行的業(yè)務(wù)處理包含了該報文攜帶的地址(源地址和/或目的地址)的轉(zhuǎn)換,則會導(dǎo)致用戶1和用戶2之間的反向報文不能正確到達(dá)對端。本實施例中,為了避免兩個用戶之間交互的反向報文不能正確到達(dá)對端的缺陷,可在CPU對正向報文執(zhí)行對該正向報文攜帶的地址(源地址和/或目的地址)的轉(zhuǎn)換(NAT和/或NATPT)處理時,將變換前后的地址全局同步給其他所有用于執(zhí)行業(yè)務(wù)處理操作的CPU,如此,當(dāng)其他用于執(zhí)行業(yè)務(wù)處理操作的CPU接收到反向報文后,可獲取該反向報文攜帶的地址(源地址和/或目的地址變換之前的信息),之后,根據(jù)獲取的地址信息進行相應(yīng)的路由轉(zhuǎn)發(fā)。如此,即可實現(xiàn)兩個用戶之間交互的反向報文能正確到達(dá)對端。
以上對本發(fā)明提供的流程進行了描述,下面結(jié)合具體實施例對本發(fā)明提供的設(shè)備進行描述。
參見圖4,圖4為本發(fā)明實施例提供的設(shè)備結(jié)構(gòu)圖。如圖4所示,該設(shè)備應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,該設(shè)備包括第一確定單元401、判斷單元402、第二確定單元403和發(fā)送單元404; 其中,第一確定單元401用于從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU; 判斷單元401用于在網(wǎng)絡(luò)交換設(shè)備的接口板接收到報文時,判斷該接口板接收到報文是否需要執(zhí)行業(yè)務(wù)處理操作,其中,該判斷操作具體實現(xiàn)時可為判斷該接口板接收到報文是否滿足預(yù)設(shè)的業(yè)務(wù)處理條件。
第二確定單元403用于在判斷單元402的判斷結(jié)果為是時,從第一確定單元401確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU; 發(fā)送單元404將所述當(dāng)前接收的報文發(fā)送給第二確定單元403確定出的CPU,由該CPU對所述當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。
第二確定單元403按照負(fù)載均衡原則,和/或兩個用戶之間交互的報文的業(yè)務(wù)處理操作由同一個CPU執(zhí)行的原則從確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
優(yōu)選地,第一確定單元401具體可為網(wǎng)絡(luò)交換設(shè)備的主控板。如圖4所示,第一確定單元401可包括接收子單元4011、判斷子單元4012和第一確定子單元4013。
其中,接收子單元4011用于接收網(wǎng)絡(luò)交換設(shè)備的各個接口板在啟動時發(fā)送的注冊請求,所述注冊請求攜帶了啟動的接口板上CPU的業(yè)務(wù)處理性能信息和標(biāo)識信息; 判斷子單元4012用于判斷接收的注冊請求攜帶的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件; 第一確定子單元4013用于在判斷子單元4012的判斷結(jié)果為是時,記錄所述接收的注冊請求攜帶的CPU的標(biāo)識信息,將所述標(biāo)識信息對應(yīng)的CPU確定為用于執(zhí)行業(yè)務(wù)處理操作的CPU;并從第一預(yù)設(shè)值起對記錄的各個標(biāo)識信息進行連續(xù)編號,形成各個標(biāo)識信息和編號之間的對應(yīng)關(guān)系,將所述對應(yīng)關(guān)系發(fā)送給所述網(wǎng)絡(luò)交換設(shè)備的所有接口板存儲; 如圖4所示,第二確定單元403可包括計算子單元和第二確定子單元。
其中,計算子單元4031用于將當(dāng)前接收的報文攜帶的源地址和所述目的地址進行異或運算,得到第一異或結(jié)果;將所述第一異或結(jié)果中的高N位和低N位進行異或運算,得到第二異或結(jié)果;以及將所述第二異或結(jié)果除以所述確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù),得到余數(shù); 第二確定子單元4032用于將所述余數(shù)和所述第一預(yù)設(shè)值相加,得到相加結(jié)果,從存儲的所述對應(yīng)關(guān)系中查找到編號為所述相加結(jié)果的標(biāo)識信息,將查找到的標(biāo)識信息對應(yīng)的CPU確定為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
其中,CPU的標(biāo)識信息為該CPU所處的接口板的設(shè)備號和該CPU所處的端口的端口號; 發(fā)送單元404將第二確定子單元4032查找到的設(shè)備號和端口號攜帶在當(dāng)前接收的報文中發(fā)送給第二確定子單元4032查找到的設(shè)備號和端口號對應(yīng)的CPU中;若所述查找到的設(shè)備號和端口號對應(yīng)的CPU執(zhí)行的業(yè)務(wù)處理包含了所述當(dāng)前接收的報文攜帶的源地址和/或目的地址的變換,則記錄變換前后的源地址和/或目的地址,將記錄的變換前后的源地址和/或目的地址全局同步到所述第一確定子單元4013確定出的除自身之外的所有CPU中。
由上可見,本發(fā)明提供的方法和設(shè)備中,并非現(xiàn)有技術(shù)中由預(yù)先指定的一個CPU統(tǒng)一對網(wǎng)絡(luò)交換設(shè)備中所有接口板接收的報文執(zhí)行業(yè)務(wù)處理操作,而是在各個接口板接收到報文后,由各個接口板動態(tài)選擇用于針對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU,如此,避免了現(xiàn)有方法中由一個的固定的接口板上的CPU統(tǒng)一對網(wǎng)絡(luò)交換設(shè)備中所有接口板上接收的報文執(zhí)行業(yè)務(wù)處理操作的缺陷,大大提高了網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)處理能力。
進一步地,本發(fā)明中,由于可使多個CPU執(zhí)行報文的業(yè)務(wù)處理操作,這樣,在多個接口板同時接收到滿足預(yù)設(shè)的業(yè)務(wù)處理條件的報文時,可使多個CPU同時執(zhí)行業(yè)務(wù)處理操作,極大地提高了網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)處理能力。
更近一步地,本領(lǐng)域技術(shù)人員應(yīng)該知道,各個CPU的內(nèi)存資源是獨立,本發(fā)明在CPU執(zhí)行包含了對當(dāng)前接收的報文攜帶的源地址和/或目的地址的業(yè)務(wù)處理后,可將處理前后的源地址和/或目的地址全局同步到確定出的用于執(zhí)行業(yè)務(wù)處理操作的所有其他所有CPU中,使各個CPU之間相互關(guān)聯(lián)。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明保護的范圍之內(nèi)。
權(quán)利要求
1、一種報文處理方法,該方法應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,其特征在于,從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;該方法包括
A,所述網(wǎng)絡(luò)交換設(shè)備的接口板當(dāng)前接收到需要執(zhí)行業(yè)務(wù)處理操作的報文時,從所述用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU;將所述當(dāng)前接收的報文發(fā)送給該確定出的CPU,由該CPU對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。
2、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中的確定包括
A1,按照負(fù)載均衡原則,和/或,兩個用戶之間交互的報文的業(yè)務(wù)處理操作由同一個CPU執(zhí)行的原則從所述用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
3、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述接收的報文中攜帶源地址和目的地址,所述源地址和目的地址的位數(shù)相同;所述步驟A1包括
A11,將所述源地址和所述目的地址進行異或運算,得到第一異或結(jié)果;將所述第一異或結(jié)果中的高N位和低N位進行異或運算,得到第二異或結(jié)果;
A12,根據(jù)所述第二異或結(jié)果從所述用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU由所述網(wǎng)絡(luò)交換設(shè)備的主控板確定,包括
A00,所述主控板接收網(wǎng)絡(luò)交換設(shè)備的各個接口板在啟動時發(fā)送的注冊請求,所述注冊請求攜帶了啟動的接口板上CPU的業(yè)務(wù)處理性能信息和標(biāo)識信息;判斷接收的注冊請求攜帶的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件,如果是,記錄該接收的注冊請求攜帶的CPU的標(biāo)識信息,并將記錄的標(biāo)識信息對應(yīng)的CPU確定為用于執(zhí)行業(yè)務(wù)處理操作的CPU;
在步驟A00和步驟A之前,進一步包括從第一預(yù)設(shè)值起對記錄的各個標(biāo)識信息連續(xù)編號,形成各個標(biāo)識信息和編號之間的對應(yīng)關(guān)系,將所述對應(yīng)關(guān)系發(fā)送給所述網(wǎng)絡(luò)交換設(shè)備的所有接口板存儲;所述A12包括
A121,將所述第二異或結(jié)果除以所述用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù),得到余數(shù);
A122,將所述余數(shù)和所述第一預(yù)設(shè)值相加,得到相加結(jié)果,從存儲的所述對應(yīng)關(guān)系中查找到編號為所述相加結(jié)果的標(biāo)識信息,將查找到的標(biāo)識信息對應(yīng)的CPU確定為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
5、根據(jù)權(quán)利要求4所述的方法,其特征在于,當(dāng)需要在所述網(wǎng)絡(luò)交換設(shè)備中增加或者刪減接口板時,該方法進一步包括
若該需要增加或者刪減的接口板上的CPU為確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU,則在當(dāng)前形成的對應(yīng)關(guān)系中增加或者刪減該接口板上的CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系,并將增加或者刪減該接口板上的CPU的標(biāo)識信息和編號之間的對應(yīng)關(guān)系發(fā)送給所述網(wǎng)絡(luò)交換設(shè)備的所有接口板存儲。
6、根據(jù)權(quán)利要求4所述的方法,其特征在于,所述CPU的標(biāo)識信息為該CPU所處的接口板的設(shè)備號和該CPU所處的端口的端口號;
所述步驟A中的發(fā)送包括將所述步驟A122中查找到的設(shè)備號和端口號攜帶在當(dāng)前接收的報文中發(fā)送給步驟A122查找到的設(shè)備號和端口號對應(yīng)的CPU中;
若步驟A中執(zhí)行的業(yè)務(wù)處理包含了所述當(dāng)前接收的報文攜帶的源地址和/或目的地址的變換,則進一步包括記錄變換前后的源地址和/或目的地址,將記錄的變換前后的源地址和/或目的地址全局同步到所述步驟A00中確定出的除自身之外的所有CPU中。
7、一種報文處理設(shè)備,該設(shè)備應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,其特征在于,該設(shè)備包括第一確定單元、判斷單元、第二確定單元和發(fā)送單元;其中,
所述第一確定單元用于從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;
所述判斷單元用于在網(wǎng)絡(luò)交換設(shè)備的接口板接收到報文時,判斷該接口板接收到報文是否需要執(zhí)行業(yè)務(wù)處理操作;
所述第二確定單元用于在所述判斷單元的判斷結(jié)果為是時,從所述第一確定單元確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU;
所述發(fā)送單元將所述當(dāng)前接收的報文發(fā)送給所述第二確定單元確定出的CPU,由該CPU對所述當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。
8、根據(jù)權(quán)利要求7所述的設(shè)備,其特征在于,所述第二確定單元按照負(fù)載均衡原則,和/或兩個用戶之間交互的報文的業(yè)務(wù)處理操作由同一個CPU執(zhí)行的原則從確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定出用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
9、根據(jù)權(quán)利要求8所述的設(shè)備,其特征在于,所述第一確定單元包括
接收子單元,用于接收網(wǎng)絡(luò)交換設(shè)備的各個接口板在啟動時發(fā)送的注冊請求,所述注冊請求攜帶了啟動的接口板上CPU的業(yè)務(wù)處理性能信息和標(biāo)識信息;
判斷子單元,用于判斷接收的注冊請求攜帶的業(yè)務(wù)處理性能信息是否滿足預(yù)設(shè)的CPU業(yè)務(wù)處理性能條件;
第一確定子單元,用于在所述判斷子單元的判斷結(jié)果為是時,記錄所述接收的注冊請求攜帶的CPU的標(biāo)識信息,將所述標(biāo)識信息對應(yīng)的CPU確定為用于執(zhí)行業(yè)務(wù)處理操作的CPU;并從第一預(yù)設(shè)值起對記錄的各個標(biāo)識信息進行連續(xù)編號,形成各個標(biāo)識信息和編號之間的對應(yīng)關(guān)系,將所述對應(yīng)關(guān)系發(fā)送給所述網(wǎng)絡(luò)交換設(shè)備的所有接口板存儲;
所述第二確定單元包括
計算子單元,用于將當(dāng)前接收的報文攜帶的源地址和所述目的地址進行異或運算,得到第一異或結(jié)果;將所述第一異或結(jié)果中的高N位和低N位進行異或運算,得到第二異或結(jié)果;將所述第二異或結(jié)果除以所述確定出的用于執(zhí)行業(yè)務(wù)處理操作的CPU的總數(shù),得到余數(shù);
第二確定子單元,用于將所述余數(shù)和所述第一預(yù)設(shè)值相加,得到相加結(jié)果,從存儲的所述對應(yīng)關(guān)系中查找到編號為所述相加結(jié)果的標(biāo)識信息,將查找到的標(biāo)識信息對應(yīng)的CPU確定為用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU。
10、根據(jù)權(quán)利要求9所述的設(shè)備,其特征在于,所述CPU的標(biāo)識信息為該CPU所處的接口板的設(shè)備號和該CPU所處的端口的端口號;
所述發(fā)送單元將所述第二確定子單元查找到的設(shè)備號和端口號攜帶在當(dāng)前接收的報文中發(fā)送給所述第二確定子單元查找到的設(shè)備號和端口號對應(yīng)的CPU中;若所述查找到的設(shè)備號和端口號對應(yīng)的CPU執(zhí)行的業(yè)務(wù)處理包含了所述當(dāng)前接收的報文攜帶的源地址和/或目的地址的變換,則記錄變換前后的源地址和/或目的地址,將記錄的變換前后的源地址和/或目的地址全局同步到所述第一確定子單元確定出的除自身之外的所有CPU中。
全文摘要
本發(fā)明提供了一種報文處理方法和設(shè)備,該方法應(yīng)用于包含多個接口板的網(wǎng)絡(luò)交換設(shè)備中,每一接口板包含CPU,從各個接口板包含的CPU中確定出一個以上用于執(zhí)行業(yè)務(wù)處理操作的CPU;該方法包括A,所述網(wǎng)絡(luò)交換設(shè)備的接口板當(dāng)前接收到需要執(zhí)行業(yè)務(wù)處理操作的報文時,從所述用于執(zhí)行業(yè)務(wù)處理操作的CPU中確定用于對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理操作的CPU;將所述當(dāng)前接收的報文發(fā)送給該確定出的CPU,由該CPU對當(dāng)前接收的報文執(zhí)行業(yè)務(wù)處理。采用本發(fā)明,能夠提高網(wǎng)絡(luò)交換設(shè)備的業(yè)務(wù)性能處理能力。
文檔編號H04L12/56GK101631075SQ20091009053
公開日2010年1月20日 申請日期2009年8月19日 優(yōu)先權(quán)日2009年8月19日
發(fā)明者李洪波 申請人:杭州華三通信技術(shù)有限公司