專利名稱:報文轉(zhuǎn)發(fā)方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,特別涉及一種"l艮文轉(zhuǎn)發(fā)方法和裝置。
技術(shù)背景如圖1所示,在數(shù)據(jù)通信領(lǐng)域的路由器或者交換機中, 一塊典型的線路處 理卡(簡稱線卡)主要包括鏈路接口模塊(MAC/Framer )、報文轉(zhuǎn)發(fā)模塊(Packet Processor,簡稱PP )、流量管理模塊(Traffic Manager,簡稱TM)和交換 網(wǎng)接口模塊(Fabric Interface Chip,簡稱FIC),其中,所述報文轉(zhuǎn)發(fā)模塊 用于報文轉(zhuǎn)發(fā)?,F(xiàn)有技術(shù)采用三種方法實現(xiàn)報文轉(zhuǎn)發(fā)功能方法一采用網(wǎng)絡(luò)處理器(簡稱NP)實現(xiàn)報文轉(zhuǎn)發(fā)功能。由于NP具有可 編程的特性,所以能夠適應(yīng)網(wǎng)絡(luò)業(yè)務(wù)功能更新越來越快的發(fā)展趨勢。但是,NP 很難實現(xiàn)高性能的報文轉(zhuǎn)發(fā)功能,并且成本較高。方法二采用專用集成電路芯片(ASIC)實現(xiàn)報文轉(zhuǎn)發(fā)功能。由于ASIC芯 片不具備可編程的特性,開發(fā)周期長,其功能靈活性較低,很難適應(yīng)網(wǎng)絡(luò)業(yè)務(wù) 功能快速更新的需要。方法三采用NP+ASIC實現(xiàn)^=艮文轉(zhuǎn)發(fā)功能?,F(xiàn)有技術(shù)采用NP+ASIC實現(xiàn)PP功能的過程中,在NP向ASIC芯片傳輸數(shù)據(jù) 報文時,NP在所述數(shù)據(jù)報文之前添加一個自定義的幀頭,該幀頭中攜帶所述數(shù) 據(jù)報文的轉(zhuǎn)發(fā)類型、優(yōu)先級以及端口號等信息。ASIC芯片接收到所述數(shù)據(jù)報文 后,其內(nèi)部的起始功能模塊對所述數(shù)據(jù)報文的幀頭信息進行分析、處理,根據(jù) 所述幀頭中攜帶的信息獲得該數(shù)據(jù)報文需要實現(xiàn)的網(wǎng)絡(luò)業(yè)務(wù)功能,并將所述數(shù) 據(jù)報文發(fā)送到ASIC芯片內(nèi)部相應(yīng)的處理模塊上進行處理,從而實現(xiàn)對所述數(shù)據(jù)報文的轉(zhuǎn)發(fā)工作。
在實施本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),在與NP配合使用的過程中,ASIC 芯片要通過起始功能模塊從數(shù)據(jù)報文中分析出需要對所述數(shù)據(jù)報文完成的網(wǎng)絡(luò) 業(yè)務(wù)功能,將所述數(shù)據(jù)報文發(fā)送到相應(yīng)的處理模塊上進行處理,這就需要ASIC 芯片在開發(fā)的過程中考慮到以后與NP配合時,接口數(shù)據(jù)結(jié)構(gòu)中各種可能的具體 數(shù)據(jù)組合。 一方面,增加了 ASIC芯片的設(shè)計難度,另一方面,也限制了將來NP 和ASIC芯片之間配合的靈活性,增加了 NP與ASIC配合完成的數(shù)據(jù)報文總體轉(zhuǎn) 發(fā)處理流程的設(shè)計難度。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種報文轉(zhuǎn)發(fā)方法和裝置,簡化報文轉(zhuǎn)發(fā)芯片的設(shè)計。 本發(fā)明解決上述技術(shù)問題的一個實施例是報文轉(zhuǎn)發(fā)方法,包括.'接收數(shù) 據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識;將所述處理標(biāo)識與處理模塊預(yù)先設(shè)置 的處理標(biāo)識進行比較,獲得比較結(jié)果;根據(jù)所述比較結(jié)果對接收到的數(shù)據(jù)報文 進行處理。
本發(fā)明解決上述技術(shù)問題的另一個實施例是報文轉(zhuǎn)發(fā)裝置,包括 報文接收單元,用于接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識; 標(biāo)識比較單元,用于將所述報文接收單元獲得的處理標(biāo)識與處理4莫塊預(yù)先
設(shè)置的處理標(biāo)識進行比較,獲得比較結(jié)果;
報文處理單元,用于根據(jù)所述標(biāo)識比較單元獲得的比較結(jié)果,對接收到的
數(shù)據(jù)報文進行處理。
本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法和裝置,由于預(yù)先為處理模塊設(shè)置了處
理標(biāo)識,數(shù)據(jù)報文中攜帶處理標(biāo)識,所述處理模塊可以將自身設(shè)置的處理標(biāo)識
與數(shù)據(jù)報文中攜帶的處理標(biāo)識進行比較,從而判斷出是否對該數(shù)據(jù)報文進行處理,解決了現(xiàn)有技術(shù)中處理模塊自身不能判斷出是否對接收到的數(shù)據(jù)報文進行 處理的問題,簡化了報文轉(zhuǎn)發(fā)芯片的設(shè)計工作,易于實現(xiàn)數(shù)據(jù)報文轉(zhuǎn)發(fā)的功能 擴展,適應(yīng)網(wǎng)絡(luò)高速發(fā)展的需要。
圖1為現(xiàn)有技術(shù)中線卡的結(jié)構(gòu)示意圖;圖3為本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法第一實施例流程圖;數(shù)據(jù)報文結(jié)構(gòu)示意圖;圖5為利用本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,在轉(zhuǎn)發(fā)數(shù)據(jù)報文的過程中, NP與AS IC芯片配合完成負載均衡功能和優(yōu)先級功能的示意圖;圖6為本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)裝置結(jié)構(gòu)示意圖。
具體實施方式
否對接收到的數(shù)據(jù)報文進行處理,所以使報文轉(zhuǎn)發(fā)芯片的設(shè)計復(fù)雜。本發(fā)明的實施例提供一種報文轉(zhuǎn)發(fā)方法和裝置,處理模塊通過將接收到的數(shù)據(jù)報文中攜帶的處理標(biāo)識與自身預(yù)先設(shè)置的處理標(biāo)識進行比較,判斷是否對該數(shù)據(jù)報文進行處理。下面結(jié)合附圖和實施例對本發(fā)明作詳細說明實施例l:以采用NP+ASIC實現(xiàn)報文轉(zhuǎn)發(fā)功能,ASIC芯片在轉(zhuǎn)發(fā)過程中, 完成一個業(yè)務(wù)功能為例,對本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法進行說明。由于在路由器或者交換機等網(wǎng)絡(luò)^:備中,從網(wǎng)絡(luò)端口到交換網(wǎng)的方向(上 行方向),完成了數(shù)據(jù)報文整個轉(zhuǎn)發(fā)過程中的大部分功能,因此,為了使NP和ASIC配合使用的效果更好,如圖2所示,NP—般放置在路由器或交換機的鏈路 接口模塊與ASIC芯片之間的接口上。NP和ASIC芯片之間采用標(biāo)準(zhǔn)的接口相連, 例如SPI4、 XAUI等。
如圖3所示,本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,包括
步驟301, ASIC芯片接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識;
其中,所述數(shù)據(jù)報文的處理標(biāo)識包括模塊號或者模塊名,本實施例以所 述數(shù)據(jù)報文的處理標(biāo)識是模塊號為例進行說明;
在本實施例中,所述數(shù)據(jù)報文的處理標(biāo)識是由NP添加的,其具體步驟包括 NP確定所述數(shù)據(jù)報文需要ASIC芯片完成的業(yè)務(wù)功能,根據(jù)該業(yè)務(wù)功能,在數(shù)據(jù) 報文中添加能夠完成所述業(yè)務(wù)功能的處理模塊的模塊號,如圖4所示,所述模 塊號可以添加在數(shù)據(jù)報文幀頭的起始位置,在實際的使用中,所述模塊號也可 以添加在數(shù)據(jù)報文幀頭的其他位置;
為了使所述ASIC芯片的處理模塊能夠有針對性地對所述數(shù)據(jù)報文完成相應(yīng) 的業(yè)務(wù)功能,所述數(shù)據(jù)報文中還可以攜帶其他功能信息,例如數(shù)據(jù)報文的轉(zhuǎn) 發(fā)類型信息,或者優(yōu)先級信息,或者端口號信息等,如圖4所示,在本實施例 中,所述功能信息一般添加在數(shù)據(jù)報文的幀頭,位于模塊號后;所述數(shù)據(jù)報文 的功能信息同樣是由NP添加的;步驟302, ASIC芯片內(nèi)部的處理模塊將步驟301 中獲得的數(shù)據(jù)報文的模塊號與其自身預(yù)先設(shè)置的處理標(biāo)識進行比較,獲得比較 結(jié)果;
在本實施例中,所述處理模塊預(yù)先設(shè)置的處理標(biāo)識也可以包括模塊號和才莫 塊名,本實施例以處理模塊預(yù)先設(shè)置的處理標(biāo)識是模塊號為例進行說明;
步驟303, ASIC芯片內(nèi)部的處理模塊根據(jù)步驟302中獲得的比較結(jié)果,對 接收到的數(shù)據(jù)報文進行處理。
在本實施例中,ASIC芯片內(nèi)部的處理模塊之間以串聯(lián)的形式連接。所述步驟303具體包括當(dāng)步驟302判斷數(shù)據(jù)報文的模塊號與處理模塊預(yù)先設(shè)置的模 塊號相同時,該處理模塊對所述數(shù)據(jù)報文進行處理,并將處理完的數(shù)據(jù)才艮文發(fā) 送到下一個處理模塊上,或者發(fā)送出去;當(dāng)步驟302判斷數(shù)據(jù)報文的模塊號與 處理模塊預(yù)先設(shè)置的模塊號不同時,該處理模塊不對所述數(shù)據(jù)報文進行處理, 直接將所述數(shù)據(jù)報文透傳到下一個處理^f莫塊上,或者發(fā)送出去。如圖5所示,為利用本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,在轉(zhuǎn)發(fā)數(shù)據(jù)報文 的過程中,NP與ASIC芯片配合完成負載均衡功能和優(yōu)先級功能的示意圖。圖5 中,NP在對數(shù)據(jù)報文完成負載均衡功能后,確定所述數(shù)據(jù)報文需要ASIC芯片為 其完成優(yōu)先級功能,NP預(yù)先知道ASIC芯片中能夠完成優(yōu)先級功能的處理模塊為 Pl,所述P1的模塊號為2, NP將P1的模塊號2添加到數(shù)據(jù)報文中,并在所述 數(shù)據(jù)報文中添加與優(yōu)先級功能相關(guān)的優(yōu)先級信息,NP將所述數(shù)據(jù)報文發(fā)送給 ASIC芯片,ASIC芯片的PO模塊首先接收到所述數(shù)據(jù)報文,并從中獲取其所攜 帶的模塊號2,與自身的模塊號1相比,發(fā)現(xiàn)不相同,不對所述數(shù)據(jù)報文做處理, 并將其透傳到Pl模塊,所述P1模塊以相同的方法判斷數(shù)據(jù)報文中的模塊號與 其自身的模塊號相同,Pl模塊從所述數(shù)據(jù)報文中獲得優(yōu)先級信息,并根據(jù)所述 優(yōu)先級信息對數(shù)據(jù)報文進行優(yōu)先級處理,將Pl模塊將處理完成的數(shù)據(jù)報文發(fā)送 到P2模塊,P2模塊判斷所述數(shù)據(jù)報文的模塊號2與自身的模塊號3不同,不對 數(shù)據(jù)報文進行處理,并將所述數(shù)據(jù)報文發(fā)送出去。本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,由于預(yù)先為處理模塊設(shè)置了處理標(biāo)識, 數(shù)據(jù)報文中攜帶處理標(biāo)識,所述處理模塊可以將自身設(shè)置的處理標(biāo)識與數(shù)據(jù)報 文中攜帶的處理標(biāo)識進行比較,從而判斷出是否對該數(shù)據(jù)報文進行處理,解決 了現(xiàn)有技術(shù)中處理模塊自身不能判斷出是否對接收到的數(shù)據(jù)報文進行處理的問 題,簡化了報文轉(zhuǎn)發(fā)芯片的設(shè)計工作,易于實現(xiàn)數(shù)據(jù)報文轉(zhuǎn)發(fā)的功能擴展,適 應(yīng)網(wǎng)絡(luò)高速發(fā)展的需要。實施例2:以采用NP+ASIC實現(xiàn)報文轉(zhuǎn)發(fā)功能,ASIC芯片在轉(zhuǎn)發(fā)過程中,完成多個業(yè)務(wù)功能為例,對本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法進行說明。本實
施例提供的報文轉(zhuǎn)發(fā)方法與實施例1的流程基本相同,區(qū)別在于
所述數(shù)據(jù)報文攜帶一個以上的處理標(biāo)識,所述處理標(biāo)識組成一個位圖;所 述數(shù)據(jù)報文攜帶的處理標(biāo)識個數(shù)(即位圖的位數(shù))可以與ASIC芯片中的處理 才莫塊凄t相同,也可以不同,在本實施例中,所述處理標(biāo)識的個lt與ASIC芯片中 的處理模塊個數(shù)相同;所述數(shù)據(jù)報文中的處理標(biāo)識與ASIC芯片中的處理模塊存 在對應(yīng)關(guān)系,例如存在——對應(yīng)關(guān)系或者一對多的對應(yīng)關(guān)系,在本實施例中, 所述數(shù)據(jù)報文的處理標(biāo)識與ASIC芯片中的處理模塊存在——對應(yīng)關(guān)系;所述數(shù) 據(jù)導(dǎo)艮文中的每個處理標(biāo)識可以為選中標(biāo)識,也可以為未選中標(biāo)識,在位圖中, 以l表示選中標(biāo)識,以O(shè)表示未選中標(biāo)識。
所述ASIC芯片中的處理模塊預(yù)先設(shè)置選中標(biāo)識,在對數(shù)據(jù)報文進行轉(zhuǎn)發(fā)的 過程中,所述處理模塊將數(shù)據(jù)報文中與其對應(yīng)的處理標(biāo)識與自身的處理標(biāo)識進 行比較,當(dāng)比較相同時,該處理模塊對所述數(shù)據(jù)報文進行處理,當(dāng)比較不同時, 該處理模塊不對所述數(shù)據(jù)報文進行處理。
本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法,由于數(shù)據(jù)報文攜帶一個以上的處理標(biāo) 識,所以可以使用ASIC芯片內(nèi)部的多個處理模塊對所述數(shù)據(jù)報文進行處理,由 于預(yù)先為處理模塊設(shè)置了處理標(biāo)識,數(shù)據(jù)報文中攜帶處理標(biāo)識,所述處理模塊 可以將自身設(shè)置的處理標(biāo)識與數(shù)據(jù)報文中攜帶的處理標(biāo)識進行比較,從而判斷 出是否對該數(shù)據(jù)報文進行處理,解決了現(xiàn)有技術(shù)中處理模塊自身不能判斷出是 否對接收到的數(shù)據(jù)報文進行處理的問題,筒化了報文轉(zhuǎn)發(fā)芯片的設(shè)計工作,易 于實現(xiàn)數(shù)據(jù)報文轉(zhuǎn)發(fā)的功能擴展,適應(yīng)網(wǎng)絡(luò)高速發(fā)展的需要。
如圖6所示,本發(fā)明實施例提供的^^艮文轉(zhuǎn)發(fā)裝置,包括
報文接收單元,用于接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識;
標(biāo)識比較單元,用于將所述報文接收單元獲得的處理標(biāo)識與處理;漠塊預(yù)先設(shè)置的處理標(biāo)識進行比較,獲得比較結(jié)果;報文處理單元,用于根據(jù)所述標(biāo)識比較單元獲得的比較結(jié)果,對接收到的 數(shù)據(jù)報文進行處理。在本實施例中,所述報文轉(zhuǎn)發(fā)裝置可以位于路由器上或交換機的專用集成 電路芯片,或者多核處理器中。本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)裝置,由于預(yù)先為處理模塊設(shè)置了處理標(biāo)識, 數(shù)據(jù)報文中攜帶處理標(biāo)識,所述處理模塊可以將自身設(shè)置的處理標(biāo)識與數(shù)據(jù)報 文中攜帶的處理標(biāo)識進行比較,從而判斷出是否對該數(shù)據(jù)報文進行處理,解決 了現(xiàn)有技術(shù)中處理模塊自身不能判斷出是否對接收到的數(shù)據(jù)報文進行處理的問 題,筒化了報文轉(zhuǎn)發(fā)芯片的設(shè)計工作,易于實現(xiàn)數(shù)據(jù)報文轉(zhuǎn)發(fā)的功能擴展,適 應(yīng)網(wǎng)絡(luò)高速發(fā)展的需要。本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法和裝置,不僅可以應(yīng)用在NP+ASIC轉(zhuǎn)發(fā) 芯片上,還可以應(yīng)用在現(xiàn)場可編程門陣列(FPGA)芯片,或者多核處理器上, 實現(xiàn)才艮文的轉(zhuǎn)發(fā)。以上所述,僅為本發(fā)明實施例的具體實施方式
,但本發(fā)明實施例的保護范 圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi), 可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明 實施例的保護范圍應(yīng)該以權(quán)利要求的保護范圍為準(zhǔn)。
權(quán)利要求
1、一種報文轉(zhuǎn)發(fā)方法,其特征在于,包括接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識;將所述處理標(biāo)識與處理模塊預(yù)先設(shè)置的處理標(biāo)識進行比較,獲得比較結(jié)果;根據(jù)所述比較結(jié)果對接收到的數(shù)據(jù)報文進行處理。
2、 根據(jù)權(quán)利要求1所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述處理標(biāo)識包括 模塊號或模塊名。
3、 根據(jù)權(quán)利要求1或2所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述根據(jù)所述 比較結(jié)果對接收到的數(shù)據(jù)報文進行處理的步驟包括當(dāng)比較結(jié)果相同時,處理模塊對該數(shù)據(jù)報文進行處理; 當(dāng)比較結(jié)果不同時,處理模塊不對該數(shù)據(jù)報文進行處理。
4、 根據(jù)權(quán)利要求1所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述數(shù)據(jù)報文包括 一個以上的處理標(biāo)識,所述處理標(biāo)識與處理模塊之間存在對應(yīng)關(guān)系。
5、 根據(jù)權(quán)利要求4所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述數(shù)據(jù)報文的處 理標(biāo)識包括選中標(biāo)識或者未選中標(biāo)識,所述處理^t塊預(yù)先設(shè)置的處理標(biāo)識包 括選中標(biāo)識;所述將所述處理標(biāo)識與處理^f莫塊預(yù)先設(shè)置的處理標(biāo)識進行比較的步驟包括將從數(shù)據(jù)報文中獲得的處理標(biāo)識與處理模塊預(yù)先設(shè)置的選中標(biāo)識進行比較;所述根據(jù)所述比較結(jié)果對接收到的數(shù)據(jù)報文進行處理的步驟包括 當(dāng)比較結(jié)果相同時,處理模塊對該數(shù)據(jù)報文進行處理; 當(dāng)比較結(jié)果不同時,處理模塊不對該數(shù)據(jù)報文進行處理。
6、 根據(jù)權(quán)利要求4或5所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述處理標(biāo)識的個數(shù)與處理模塊的個數(shù)之間存在對應(yīng)關(guān)系。
7、 根據(jù)權(quán)利要求1所述的報文轉(zhuǎn)發(fā)方法,其特征在于,所述數(shù)據(jù)報文中的 處理標(biāo)識位于該數(shù)據(jù)報文的起始位置。
8、 一種報文轉(zhuǎn)發(fā)裝置,其特征在于,包括報文接收單元,用于接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識; 標(biāo)識比較單元,用于將所述報文接收單元獲得的處理標(biāo)識與處理模塊預(yù)先設(shè)置的處理標(biāo)識進行比較,獲得比較結(jié)果;報文處理單元,用于根據(jù)所述標(biāo)識比較單元獲得的比較結(jié)果,對接收到的數(shù)據(jù)報文進行處理。
9、 根據(jù)權(quán)利要求8所述的報文轉(zhuǎn)發(fā)裝置,其特征在于,所述報文轉(zhuǎn)發(fā)裝置 位于專用集成電路芯片,或者多核處理器。
全文摘要
本發(fā)明公開了一種報文轉(zhuǎn)發(fā)方法和裝置,涉及通信領(lǐng)域,為解決報文轉(zhuǎn)發(fā)芯片內(nèi)部的處理模塊自身不能判斷是否對接收到的數(shù)據(jù)報文進行處理,而使報文轉(zhuǎn)發(fā)芯片設(shè)計復(fù)雜的問題而發(fā)明。本發(fā)明的技術(shù)方案為報文轉(zhuǎn)發(fā)方法,包括接收數(shù)據(jù)報文,并獲取該數(shù)據(jù)報文的處理標(biāo)識;將所述處理標(biāo)識與處理模塊預(yù)先設(shè)置的處理標(biāo)識進行比較,獲得比較結(jié)果;根據(jù)所述比較結(jié)果對接收到的數(shù)據(jù)報文進行處理。本發(fā)明實施例提供的報文轉(zhuǎn)發(fā)方法和裝置,不僅可以應(yīng)用在NP+ASIC轉(zhuǎn)發(fā)芯片上,還可以應(yīng)用在FPGA芯片,或者多核處理器上。
文檔編號H04L12/56GK101237404SQ20081000747
公開日2008年8月6日 申請日期2008年3月11日 優(yōu)先權(quán)日2008年3月11日
發(fā)明者彭曉澎, 李新慧, 雄 楊, 黃天強 申請人:華為技術(shù)有限公司