專利名稱:一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng)。
背景技術(shù):
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)絡(luò)設(shè)備的功能也越來越豐富,對網(wǎng)絡(luò)流量的分析和監(jiān)控 的必要性愈加突出。目前主要通過網(wǎng)絡(luò)設(shè)備對流量以及報文實施監(jiān)控,來實現(xiàn)對網(wǎng)絡(luò)的控 制。由于不同的網(wǎng)絡(luò)設(shè)備對報文處理的側(cè)重點不同,而且?guī)捴С忠膊煌?,所以部署時經(jīng)常 需要將各個網(wǎng)絡(luò)設(shè)備組成集群,以便同一集群中的各個網(wǎng)絡(luò)設(shè)備可以通過相互之間的協(xié)助 分析,來滿足報文處理需求。在這種部署下,同一集群內(nèi)的網(wǎng)絡(luò)設(shè)備之間可能需要進行報文 轉(zhuǎn)向,以便將特定的分析需求交給特定的網(wǎng)絡(luò)設(shè)備處理。如果需要將報文依次交給本集群 內(nèi)的多個網(wǎng)絡(luò)設(shè)備處理,那么,就需要實現(xiàn)對報文的多次轉(zhuǎn)向。其中,轉(zhuǎn)向是指將報文由一 個網(wǎng)絡(luò)設(shè)備交給另一個網(wǎng)絡(luò)設(shè)備進行處理,處理完后再將報文返回的過程?,F(xiàn)有技術(shù)一般通過在原始報文中添加虛擬局域網(wǎng)(Vlan,Virtual Local AreaNetwork)頭,來實現(xiàn)報文在不同網(wǎng)絡(luò)設(shè)備間的多次轉(zhuǎn)向。主要通過為Vlan頭中的不同 的字段定義不同的含義,并將多次轉(zhuǎn)向信息存儲在Vlan頭中,然后在轉(zhuǎn)向時,在原始報文 上加上該Vlan頭,各個網(wǎng)絡(luò)設(shè)備接收到添加了 Vlan頭的報文后,通過對Vlan頭的解析處 理,就可以知道將該報文轉(zhuǎn)向哪個設(shè)備以及如何轉(zhuǎn),從而實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間的多次 轉(zhuǎn)向。其中,一層Vlan頭可以攜帶12比特位(bit)的信息,如果需要攜帶更多的多次轉(zhuǎn)向 信息,則需要多添加一層Vlan頭。但是,現(xiàn)有的標準協(xié)議僅支持最多兩層vlan頭的報文,這樣,最多可以攜帶24bit 的多次轉(zhuǎn)向信息,攜帶的多次轉(zhuǎn)向信息十分有限。
發(fā)明內(nèi)容
本發(fā)明實施例提供一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng),可以在符合現(xiàn)有標準協(xié) 議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。一種報文多次轉(zhuǎn)向方法,包括接收第一從設(shè)備發(fā)送的報文,所述報文包括攜帶有多次轉(zhuǎn)向信息的多協(xié)議標簽交 換(MPLS,Multi-Protocol Label Switching)頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字 段,所述多次轉(zhuǎn)向標識字段用于指示需要轉(zhuǎn)向到的從設(shè)備;根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備;將報文發(fā)送給所述第二從設(shè)備。一種網(wǎng)絡(luò)設(shè)備,包括第一接收單元,用于接收第一從設(shè)備發(fā)送的報文,所述報文包括攜帶有多次轉(zhuǎn)向 信息的MPLS頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,所述多次轉(zhuǎn)向標識字段用于指 示需要轉(zhuǎn)向到的從設(shè)備;確定單元,用于根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備;
發(fā)送單元,用于將報文發(fā)送給所述第二從設(shè)備。一種通信系統(tǒng),包括主設(shè)備和附屬于所述主設(shè)備的至少一個從設(shè)備,其中,所述主 設(shè)備為上述的網(wǎng)絡(luò)設(shè)備;從設(shè)備,用于接收主設(shè)備發(fā)送的報文,以及發(fā)送報文給主設(shè)備,所述報文包括攜帶 多次轉(zhuǎn)向信息的MPLS頭。本發(fā)明實施例采用MPLS頭攜帶多次轉(zhuǎn)向信息來實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間的多次 轉(zhuǎn)向,由于MPLS相對于現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且現(xiàn)有的標準協(xié)議還可 以支持最多7層的MPLS頭,所以采用該方案,較現(xiàn)有方案而言,更為靈活方便,擴展性更強, 可以在符合現(xiàn)有標準協(xié)議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。
為了更清楚地說明本發(fā)明實施例的技術(shù)方案,下面將對實施例描述中所需要使用 的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本 領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖Ia是本發(fā)明實施例的報文多次轉(zhuǎn)向的場景示意圖;圖Ib是本發(fā)明實施例提供的報文多次轉(zhuǎn)向方法的流程圖;圖Ic是本發(fā)明實施例提供的MPLS頭的結(jié)構(gòu)示意圖;圖加是本發(fā)明實施例二中MPLS頭的結(jié)構(gòu)示意圖;圖2b是本發(fā)明實施例二提供的報文多次轉(zhuǎn)向方法的流程圖;圖2c是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備1時的示意圖;圖2d是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備1時的報文示意圖;圖2e是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備2時的示意圖;圖2f是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備2時的報文示意圖;圖2g是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備3時的示意圖;圖池是本發(fā)明實施例二中將報文轉(zhuǎn)向至從設(shè)備3時的報文示意圖;圖2i是本發(fā)明實施例二中將報文從鏈路發(fā)送出去時的示意圖;圖2j是本發(fā)明實施例二中將報文從鏈路發(fā)送出去時的報文示意圖;圖3a是本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備的結(jié)構(gòu)示意圖;圖北是本發(fā)明實施例提供的網(wǎng)絡(luò)設(shè)備的另一結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完 整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施 例,都屬于本發(fā)明保護的范圍。在網(wǎng)絡(luò)中,可以包括有若干個設(shè)備集群,每個設(shè)備集群中可以包括一個主設(shè)備和 若干個從設(shè)備,其中,主設(shè)備部署在網(wǎng)絡(luò)鏈路中,從設(shè)備附屬于主設(shè)備。如果主設(shè)備鏈路中 有報文需要一個以上的從設(shè)備進行處理,就需要在該集群內(nèi)部實現(xiàn)對該報文的多次轉(zhuǎn)向。 例如,參見圖la,在該應(yīng)用場景中,主設(shè)備部署在網(wǎng)絡(luò)鏈路中,從設(shè)備1、從設(shè)備2和從設(shè)備3均附屬于主設(shè)備,其中,從設(shè)備1、從設(shè)備2和從設(shè)備3可以對報文進行不同的處理。如果 報文B需要轉(zhuǎn)向到從設(shè)備1、從設(shè)備2和從設(shè)備3,則,如圖Ia所示,報文B的多次轉(zhuǎn)向流程 可以如下1、主設(shè)備從數(shù)據(jù)鏈路(即網(wǎng)絡(luò)鏈路)上接收報文B ;2、主設(shè)備將報文B發(fā)送給從設(shè)備1 ;3、從設(shè)備1在接收到該報文B后,對報文B進行處理,得到報文Bl,將報文Bl返回
給主設(shè)備;4、主設(shè)備將報文Bl發(fā)送給從設(shè)備2 ;5、從設(shè)備2在接收到該報文Bl后,對報文Bl進行處理,得到報文B2,將報文B2返
回給主設(shè)備;6、主設(shè)備將報文B2發(fā)送給從設(shè)備3 ;7、從設(shè)備3在接收到該報文B2后,對報文B2進行處理,得到報文B3,將報文B3返
回給主設(shè)備;8、主設(shè)備將報文B3通過數(shù)據(jù)鏈路發(fā)送出去,比如,發(fā)送給數(shù)據(jù)鏈路上的下游設(shè)備。本發(fā)明實施例提供一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng)。以下分別進行詳細說明。實施例一、本實施例將從主設(shè)備的角度進行描述?!N報文多次轉(zhuǎn)向方法,包括接收第一從設(shè)備發(fā)送的報文,其中,該報文包括攜 帶有多次轉(zhuǎn)向信息的MPLS頭,多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,多次轉(zhuǎn)向標識字段用 于指示需要轉(zhuǎn)向到的從設(shè)備;根據(jù)上述多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備; 將報文發(fā)送給第二從設(shè)備。在接收第一從設(shè)備發(fā)送的報文之前,還可以包括接收上游設(shè)備發(fā)送的原始報文, 在該原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備。參見圖lb,具體流程可以如下101、接收上游設(shè)備發(fā)送的原始報文;102、在該原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備 (即本設(shè)備集群中的一個從設(shè)備);其中,參見圖lc,多次轉(zhuǎn)向信息可以包括多次轉(zhuǎn)向標識字段,該多次轉(zhuǎn)向標識字段 用于指示需要轉(zhuǎn)向到的從設(shè)備或從設(shè)備組(即用于指示需要轉(zhuǎn)向到哪些從設(shè)備或從設(shè)備 組);此外,該多次轉(zhuǎn)向信息還可以包括鏈路號字段,該鏈路號字段用于指示主設(shè)備中接收 到原始報文的鏈路;其中,多次轉(zhuǎn)向標識字段的比特位(bit)數(shù)目M和鏈路號字段的比特位 數(shù)目N可以根據(jù)實際應(yīng)用的需求進行設(shè)置。例如,可以設(shè)置多次轉(zhuǎn)向標識字段的比特位數(shù) 目M為12,而鏈路號字段的比特位數(shù)目N為8 ;或者,還可以設(shè)置多次轉(zhuǎn)向標識字段的比特 位數(shù)目M為14,而鏈路號字段的比特位數(shù)目N為6,等等。還需說明的是,如圖Ic所示,MPLS頭還可以包括服務(wù)類型(CoS,Class ofService)字段、棧(S,Stack)字段和存活時間(TTL,Time-to-Live)字段,其中,CoS字 段為3個比特位,S字段為1個比特位,TTL字段為8個比特位。其中,多次轉(zhuǎn)向信息可以占用現(xiàn)有MPLS協(xié)議規(guī)定的MPLS頭中的空閑比特位。
則此時,在原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭具體可以如下(1)將接收到原始報文的鏈路的標識添加在MPLS頭的鏈路號字段中;也就是說, 鏈路號字段標示著原始報文從主設(shè)備的哪條鏈路(主設(shè)備可以包括多條鏈路)進入,這樣, 在多次轉(zhuǎn)向完成之后,主設(shè)備就可以根據(jù)該鏈路號字段找到與該鏈路的入端口對應(yīng)的出端 口將報文發(fā)送出去。其中,具體可采用鏈路號作為鏈路的標識。(2)將本設(shè)備集群(即主設(shè)備所在的設(shè)備集群)中所有需要轉(zhuǎn)向到的從設(shè)備按照 預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標識字段中。例如,具體可以如下附屬于該主設(shè)備的每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的至少一個比特位,并 且設(shè)置當(dāng)該至少一個比特位置為第一值時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上;則此時,將所 有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標識字段中可以包 括按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備所對應(yīng)的至少一個比特位;將每個需要轉(zhuǎn)向 到的從設(shè)備所對應(yīng)的至少一個比特位置為所述第一值。其中,每個從設(shè)備所對應(yīng)的多次轉(zhuǎn)向標識字段中的比特位數(shù)以及第一值可以根據(jù) 運營商的策略進行預(yù)置,比如,當(dāng)每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的1個比特位時, 可以將第一值設(shè)置為O或1 ;當(dāng)每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的2個比特位時,可 以將第一值設(shè)置為00、01、10或11 ;以此類推。為了描述方便,在本發(fā)明實施例中,將以第 一值具體為0或1,且每個從設(shè)備對應(yīng)一個比特位為例進行說明,例如,可以如下方式一在多次轉(zhuǎn)向標識字段中為每個從設(shè)備設(shè)置對應(yīng)的比特位,并設(shè)定當(dāng)比特位置1 時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上,則此時,將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備按 照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標識字段中具體可以為按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備所對應(yīng)的比特位(即確定哪個從設(shè)備對應(yīng) 于多次轉(zhuǎn)向標識字段中的哪個比特位);將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備所對應(yīng) 的比特位置為1。方式二在多次轉(zhuǎn)向標識字段中為每個從設(shè)備設(shè)置對應(yīng)的比特位,并設(shè)定當(dāng)比特位置0 時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上,則此時,將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備按 照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標識字段中具體可以為按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備所對應(yīng)的比特位(即確定哪個從設(shè)備對應(yīng) 于多次轉(zhuǎn)向標識字段中的哪個比特位);將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備所對應(yīng) 的比特位置為0。在原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭后,就可以按照預(yù)置的轉(zhuǎn)向順 序?qū)⑻砑恿嗽揗PLS頭的報文轉(zhuǎn)向到第一從設(shè)備。例如,可以如下按照預(yù)置的轉(zhuǎn)向順序,從MPLS頭的多次轉(zhuǎn)向標識字段的一端開始查找;當(dāng)查找到 第一個第一值(比如1或0)時,將添加了 MPLS頭的報文轉(zhuǎn)向到第一從設(shè)備,其中,第一從 設(shè)備對應(yīng)于該第一個第一值所在的比特位。其中,轉(zhuǎn)向順序指的是轉(zhuǎn)向時本設(shè)備集群中各個從設(shè)備的排列順序,S卩,所有需要 轉(zhuǎn)向到的從設(shè)備被轉(zhuǎn)向到的先后順序,該轉(zhuǎn)向順序具體可以根據(jù)預(yù)置策略進行設(shè)置。比如,如果各個從設(shè)備在主設(shè)備中都具有對應(yīng)的一個編號,稱為從設(shè)備編號,則此時,轉(zhuǎn)向順序可 以設(shè)置為按從設(shè)備編號從小到大轉(zhuǎn)向,或者,也可以設(shè)置為按從設(shè)備編號從大到小轉(zhuǎn)向,還 可以設(shè)置為按照任意編號順序轉(zhuǎn)向。例如,主設(shè)備外接了 N(N為大于1的正整數(shù))個從設(shè) 備,編號分別為1,2,...,N,需要轉(zhuǎn)向到其中編號為1,2,5,8,N的這5個從設(shè)備,并且預(yù)置 轉(zhuǎn)向順序為5,2,8,N,1,多次轉(zhuǎn)向字段的總比特數(shù)也為N,一個從設(shè)備對應(yīng)于一個比特位, 則此時,在將所有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標 識字段時,可以將多次轉(zhuǎn)向標識字段的N個比特位中的左起(或右起)第1個比特位設(shè)置 為與從設(shè)備5對應(yīng),第2個比特位與從設(shè)備2對應(yīng),第3個比特位與從設(shè)備8對應(yīng),第4個 比特位與從設(shè)備N對應(yīng),第5個比特位與從設(shè)備1對應(yīng),其余(N-5)個比特位可以與剩余的 (N-5)個從設(shè)備任意對應(yīng),在查找時就可以從多次轉(zhuǎn)向字段的左端(或右端)開始查找。另外,需要說明的是,報文所攜帶的MPLS頭可以有多層,具體可以根據(jù)實際需要 攜帶的信息量來確定MPLS頭的層數(shù)。例如,當(dāng)主設(shè)備外接的從設(shè)備數(shù)目較多時,多次轉(zhuǎn) 向標識字段的比特位數(shù)也會相應(yīng)較大,主設(shè)備中的鏈路總數(shù)較多時,鏈路號字段的比特位 數(shù)也會相應(yīng)地較大,此時,若一個MPLS頭無法攜帶完這些信息,則可以用二個甚至更多的 MPLS頭來攜帶多次轉(zhuǎn)向信息(包括多次轉(zhuǎn)向標識字段和鏈路號字段)。一般的,現(xiàn)有標準 協(xié)議最多可以支持7層的MPLS頭。103、接收第一從設(shè)備發(fā)送的報文,其中,報文包括攜帶多次轉(zhuǎn)向信息的MPLS頭; 具體可以如下第一從設(shè)備接收到主設(shè)備發(fā)送的報文后,對報文的數(shù)據(jù)部分進行處理,但不改變 MPLS頭,然后將處理后的報文返回給主設(shè)備。104、根據(jù)多次轉(zhuǎn)向信息,如多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備(即 需要轉(zhuǎn)向到的下一個從設(shè)備);比如,具體可以根據(jù)MPLS頭中的多次轉(zhuǎn)向標識字段確定需 要轉(zhuǎn)向到的第二從設(shè)備,如下按照預(yù)置的轉(zhuǎn)向順序,從MPLS頭中的多次轉(zhuǎn)向標識字段的一端開始查找;當(dāng)查找 到第一個第一值時,將查找到的第一個第一值所在的比特位置為第二值(用于表示對應(yīng)的 從設(shè)備已經(jīng)轉(zhuǎn)向過了);然后繼續(xù)往后查找下一個第一值,若繼續(xù)查找到下一個第一值,則 確定該下一個第一值所在的比特位所對應(yīng)的從設(shè)備為第二從設(shè)備。然后就可以將包括MPLS 頭的報文發(fā)送給第二從設(shè)備。此外,該報文多次轉(zhuǎn)向方法還可以包括若繼續(xù)往后查找不到下一個第一值,此時 認為所有需要轉(zhuǎn)向到的從設(shè)備均已經(jīng)轉(zhuǎn)向過了,則確定所述鏈路號字段所指示的鏈路;將 報文中的MPLS頭去除后,將去除了 MPLS頭的報文從所確定的鏈路上發(fā)送出去。其中,第二值可以根據(jù)運營商的策略進行設(shè)置,但是第二值不能和第一值相同,比 如,當(dāng)?shù)谝恢翟O(shè)置為“ 1”時,第二值可以設(shè)置為“0”,當(dāng)?shù)谝恢翟O(shè)置為“0”時,第二值可以設(shè) 置為“1”,等等。以下將對應(yīng)步驟102中的兩種方式進行舉例說明。(1)如果在步驟102中,采用的是方式一來標識多次轉(zhuǎn)向標識字段,則此時,步驟 104具體可以為按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置1的比特位清0 ;根據(jù)預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置1的比特位;若查找到,則確定該下一個置1的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從設(shè)備(即需要轉(zhuǎn)向到的下一個從設(shè)備),執(zhí)行步驟105。若查找不到,則根據(jù)鏈路號字段查找在主設(shè)備中對應(yīng)的鏈路,將報文從查找到的 鏈路上發(fā)送出去,流程結(jié)束。(2)如果在步驟102中,采用的是方式二來標識多次轉(zhuǎn)向標識字段,則此時,步驟 104具體可以為按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置0的比特位置1 ;根據(jù)預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置0的比特位;若查找到,則確定該下一個置0的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從 設(shè)備(即需要轉(zhuǎn)向到的下一個從設(shè)備),執(zhí)行步驟105。若查找不到,則根據(jù)鏈路號字段查找在主設(shè)備中對應(yīng)的鏈路,將報文中的MPLS頭 去除后,將去除了 MPLS頭的報文從查找到的鏈路上發(fā)送出去,流程結(jié)束。105、將報文發(fā)送給該第二從設(shè)備,返回執(zhí)行步驟103。由上可知,本實施例采用MPLS頭攜帶多次轉(zhuǎn)向信息來實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間 的多次轉(zhuǎn)向,由于MPLS相對于現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且現(xiàn)有的標準協(xié) 議還可以支持最多7層的MPLS頭,所以采用該方案,較現(xiàn)有方案而言,更為靈活方便,擴展 性更強,可以在符合現(xiàn)有標準協(xié)議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。實施例二、根據(jù)實施例一所描述的方法,以下將舉例作詳細說明。首先,預(yù)先為各個從設(shè)備在主設(shè)備中設(shè)置一個對應(yīng)的編號,稱為從設(shè)備編號。其 次,需要指明轉(zhuǎn)向順序,比如,按從設(shè)備編號從小到大轉(zhuǎn)向、按從設(shè)備編號從大到小轉(zhuǎn)向、或 者按任意編號順序轉(zhuǎn)向。再者,還需要按照預(yù)置的轉(zhuǎn)向順序在MPLS頭中的多次轉(zhuǎn)向標識字 段中為每個從設(shè)備設(shè)置對應(yīng)的比特位,即指定各從設(shè)備對應(yīng)多次轉(zhuǎn)向標識字段中的哪個比 特位。另外,由于主設(shè)備包括了多條鏈路,且每條鏈路包括上行鏈路和下行鏈路,所以還 需要在MPLS頭中指明接收原始報文所使用的鏈路,即指明原始報文是通過哪條鏈路進入 主設(shè)備的,以及在多次轉(zhuǎn)向完畢后的報文是從該鏈路中的上行鏈路的端口還是下行鏈路的 端口發(fā)送出去。由此,可以在MPLS頭中定義鏈路號字段,用來指示主設(shè)備中接收到原始報 文的鏈路。MPLS頭的格式可參見圖lc。其中,MPLS頭中各個字段的定義如下(1)多次轉(zhuǎn)向標識字段主要用于指示如何進行多次轉(zhuǎn)向,其中,每個從設(shè)備在該多次轉(zhuǎn)向標識字段中對 應(yīng)一個比特位,需要轉(zhuǎn)向到哪個從設(shè)備,則將該從設(shè)備對應(yīng)的比特位置1,這樣,就可以標示 將報文轉(zhuǎn)向到哪些從設(shè)備。當(dāng)然,也可以將需要轉(zhuǎn)向到的從設(shè)備對應(yīng)的比特位置其他標識,比如0,為了描述 方便,在本發(fā)明實施例中,均以將需要轉(zhuǎn)向到的從設(shè)備對應(yīng)的比特位置1為例進行說明,應(yīng) 該理解的是,如果將需要轉(zhuǎn)向到的從設(shè)備對應(yīng)的比特位置其他標識,其實現(xiàn)方法也與此類 似,在此不再贅述。(2)鏈路號字段主要用于指示主設(shè)備中接收到原始報文的鏈路,即標示原始報文從主設(shè)備哪條鏈路進入,因為報文經(jīng)過轉(zhuǎn)向后還需要從本報文入鏈路端口對應(yīng)的出端口發(fā)送出去。當(dāng)轉(zhuǎn)向 完畢后,主設(shè)備根據(jù)鏈路號字段決定將報文從哪個鏈路端口發(fā)送出去。(3) CoS 字段主要用于指示業(yè)務(wù)的類型。字段主要用于指示當(dāng)前標簽是否到達標簽棧底,一般的,1表示是,0表示否。(5) TTL 字段主要用于指示該報文的存活時間。其中,多次轉(zhuǎn)向標識字段和鏈路號字段即為多次轉(zhuǎn)向信息。當(dāng)報文由主設(shè)備轉(zhuǎn)向給從設(shè)備,經(jīng)過從設(shè)備再回到主設(shè)備時,主設(shè)備根據(jù)從設(shè)備 的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中從左邊(或右邊,根據(jù)預(yù)先的設(shè)計而定)起第一個置1 的比特位清0,然后再根據(jù)轉(zhuǎn)向順序查找多次轉(zhuǎn)向標識字段中下一個置1的比特位,若查找 到,則將報文轉(zhuǎn)向至該下一個置1的比特位對應(yīng)的從設(shè)備中去。若在多次轉(zhuǎn)向標識字段中 找不到置1的比特位,則根據(jù)MPLS頭中的鏈路號字段,查找主設(shè)備中對應(yīng)的鏈路,將報文從 該鏈路發(fā)送出去。以下將舉例進行說明。(一)背景主設(shè)備可以外接12個從設(shè)備,它們在主設(shè)備中的編號分別為1、2、3......12 ;而
且主設(shè)備具有200條鏈路,具體為鏈路1、鏈路2........鏈路63........和鏈路200 ;則
此時MPLS頭的結(jié)構(gòu)可以如圖加所示,其中,多次轉(zhuǎn)向標識字段占用12個比特位,每個比特 位對應(yīng)著一個從設(shè)備,比如,可以設(shè)定從設(shè)備1對應(yīng)MPLS頭中的第31個比特位,從設(shè)備2 對應(yīng)MPLS頭中的第30個比特位,從設(shè)備3對應(yīng)MPLS頭中的第四個比特位,從設(shè)備4對應(yīng) MPLS頭中的第觀個比特位,等等,依此類推。如果需要轉(zhuǎn)向到的從設(shè)備為從設(shè)備1和從設(shè) 備2,則多次轉(zhuǎn)向標識字段具體可以為110000000000 ;又比如,如果需要轉(zhuǎn)向到的從設(shè)備為 從設(shè)備1、從設(shè)備3、從設(shè)備4和從設(shè)備8,則多次轉(zhuǎn)向標識字段具體可以為101100010000, 等等。而鏈路號字段則可以占用8個比特位,用于記錄接收到原始報文的鏈路的鏈路號, 比如接收到原始報文的是鏈路號為63的鏈路,則可以在鏈路號字段中記錄“00111111”,其 中,“00111111”為“63”所對應(yīng)的二進制數(shù)。(二)當(dāng)前場景如果當(dāng)前原始報文由鏈路63進入主設(shè)備,并需要多次轉(zhuǎn)向到從設(shè)備1、從設(shè)備2和 從設(shè)備3,且轉(zhuǎn)向順序為按從設(shè)備編號從小到大,即依次轉(zhuǎn)向從設(shè)備1、從設(shè)備2和從設(shè)備3, 具體為主設(shè)備一> 從設(shè)備1->主設(shè)備一> 從設(shè)備2->主設(shè)備一> 從設(shè)備3->主設(shè)備。 其中,從設(shè)備1對應(yīng)著MPLS頭中的第31個比特位,從設(shè)備2對應(yīng)著MPLS頭中的第30個比 特位,從設(shè)備3對應(yīng)著MPLS頭中的第四個比特位;則參見圖2b,具體流程可以如下201、主設(shè)備在鏈路63上接收上游設(shè)備發(fā)送的原始報文A ;參見圖2c和圖2d。202、當(dāng)原始報文A由鏈路63進入主設(shè)備時,主設(shè)備確定需要對該原始報文A進行 多次轉(zhuǎn)向,于是,根據(jù)需要轉(zhuǎn)向到的從設(shè)備,以及轉(zhuǎn)向順序(在本例子中即為按從設(shè)備編號 從小到大的順序)在原始報文A中加MPLS頭,得到報文Al,并將報文Al發(fā)送給從設(shè)備1。其中,MPLS中的第四 31個比特位均為1,指示需要轉(zhuǎn)向到的從設(shè)備包括從設(shè)備1、從設(shè)備2和從設(shè)備3,即MPLS中的多次轉(zhuǎn)向標識字段為111000000000 ;而鏈路號字段具 體為00111111,指示該原始報文A從鏈路63進入主設(shè)備,并在多次轉(zhuǎn)向后,處理后的報文 將從主設(shè)備的鏈路號為63的端口發(fā)送出去,具體可參見圖2d。203、從設(shè)備1接收到主設(shè)備發(fā)送的報文Al后,對報文Al進行處理,得到報文A2 ; 其中,報文A2攜帶與報文Al同樣的MPLS頭,即從設(shè)備1不更改報文Al的MPLS頭。從設(shè)備1將報文A2返回給主設(shè)備。204、主設(shè)備接收到從設(shè)備1發(fā)送的報文A2后,在MPLS頭中的多次轉(zhuǎn)向標識字段 里查找左邊第一個置1的比特位,發(fā)現(xiàn)比特位31置1,于是將該比特位清0,得到報文A2’, 即此時多次轉(zhuǎn)向標識字段具體為011000000000,而MPLS頭中的鏈路號字段則保持不變, 即為:00111111,參見圖2e和圖2f。此后,主設(shè)備在多次轉(zhuǎn)向標識字段中查找下一個置1的比特位,發(fā)現(xiàn)比特位30置 1,因此確定從設(shè)備2為下一個需要轉(zhuǎn)向到的從設(shè)備,于是將報文A2’發(fā)送給從設(shè)備2。205、從設(shè)備2接收到主設(shè)備發(fā)送的報文A2’后,對報文A2’進行處理,得到報文 A3 ;其中,報文A3攜帶與報文A2’同樣的MPLS頭,即從設(shè)備2不更改報文A2’的MPLS頭。從設(shè)備2將報文A3返回給主設(shè)備。206、主設(shè)備接收到從設(shè)備2發(fā)送的報文A3后,在MPLS頭中的多次轉(zhuǎn)向標識字段 里查找左邊第一個置1的比特位,發(fā)現(xiàn)比特位30置1,于是將該比特位清0,得到報文A3’, 即此時轉(zhuǎn)向標識字段具體為001000000000,而MPLS頭中的鏈路號字段則保持不變,即為 00111111,參見圖2g和圖2h。此后,主設(shè)備在多次轉(zhuǎn)向標識字段中查找下一個置1的比特位,發(fā)現(xiàn)比特位四置 1,因此確定從設(shè)備3為下一個需要轉(zhuǎn)向到的從設(shè)備,于是將報文A3’發(fā)送給從設(shè)備3。207、從設(shè)備3接收到主設(shè)備發(fā)送的報文A3’后,對報文A3’進行處理,得到報文 A4 ;其中,報文A4攜帶與報文A3’同樣的MPLS頭,即從設(shè)備3不更改報文A3’的MPLS頭。從設(shè)備3將報文A4返回給主設(shè)備。208、主設(shè)備接收到從設(shè)備3發(fā)送的報文A4后,在MPLS頭中的多次轉(zhuǎn)向標識字段 里查找左邊第一個置1的比特位,發(fā)現(xiàn)比特位四置1,于是將該比特位清0,得到報文A4’, 即此時轉(zhuǎn)向標識字段具體為000000000000,而MPLS頭中的鏈路號字段則保持不變,即為 00111111,參見圖2i和圖2j。主設(shè)備在多次轉(zhuǎn)向標識字段中繼續(xù)查找下一個置1的比特位,發(fā)現(xiàn)沒有置1的比 特位,于是讀取鏈路號字段中的鏈路號“00111111”,確定該鏈路號對應(yīng)的鏈路為鏈路63, 然后剝除報文A4’的MPLS頭,得到報文A5,將報文A5從主設(shè)備中鏈路63的端口發(fā)送出去, 比如,發(fā)送給主設(shè)備的下游設(shè)備,參見圖2i和圖2j。需說明的是,以上僅僅以多次轉(zhuǎn)向標識字段的比特位數(shù)目為12,鏈路號字段的比 特位數(shù)目為8為例進行說明的,應(yīng)該理解的是,它們的比特位數(shù)目還可以根據(jù)實際應(yīng)用的 需求進行調(diào)整,比如,如果主設(shè)備與14個從設(shè)備連接,鏈路為60條,則此時可以將多次轉(zhuǎn)向 標識字段的比特位數(shù)目調(diào)整為14,鏈路號字段的比特位數(shù)目調(diào)整為6,如果一層MPLS頭仍 不足以攜帶這些多次轉(zhuǎn)向信息的話,還可以根據(jù)多次轉(zhuǎn)向信息的信息量適當(dāng)增加MPLS頭 的層數(shù),一般的,現(xiàn)有標準協(xié)議最多可以支持7層的MPLS頭。由上可知,本實施例采用MPLS頭攜帶多次轉(zhuǎn)向信息來實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間的多次轉(zhuǎn)向,由于MPLS相對于現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且現(xiàn)有的標準協(xié) 議還可以支持最多7層的MPLS頭,所以采用該方案,較現(xiàn)有方案而言,更為靈活方便,擴展 性更強,可以在符合現(xiàn)有標準協(xié)議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。此外,需說明的是,如果從設(shè)備是通過交換機與主設(shè)備連接的,則可通過在原有基 礎(chǔ)上加一層Vlan頭來實現(xiàn),在此不再贅述。實施例三、為了更好地實施以上方法,本發(fā)明實施例還相應(yīng)地提供一種網(wǎng)絡(luò)設(shè)備,可以作為 本發(fā)明實施例中的主設(shè)備,如圖3a所示,該網(wǎng)絡(luò)設(shè)備包括第一接收單元301、確定單元302 和發(fā)送單元303 ;第一接收單元301,用于接收第一從設(shè)備發(fā)送的報文,其中,報文包括攜帶有多次 轉(zhuǎn)向信息的MPLS頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,所述多次轉(zhuǎn)向標識字段用 于指示需要轉(zhuǎn)向到的從設(shè)備;確定單元302,用于根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備;第一發(fā)送單元303,用于將報文發(fā)送給確定單元302確定的第二從設(shè)備。如圖3b所示,該網(wǎng)絡(luò)設(shè)備還可以包括第二接收單元304和第二發(fā)送單元305 ;需 說明的是,為了表示得更清楚,圖北中還畫出了從設(shè)備。第二接收單元304,用于在第一接收單元301接收到第一從設(shè)備發(fā)送的報文之前, 接收上游設(shè)備發(fā)送的原始報文;第二發(fā)送單元305,用于在第二接收單元304接收到的原始報文上添加攜帶有多 次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備。其中,多次轉(zhuǎn)向信息還包括鏈路號字段,鏈路號字段用于指示主設(shè)備中接收到原 始報文的鏈路;其中,多次轉(zhuǎn)向標識字段的比特位(bit)數(shù)目M和鏈路號字段的比特位數(shù)目 N可以根據(jù)實際應(yīng)用的需求進行設(shè)置。該MPLS頭還可以包括CoS字段、S字段和TTL字段。 具體可參見前面的方法實施例,在此不再贅述。則此時,第二發(fā)送單元305可以包括第一標識子單元、第二標識子單元和發(fā)送子 單元;第一標識子單元,用于將第二接收單元304接收到原始報文的鏈路的標識,添加 在MPLS頭的鏈路號字段中;其中,具體可采用鏈路號作為鏈路的標識。第二標識子單元,用于將所有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在 MPLS頭的多次轉(zhuǎn)向標識字段中,其中,所述預(yù)置的轉(zhuǎn)向順序用于指示所有需要轉(zhuǎn)向到的從 設(shè)備被轉(zhuǎn)向到的先后順序;具體地,第二標識子單元按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備 所對應(yīng)的至少一個比特位,將每個需要轉(zhuǎn)向到的從設(shè)備所對應(yīng)的至少一個比特位均置為所 述第一值;發(fā)送子單元,用于在第一標識子單元和第二標識子單元執(zhí)行完畢后,按照預(yù)置的 轉(zhuǎn)向順序?qū)⑻砑恿?MPLS頭的報文轉(zhuǎn)向到第一從設(shè)備。確定單元302,具體用于按照預(yù)置的轉(zhuǎn)向順序,從多次轉(zhuǎn)向標識字段中查找到需要 轉(zhuǎn)向到的第二從設(shè)備(即下一個從設(shè)備)。具體為在第一接收單元301接收到第一從設(shè)備 發(fā)送的報文后,按照預(yù)置的轉(zhuǎn)向順序以及根據(jù)該接收到的報文的MPLS頭中的多次轉(zhuǎn)向標 識字段,確定需要轉(zhuǎn)向到的下一個從設(shè)備。
其中,可以設(shè)置附屬于該主設(shè)備的每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的至 少一個比特位,并且設(shè)置當(dāng)該至少一個比特位為第一值時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備 上,則發(fā)送子單元,具體用于按照預(yù)置的轉(zhuǎn)向順序,從該多次轉(zhuǎn)向標識字段的一端開始 查找;當(dāng)查找到第一個第一值時,將添加了所述MPLS頭的報文轉(zhuǎn)向到所述第一從設(shè)備,其 中,所述第一從設(shè)備對應(yīng)于所述第一個第一值所在的比特位。確定單元302,具體用于按照所述預(yù)置的轉(zhuǎn)向順序,從所述多次轉(zhuǎn)向標識字段的一 端開始查找,當(dāng)查找到第一個第一值時,將查找到的第一個第一值所在的比特位置為第二 值,繼續(xù)查找下一個第一值,若繼續(xù)查找到下一個第一值時,則確定所述下一個第一值所在 的比特位所對應(yīng)的從設(shè)備為所述第二從設(shè)備。第一發(fā)送單元303,還用于在確定單元302查找不到下一個第一值時,確定所述鏈 路號字段所指示的鏈路,將報文中的MPLS頭去除并將去除了 MPLS頭的報文從所確定的鏈 路上發(fā)送出去。其中,第一值和第二值可以根據(jù)運營商的策略進行預(yù)置,但是第一值不能和第二 值相同,比如,在每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的1個比特位的情況下,可以將第 一值設(shè)置為“1”,此時第二值可以設(shè)置為“0”,當(dāng)?shù)谝恢翟O(shè)置為“0”時,第二值可以設(shè)置為 “1” ;在每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的2個比特位的情況下,可以將第一值設(shè)置 為“11”,此時第二值可以設(shè)置為“00”,當(dāng)?shù)谝恢翟O(shè)置為“10”時,第二值可以設(shè)置為“01”等; 以此類推。例如,在每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的1個比特位的情況下,可以如 下方式一按照預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中為每個從設(shè)備設(shè)置對應(yīng)的比 特位(即指定哪個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的哪個比特位),并設(shè)定當(dāng)比特位置1 時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上。方式二 按照預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中為每個從設(shè)備設(shè)置對應(yīng)的比 特位,并設(shè)定當(dāng)比特位置0時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上。(1)如果采用上述方式一,則第二標識子單元,具體用于將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備所對應(yīng)的比 特位置為1。此時,確定單元302可以包括第一清除子單元、第一查找子單元和第一確定子單 元;第一清除子單元,用于按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置1 的比特位清0;第一查找子單元,用于按照預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置 1的比特位;第一確定子單元,用于在第一查找子單元查找到下一個置1的比特位時,確定該 下一個置1的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從設(shè)備(即需要轉(zhuǎn)向到的下一個 從設(shè)備)。則,第一發(fā)送單元303,還用于在第一查找子單元查找不到下一個置1的比特位 時,根據(jù)鏈路號字段查找在主設(shè)備中對應(yīng)的鏈路,將報文中的MPLS頭去除后,將去除了MPLS頭的報文從查找到的鏈路上發(fā)送出去。(2)如果采用上述方式二,則所述第二標識子單元,具體用于將本設(shè)備集群中所有需要轉(zhuǎn)向到的從設(shè)備所對應(yīng) 的比特位置為0。則此時,確定單元302可以包括第二清除子單元、第二查找子單元和第二確定子 單元;第二清除子單元,用于按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置0 的比特位置1 ;第二查找子單元,用于根據(jù)預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置 0的比特位;第二確定子單元,用于在第二查找子單元查找到下一個置0的比特位時,確定所 述下一個置0的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從設(shè)備(即需要轉(zhuǎn)向到的下一 個從設(shè)備)。則第一發(fā)送單元303,還用于在第二查找子單元查找不到下一個置0的比特位時, 根據(jù)鏈路號字段查找在主設(shè)備中對應(yīng)的鏈路,將報文中的MPLS頭去除后,將去除了 MPLS頭 的報文從查找到的鏈路上發(fā)送出去。以上各個單元的具體實施可參見前面的方法實施例,在此不再贅述。具體實施時,以上單元可以作為獨立的實體實現(xiàn),也可以進行任意組合,作為一個 或若干個實體來實現(xiàn)。由上可知,本實施例的網(wǎng)絡(luò)設(shè)備的第二發(fā)送單元305可以在原始報文上添加攜帶 有多次轉(zhuǎn)向信息的MPLS頭,使得后續(xù)接收到從設(shè)備返回的報文后,確定單元302可以通過 解析MPLS頭來獲取到多次轉(zhuǎn)向信息,以確定下一個需要轉(zhuǎn)向到的從設(shè)備,從而實現(xiàn)報文在 網(wǎng)絡(luò)設(shè)備之間的多次轉(zhuǎn)向,由于MPLS相對于現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且 現(xiàn)有的標準協(xié)議還可以支持最多7層的MPLS頭,所以采用該方案,較現(xiàn)有方案而言,更為靈 活方便,擴展性更強,可以在符合現(xiàn)有標準協(xié)議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。實施例四、相應(yīng)的,本發(fā)明實施例還提供一種通信系統(tǒng)(一種實例可以參見圖1),可以作為 一個設(shè)備集群,該通信系統(tǒng)包括主設(shè)備和附屬于主設(shè)備的至少一個從設(shè)備,其中,主設(shè)備可 以為上述實施例三中所述的網(wǎng)絡(luò)設(shè)備。主設(shè)備,用于接收從設(shè)備發(fā)送的報文,其中,該報文包括攜帶有多次轉(zhuǎn)向信息的 MPLS頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,所述多次轉(zhuǎn)向標識字段用于指示需要 轉(zhuǎn)向到的從設(shè)備;根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的下一個從設(shè)備,并將報文發(fā)送 給該下一個從設(shè)備;從設(shè)備,用于接收主設(shè)備發(fā)送的報文,以及發(fā)送報文給主設(shè)備,其中,該報文包括 攜帶有多次轉(zhuǎn)向信息的MPLS頭。具體如下第一從設(shè)備,用于發(fā)送報文給主設(shè)備,其中,該報文包括攜帶有多次轉(zhuǎn)向信息的 MPLS頭,其中,該多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,該多次轉(zhuǎn)向標識字段用于指示需要 轉(zhuǎn)向到的從設(shè)備;
主設(shè)備,用于接收第一從設(shè)備發(fā)送的報文,根據(jù)該報文中攜帶的多次轉(zhuǎn)向標識字 段確定需要轉(zhuǎn)向到的第二從設(shè)備,并將報文發(fā)送給該第二從設(shè)備;第二從設(shè)備,用于接收主設(shè)備發(fā)送的報文。其中,主設(shè)備,還用于接收上游設(shè)備發(fā)送的原始報文,在該原始報文上添加攜帶有 多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備。其中,MPLS頭除了可以包括用于指示需要轉(zhuǎn)向到的從設(shè)備的多次轉(zhuǎn)向標識字段 之外,還可以包括鏈路號字段,該鏈路號字段用于指示主設(shè)備中接收到原始報文的鏈路;其 中,多次轉(zhuǎn)向標識字段的比特位數(shù)目M和鏈路號字段的比特位數(shù)目N可以根據(jù)實際應(yīng)用的 需求進行設(shè)置。該MPLS頭還可以包括CoS字段、S字段和TTL,字段。具體可參見前面的方 法實施例,在此不再贅述。則此時,主設(shè)備,具體可以用于將接收到原始報文的鏈路的標識添加在MPLS頭的 鏈路號字段中,并將所有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在多次轉(zhuǎn)向標識字 段中。其中,鏈路的標識具體可以為鏈路號等標識。進一步的,主設(shè)備,具體可以用于根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二 從設(shè)備。例如,可以設(shè)置附屬于該主設(shè)備的每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的至少 一個比特位,并且設(shè)置當(dāng)該至少一個比特位為第一值時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上。 比如,當(dāng)每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的一個比特位時,可以設(shè)定當(dāng)比特位置1 或O時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上。如果設(shè)定當(dāng)比特位置1時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上,則主設(shè)備,具體用于按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置1的比 特位清0,然后根據(jù)預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置1的比特位,若查 找到,則確定該下一個置1的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從設(shè)備。此時,主設(shè)備,還用于若查找不到下一個置1的比特位,則根據(jù)鏈路號字段查找在 主設(shè)備中對應(yīng)的鏈路,將報文中的MPLS頭去除后,將去除了 MPLS頭的報文從查找到的鏈路 上發(fā)送出去?;蛘撸绻O(shè)定當(dāng)比特位置0時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上,則主設(shè)備,具體用于按照預(yù)置的轉(zhuǎn)向順序,將多次轉(zhuǎn)向標識字段中第一個置0的比 特位置1,然后根據(jù)預(yù)置的轉(zhuǎn)向順序在多次轉(zhuǎn)向標識字段中查找下一個置0的比特位,若查 找到,則確定該下一個置0的比特位所對應(yīng)的從設(shè)備為需要轉(zhuǎn)向到的第二從設(shè)備。此時,主設(shè)備,還用于若查找不到下一個置0的比特位,則根據(jù)鏈路號字段查找在 主設(shè)備中對應(yīng)的鏈路,將報文中的MPLS頭去除后,將去除了 MPLS頭的報文從查找到的鏈路 上發(fā)送出去。以上各個設(shè)備的具體實施可參見前面實施例,在此不再贅述。由上可知,本實施例的通信系統(tǒng)中的主設(shè)備采用在接收到的原始報文上添加MPLS 頭,由MPLS頭攜帶多次轉(zhuǎn)向信息來實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間的多次轉(zhuǎn)向,由于MPLS相對于 現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且現(xiàn)有的標準協(xié)議還可以支持最多7層的MPLS 頭,所以采用該方案,較現(xiàn)有方案而言,更為靈活方便,擴展性更強,可以在符合現(xiàn)有標準協(xié) 議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存 儲介質(zhì)可以包括只讀存儲器(ROM,Read Only Memory)、隨機存取記憶體(RAM,Random Access Memory)、磁盤或光盤等。 以上對本發(fā)明實施例所提供的一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng)進行了詳細介 紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只 是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明的 思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為 對本發(fā)明的限制。
權(quán)利要求
1.一種報文多次轉(zhuǎn)向方法,其特征在于,包括接收第一從設(shè)備發(fā)送的報文,所述報文包括攜帶有多次轉(zhuǎn)向信息的多協(xié)議標簽交換 MPLS頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,所述多次轉(zhuǎn)向標識字段用于指示需要 轉(zhuǎn)向到的從設(shè)備;根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備; 將報文發(fā)送給所述第二從設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述接收第一從設(shè)備發(fā)送的報文之前還 包括接收上游設(shè)備發(fā)送的原始報文;在所述原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述多次轉(zhuǎn)向信息還包括鏈路號字段,所 述鏈路號字段用于指示主設(shè)備中接收到原始報文的鏈路;所述在所述原始報文上添加攜帶 有多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給第一從設(shè)備包括將接收到原始報文的鏈路的標識,添加在MPLS頭的鏈路號字段中; 將所有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標識字段 中,其中,所述預(yù)置的轉(zhuǎn)向順序用于指示所有需要轉(zhuǎn)向到的從設(shè)備被轉(zhuǎn)向到的先后順序; 按照所述預(yù)置的轉(zhuǎn)向順序?qū)⑻砑恿怂鯩PLS頭的報文轉(zhuǎn)向到所述第一從設(shè)備。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,附屬于所述主設(shè)備的每個從設(shè)備對應(yīng)于 多次轉(zhuǎn)向標識字段中的至少一個比特位,并且當(dāng)所述至少一個比特位置為第一值時,表示 需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上;則所述將所有需要轉(zhuǎn)向到的從設(shè)備按照預(yù)置的轉(zhuǎn)向順序標識在MPLS頭的多次轉(zhuǎn)向標 識字段中包括按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備所對應(yīng)的至少一個比特位;將每個需 要轉(zhuǎn)向到的從設(shè)備所對應(yīng)的至少一個比特位置為所述第一值;按照所述預(yù)置的轉(zhuǎn)向順序?qū)⑻砑恿怂鯩PLS頭的報文轉(zhuǎn)向到所述第一從設(shè)備包括: 按照所述預(yù)置的轉(zhuǎn)向順序,從所述多次轉(zhuǎn)向標識字段的一端開始查找;當(dāng)查找到第一個第 一值時,將添加了所述MPLS頭的報文轉(zhuǎn)向到所述第一從設(shè)備,其中,所述第一從設(shè)備對應(yīng) 于所述第一個第一值所在的比特位。
5.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述多次轉(zhuǎn)向信息還包括鏈 路號字段,所述鏈路號字段用于指示主設(shè)備中接收到原始報文的鏈路,附屬于所述主設(shè)備 的每個從設(shè)備對應(yīng)于多次轉(zhuǎn)向標識字段中的至少一個比特位,并且當(dāng)所述至少一個比特位 置為第一值時,表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上;所述根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn) 向到的第二從設(shè)備包括按照預(yù)置的轉(zhuǎn)向順序,從所述多次轉(zhuǎn)向標識字段的一端開始查找; 當(dāng)查找到第一個第一值時,將查找到的第一個第一值所在的比特位置為第二值; 繼續(xù)查找下一個第一值,若查找到了下一個第一值,則確定所述下一個第一值所在的 比特位所對應(yīng)的從設(shè)備為所述第二從設(shè)備。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,還包括若查找不到下一個第一值,則確定所述鏈路號字段所指示的鏈路,將報文中的MPLS頭 去除并將去除了 MPLS頭的報文從所確定的鏈路上發(fā)送出去。
7.—種網(wǎng)絡(luò)設(shè)備,其特征在于,包括第一接收單元,用于接收第一從設(shè)備發(fā)送的報文,所述報文包括攜帶有多次轉(zhuǎn)向信息 的多協(xié)議標簽交換MPLS頭,所述多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,所述多次轉(zhuǎn)向標識 字段用于指示需要轉(zhuǎn)向到的從設(shè)備;確定單元,用于根據(jù)多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備;第一發(fā)送單元,用于將報文發(fā)送給所述第二從設(shè)備。
8.根據(jù)權(quán)利要求7所述的網(wǎng)絡(luò)設(shè)備,其特征在于,還包括第二接收單元,用于在所述第一接收單元接收到第一從設(shè)備發(fā)送的報文之前,接收上 游設(shè)備發(fā)送的原始報文;第二發(fā)送單元,用于在所述原始報文上添加攜帶有多次轉(zhuǎn)向信息的MPLS頭后,發(fā)送給 第一從設(shè)備。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述MPLS頭還包括鏈路號字段,所述 鏈路號字段用于指示主設(shè)備中接收到原始報文的鏈路,附屬于所述主設(shè)備的每個從設(shè)備對 應(yīng)于在多次轉(zhuǎn)向標識字段中的至少一個比特位,并且當(dāng)所述至少一個比特位為第一值時, 表示需要轉(zhuǎn)向到對應(yīng)的從設(shè)備上;則所述第二發(fā)送單元包括第一標識子單元,用于將接收到原始報文的鏈路的標識,添加在MPLS頭的鏈路號字段中;第二標識子單元,用于按照預(yù)置的轉(zhuǎn)向順序確定每個從設(shè)備所對應(yīng)的至少一個比特 位,將每個需要轉(zhuǎn)向到的從設(shè)備所對應(yīng)的至少一個比特位均置為所述第一值,其中,所述預(yù) 置的轉(zhuǎn)向順序用于指示所有需要轉(zhuǎn)向到的從設(shè)備被轉(zhuǎn)向到的先后順序;發(fā)送子單元,用于在第一標識子單元和第二標識子單元執(zhí)行完畢后,按照所述預(yù)置的 轉(zhuǎn)向順序,從所述多次轉(zhuǎn)向標識字段的一端開始查找,當(dāng)查找到第一個第一值時,將添加了 所述MPLS頭的報文轉(zhuǎn)向到所述第一從設(shè)備,其中,所述第一從設(shè)備對應(yīng)于所述第一個第一 值所在的比特位。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò)設(shè)備,其特征在于,所述確定單元,具體用于按照所述預(yù)置的轉(zhuǎn)向順序,從所述多次轉(zhuǎn)向標識字段的一端 開始查找,當(dāng)查找到第一個第一值時,將查找到的第一個第一值所在的比特位置為第二值, 繼續(xù)查找下一個第一值,若查找到了下一個第一值,則確定所述下一個第一值所在的比特 位所對應(yīng)的從設(shè)備為所述第二從設(shè)備;所述第一發(fā)送單元,還用于在所述確定單元查找不到下一個第一值時,確定所述鏈路 號字段所指示的鏈路,將報文中的MPLS頭去除并將去除了 MPLS頭的報文從所確定的鏈路 上發(fā)送出去。
11.一種通信系統(tǒng),其特征在于,包括主設(shè)備和附屬于所述主設(shè)備的至少一個從設(shè)備, 其中,所述主設(shè)備為根據(jù)權(quán)利要求7至10中任一項所述的網(wǎng)絡(luò)設(shè)備;從設(shè)備,用于接收主設(shè)備發(fā)送的報文,以及發(fā)送報文給主設(shè)備,所述報文包括攜帶有多 次轉(zhuǎn)向信息的多協(xié)議標簽交換MPLS頭。
全文摘要
本發(fā)明實施例公開了一種報文多次轉(zhuǎn)向方法、裝置和系統(tǒng)。其中,上述的報文多次轉(zhuǎn)向方法包括接收第一從設(shè)備發(fā)送的報文,該報文包括攜帶有多次轉(zhuǎn)向信息的MPLS頭,多次轉(zhuǎn)向信息包括多次轉(zhuǎn)向標識字段,多次轉(zhuǎn)向標識字段用于指示需要轉(zhuǎn)向到的從設(shè)備;根據(jù)該多次轉(zhuǎn)向標識字段確定需要轉(zhuǎn)向到的第二從設(shè)備;將該報文發(fā)送給第二從設(shè)備。本發(fā)明采用MPLS頭攜帶多次轉(zhuǎn)向信息來實現(xiàn)報文在網(wǎng)絡(luò)設(shè)備之間的多次轉(zhuǎn)向,由于MPLS相對于現(xiàn)有的Vlan來說,可以攜帶更多的信息,而且現(xiàn)有的標準協(xié)議還可以支持最多7層的MPLS頭,所以采用該方案,較現(xiàn)有方案而言,更為靈活方便,擴展性更強,可在符合現(xiàn)有標準協(xié)議的基礎(chǔ)上,攜帶更多的多次轉(zhuǎn)向信息。
文檔編號H04L12/56GK102143081SQ20111008039
公開日2011年8月3日 申請日期2011年3月31日 優(yōu)先權(quán)日2011年3月31日
發(fā)明者胡鵬, 陳初, 魯進軍 申請人:成都市華為賽門鐵克科技有限公司