專利名稱:集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及集中式數(shù)據(jù)轉(zhuǎn)發(fā)技術(shù)領(lǐng)域,具體涉及一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè) 備及方法。
背景技術(shù):
目前的網(wǎng)絡(luò)設(shè)備如路由器、網(wǎng)關(guān)等, 一般分為集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備和 分布式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備。分布式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備是由多個轉(zhuǎn)發(fā)引擎進行轉(zhuǎn)發(fā),而 集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備是由一個獨立的轉(zhuǎn)發(fā)引擎完成,轉(zhuǎn)發(fā)引擎一般由中央處 理器(CPU, Central Processing Unit)、網(wǎng)絡(luò)處理器(NP, Network Processor )、 專用集成電3各(ASIC, Application Specific Integrated Circuit)芯片、多核處 理器等實現(xiàn),當(dāng)接口較多、流量較大時,集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的瓶頸在轉(zhuǎn)發(fā) 引擎的轉(zhuǎn)發(fā)性能上?,F(xiàn)有的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備通常分為兩種結(jié)構(gòu)模型, 一種是路由引擎、 控制引擎、轉(zhuǎn)發(fā)引擎都集成在一個CPU上實現(xiàn), 一種是路由引擎和控制引 擎集成在一個CPU上實現(xiàn),轉(zhuǎn)發(fā)引擎單獨實現(xiàn)。路由引擎、控制引擎、轉(zhuǎn) 發(fā)引擎的功能如下路由引擎接收路由協(xié)議報文,下發(fā)轉(zhuǎn)發(fā)表項到轉(zhuǎn)發(fā)引擎??刂埔娼邮湛刂菩畔ⅲ瓿上鄳?yīng)接口的配置、寄存器配置、狀態(tài)統(tǒng) 計信息上報等。轉(zhuǎn)發(fā)引擎接收報文,查找轉(zhuǎn)發(fā)表,對報文進行調(diào)度后,發(fā)送報文。 路由引擎、控制引擎集成在一個CPU上時,可稱為路由控制引擎。 圖1為現(xiàn)有的一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)模型圖,如圖l所示,該 集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的CPU集成了路由引擎、控制引擎和轉(zhuǎn)發(fā)引擎的功能,6CPU可以選擇PowerPC系列處理器或無內(nèi)部互鎖流水級(MIPS , Microprocessor without interlocked piped stages )系歹ll處理器等,CPU內(nèi)部還 可集成加密模塊,CPU具有多個配置和管理接口 ,以及兩條可以向業(yè)務(wù)接口 卡傳送控制信號和數(shù)據(jù)信號的外設(shè)部件互連(PCI, Peripheral Component Interconnect)總線,另外,CPU還可以外掛內(nèi)存。其中,業(yè)務(wù)接口卡可以 靈活地外接以太網(wǎng)、異步傳輸模式(ATM, Asynchronous Transfer Mode )、 E1/T1、 IP數(shù)字同步體系(POS, IP over SDH )等接口 。 圖1所示集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的缺點如下路由引擎、轉(zhuǎn)發(fā)引擎和控制引擎由一個CPU完成,對CPU的性能要求 很高, 一般無法達到很高的轉(zhuǎn)發(fā)性能;數(shù)據(jù)平面和控制平面共用 一條PCI總線,總線帶寬是瓶頸; 路由或者控制使CPU出現(xiàn)異常時,導(dǎo)致轉(zhuǎn)發(fā)也出現(xiàn)問題; 路由引擎、轉(zhuǎn)發(fā)引擎都無冗余倒換,可靠性低。圖2為現(xiàn)有的另一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)模型圖,如圖2所示, CPU集成了路由引擎和控制引擎的功能,可以選擇PowerPC系列處理器或 MIPS系列處理器。CPU可以外掛內(nèi)存,CPU具有多個配置和管理接口以及 一條PCI總線,該PCI總線連接到業(yè)務(wù)接口卡用于對業(yè)務(wù)接口卡進行配置, 同時連接到轉(zhuǎn)發(fā)引擎對轉(zhuǎn)發(fā)引擎進行配置和轉(zhuǎn)發(fā)表項下發(fā)等,同時轉(zhuǎn)發(fā)引擎 通過千兆以太網(wǎng)(GE)接口上報控制報文到CPU。轉(zhuǎn)發(fā)引擎只進行報文的 集中式轉(zhuǎn)發(fā),由NP或者專用ASIC實現(xiàn)能夠得到較高的性能。圖2所示集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備具有以下缺點路由引擎、控制引擎由一個CPU完成,對CPU的性能要求很高;路由引擎使CPU出現(xiàn)異常時,導(dǎo)致控制引擎也出現(xiàn)問題,反之亦然;路由引擎、轉(zhuǎn)發(fā)引擎都無冗余倒換,可靠性低。發(fā)明內(nèi)容本發(fā)明提供一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備及方法,以提高集中式轉(zhuǎn)發(fā)性能。本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備,包括第一控制引擎、轉(zhuǎn)發(fā)引擎、第二控制引擎和路由引擎,且,第一控制引擎位于線卡板上,轉(zhuǎn)發(fā)引擎和第二控制引擎位于第一主控板上,路由引擎位于第二主控板上,其中第一控制引擎,接收控制報文或協(xié)議報文,將報文發(fā)給路由引擎; 轉(zhuǎn)發(fā)引擎,接收各線卡板發(fā)來的數(shù)據(jù)報文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,若找到,根據(jù)轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)報文;否則,將數(shù)據(jù)報文發(fā)給路由引擎; 第二控制引擎,將路由引擎發(fā)來的轉(zhuǎn)發(fā)表項下發(fā)給轉(zhuǎn)發(fā)引擎; 路由引擎,當(dāng)收到協(xié)議報文或數(shù)據(jù)報文時,計算報文路由,將得到的轉(zhuǎn)發(fā)表項發(fā)給第二控制引擎。一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中的線卡板,包括報文區(qū)分模塊,接收報文,檢測報文是否為控制報文或協(xié)議報文,若為, 將報文發(fā)送給第一控制引擎;否則,確定報文為數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā) 引擎;第一控制引擎,接收控制報文或協(xié)議報文,將報文發(fā)送給路由引擎。 一種集中式轉(zhuǎn)發(fā)方法,應(yīng)用在所述集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中,包括A、 線卡板接收報文,判斷報文是否為控制報文或協(xié)議報文,若是,通過 本線卡板的第一控制引擎將報文發(fā)送給路由引擎,轉(zhuǎn)至步驟C;否則,確定報 文為數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā)引擎,執(zhí)行步驟B;B、 轉(zhuǎn)發(fā)引擎接收數(shù)據(jù)報文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,若找到,執(zhí)行步 驟D;否則,將數(shù)據(jù)報文發(fā)給路由引擎,執(zhí)行步驟C;C、 路由引擎接收協(xié)議報文或數(shù)據(jù)報文,計算報文的路由,將得到的轉(zhuǎn)發(fā) 表項通過第二控制引擎下發(fā)給轉(zhuǎn)發(fā)引擎,且,若報文為數(shù)據(jù)報文,將數(shù)據(jù)報文 返回給轉(zhuǎn)發(fā)引擎,并執(zhí)行步驟D;路由報文接收控制報文,根據(jù)報文作相應(yīng)控 制處理,本流程結(jié)束;D、 轉(zhuǎn)發(fā)引擎根據(jù)數(shù)據(jù)報文對應(yīng)的轉(zhuǎn)發(fā)表項,將報文轉(zhuǎn)發(fā)出去。 與現(xiàn)有技術(shù)相比,本發(fā)明通過將路由引擎、控制引擎、轉(zhuǎn)發(fā)引擎分離,其中任意一個引擎的異常,都不會對其它引擎產(chǎn)生影響,提高了集中式轉(zhuǎn)發(fā)性能;同時,數(shù)據(jù)平面和控制平面通過不同的接口接入轉(zhuǎn)發(fā)引擎和路由引擎, 提高了集中式轉(zhuǎn)發(fā)的可靠性。另外,本發(fā)明實施例中,通過路由引擎、轉(zhuǎn)發(fā)引擎的備份,進一步提高 了集中式轉(zhuǎn)發(fā)的可靠性;通過設(shè)置多個轉(zhuǎn)發(fā)引擎進行負載分擔(dān),進一步提高 了集中式轉(zhuǎn)發(fā)的性能。
圖1為現(xiàn)有的一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)模型圖; 圖2為現(xiàn)有的另一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)模型圖; 圖3為本發(fā)明實施例提供的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)圖; 圖4為本發(fā)明實施例提供的線卡板的結(jié)構(gòu)圖; 圖5為本發(fā)明實施例提供的轉(zhuǎn)發(fā)引擎的結(jié)構(gòu)圖; 圖6為本發(fā)明實施例提供的路由引擎的結(jié)構(gòu)圖; 圖7為在圖3-6所示集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中轉(zhuǎn)發(fā)報文的流程圖; 圖8為本發(fā)明實施例提供的采用路由引擎?zhèn)浞莸募惺睫D(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備 的結(jié)構(gòu)圖;圖9為在圖8所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行路由引擎?zhèn)浞莸牧鞒虉D;圖10為本發(fā)明實施例提供的采用轉(zhuǎn)發(fā)引擎?zhèn)浞莸募惺睫D(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備 的結(jié)構(gòu)圖;圖ll為在圖IO所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行轉(zhuǎn)發(fā)引擎?zhèn)浞莸牧鞒虉D;圖12為本發(fā)明實施例提供的采用轉(zhuǎn)發(fā)引擎負載分擔(dān)的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò) 設(shè)備的結(jié)構(gòu)圖;圖13為在圖12所示集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行負載分擔(dān)的流程圖。
具體實施方式
下面結(jié)合附圖及具體實施例對本發(fā)明再作進一步詳細的說明。圖3為本發(fā)明實施例提供的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)圖,如圖3所示, 其主要包括第一控制引擎31、轉(zhuǎn)發(fā)引擎32、第二控制引擎33、路由引擎 34,其中第一控制引擎31位于線卡板上,每個線卡板上具有一個第一控 制引擎,轉(zhuǎn)發(fā)引擎32和第二控制引擎33位于第一主控板上,路由引擎34 位于第二主控板上,且,第一控制引擎31與路由引擎34之間的接口為控制 接口如GE接口,第二控制引擎33與路由引擎34之間的接口為控制接口 如GE接口,轉(zhuǎn)發(fā)引擎32與路由引擎34、線卡板之間通過背板高速總線 傳輸數(shù)據(jù),轉(zhuǎn)發(fā)引擎32與第二控制引擎33之間的接口控制接口如GE或 快速PCI (PCIE, PCI Express)或高速傳輸(HT, Hyper Transport)接口, 各組成部分的功能如下第一控制引擎31:接收路由引擎34發(fā)來的攜帶寄存器配置信息的控制 報文,按照該信息對本線卡板和業(yè)務(wù)接口卡進行寄存器配置;對本線卡板和 業(yè)務(wù)接口卡進行狀態(tài)信息統(tǒng)計,將統(tǒng)計結(jié)果攜帶在控制報文中上報給路由引 擎34;接收業(yè)務(wù)接口卡發(fā)來的控制報文或協(xié)議報文,將控制報文或協(xié)議報 文發(fā)送給路由引擎34。狀態(tài)信息統(tǒng)計例如統(tǒng)計線卡板的每個接口收、發(fā)報文的數(shù)目等。第一控制引擎31還可以外掛內(nèi)存,還可具有BIOS及應(yīng)用程序接口, 用于接收外部輸入的BIOS及應(yīng)用程序,并根據(jù)該應(yīng)用程序?qū)Ρ揪€卡板和業(yè) 務(wù)接口卡進行程序升級;另外,還有具有邏輯單元,用于控制看門狗、熱插拔信號等。轉(zhuǎn)發(fā)引擎32:接收第二控制引擎33發(fā)來的轉(zhuǎn)發(fā)表項,根據(jù)該轉(zhuǎn)發(fā)表項 更新自身的轉(zhuǎn)發(fā)表;接收線卡板發(fā)來的數(shù)據(jù)報文,查找與報文對應(yīng)的轉(zhuǎn)發(fā)表 項,若查找到,按照該轉(zhuǎn)發(fā)表項將數(shù)據(jù)報文轉(zhuǎn)發(fā)出去;若未查找到,則確定 該報文為首包,將該數(shù)據(jù)報文發(fā)送給路由引擎34。轉(zhuǎn)發(fā)引擎32還可以外桂緩存,用于緩存已接收但未開始處理報文或者 已處理完畢等待發(fā)送的報文。轉(zhuǎn)發(fā)引擎32可以將轉(zhuǎn)發(fā)表項存儲在自身,也 可以存儲在外掛內(nèi)存中。第二控制引擎33:接收路由引擎34發(fā)來的攜帶寄存器配置信息的控制 報文,按照該信息對轉(zhuǎn)發(fā)引擎32進行寄存器配置,對轉(zhuǎn)發(fā)引擎32進行狀態(tài) 信息統(tǒng)計,將統(tǒng)計結(jié)果攜帶在控制報文中發(fā)送給路由引擎34;接收路由引 擎34發(fā)來的轉(zhuǎn)發(fā)表項,將該轉(zhuǎn)發(fā)表項下發(fā)給轉(zhuǎn)發(fā)引擎32。第二控制引擎32還可以外掛內(nèi)存,還可具有BIOS及應(yīng)用程序接口, 用于接收外部輸入的BIOS及應(yīng)用程序,并#4居該應(yīng)用程序?qū)D(zhuǎn)發(fā)引擎32 進行程序升級。路由引擎34:接收第一控制引擎31發(fā)來的協(xié)議報文,計算協(xié)議報文的 路由,并將得到的轉(zhuǎn)發(fā)表項發(fā)送給第二控制引擎33;將各線卡板的寄存器 配置信息攜帶在控制報文中下發(fā)給各線卡板的第一控制引擎31,接收第一 控制引擎31發(fā)來的攜帶狀態(tài)信息統(tǒng)計結(jié)果的控制報文,接收第一控制引擎 31發(fā)來的控制本路由引擎的控制報文,根據(jù)該報文進行相應(yīng)處理;將轉(zhuǎn)發(fā) 引擎32的寄存器配置信息攜帶在控制報文中發(fā)送給第二控制引擎33,接收 第二控制引擎33發(fā)來的攜帶狀態(tài)信息統(tǒng)計結(jié)果的控制報文。第 一控制引擎31 、第二控制引擎33和路由引擎34 —般由PowerPC系 列處理器或MIPS系列處理器實現(xiàn),若要進一步降低成本,則可采用集成了 以太網(wǎng)控制器、PCIE或PCI控制器的片上系統(tǒng)(SoC, System of Chip ); 轉(zhuǎn)發(fā)引擎32 —般由NP或ASIC或多核處理器實現(xiàn)。圖4為本發(fā)明實施例提供的線卡板的結(jié)構(gòu)示意圖,如圖4所示,其主要 包括報文區(qū)分模塊41和第一控制引擎31,其中報文區(qū)分模塊41:接收業(yè)務(wù)接口卡發(fā)來的報文,判斷報文是否為控制 報文或協(xié)議報文,若是,將報文發(fā)送給第一控制引擎31;否則,確定報文 為數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā)引擎32。第一控制引擎31:接收路由引擎34發(fā)來的寄存器配置信息,按照該信息對本線卡板和業(yè)務(wù)接口卡進行寄存器配置;對本線卡板和業(yè)務(wù)接口卡進行 狀態(tài)信息統(tǒng)計,將統(tǒng)計結(jié)果上報給路由引擎34;接收報文區(qū)分模塊41發(fā)來 的控制報文或協(xié)議報文,將控制報文或協(xié)議報文發(fā)送給路由引擎34。在實際應(yīng)用中,業(yè)務(wù)接口卡通過高速總線將報文發(fā)送給線卡板時,線卡 板的物理層實體有可能不能識別該報文,此時,線卡板還需包括一個第一 接口轉(zhuǎn)換模塊40,該模塊通過背板高速總線與轉(zhuǎn)發(fā)引擎32相連,同時通過 高速總線與業(yè)務(wù)接口卡1 n相連,用于從高速總線上提取業(yè)務(wù)接口卡發(fā)來的 報文,將報文轉(zhuǎn)換成線卡板可以識別的報文后發(fā)送給報文區(qū)分模塊41;接 收報文區(qū)分模塊41發(fā)來的數(shù)據(jù)報文,將報文轉(zhuǎn)換成可以承載在線卡板與轉(zhuǎn) 發(fā)引擎32之間的背板高速總線上的報文后發(fā)送給轉(zhuǎn)發(fā)引擎32。同時,報文區(qū)分模塊41在確定報文為數(shù)據(jù)報文后,將數(shù)據(jù)報文返回給 第一接口轉(zhuǎn)換模塊40。在實際應(yīng)用中,當(dāng)線卡板通過背板高速總線將數(shù)據(jù)報文發(fā)送給轉(zhuǎn)發(fā)引擎 32時,轉(zhuǎn)發(fā)引擎32也有可能不能識別該報文,例如線卡板與轉(zhuǎn)發(fā)引擎32 之間的背板高速總線為XAUI總線,但轉(zhuǎn)發(fā)引擎32只支持SPI4.2總線,此 時轉(zhuǎn)發(fā)引擎32也需要具有一個第二接口轉(zhuǎn)換模塊。圖5為本發(fā)明實施例提供的轉(zhuǎn)發(fā)引擎的結(jié)構(gòu)示意圖,如圖5所示,其主 要包括第二接口轉(zhuǎn)換模塊321和轉(zhuǎn)發(fā)模塊322,其中,第二接口轉(zhuǎn)換模塊 321通過背板高速總線與各線卡板和路由引擎34相連,各模塊的功能如下第二接口轉(zhuǎn)換模塊321:從背板高速總線上提取線卡板發(fā)來的數(shù)據(jù)報文, 將報文轉(zhuǎn)換成轉(zhuǎn)發(fā)模塊322可以識別的報文后發(fā)送給轉(zhuǎn)發(fā)模塊322。轉(zhuǎn)發(fā)模塊322:接收第二控制引擎33發(fā)來的轉(zhuǎn)發(fā)表項,根據(jù)該轉(zhuǎn)發(fā)表 項更新自身的轉(zhuǎn)發(fā)表;接收第二接口轉(zhuǎn)換模塊321發(fā)來的數(shù)據(jù)報文,查找與 報文對應(yīng)的轉(zhuǎn)發(fā)表項,若查找到,按照該轉(zhuǎn)發(fā)表項將數(shù)據(jù)報文轉(zhuǎn)發(fā)出去;若 未查找到,則確定該報文為一個數(shù)據(jù)流的首包,將該數(shù)據(jù)報文發(fā)送給路由引 擎34。在實際應(yīng)用中,轉(zhuǎn)發(fā)引擎32還可進一步包括加密模塊323,用于接收轉(zhuǎn)發(fā)模塊322發(fā)來的具有解密標志的數(shù)據(jù)報文,按照預(yù)先設(shè)定的解密規(guī) 則,對該報文進行解密處理,并將解密后的數(shù)據(jù)報文返回給轉(zhuǎn)發(fā)模塊322; 接收轉(zhuǎn)發(fā)模塊322發(fā)來的具有加密標志的數(shù)據(jù)報文,則按照預(yù)先設(shè)定的加密 規(guī)則,對報文進行加密處理,將加密后的數(shù)據(jù)報文返回給轉(zhuǎn)發(fā)模塊322。同時,轉(zhuǎn)發(fā)模塊322進一步,在發(fā)現(xiàn)第二接口轉(zhuǎn)換模塊321發(fā)來的數(shù)據(jù) 報文被加密時,為報文打上解密標志后發(fā)送給加密模塊323,之后接收加密 模塊323返回的解密后的數(shù)據(jù)報文;根據(jù)自身保存的加密條件,發(fā)現(xiàn)將要轉(zhuǎn) 發(fā)的數(shù)據(jù)報文需加密,為報文打上加密標志后發(fā)送給加密模塊323,之后接 收加密模塊323返回的加密后的數(shù)據(jù)報文。在實際應(yīng)用中,由于路由引擎34要與第二控制引擎33相連,并分別與 每個線卡板上的第一控制引擎31相連,而路由引擎本身具有的控制接口如 以太網(wǎng)接口是有限的,因此,通常需要對路由引擎的以太網(wǎng)接口進行擴展, 可通過為路由引擎34增加一個以太網(wǎng)接口擴展模塊實現(xiàn);另外,路由引擎 34的物理層實體可能不支持轉(zhuǎn)發(fā)引擎32通過背板高速總線發(fā)來的數(shù)據(jù)報 文,此時,還需要為路由引擎34增加一個第三接口轉(zhuǎn)換模塊。圖6為本發(fā)明實施例提供的路由引擎的結(jié)構(gòu)示意圖,如圖6所示,其主 要包括以太網(wǎng)接口擴展模塊341、第三接口轉(zhuǎn)換模塊342和路由模塊343, 其中,以太網(wǎng)接口擴展模塊341與路由模塊之間的接口可為GE接口 ,第三 接口轉(zhuǎn)換模塊342與路由模塊343之間的接口可為PCIE或HT接口 ,第三 接口轉(zhuǎn)換模塊342通過背板高速總線連接到轉(zhuǎn)發(fā)引擎32,各模塊的主要功 能如下以太網(wǎng)接口擴展模塊341:對路由引擎34的以太網(wǎng)接口進行擴展,將 路由模塊343發(fā)來的轉(zhuǎn)發(fā)表項下發(fā)給第二控制引擎33;接收路由模塊343 發(fā)來的各攜帶線卡板的寄存器配置信息的控制報文,將該控制報文下發(fā)給各 線卡板的第 一控制引擎31;接收各線卡板的第 一控制引擎31發(fā)來的攜帶狀 態(tài)信息統(tǒng)計結(jié)果的控制報文,將該控制報文發(fā)送給路由模塊343;接收路由 模塊343發(fā)來的攜帶轉(zhuǎn)發(fā)引擎32的寄存器配置信息的控制報文,將該控制報文下發(fā)給第二控制引擎33;接收第二控制引擎33發(fā)來的攜帶轉(zhuǎn)發(fā)引擎32 的狀態(tài)信息統(tǒng)計結(jié)果的控制報文,將該控制報文發(fā)送給路由模塊343。第三接口轉(zhuǎn)換模塊342:從背板高速總線上提取轉(zhuǎn)發(fā)引擎32發(fā)來的數(shù) 據(jù)報文,將報文轉(zhuǎn)換成路由模塊343可以識別的報文后發(fā)送給路由模塊343。路由模塊343:接收以太網(wǎng)接口擴展模塊341發(fā)來的協(xié)議報文或第三接 口轉(zhuǎn)換模塊342發(fā)來的數(shù)據(jù)報文,計算報文的路由,并將得到的轉(zhuǎn)發(fā)表項發(fā) 送給以太網(wǎng)接口擴展模塊341;將各攜帶線卡板的寄存器配置信息的控制報 文發(fā)送給以太網(wǎng)接口擴展模塊341,接收以太網(wǎng)接口擴展模塊341發(fā)來的各 攜帶線卡板的狀態(tài)信息統(tǒng)計結(jié)果的控制報文;將攜帶轉(zhuǎn)發(fā)引擎32的寄存器 配置信息的控制報文發(fā)送給以太網(wǎng)接口擴展模塊341,接收以太網(wǎng)接口擴展 模塊341發(fā)來的攜帶轉(zhuǎn)發(fā)引擎32的狀態(tài)信息統(tǒng)計結(jié)果的控制報文。圖7為在圖3 6所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中轉(zhuǎn)發(fā)報文的流程圖,如 圖7所示,其具體步驟如下步驟701:線卡板的第 一接口轉(zhuǎn)換模塊從與業(yè)務(wù)接口卡之間的高速總線 上提取報文,將報文轉(zhuǎn)換成本線卡板可以識別的報文后發(fā)送給報文區(qū)分模 塊。步驟702:報文區(qū)分模塊接收報文,判斷報文是否為控制報文或協(xié)議報 文,若是,執(zhí)行步驟703;否則,執(zhí)行步驟707。步驟703:報文區(qū)分模塊將控制報文或協(xié)議報文發(fā)送給本線卡板的第一 控制引擎,第 一控制引擎將控制報文發(fā)送給路由引擎。步驟704:路由引擎的以太網(wǎng)接口擴展模塊接收控制報文或協(xié)議報文, 將報文發(fā)送給路由模塊。步驟705:路由模塊接收協(xié)議報文,計算報文的路由,并將得到的轉(zhuǎn)發(fā) 表項通過以太網(wǎng)接口擴展模塊發(fā)送給第二控制引擎;路由模塊接收控制報 文,根據(jù)報文內(nèi)容進行相應(yīng)處理。步驟706:第二控制引擎接收轉(zhuǎn)發(fā)表項,將轉(zhuǎn)發(fā)表項下發(fā)給轉(zhuǎn)發(fā)引擎的 轉(zhuǎn)發(fā)模塊,轉(zhuǎn)發(fā)模塊根據(jù)該轉(zhuǎn)發(fā)表項更新自身的轉(zhuǎn)發(fā)表,本流程結(jié)束。14步驟707:報文區(qū)分模塊確定報文為數(shù)據(jù)報文,將數(shù)據(jù)報文返回給第一 接口轉(zhuǎn)換模塊,第 一接口轉(zhuǎn)換模塊將數(shù)據(jù)報文轉(zhuǎn)換成可以承載在與轉(zhuǎn)發(fā)引擎 之間的背板高速總線上的報文后,發(fā)送給轉(zhuǎn)發(fā)引擎。步驟708:轉(zhuǎn)發(fā)引擎的第二接口轉(zhuǎn)換模塊從背板高速總線上提取數(shù)據(jù)報 文,將報文轉(zhuǎn)換成轉(zhuǎn)發(fā)模塊可以識別的報文后發(fā)送給轉(zhuǎn)發(fā)模塊。步驟709:轉(zhuǎn)發(fā)模塊接收數(shù)據(jù)報文,在自身查找與報文對應(yīng)的轉(zhuǎn)發(fā)表項, 判斷是否查找到,若是,執(zhí)行步驟714;否則,執(zhí)行步驟710。步驟710:轉(zhuǎn)發(fā)模塊將數(shù)據(jù)報文發(fā)送給第二接口轉(zhuǎn)換模塊,第二接口轉(zhuǎn) 換模塊將數(shù)據(jù)報文轉(zhuǎn)換成可以承載在與路由引擎之間的背板高速總線上的 報文后,發(fā)送給路由引擎。步驟711:路由引擎的第三接口轉(zhuǎn)換模塊從背板高速總線上提取數(shù)據(jù)報 文,將報文轉(zhuǎn)換成路由模塊可以識別的報文后發(fā)送給路由模塊。步驟712:路由模塊接收數(shù)據(jù)報文,計算報文的路由,并將得到的轉(zhuǎn)發(fā) 表項發(fā)送給以太網(wǎng)接口擴展模塊,同時將數(shù)據(jù)報文返回給第三接口轉(zhuǎn)換模 塊。步驟713:以太網(wǎng)接口擴展模塊將轉(zhuǎn)發(fā)表項下發(fā)給第二控制引擎,第二 控制引擎將轉(zhuǎn)發(fā)表項下發(fā)給轉(zhuǎn)發(fā)模塊;第三接口轉(zhuǎn)換模塊將數(shù)據(jù)報文發(fā)送給 轉(zhuǎn)發(fā)引擎,轉(zhuǎn)發(fā)引擎的第二接口轉(zhuǎn)換模塊接收數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā) 模塊。步驟714:轉(zhuǎn)發(fā)模塊根據(jù)數(shù)據(jù)報文對應(yīng)的轉(zhuǎn)發(fā)表項,將數(shù)據(jù)報文發(fā)送出去。在實際應(yīng)用中,路由引擎可能由于種種故障而無法繼續(xù)工作,導(dǎo)致數(shù)據(jù) 轉(zhuǎn)發(fā)中斷,為了解決該問題,本發(fā)明實施例中,在集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中設(shè) 置兩個路由引擎,當(dāng)正在工作的路由引擎發(fā)生故障時,另一路由引擎可以接 替該路由引擎工作。第三主控板上;路由引擎A、 B通過各自的控制接口如GE接口與第一控 制引擎31和第二控制引擎33相連,通過背板高速總線與轉(zhuǎn)發(fā)引擎32相連; 同時,路由引擎A、 B之間通過控制接口如GE接口相連。圖9為在圖8所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行路由引擎?zhèn)浞莸牧鞒?圖,如圖9所示,其具體步驟如下步驟901:路由引擎A、 B啟動,選擇其中一個作為主路由引擎。路由引擎A、 B可通過協(xié)商確定誰為主路由引擎。步驟902:主路由引擎將自身標識通知轉(zhuǎn)發(fā)引擎和第一控制引擎,以便 轉(zhuǎn)發(fā)引擎將數(shù)據(jù)流首包發(fā)給主路由引擎,第一控制引擎將控制報文或協(xié)議報 文發(fā)送給主路由引擎。主路由引擎標識可以是其所在的主控板號,或者,可將路由引擎A、 B 分別用信號O、 l表示,當(dāng)路由引擎A為主路由引擎時,將信號"0"發(fā)送 給轉(zhuǎn)發(fā)引擎和第一控制引擎,當(dāng)路由引擎B為主路由引擎時,將信號"1" 發(fā)送給轉(zhuǎn)發(fā)引擎和第一控制引擎。步驟卯3:主路由引擎將自身的配置信息和路由信息同步到備路由引擎。步驟904:主路由引擎檢測到自身的配置信息或路由信息更新,將更新 后的配置信息或路由信息同步到備路由引擎。步驟905:備路由引擎檢測到主路由引擎異常如復(fù)位,則切換為主路 由引擎,轉(zhuǎn)至步驟902。若主路由引擎異常,則其復(fù)位后自動成為備路由引擎。備路由引擎可通過以下方式發(fā)現(xiàn)主路由引擎異常方式一、主、備路由引擎周期性地向?qū)Ψ桨l(fā)送在位消息,若備路由引擎 在一個周期內(nèi)未收到主路由引擎發(fā)來的在位消息,則確定主路由引擎異常。方式二、主路由引擎在發(fā)生異常時向備路由引擎上報中斷信號,備路由 引擎收到該中斷信號,確定主路由引擎異常。在實際應(yīng)用中,轉(zhuǎn)發(fā)引擎也可能由于種種故障而無法繼續(xù)工作,導(dǎo)致數(shù) 據(jù)轉(zhuǎn)發(fā)中斷,為了解決該問題,本發(fā)明實施例中,在集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中設(shè)置兩個轉(zhuǎn)發(fā)引擎A、 B,當(dāng)正在工作的轉(zhuǎn)發(fā)引擎發(fā)生故障時,另一轉(zhuǎn)發(fā)引 擎可以接替該轉(zhuǎn)發(fā)引擎工作。圖10為本發(fā)明實施例提供的采用轉(zhuǎn)發(fā)引擎?zhèn)浞莸募惺睫D(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備 的結(jié)構(gòu)圖,如圖10所示,轉(zhuǎn)發(fā)引擎A位于第一主控板上,轉(zhuǎn)發(fā)引擎B位于 第三主控板上;轉(zhuǎn)發(fā)引擎A通過控制接口如GE接口與本主控板上的第二 控制引擎A相連,轉(zhuǎn)發(fā)引擎B通過控制接口如GE接口與本主控板上的第 二控制引擎B相連;轉(zhuǎn)發(fā)引擎A、 B通過背板高速總線與路由引擎34、各 線卡板相連,第二控制引擎A、 B通過控制接口如GE接口與路由引擎34 相連;轉(zhuǎn)發(fā)引擎A、 B之間無通信接口。圖ll為在圖IO所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行轉(zhuǎn)發(fā)引擎?zhèn)浞莸牧鞒?圖,如圖11所示,其具體步驟如下步驟1101:轉(zhuǎn)發(fā)引擎A、 B上電,路由引擎選擇其中一個轉(zhuǎn)發(fā)引擎為主 轉(zhuǎn)發(fā)引擎,另外一個轉(zhuǎn)發(fā)引擎為備轉(zhuǎn)發(fā)引擎,同時將與主轉(zhuǎn)發(fā)引擎位于同一 主控板的第二控制引擎作為主第二控制引擎,將與備轉(zhuǎn)發(fā)引擎位于同 一主控 板的第二控制引擎作為備第二控制引擎。步驟1102:路由引擎將主轉(zhuǎn)發(fā)引擎所在的主控板號發(fā)送給所有線卡板 的第一接口轉(zhuǎn)換模塊。步驟1103:各線卡板的第一接口轉(zhuǎn)換模塊收到主轉(zhuǎn)發(fā)引擎所在的主控 板號,根據(jù)該主控板號,與主轉(zhuǎn)發(fā)引擎的第二接口轉(zhuǎn)換模塊建立連接。步驟1104:路由引擎向主轉(zhuǎn)發(fā)引擎和備轉(zhuǎn)發(fā)引擎下發(fā)配置信息和轉(zhuǎn)發(fā)表。步驟1105:路由引擎確定轉(zhuǎn)發(fā)表項更新,將更新的轉(zhuǎn)發(fā)表項同時下發(fā) 給主轉(zhuǎn)發(fā)引擎和備轉(zhuǎn)發(fā)引擎。步驟1106:路由引擎確定配置信息更新,將更新的配置信息同時下發(fā) 給主轉(zhuǎn)發(fā)引擎和備轉(zhuǎn)發(fā)引擎。步驟1107:路由引擎監(jiān)測主轉(zhuǎn)發(fā)引擎、備轉(zhuǎn)發(fā)引擎、主第二控制引擎、 備第二控制引擎的狀態(tài)。路由引擎可通過以下方式監(jiān)測主轉(zhuǎn)發(fā)引擎方式一、路由引擎周期性地向主轉(zhuǎn)發(fā)引擎發(fā)送測試數(shù)據(jù)報文,若未收到 主轉(zhuǎn)發(fā)引擎返回的響應(yīng)報文或收到錯誤的響應(yīng)報文,則確定主轉(zhuǎn)發(fā)引擎異常。方式二、主轉(zhuǎn)發(fā)引擎復(fù)位時,通過主第二控制引擎向路由引擎上報中斷 信號,路由引擎收到中斷信號,確定主轉(zhuǎn)發(fā)引擎異常。路由引擎監(jiān)測備轉(zhuǎn)發(fā)引擎的方式與監(jiān)測主轉(zhuǎn)發(fā)引擎的方式相同。路由引擎可通過以下方式監(jiān)測主第二控制引擎方式一、路由引擎周期性地向主第二控制引擎發(fā)送測試控制報文,若未 收到主第二控制引擎返回的響應(yīng)報文或收到錯誤的響應(yīng)報文,則確定主第二 控制引擎異常。方式二、主第二控制引擎復(fù)位時,向路由引擎上報中斷信號,路由引擎 收到中斷信號,確定主第二控制引擎異常。路由引擎監(jiān)測備第二控制引擎的方式與監(jiān)測主第二控制引擎的方式相同。步驟1108:當(dāng)路由引擎發(fā)現(xiàn)主轉(zhuǎn)發(fā)引擎或主第二控制引擎異常時,路 由引擎進行轉(zhuǎn)發(fā)引擎和第二控制引擎的主備倒換。主備倒換過程具體為路由引擎將第二轉(zhuǎn)發(fā)引擎標識如其所在的主控 板號發(fā)送給各線卡板的第 一接口轉(zhuǎn)換模塊,各線卡板的第 一接口轉(zhuǎn)換模塊根 據(jù)第二轉(zhuǎn)發(fā)引擎標識與第二轉(zhuǎn)發(fā)引擎的第二接口轉(zhuǎn)換模塊建立連接。步驟1109:當(dāng)路由引擎發(fā)現(xiàn)備轉(zhuǎn)發(fā)引擎或備第二控制引擎異常時,路 由引擎復(fù)位備轉(zhuǎn)發(fā)引擎或備第二控制引擎。在實際應(yīng)用中,若線卡板的數(shù)目較多,則全部線卡板的數(shù)據(jù)流量都由一 個轉(zhuǎn)發(fā)引擎處理,則轉(zhuǎn)發(fā)引擎的處理負擔(dān)較重,可能會影響數(shù)據(jù)的處理效率。 為解決該問題,可在集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中設(shè)置兩個以上轉(zhuǎn)發(fā)引擎進行負載 分擔(dān),提高數(shù)據(jù)處理效率。圖12為本發(fā)明實施例提供的采用轉(zhuǎn)發(fā)引擎負載分擔(dān)的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)圖,如圖12所示,轉(zhuǎn)發(fā)引擎A位于第一主控板上,轉(zhuǎn)發(fā)引擎B 作為轉(zhuǎn)發(fā)引擎A的分擔(dān)轉(zhuǎn)發(fā)引擎位于第三主控板上;轉(zhuǎn)發(fā)引擎A通過背板 高速總線與線卡板l~m (m<n)相連,轉(zhuǎn)發(fā)引擎B通過背板高速總線與線 卡板m+l-n相連;轉(zhuǎn)發(fā)引擎A、 B通過背板高速總線與路由引擎34相連, 轉(zhuǎn)發(fā)引擎A通過控制接口如GE接口與本主控板上的第二控制引擎A相連, 轉(zhuǎn)發(fā)引擎B通過控制接口如GE接口與本主控板上的第二控制引擎B相連, 第二控制引擎A、 B通過控制接口如GE接口與路由引擎34相連,轉(zhuǎn)發(fā)引 擎A、 B之間通過背板高速總線相連。圖13為在圖12所示的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中進行負載分擔(dān)的流程圖, 如圖13所示,其具體步驟如下步驟1301:路由引擎將所有線卡板劃分給轉(zhuǎn)發(fā)引擎A和轉(zhuǎn)發(fā)引擎B, 保存轉(zhuǎn)發(fā)引擎A所在的主控板號與劃分給轉(zhuǎn)發(fā)引擎A的線卡板號間的對應(yīng) 關(guān)系,保存轉(zhuǎn)發(fā)引擎B所在的主控板號與劃分給轉(zhuǎn)發(fā)引擎B的線卡板號間 的對應(yīng)關(guān)系。步驟1302:路由引擎向各線卡板發(fā)送其所屬的轉(zhuǎn)發(fā)引擎所在主控板號,各線卡板的第一接口轉(zhuǎn)換模塊根據(jù)該主控板號,與自身所屬的轉(zhuǎn)發(fā)引擎的第二接口轉(zhuǎn)換模塊建立連接。以下以轉(zhuǎn)發(fā)引擎A為例,對數(shù)據(jù)報文的處理流程進行說明步驟1303:轉(zhuǎn)發(fā)引擎A接收線卡板發(fā)來的數(shù)據(jù)報文。步驟1304:轉(zhuǎn)發(fā)引擎A在自身查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,判斷是否查找到,若是,執(zhí)行步驟1308;否則,執(zhí)行步驟1305。步驟1305:轉(zhuǎn)發(fā)引擎A將數(shù)據(jù)報文發(fā)送給路由引擎。步驟1306:路由引擎接收數(shù)據(jù)報文,計算報文的路由,將得到的轉(zhuǎn)發(fā)表項發(fā)送給轉(zhuǎn)發(fā)引擎A和B,同時將數(shù)據(jù)報文返回給轉(zhuǎn)發(fā)引擎A。步驟1307:轉(zhuǎn)發(fā)引擎A接收并保存路由引擎發(fā)來的轉(zhuǎn)發(fā)表項,接收路由引擎發(fā)來的數(shù)據(jù)報文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項。步驟1308:轉(zhuǎn)發(fā)引擎A判斷轉(zhuǎn)發(fā)表項中的出接口號對應(yīng)的線卡板是否與自身相連,若是,執(zhí)行步驟1309;否則,執(zhí)行步驟1310。步驟1309:轉(zhuǎn)發(fā)引擎A根據(jù)轉(zhuǎn)發(fā)表項將報文轉(zhuǎn)發(fā)出去,本流程結(jié)束。 步驟1310:轉(zhuǎn)發(fā)引擎A將數(shù)據(jù)報文發(fā)送給轉(zhuǎn)發(fā)引擎B。 轉(zhuǎn)發(fā)引擎B對數(shù)據(jù)報文的處理過程與轉(zhuǎn)發(fā)引擎A相同。或者,在步驟 1310中,轉(zhuǎn)發(fā)引擎A在將數(shù)據(jù)報文發(fā)送給轉(zhuǎn)發(fā)引擎B的同時,可將報文對 應(yīng)的轉(zhuǎn)發(fā)表項中的目的線卡板號、目的槽位號、出接口號發(fā)送給轉(zhuǎn)發(fā)引擎B, 這樣,轉(zhuǎn)發(fā)引擎B無需再進行查表操作,而可根據(jù)上述信息直接將報文轉(zhuǎn)發(fā) 出去。圖12、 13給出的是在集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中設(shè)置兩個轉(zhuǎn)發(fā)引擎進行負 載分擔(dān)的實現(xiàn)方案,在實際應(yīng)用中,可以根據(jù)實際需要,設(shè)置三個以上轉(zhuǎn)發(fā) 引擎如轉(zhuǎn)發(fā)引擎l~n (n23)進行負載分擔(dān),每個轉(zhuǎn)發(fā)引擎位于一個主控 板上,該主控板上同時具有一個第二控制引擎,所有線卡板被劃分為n部分, 每個轉(zhuǎn)發(fā)引擎與一部分線卡板相連,每個轉(zhuǎn)發(fā)引擎實現(xiàn)負載分擔(dān)的過程可由 圖12、 13直接得到。需要說明的是,每個轉(zhuǎn)發(fā)引擎需要保存自身及其它每 個轉(zhuǎn)發(fā)引擎的標識如主控板號、該轉(zhuǎn)發(fā)引擎的出接口信息、每個出接口對 應(yīng)的線卡板標識之間的對應(yīng)關(guān)系,以便在轉(zhuǎn)發(fā)引擎收到數(shù)據(jù)報文,并查找到 報文對應(yīng)的轉(zhuǎn)發(fā)表項時,若發(fā)現(xiàn)轉(zhuǎn)發(fā)表項中的出接口對應(yīng)的線卡板不與自身 相連,則根據(jù)所述對應(yīng)關(guān)系確定出接口對應(yīng)的線卡板所在的轉(zhuǎn)發(fā)引擎標識, 從而將數(shù)據(jù)報文轉(zhuǎn)發(fā)給該轉(zhuǎn)發(fā)引擎。以上所述僅為本發(fā)明的過程及方法實施例,并不用以限制本發(fā)明,凡在 本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均應(yīng)包含在 本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1. 一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備,其特征在于,包括第一控制引擎、轉(zhuǎn)發(fā)引擎、第二控制引擎和路由引擎,且,第一控制引擎位于線卡板上,轉(zhuǎn)發(fā)引擎和第二控制引擎位于第一主控板上,路由引擎位于第二主控板上,其中第一控制引擎,接收控制報文或協(xié)議報文,將報文發(fā)給路由引擎;轉(zhuǎn)發(fā)引擎,接收各線卡板發(fā)來的數(shù)據(jù)報文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,若找到,根據(jù)轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)報文;否則,將數(shù)據(jù)報文發(fā)給路由引擎;第二控制引擎,將路由引擎發(fā)來的轉(zhuǎn)發(fā)表項下發(fā)給轉(zhuǎn)發(fā)引擎;路由引擎,當(dāng)收到協(xié)議報文或數(shù)據(jù)報文時,計算報文路由,將得到的轉(zhuǎn)發(fā)表項發(fā)給第二控制引擎。
2、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一控制引擎與路由 引擎之間的接口為以太網(wǎng)接口 ;所述第二控制引擎與路由引擎之間的接口為以太網(wǎng)接口 。
3、 如權(quán)利要求1或2所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)引擎與第二 控制引擎之間的接口為以太網(wǎng)接口或快速外設(shè)部件互連PCIE接口或高速傳輸 HT接口 ;所述轉(zhuǎn)發(fā)引擎與路由引擎之間通過背板高速總線連接; 所述轉(zhuǎn)發(fā)引擎與各線卡板之間通過背板高速總線連接。
4、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)引擎包括 第二接口轉(zhuǎn)換模塊,從線卡板與轉(zhuǎn)發(fā)引擎之間的背板高速總線上提取數(shù)據(jù)報文,將報文轉(zhuǎn)換成轉(zhuǎn)發(fā)模塊可識別的報文后發(fā)給轉(zhuǎn)發(fā)模塊;轉(zhuǎn)發(fā)模塊,根據(jù)第二控制引擎發(fā)來的轉(zhuǎn)發(fā)表項更新自身的轉(zhuǎn)發(fā)表;接收 第二接口轉(zhuǎn)換模塊發(fā)來的數(shù)據(jù)報文,查找與報文對應(yīng)的轉(zhuǎn)發(fā)表項,若查找到,按照轉(zhuǎn)發(fā)表項將報文轉(zhuǎn)發(fā)出去;否則,將報文發(fā)送路由引擎。
5、 如權(quán)利要求4所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)引擎進一步 包括加密模塊,用于接收轉(zhuǎn)發(fā)模塊發(fā)來的數(shù)據(jù)報文,對報文進行加密或解密處理,將加密或解密后的數(shù)據(jù)報文返回給轉(zhuǎn)發(fā)模塊。
6、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述路由引擎包括 以太網(wǎng)接口擴展模塊,用于擴展路由引擎的以太網(wǎng)接口,接收第一控制引擎發(fā)來的控制報文或協(xié)議報文,將報文發(fā)送給路由模塊,將路由模塊發(fā)來 的轉(zhuǎn)發(fā)表項下發(fā)給第二控制引擎;路由模塊,當(dāng)收到以太網(wǎng)接口擴展模塊發(fā)來的協(xié)議報文或者轉(zhuǎn)發(fā)引擎發(fā) 來的數(shù)據(jù)報文時,計算報文的路由,將得到的轉(zhuǎn)發(fā)表項發(fā)送給以太網(wǎng)接口擴 展模塊。
7、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述路由引擎包括 第三接口轉(zhuǎn)換模塊,從轉(zhuǎn)發(fā)引擎與路由引擎之間的背板高速總線上提取數(shù)據(jù)報文,將報文轉(zhuǎn)換成路由模塊可識別的報文后發(fā)送給路由模塊;路由模塊,當(dāng)收到第三接口轉(zhuǎn)換模塊發(fā)來的數(shù)據(jù)報文或者第 一控制引擎 發(fā)來的協(xié)議報文時,計算報文的路由,將得到的轉(zhuǎn)發(fā)表項發(fā)送給第二控制引 擎。
8、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備進一步 包括位于第三主控板上的備路由引擎,且備路由引擎與所述路由引擎、第 一控制引擎、轉(zhuǎn)發(fā)引擎相連,所述路由引擎將自身的配置信息和轉(zhuǎn)發(fā)表項同步到備路由引擎,所述備 路由引擎在發(fā)現(xiàn)所述路由引擎異常時,將本備路由引擎標識通知轉(zhuǎn)發(fā)引擎和 第一控制引擎,并開始執(zhí)行所述路由引擎的功能。
9、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備進一步 包括位于第三主控板上的備轉(zhuǎn)發(fā)引擎和備第二控制引擎,且備第二控制引 擎與路由引擎和備轉(zhuǎn)發(fā)引擎相連,備轉(zhuǎn)發(fā)引擎與各線卡板和路由引擎相連,且,所述路由引擎將配置信息、轉(zhuǎn)發(fā)表項同時下發(fā)給所述轉(zhuǎn)發(fā)引擎和備 轉(zhuǎn)發(fā)引擎,并在發(fā)現(xiàn)所述轉(zhuǎn)發(fā)引擎或所述第二控制引擎異常時,將備轉(zhuǎn)發(fā)引 擎標識通知各線卡板,以便各線卡板與備轉(zhuǎn)發(fā)引擎建立連接,所述備轉(zhuǎn)發(fā)引擎在所述轉(zhuǎn)發(fā)引擎異常后,執(zhí)行所述轉(zhuǎn)發(fā)引擎的功能;所述備第二控制引擎在所述第二控制引擎異常時,執(zhí)行所述第二控制引 擎的功能。
10、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述網(wǎng)絡(luò)設(shè)備進一步包括分別位于第3-n主控板上的分擔(dān)轉(zhuǎn)發(fā)引擎l~n-2、分擔(dān)第二控制引擎 l~n-2,且每個分擔(dān)第二控制引擎分別與路由引擎相連,同時每個分擔(dān)第二 控制引擎與自身所在主控板上的分擔(dān)轉(zhuǎn)發(fā)引擎相連,每個分擔(dān)轉(zhuǎn)發(fā)引擎分別 與路由引擎相連,且所有線卡板被劃分為n-l部分,每個分擔(dān)轉(zhuǎn)發(fā)引擎和所 述轉(zhuǎn)發(fā)引擎分別與一部分線卡板相連,所述分擔(dān)轉(zhuǎn)發(fā)引擎l~n-2,用于保存所述轉(zhuǎn)發(fā)引擎和所有分擔(dān)轉(zhuǎn)發(fā)引擎的 出接口信息與線卡板信息的對應(yīng)關(guān)系,接收與自身相連的線卡板發(fā)來的數(shù)據(jù)報 文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,若找到,判斷轉(zhuǎn)發(fā)表項中的出接口對應(yīng)的線卡 板是否與自身相連,若相連,根據(jù)轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)報文,若不相連,確定出接口 對應(yīng)的線卡板所在的轉(zhuǎn)發(fā)引擎或分擔(dān)轉(zhuǎn)發(fā)引擎,將報文發(fā)送給所確定的轉(zhuǎn)發(fā)引 擎或分擔(dān)轉(zhuǎn)發(fā)引擎;若未找到,將數(shù)據(jù)報文發(fā)給路由引擎;所述分擔(dān)第二控制引擎l~n-2,用于將路由引擎發(fā)來的轉(zhuǎn)發(fā)表項下發(fā)給 與自身相連的分擔(dān)轉(zhuǎn)發(fā)引擎,其中,n為不小于3的整數(shù)。
11、 如權(quán)利要求10所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述轉(zhuǎn)發(fā)引擎和分 擔(dān)轉(zhuǎn)發(fā)引擎之間通過背板高速總線相連。
12、 如權(quán)利要求1所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述第一控制引擎由 PowerPC系列處理器或無內(nèi)部互鎖流水級MIPS系列處理器,或者由集成了 以太網(wǎng)控制器、快速外設(shè)部件互連PCIE或PCI控制器的片上系統(tǒng)SoC實現(xiàn),所述第二控制引擎由PowerPC系列處理器或MIPS系列處理器,或者由 集成了以太網(wǎng)控制器、PCIE或PCI控制器的片上系統(tǒng)SoC實現(xiàn),所述路由引擎由PowerPC系列處理器或MIPS系列處理器,或者由集成 了以太網(wǎng)控制器、PCIE或PCI控制器的片上系統(tǒng)SoC實現(xiàn),所述轉(zhuǎn)發(fā)引擎由網(wǎng)絡(luò)處理器NP或?qū)S眉呻娐稟SIC或多核處理器實現(xiàn)。
13、 一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備中的線卡板,其特征在于,包括報文區(qū)分模塊,接收報文,檢測報文是否為控制報文或協(xié)議報文,若為,將報文發(fā)送給第一控制引擎;否則,確定報文為數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā) 引擎;第一控制引擎,接收控制報文或協(xié)議報文,將報文發(fā)送給路由引擎。
14、 如權(quán)利要求13所述的線卡板,其特征在于,所述線卡板進一步包括 第 一接口轉(zhuǎn)換模塊,用于從本線卡板與業(yè)務(wù)接口卡相連的背板高速總線上提取
15、 一種集中式轉(zhuǎn)發(fā)方法,應(yīng)用在權(quán)利要求1所述的集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備 中,其特征在于,包括A、 線卡板接收報文,判斷報文是否為控制報文或協(xié)議報文,若是,通過 本線卡板的第一控制引擎將報文發(fā)送給路由引擎,轉(zhuǎn)至步驟C;否則,確定報 文為數(shù)據(jù)報文,將報文發(fā)送給轉(zhuǎn)發(fā)引擎,執(zhí)行步驟B;B、 轉(zhuǎn)發(fā)引擎接收數(shù)據(jù)報文,查找報文對應(yīng)的轉(zhuǎn)發(fā)表項,若找到,執(zhí)行步 驟D;否則,將數(shù)據(jù)報文發(fā)給路由引擎,執(zhí)行步驟C;C、 路由引擎接收協(xié)議報文或數(shù)據(jù)報文,計算報文的路由,將得到的轉(zhuǎn)發(fā) 表項通過第二控制引擎下發(fā)給轉(zhuǎn)發(fā)引擎,且,若報文為數(shù)據(jù)報文,將數(shù)據(jù)報文 返回給轉(zhuǎn)發(fā)引擎,并執(zhí)行步驟D;路由報文接收控制報文,根據(jù)報文作相應(yīng)控 制處理,本流程結(jié)束;D、 轉(zhuǎn)發(fā)引擎根據(jù)數(shù)據(jù)報文對應(yīng)的轉(zhuǎn)發(fā)表項,將報文轉(zhuǎn)發(fā)出去。
全文摘要
本發(fā)明公開了一種集中式轉(zhuǎn)發(fā)網(wǎng)絡(luò)設(shè)備及方法,網(wǎng)絡(luò)設(shè)備包括第一控制引擎、轉(zhuǎn)發(fā)引擎、第二控制引擎和路由引擎,且,第一控制引擎位于線卡板上,轉(zhuǎn)發(fā)引擎和第二控制引擎位于第一主控板上,路由引擎位于第二主控板上,其中第一控制引擎,將控制報文或協(xié)議報文發(fā)給路由引擎;轉(zhuǎn)發(fā)引擎,接收各線卡板發(fā)來的數(shù)據(jù)報文,若找到報文對應(yīng)的轉(zhuǎn)發(fā)表項,根據(jù)轉(zhuǎn)發(fā)表項轉(zhuǎn)發(fā)報文;否則,將報文發(fā)給路由引擎;路由引擎,當(dāng)收到協(xié)議報文或數(shù)據(jù)報文時,計算報文路由,將得到的轉(zhuǎn)發(fā)表項發(fā)給第二控制引擎;第二控制引擎,將轉(zhuǎn)發(fā)表項發(fā)給轉(zhuǎn)發(fā)引擎。本發(fā)明通過將路由引擎、控制引擎、轉(zhuǎn)發(fā)引擎分離,提高了集中式轉(zhuǎn)發(fā)性能。
文檔編號H04L12/56GK101252535SQ20081010300
公開日2008年8月27日 申請日期2008年3月28日 優(yōu)先權(quán)日2008年3月28日
發(fā)明者武 楊 申請人:杭州華三通信技術(shù)有限公司