專利名稱:封裝轉(zhuǎn)換方法及封裝轉(zhuǎn)換設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,具體涉及一種封裝轉(zhuǎn)換方法及封裝轉(zhuǎn)換設(shè)備。
技術(shù)背景目前基于互聯(lián)網(wǎng)/以太網(wǎng)(IP/Ethernet )的分組交換網(wǎng)絡(luò)(PSN, Packet Switch Network)無處不在,而傳統(tǒng)的時分復(fù)用TDM (Time-division multiplexing) 業(yè)務(wù)仍然保留。TDM仿真在分組交換網(wǎng)絡(luò)上搭建一個"通道",在其中實現(xiàn) TDM電路(如Tl或El ),從而使網(wǎng)絡(luò)任一端的TDM設(shè)備不必關(guān)心其所連接 的網(wǎng)絡(luò)是否是一個TDM網(wǎng)絡(luò)。國際互聯(lián)網(wǎng)工程任務(wù)組IETF下屬的邊緣到邊 緣的偽線仿真(PWE3, Pseudo Wire Emulation Edge-to-Edge )工作組負責(zé)制 定分組交換網(wǎng)上仿真網(wǎng)絡(luò)業(yè)務(wù)的工作。目前的IETF PWE3標準RFC4553對于TDM仿真封裝的定義包括TDM 負載(TDM Payload)、信息包上不可知結(jié)構(gòu)時分多路技術(shù)封裝頭(SAToP Encapsulation Header )及分組交換和偽線分離層頭(PSN and PW demultiplexing layer headers )。目前TDM仿真業(yè)務(wù)可以有四種仿真封裝方式,分別是互耳關(guān)網(wǎng) 協(xié)議/用戶數(shù)據(jù)報協(xié)議偽線封裝(IP/UDP偽線封裝)、第二層隧道協(xié)議偽線封 裝(L2TPv3偽線封裝)、多協(xié)議標簽交換偽線封裝(MPLS偽線封裝)和以太 網(wǎng)偽線封裝(ECID偽線封裝)。前三種封裝方式由IETF提出,而ECID偽線 封裝則由電信以太網(wǎng)論壇MEF提出。偽線PW (Pseudo Wire)的意義在于通 信雙方可以建立點到點的傳統(tǒng)通信機制,而具體網(wǎng)絡(luò)實現(xiàn)方式對于通信雙方 則是透明的。目前的現(xiàn)有技術(shù)中,可以認為PW是一種索引,對于IP/UDP偽 線封裝,PW信息是UDP端口號;對于L2TPv3偽線封裝,PW信息是L2TPv3 隧道索引和會話標識(session ID);對于MPLS偽線封裝,PW信息是MPLS 標簽,通常MPLS標簽是雙層標簽,外層標簽代表標簽交換路徑LSP ( Label Switched Path ),內(nèi)層標簽代表電路號索引;對于ECID偽線封裝,PW信息是 仿真電路標識ECID,即ECID作為電路號索引。上述這些不同封裝形式可能會長期存在,并且在不同的網(wǎng)絡(luò)中發(fā)揮著各 自的作用。但是目前的各網(wǎng)關(guān)設(shè)備不支持不同封裝形式間的轉(zhuǎn)換,例如某種網(wǎng)關(guān)設(shè)備可以將TDM源數(shù)據(jù)報文封裝成MPLS偽線封裝,也可以將TDM源 數(shù)據(jù)報文封裝成IP/UDP偽線封裝,但不能實現(xiàn)IP/UDP偽線封裝到MPLS偽 線封裝的轉(zhuǎn)換,而在一些匯聚業(yè)務(wù)的場合,現(xiàn)有網(wǎng)關(guān)設(shè)備不能實現(xiàn)各封裝形 式間的轉(zhuǎn)換,將影響TDM仿真業(yè)務(wù)的進一步發(fā)展。發(fā)明內(nèi)容本發(fā)明實施例要解決的技術(shù)問題是提供一種封裝轉(zhuǎn)換方法及封裝轉(zhuǎn)換設(shè) 備,能夠?qū)崿F(xiàn)不同封裝形式間的轉(zhuǎn)換。為解決上述技術(shù)問題,本發(fā)明實施例通過以下技術(shù)方案實現(xiàn)的本發(fā)明實施例提供一種封裝轉(zhuǎn)換方法,包括接收數(shù)據(jù)報文;提取所述 數(shù)據(jù)報文的信息生成索引;根據(jù)所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝 轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送。本發(fā)明實施例提供一種封裝轉(zhuǎn)換設(shè)備,包括接收端口,用于接收數(shù)據(jù) 報文;控制模塊,用于配置包含封裝轉(zhuǎn)換信息的封裝轉(zhuǎn)換表;處理模塊,用 于提取所述接收端口接收的數(shù)據(jù)報文的信息生成索引;根據(jù)所述索引查找控 制模塊配置的封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信 息對數(shù)據(jù)報文重新封裝;發(fā)送端口,用于發(fā)送所述重新封裝的數(shù)據(jù)報文。以上技術(shù)方案可以看出,現(xiàn)有的各網(wǎng)關(guān)設(shè)備不支持不同封裝形式間的轉(zhuǎn) 換,而本發(fā)明實施例的方案是接收數(shù)據(jù)報文;提取所述數(shù)據(jù)報文的信息生 成索引;根據(jù)所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所 述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送。因為本發(fā)明實施例預(yù)先配置了 包含封裝轉(zhuǎn)換信息的封裝轉(zhuǎn)換表,并在接收數(shù)據(jù)報文后可以提取相關(guān)信息生 成索引查找封裝轉(zhuǎn)換表,并根據(jù)封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送, 從而實現(xiàn)了不同封裝形式間的轉(zhuǎn)換。
圖l是本發(fā)明實施例一封裝轉(zhuǎn)換方法流程圖;圖2是本發(fā)明實施例二封裝轉(zhuǎn)換方法的流程圖;圖3是本發(fā)明實施例封裝轉(zhuǎn)換方法應(yīng)用的一個網(wǎng)絡(luò)組網(wǎng)圖; 圖4是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的總結(jié)構(gòu)示意圖; 圖5是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的具體結(jié)構(gòu)示意圖; 圖6是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的第一處理模塊的結(jié)構(gòu)示意圖; 圖7是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的第二處理模塊的結(jié)構(gòu)示意圖; 圖8是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的控制模塊的結(jié)構(gòu)示意圖。
具體實施方式
本發(fā)明實施例提供一種封裝轉(zhuǎn)換方法,能夠?qū)崿F(xiàn)不同封裝形式間的轉(zhuǎn)換。請參閱圖1,是本發(fā)明實施例一封裝轉(zhuǎn)換方法流程圖。該流程圖描述數(shù)據(jù)報文通過網(wǎng)關(guān)設(shè)備IWFc進行封裝轉(zhuǎn)換的過程。IWFc 可以進行數(shù)據(jù)報文的不同封裝形式的轉(zhuǎn)換。IWFc兩端都設(shè)置有RX端口和TX 端口,在一個方向上,數(shù)據(jù)報文從一端的RX端口輸入,經(jīng)過第一處理模塊的 封裝轉(zhuǎn)換處理后,從另 一端的TX端口輸出;在相反方向上,數(shù)據(jù)報文從一端 的RX端口輸入,經(jīng)過第二處理模塊的封裝轉(zhuǎn)換處理后,從另一端的TX端口 輸出。圖1以一個方向上的封裝轉(zhuǎn)換流程為例進行說明。圖1中包括步驟步驟A1、接收數(shù)據(jù)報文;網(wǎng)關(guān)設(shè)備IWFc從一側(cè)的RX端口接收數(shù)據(jù)報文。 步驟A2、提取所述數(shù)據(jù)報文的信息生成索引;第一處理模塊通過分析數(shù)據(jù)報文中的協(xié)議類型域,得出該數(shù)據(jù)報文采用 的是哪一種仿真封裝類型,并提取相應(yīng)的偽線信息,生成包含封裝類型和偽 線信息的索引。步驟A3、根據(jù)所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息; 第一處理模塊根據(jù)所述索引查找預(yù)先配置生成的封裝轉(zhuǎn)換表,得到對應(yīng) 的封裝轉(zhuǎn)換信息。步驟A4、根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送。第一處理模塊根據(jù)封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝具體為根據(jù)轉(zhuǎn)換 封裝信息中的轉(zhuǎn)換類型和新封裝頭域信息將數(shù)據(jù)報文的原封裝頭域替換成新 封裝頭域。對數(shù)據(jù)報文重新封裝后,通過TX端口發(fā)送出去。需要說明的是,在相反方向上的封裝轉(zhuǎn)換過程與圖1的過程是一樣的, 只是由第二處理模塊進行封裝轉(zhuǎn)換以及查詢的封裝轉(zhuǎn)換表是與圖1所說的封 裝轉(zhuǎn)換表具有相互轉(zhuǎn)換關(guān)系。從該實施例可以看出,因為該實施例中預(yù)先配置了包含封裝轉(zhuǎn)換信息的 封裝轉(zhuǎn)換表,并在接收數(shù)據(jù)報文后可以提取相關(guān)信息生成索引查找封裝轉(zhuǎn)換 表,并根據(jù)封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送,從而實現(xiàn)了不同封裝 形式間的轉(zhuǎn)換。請參閱圖2,是本發(fā)明實施例二封裝轉(zhuǎn)換方法的流程圖。在一個方向上, 數(shù)據(jù)報文從IWFc —端的RX端口輸入,經(jīng)過第 一處理模塊的封裝轉(zhuǎn)換處理后, 從另 一端的TX端口輸出;在相反方向上,數(shù)據(jù)報文從一端的RX端口輸入, 經(jīng)過第二處理模塊的封裝轉(zhuǎn)換處理后,從另一端的TX端口輸出。圖2以一個 方向上的封裝轉(zhuǎn)換流程為例進行說明,具體包括步驟步驟B1、接收數(shù)據(jù)報文;網(wǎng)關(guān)設(shè)備IWFc從一側(cè)的RX端口接收數(shù)據(jù)報文。 步驟B2、分析數(shù)據(jù)報文類型;對于從RX端口接收的數(shù)據(jù)報文,第一處理模塊可以通過分析數(shù)據(jù)報文中 的協(xié)議類型域,得出該數(shù)據(jù)報文采用的是哪一種仿真封裝方式。例如數(shù)據(jù)報 文中的協(xié)議類型域為互聯(lián)網(wǎng)協(xié)議/用戶數(shù)據(jù)報協(xié)議(IP/UDP),則可以分析出 數(shù)據(jù)報文采用IP/UDP偽線封裝。步驟B3、根據(jù)數(shù)據(jù)報文類型提取相應(yīng)的偽線信息;第一處理模塊若分析出數(shù)據(jù)報文采用IP/UDP偽線封裝,則提取的偽線信 息是UDP端口號;若分析出數(shù)據(jù)報文采用L2TPv3偽線封裝,則提取的偽線 信息是隧道索引和Session ID;若分析出數(shù)據(jù)報文采用MPLS偽線封裝,則提取的偽線信息是MPLS標簽;若分析出數(shù)據(jù)報文采用ECID偽線封裝,則提 取的偽線信息是ECID;若分析出數(shù)據(jù)報文采用的是非仿真數(shù)據(jù)封裝,即不屬 于上述任何一種,則將數(shù)據(jù)報文轉(zhuǎn)發(fā)到IWFc內(nèi)其他模塊進行處理,或者轉(zhuǎn)發(fā) 到對端設(shè)備,這可以通過配置指定處理模式,本發(fā)明并不限定。 步驟B4、生成表項索引;提取相應(yīng)的偽線信息后,第一處理模塊生成相應(yīng)的表項索引,表項索引 采用(封裝類型號,PW一ID》形式。其中,封裝類型號可按照如下方式編排0 - IP/UDP偽線封裝(IETF RFC4553 IPv4/IPv6 and UDP ( PW demultiplexing layer) headers );1 - L2TPv3偽線封裝(IETF RFC4553 IPv4/IPv6 and L2TPv3 (PW demultiplexing layer) headers );2 - MPLS偽線封裝(IETF RFC4553 MPLS Label Stack);3 - ECID偽線封裝(MEF8 ECID Label )。需要說明的是,封裝類型號所表示的封裝類型可以有不同編排方式,具 體由IWFc才艮據(jù)情況設(shè)置。對應(yīng)上述封裝類型號,偽線信息PW—ID號碼由下面方式確定0 - IP/UDP偽線封裝PW—ID = UDP端口號;1 - L2TPv3偽線封裝PW—ID = L2TPV3隧道索引號,Session ID;2 - MPLS偽線封裝PW_ID = MPLS標簽;3 - ECID偽線封裝PW—ID = ECID。 B5、查封裝轉(zhuǎn)換表;第一處理模塊提取相應(yīng)的偽線信息生成表項索引后,根據(jù)表項索引查封 裝轉(zhuǎn)換表1。封裝轉(zhuǎn)換表由控制模塊預(yù)先配置生成,包括封裝轉(zhuǎn)換表1和封裝轉(zhuǎn)換表2, 分別用于兩個不同方向的轉(zhuǎn)換,兩個封裝轉(zhuǎn)換表的組織形式相同,里面表示 的轉(zhuǎn)換關(guān)系為相互轉(zhuǎn)換關(guān)系。封裝轉(zhuǎn)換表的組織形式如下表所示。封裝描述新封裝頭統(tǒng)計維護信息其他信息 封裝轉(zhuǎn)換表可以由M個表項組成,M可以根據(jù)設(shè)備需要實現(xiàn)的偽線轉(zhuǎn)換 最大數(shù)量規(guī)格來定。各表項采用(封裝類型號,PWjD)進行標識。其中,封裝描述域,指明這條偽線上轉(zhuǎn)換出來的封裝類型、鏈路層封裝形式等;新封裝頭域,指轉(zhuǎn)換后的封裝頭,包括新偽線頭、網(wǎng)絡(luò)層頭、鏈路 層頭等,網(wǎng)絡(luò)層頭在需要時才設(shè)置;維護統(tǒng)計信息域,指設(shè)備每處理一個數(shù) 據(jù)報文后記錄下來的信息,實際可以是一些計數(shù)器的組合和狀態(tài)信息,例如, 成功處理數(shù)據(jù)報文的個數(shù)、接收錯誤數(shù)據(jù)報文的個數(shù)、偽線上的數(shù)據(jù)流量統(tǒng) 計等。表項內(nèi)各個域的具體內(nèi)容可以根據(jù)實際需要進行修改。其他信息域, 可以根據(jù)需要配置一些信息,例如一些匹配信息、屬性信息等。封裝轉(zhuǎn)換表中的各表項,是控制模塊接收來自網(wǎng)管或者命令行控制接口 CLI的控制信息而寫入的??刂颇K建立一對封裝轉(zhuǎn)換關(guān)系時,在封裝轉(zhuǎn)換表 1和封裝轉(zhuǎn)換表2中各建立一個表項,其內(nèi)容關(guān)系為相互轉(zhuǎn)換關(guān)系。下面舉例介紹一下說明封裝轉(zhuǎn)換表里的內(nèi)容。假設(shè)IWFc的左側(cè)輸入輸出是IP/UDP偽線封裝,參數(shù)是0 - IP/UDP偽線封裝;Src Mac address: MACsrc ; Dst Mac address: MACdst ; VLAN: VlanlOO; Src IP address: IPsrc;; Dst IP adderess: Ipdst; SrcUDP: UDPsrc; DstUDP: UDPdst。其中,Src Mac address指介質(zhì)訪問控制MAC源地址,Dst Mac address指 介質(zhì)訪問控制MAC目的地址,VLAN指虛擬局域網(wǎng),Src IP address指IP源地址,Dst IP adderess指IP目的地址,Src UDP是指UDP源地址,Dst UDP 是指UDP目的地址。Src UDP和Dst UDP也就是UDP端口號。IWFc的右側(cè)輸入輸出是MPLS偽線封裝,參數(shù)是2 - MPLS偽線封裝;LSP (bottom layer MPLS label): LSP1;PW ( Top layer MPLS label): PW1 。其中,LSP指標簽交換路徑,PW指偽線,這里代表電路號索引。鏈路層 為以太網(wǎng),設(shè)鏈路層的MAC封裝為MACmpls, MACmpls包括源MAC、目 的MAC和VLAN等。根據(jù)上述情況,控制模塊在封裝轉(zhuǎn)換表1中配置從0類型到2類型的轉(zhuǎn) 換表項,而在封裝轉(zhuǎn)換表2中配置從2類型到O類型的轉(zhuǎn)換表項??刂颇K配置表項的具體操作如下表1的表項索引{0, UDPsrc-UDPdst} 和表2的表項索引{2, LSP1-PW1)轉(zhuǎn)換關(guān)系為相互轉(zhuǎn)換關(guān)系。對表1的配置在表項索引{0, UDPsrc-UDPdst}號碼對應(yīng)的表項,配置 如下內(nèi)容封裝描述域說明輸出封裝為2類型,鏈路層為以太網(wǎng)MAC封裝; 新封裝頭域{PW1, LSPU雙層標簽棧,以太網(wǎng)封裝MACmpls; 維護統(tǒng)計信息域把所有計數(shù)器重置為0。對表2的配置在表項索引{2, LSP1-PW1)號碼對應(yīng)的表項,配置如下 內(nèi)容封裝描述域說明輸出封裝為0類型,鏈路層為以太網(wǎng)MAC封裝; 新封裝頭i或{0, UDPsrc-UDPdst}, IPsrc, IPdst, MACsrc, MACdst, VLAN100;維護統(tǒng)計信息域把所有計數(shù)器重置為0。步驟B6、判斷表項是否有效,若表項有效,進入步驟B7,若表項無效, 進入步驟B9;若網(wǎng)管或者命令行控制接口沒有要求控制模塊在該表項建立轉(zhuǎn)換規(guī)則,則表示該表項無效,進入步驟B9。步驟B7、查詢表項內(nèi)容,得到新封裝信息;表項有效時,根據(jù)表項索引查找到相應(yīng)表項后,從該相應(yīng)表項得到對應(yīng) 的新封裝信息,也即封裝描述域和新封裝頭域的內(nèi)容。步驟B8、根據(jù)新封裝信息重新封裝數(shù)據(jù)報文,并把重新封裝的數(shù)據(jù)報文 轉(zhuǎn)發(fā)到對應(yīng)TX端口發(fā)送出去,進入步驟B10;第 一處理模塊按照查到的表項所指定的新封裝信息將數(shù)據(jù)報文進行重新 封裝,重新封裝過程中,TDM負載(TDM Payload )、信息包上不可知結(jié)構(gòu)時 分多路技術(shù)封裝頭(SAToP Encapsulation Header)是不變的,只是在分組交換 和偽線分離層頭(PSN and PW demultiplexing layer headers )將原封裝頭域替 換成新封裝頭域。另外,重新計算各層協(xié)議的沖L險域、長度域和生存時間TTL 值等,具體計算過程根據(jù)現(xiàn)有技術(shù)的對應(yīng)算法進行,本發(fā)明不加以限定。對于重新封裝的過程,以下舉例說明例如當從IP/UDP偽線封裝到MPLS偽線封裝轉(zhuǎn)換時,是根據(jù)表項中得到 的新封裝信息,在數(shù)據(jù)報文的分組交換和偽線分離層頭將原封裝頭域替換成 新封裝頭域,新封裝頭域為MPLS偽線封裝信息MPLS Label Stack;相反的, 如果是從MPLS偽線封裝到IP/UDP偽線封裝轉(zhuǎn)換時,才艮據(jù)表項中得到的新封 裝信息,在數(shù)據(jù)報文分組交換和偽線分離層頭將原封裝頭域替換成IP/UDP偽 線封裝4言息IPv4/IPv6 and UDP headers 。當從L2TPv3偽線封裝到MPLS偽線封裝轉(zhuǎn)換時,是根據(jù)表項中得到的新 封裝信息,在數(shù)據(jù)報文的分組交換和偽線分離層頭將原封裝頭域替換成新封 裝頭域,新封裝頭域為MPLS Label Stack封裝信息;相反的,如果是從MPLS 偽線封裝到L2TPv3偽線封裝轉(zhuǎn)換時,根據(jù)表項中得到的新封裝信息,在數(shù)據(jù) 報文分組交換和偽線分離層頭將原封裝頭域替換成L2TPv3偽線封裝信息 IPv4/IPv6 and L2TPv3 headers 。當從ECID偽線封裝到MPLS偽線封裝轉(zhuǎn)換時,是根據(jù)表項中得到的新 封裝信息,在數(shù)據(jù)報文的分組交換和偽線分離層頭將原封裝頭域替換成新封裝頭域,新封裝頭域為MPLS Label Stack封裝信息;相反的,如果是從MPLS 偽線封裝到ECID偽線封裝轉(zhuǎn)換時,根據(jù)表項中得到的新封裝信息,在數(shù)據(jù)報 文分組交換和偽線分離層頭將原封裝頭域替換成ECID偽線封裝信息ECID Label 。步驟B9、將數(shù)據(jù)報文丟棄或轉(zhuǎn)發(fā)到控制層,進入步驟B10; 步驟BIO、進行統(tǒng)計維護信息處理。第一處理模塊進行統(tǒng)計維護信息處理,例如,統(tǒng)計成功處理數(shù)據(jù)報文的 個數(shù)、接收錯誤數(shù)據(jù)報文的個數(shù)、偽線上的數(shù)據(jù)報文流量統(tǒng)計等。需要說明的是,在相反方向上的封裝轉(zhuǎn)換過程與圖2的過程是一樣的, 只是由第二處理模塊進行封裝轉(zhuǎn)換以及查詢的是封裝轉(zhuǎn)換表2。從該實施例可以看出,因為該實施例中預(yù)先配置了包含封裝轉(zhuǎn)換信息的 封裝轉(zhuǎn)換表,封裝轉(zhuǎn)換表包括第一封裝轉(zhuǎn)換表和第二封裝轉(zhuǎn)換表,這兩個封 裝轉(zhuǎn)換表中各表項的對應(yīng)的轉(zhuǎn)換封裝信息為相互轉(zhuǎn)換關(guān)系。當接收數(shù)據(jù)報文 后,可以提取相關(guān)信息生成索引查找第一封裝轉(zhuǎn)換表或第二封裝轉(zhuǎn)換表,并 根據(jù)其中的封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送,從而實現(xiàn)了不同封裝形式間的轉(zhuǎn)換。請參閱圖3,是本發(fā)明實施例封裝轉(zhuǎn)換方法應(yīng)用的一個網(wǎng)絡(luò)組網(wǎng)圖; 圖3中,有4種設(shè)備,分別可以將數(shù)據(jù)報文封裝為IP/UDP偽線封裝、ECID 偽線封裝、L2TPv3偽線封裝和MPLS偽線封裝。這4種封裝形式的數(shù)據(jù)報文 經(jīng)過IP/ETH網(wǎng)絡(luò)傳送到IWFc設(shè)備,由IWFc按圖2所述的方法根據(jù)需要進 行不同封裝形式間的任意轉(zhuǎn)換,例如可以將IP/UDP偽線封裝、ECID偽線封 裝和L2TPv3偽線封裝都轉(zhuǎn)換成MPLS偽線封裝,或者將ECID偽線封裝、 L2TPv3偽線封裝和MPLS偽線封裝都轉(zhuǎn)換成IP/UDP偽線封裝等。假設(shè)是將 IP/UDP偽線封裝、ECID偽線封裝和L2TPv3偽線封裝都轉(zhuǎn)換成MPLS偽線封 裝,即在原封裝數(shù)據(jù)報文分組交換和偽線分離層頭將原封裝頭域替換成MPLS Label Stack封裝信息,然后再傳送到普通的MPLS網(wǎng)關(guān)IWFm進行處理。IWFm 是無法處理IP/UDP偽線封裝、ECID偽線封裝和L2TPv3偽線封裝的數(shù)據(jù)報文,現(xiàn)在由IWFc設(shè)備轉(zhuǎn)換成MPLS偽線封裝后,IWFm支持MPLS偽線封裝, 按現(xiàn)有正常流程將重新封裝后的數(shù)據(jù)報文傳送到另一端的TDM設(shè)備,從而實 現(xiàn)了 TDM仿真業(yè)務(wù)。IWFc設(shè)備的 一種實際應(yīng)用是在千兆位無源光網(wǎng)絡(luò)GPON網(wǎng)絡(luò)中,光線路 終端OLT可以支持MPLS等多種業(yè)務(wù),而光網(wǎng)絡(luò)單元ONU、單家庭用戶SFU 和多住戶單元MDU等設(shè)備不能運行路由協(xié)議和標簽分發(fā)協(xié)議LDP信令,否 則將會使得網(wǎng)絡(luò)異常復(fù)雜,然而在MPLS網(wǎng)絡(luò)的中心常需要一個集中的大容 量的路由器設(shè)備實現(xiàn)PWE3功能,這時候可以采取在GPON光分布網(wǎng)絡(luò)ODN 上,光網(wǎng)絡(luò)終端ONT使用IP/UDP偽線封裝或ECID偽線封裝等封裝形式, 而在OLT上應(yīng)用IWFc設(shè)備實現(xiàn)封裝轉(zhuǎn)換,將原封裝形式按上述描述的方法 轉(zhuǎn)換成MPLS偽線封裝,以和IWFm對接。需要說明的是,IWFc設(shè)備還可以 應(yīng)用于其他網(wǎng)絡(luò)中。上述詳細介紹了本發(fā)明實施例封裝轉(zhuǎn)換方法,相應(yīng)的,本發(fā)明實施例提 供一種封裝轉(zhuǎn)換設(shè)備,能夠?qū)崿F(xiàn)不同仿真封裝形式間的自動識別和轉(zhuǎn)換。本 文中將該封裝轉(zhuǎn)換設(shè)備稱為網(wǎng)關(guān)設(shè)備IWFc。請參閱圖4,是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的總結(jié)構(gòu)示意圖。該封裝轉(zhuǎn)換設(shè)備包括接收端口 10、發(fā)送端口 20、控制模塊30和處理模 塊40。接收端口 10,用于接收數(shù)據(jù)報文。控制模塊30,用于配置包含封裝轉(zhuǎn)換 信息的封裝轉(zhuǎn)換表。處理模塊40,用于提取所述接收端口 IO接收的數(shù)據(jù)報文 的信息生成索引;根據(jù)所述索引查找控制模塊30配置的封裝轉(zhuǎn)換表,得到對 應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文進行重新封裝。發(fā)送 端口20,用于發(fā)送所述重新封裝的數(shù)據(jù)報文。請參閱圖5,是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的具體結(jié)構(gòu)示意圖。 IWFc的接收端口 IO包括第一RX端口 ll和第二RX端口 12,發(fā)送端口 20包括第一 TX端口 21和第二 TX端口 22,處理模塊40包括第一處理模塊 41和第二處理模塊42。在一個方向上,數(shù)據(jù)報文從一端的第一 RX端口 1113輸入,經(jīng)過第一處理模塊41的封裝轉(zhuǎn)換處理后,從另一端的第一TX端口 21 輸出;在相反方向上,數(shù)據(jù)報文從一端的第二RX端口 12輸入,經(jīng)過第二處 理模塊42的封裝轉(zhuǎn)換處理后,從另一端的第二TX端口 22輸出。第一RX端口 11,從連接本端口的網(wǎng)絡(luò)上接收報文,對于控制協(xié)議報文, 例如路由協(xié)議和標簽分發(fā)協(xié)議LDP信令協(xié)議,傳遞給控制模塊30處理,對于 數(shù)據(jù)報文,進行鏈路層處理,并傳遞給第一處理模塊41。第一TX端口 21,把第一處理模塊41進行封裝轉(zhuǎn)換后的數(shù)據(jù)報文發(fā)送到 連接本端口的網(wǎng)絡(luò)上,同時可以發(fā)送來自控制模塊30的控制協(xié)議報文,例如 路由協(xié)議和標簽分發(fā)協(xié)議LDP信令協(xié)議。第二RX端口 12,從連接本端口的網(wǎng)絡(luò)上接收報文,對于控制協(xié)議報文, 例如路由協(xié)議和標簽分發(fā)協(xié)議LDP信令協(xié)議,傳遞給控制模塊30處理,對于 數(shù)據(jù)報文,進行鏈路層處理,并傳遞給第二處理模塊42。第二TX端口 22,把第二處理模塊42進行封裝轉(zhuǎn)換后的數(shù)據(jù)報文發(fā)送到 連接本端口的網(wǎng)絡(luò)上,同時可以發(fā)送來自控制模塊30的控制協(xié)議報文,例如 路由協(xié)議和標簽分發(fā)協(xié)議LDP信令協(xié)議??刂颇K30,主要用于預(yù)先配置生成封裝轉(zhuǎn)換表和完成控制協(xié)議的處理??刂颇K30對控制協(xié)議報文進行處理,例如,在使用MPLS偽線的時候, 需要采用路由協(xié)議建立標簽交換路徑LSP ( Label Switched Path),并且通過標 簽分發(fā)協(xié)議LDP協(xié)議和對端的服務(wù)邊緣設(shè)備PE ( Provider Edge)協(xié)商需要轉(zhuǎn) 換的封裝類型、屬性等。所述的路由協(xié)議包括路由信息協(xié)議RIP,開放最短路 徑優(yōu)先協(xié)議OSPF,邊界網(wǎng)關(guān)協(xié)議BGP等??刂颇K30預(yù)先配置生成封裝轉(zhuǎn)換表,其可以接受來自網(wǎng)管或者命令行 控制接口的控制信息,在封裝轉(zhuǎn)換表中建立封裝轉(zhuǎn)換關(guān)系,寫入轉(zhuǎn)換的相關(guān) 信息??刂颇K30進一步包括第一封裝轉(zhuǎn)換表配置單元301和第二封裝轉(zhuǎn)換 表配置單元302。請同時參閱圖8,是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的控制模塊 30的結(jié)構(gòu)示意圖。第一封裝轉(zhuǎn)換表配置單元301,用于配置包含轉(zhuǎn)換類型和新封裝頭域信息的封裝轉(zhuǎn)換表l;第二封裝轉(zhuǎn)換表配置單元302,用于配置與封裝轉(zhuǎn)換表l中 的轉(zhuǎn)換類型和新封裝頭域信息為相互轉(zhuǎn)換關(guān)系的封裝轉(zhuǎn)換表2。封裝轉(zhuǎn)換表1 和封裝轉(zhuǎn)換表2的組織形式相同,分別用于兩個不同方向的轉(zhuǎn)換,里面表示 的轉(zhuǎn)換關(guān)系相反。封裝轉(zhuǎn)換表的組織形式包括封裝描述域、新封裝頭域、統(tǒng) 計維護信息域和其他信息域。其中,封裝描述域,指明這條偽線上轉(zhuǎn)換出來 的封裝類型、鏈路層封裝形式等;新封裝頭域,指轉(zhuǎn)換后的封裝頭,包括新 偽線頭、網(wǎng)絡(luò)層頭、鏈路層頭等,網(wǎng)絡(luò)層頭在需要時才設(shè)置;維護統(tǒng)計信息 域,指設(shè)備每處理一個數(shù)據(jù)報文后記錄下來的信息,實際可以是一些計數(shù)器 的組合和狀態(tài)信息,例如,成功處理數(shù)據(jù)報文的個數(shù)、接收錯誤數(shù)據(jù)報文的 個數(shù)、偽線上的數(shù)據(jù)流量統(tǒng)計等;其他信息域,可以根據(jù)需要配置一些信息, 例如一些匹配信息、屬性信息等。表項內(nèi)各個域的具體內(nèi)容可以根據(jù)實際需 要進行修改。封裝轉(zhuǎn)換表可以有M項,M可以根據(jù)設(shè)備需要實現(xiàn)的偽線轉(zhuǎn)換 最大數(shù)量規(guī)格來定。各表項釆用{封裝類型號,PW—ID》進行標識。第一處理模塊41和第二處理模塊42的處理功能相同,都是用來進行封 裝轉(zhuǎn)換。請參閱圖6和圖7,分別是本發(fā)明實施例封裝轉(zhuǎn)換設(shè)備的第一處理模 塊41和第二處理模塊42的結(jié)構(gòu)示意圖。第一處理模塊41,包括第一封裝類型識別單元411、第一索引生成單元 412、第一查詢單元413和第一封裝轉(zhuǎn)換單元414。第 一封裝類型識別單元411接收RX端口 11轉(zhuǎn)發(fā)過來的數(shù)據(jù)報文后,通 過分析數(shù)據(jù)報文中的協(xié)議類型域,得出該數(shù)據(jù)報文采用的是哪一種仿真封裝 方式。例如數(shù)據(jù)報文中的協(xié)議類型域為互聯(lián)網(wǎng)協(xié)議/用戶數(shù)據(jù)報協(xié)議 (IP/UDP),則可以分析出數(shù)據(jù)"t艮文采用IP/UDP偽線封裝。第一索引生成單元412根據(jù)第一封裝類型識別單元411識別的數(shù)據(jù)報文 類型提取相應(yīng)的偽線信息,并根據(jù)提取的偽線信息生成表項索引。生成的表 項索引,采用{封裝類型號,PW—ID》形式。PWJD號碼也就是從數(shù)據(jù)報文提 取的相應(yīng)的偽線信息,若分析出數(shù)據(jù)報文采用IP/UDP偽線封裝,則提取的偽 線信息是UDP端口號;若分析出數(shù)據(jù)報文采用L2TPv3偽線封裝,則提取的 偽線信息是隧道索引和Session ID;若分析出數(shù)據(jù)"^艮文采用MPLS偽線封裝,則提取的偽線信息是MPLS標簽;若分析出數(shù)據(jù)報文采用ECID偽線封裝, 則提取的偽線信息是ECID;若分析出數(shù)據(jù)報文采用的是非仿真數(shù)據(jù)封裝,即 不屬于上述任何一種,則將數(shù)據(jù)報文轉(zhuǎn)發(fā)到IWFc內(nèi)其他模塊進行處理,或者 轉(zhuǎn)發(fā)到對端設(shè)備,這可以通過配置指定處理模式,本發(fā)明并不限定。生成的表項索引的封裝類型號可按照如下方式編排0 - IP/UDP偽線封 裝;1 - L2TPv3偽線封裝;2-MPLS偽線封裝;3-ECID偽線封裝。需要說 明的是,封裝類型號所表示的封裝類型可以有不同編排方式,具體由IWFc 根據(jù)情況設(shè)置。對應(yīng)上述封裝類型號,偽線信息PW一ID號碼由下面方式確定 0 - IP/UDP偽線封裝PW—ID = UDP端口號;1 - L2TPv3偽線封裝PW_ID = L2TPV3隧道索引號,Session ID; 2 - MPLS偽線封裝PW—ID = MPLS標簽; 3 - ECID偽線封裝PW—ID = ECID。需要說明的是,ECID與MPLS單層標 簽是兼容的。第一查詢單元413,根據(jù)第一索引生成單元412生成的表項索引查封裝 轉(zhuǎn)換表l的表項內(nèi)容。若控制模塊30沒有建立該表項的轉(zhuǎn)換規(guī)則,表示該表 項無效,則將數(shù)據(jù)報文丟棄或轉(zhuǎn)發(fā)到控制層。第一查詢單元413根據(jù)表項索 引查找到對應(yīng)表項后,從對應(yīng)表項得到新封裝信息,也即封裝描述域和新封 裝頭域的內(nèi)容。第一封裝轉(zhuǎn)換單元414,根據(jù)第一查詢單元413查到的表項所指定的新封 裝信息將數(shù)據(jù)報文進行重新封裝。重新封裝過程中,TDM負載(TDM Payload)、信息包上不可知結(jié)構(gòu)時分多路技術(shù)封裝頭(SAToP Encapsulation Header)是不變的,只是在分組交換和偽線分離層頭(PSN and PW demultiplexing layer headers )將原封裝頭域替換成新封裝頭域。例如當從 IP/UDP偽線封裝到MPLS偽線封裝轉(zhuǎn)換時,是根據(jù)表項中得到的新封裝信息, 在數(shù)據(jù)報文的分組交換和偽線分離層頭將原封裝頭域替換成新封裝頭域,新 封裝頭域為MPLS偽線封裝信息MPLS Label Stack;相反的,當從MPLS偽 線封裝到IP/UDP偽線封裝轉(zhuǎn)換時,根據(jù)表項中得到的新封裝信息,在數(shù)據(jù)報 文分組交換和偽線分離層頭將原封裝頭域替換成IP/UDP偽線封裝信息 IPv4/IPv6 and UDP headers 。第一處理模塊41進一步包括第一統(tǒng)計維護單元415,用于進行統(tǒng)計維護信息的處理。例如,統(tǒng)計成功處理數(shù)據(jù)報文的個數(shù)、接收錯誤數(shù)據(jù)報文的個 數(shù)、偽線上的數(shù)據(jù)流量統(tǒng)計等。第二處理模塊42,包括第二封裝類型識別單元421、第二索引生成單元 422、第二查詢單元423、第二封裝轉(zhuǎn)換單元424和第二統(tǒng)計維護單元425, 各單元的功能與第一處理模塊41中各相應(yīng)單元的功能相同,只是用于實現(xiàn)反 方向的封裝轉(zhuǎn)換過程,所查詢的是封裝轉(zhuǎn)換表2的內(nèi)容。綜上所述,現(xiàn)有的各網(wǎng)關(guān)設(shè)備不支持不同封裝形式間的轉(zhuǎn)換,而本發(fā)明 實施例的方案是接收數(shù)據(jù)報文;提取所述數(shù)據(jù)報文的信息生成索引;根據(jù) 所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信 息對數(shù)據(jù)報文重新封裝并發(fā)送。因為本發(fā)明實施例預(yù)先配置了包含封裝轉(zhuǎn)換 信息的封裝轉(zhuǎn)換表,并在接收數(shù)據(jù)報文后可以提取相關(guān)信息生成索引查找封 裝轉(zhuǎn)換表,并根據(jù)封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送,從而實現(xiàn)了不 同封裝形式間的轉(zhuǎn)換。以上對本發(fā)明實施例所提供的 一種封裝轉(zhuǎn)換方法及封裝轉(zhuǎn)換設(shè)備進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明實施例的方法及其核心思 想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在具體 實施方式及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解 為對本發(fā)明的限制。
權(quán)利要求
1、一種封裝轉(zhuǎn)換方法,其特征在于,包括接收數(shù)據(jù)報文;提取所述數(shù)據(jù)報文的信息生成索引;根據(jù)所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送。
2、 根據(jù)權(quán)利要求1所述的封裝轉(zhuǎn)換方法,其特征在于,所述提取數(shù)據(jù)報 文的信息生成索引具體為識別所述數(shù)據(jù)報文的封裝類型,根據(jù)識別出的封裝類型提取所述數(shù)據(jù)報 文的偽線信息,生成包含封裝類型和偽線信息的索引。
3、 根據(jù)權(quán)利要求2所述的封裝轉(zhuǎn)換方法,其特征在于,所述識別數(shù)據(jù)報 文的封裝類型具體為通過分析數(shù)據(jù)報文中的協(xié)議類型域得到數(shù)據(jù)報文的封裝類型。
4、 根據(jù)權(quán)利要求2所述的封裝轉(zhuǎn)換方法,其特征在于所述提取數(shù)據(jù)報 文的偽線信息具體指當識別出的數(shù)據(jù)報文的封裝類型為互聯(lián)網(wǎng)協(xié)議/用戶數(shù)據(jù)報協(xié)議偽線封裝 時,提取用戶數(shù)據(jù)報協(xié)議端口號;當識別出的數(shù)據(jù)報文的封裝類型為第二層隧道協(xié)議偽線封裝時,提取隧 道索引和會話標識;當識別出的數(shù)據(jù)報文的封裝類型為多協(xié)議標簽交換偽線封裝時,提取多 協(xié)議標簽交換標簽;當識別出的數(shù)據(jù)報文的封裝類型為以太網(wǎng)偽線封裝時,提取仿真電路標識。
5、 根據(jù)權(quán)利要求l所述的封裝轉(zhuǎn)換方法,其特征在于 所述封裝轉(zhuǎn)換表為預(yù)先配置生成,包括第一封裝轉(zhuǎn)換表和第二封裝轉(zhuǎn)換表,所述第一封裝轉(zhuǎn)換表和第二封裝轉(zhuǎn)換表中各表項的對應(yīng)的轉(zhuǎn)換封裝信息 為相互轉(zhuǎn)換關(guān)系。
6、 根據(jù)權(quán)利要求1所述的封裝轉(zhuǎn)換方法,其特征在于,所述根據(jù)封裝轉(zhuǎn) 換信息對數(shù)據(jù)報文進行重新封裝具體為根據(jù)轉(zhuǎn)換封裝信息中的轉(zhuǎn)換類型和新封裝頭域信息將數(shù)據(jù)報文的原封裝 頭域替換成新封裝頭域。
7、 一種封裝轉(zhuǎn)換設(shè)備,其特征在于,包括接收端口,用于接收數(shù)據(jù)報文;控制模塊,用于配置包含封裝轉(zhuǎn)換信息的封裝轉(zhuǎn)換表;處理模塊,用于提取所述接收端口接收的數(shù)據(jù)報文的信息生成索引;根 據(jù)所述索引查找控制模塊配置的封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根 據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝;發(fā)送端口 ,用于發(fā)送所述重新封裝的數(shù)據(jù)報文。
8、 根據(jù)權(quán)利要求7所述的封裝轉(zhuǎn)換設(shè)備,其特征在于,所述處理模塊進 一步包括封裝類型識別單元,用于根據(jù)數(shù)據(jù)報文中的協(xié)議類型識別所述數(shù)據(jù)報文 的封裝類型;索引生成單元,用于根據(jù)封裝類型識別單元識別出的封裝類型提取所述 數(shù)據(jù)報文的偽線信息,生成包含封裝類型和偽線信息的索引;查詢單元,用于根據(jù)所述索引生成單元生成的所述索引,查找所述控制 模塊配置的封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;封裝轉(zhuǎn)換單元,用于才艮據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)"^艮文重新封裝。
9、 根據(jù)權(quán)利要求8所述的封裝轉(zhuǎn)換設(shè)備,其特征在于 所述封裝轉(zhuǎn)換單元根據(jù)所述查詢單元得到的封裝轉(zhuǎn)換信息中的轉(zhuǎn)換類型和新封裝頭域信息將數(shù)據(jù)報文的原封裝頭域替換成新封裝頭域。
10、 根據(jù)權(quán)利要求7至9任一項所述的封裝轉(zhuǎn)換設(shè)備,其特征在于,所 述控制模塊進一步包括第一封裝轉(zhuǎn)換表配置單元,用于配置包含轉(zhuǎn)換類型和新封裝頭域信息的 第一封裝轉(zhuǎn)換表;第二封裝轉(zhuǎn)換表配置單元,用于配置與第一封裝轉(zhuǎn)換表中的轉(zhuǎn)換類型和 新封裝頭域信息為相互轉(zhuǎn)換關(guān)系的第二封裝轉(zhuǎn)換表。
全文摘要
本發(fā)明實施例公開一種封裝轉(zhuǎn)換方法,包括接收數(shù)據(jù)報文;提取所述數(shù)據(jù)報文的信息生成索引;根據(jù)所述索引查找封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝并發(fā)送。本發(fā)明實施例還相應(yīng)提供一種封裝轉(zhuǎn)換設(shè)備,包括接收端口,用于接收數(shù)據(jù)報文;控制模塊,用于配置包含封裝轉(zhuǎn)換信息的封裝轉(zhuǎn)換表;處理模塊,用于提取所述接收端口接收的數(shù)據(jù)報文的信息生成索引;根據(jù)所述索引查找控制模塊配置的封裝轉(zhuǎn)換表,得到對應(yīng)的封裝轉(zhuǎn)換信息;根據(jù)所述封裝轉(zhuǎn)換信息對數(shù)據(jù)報文重新封裝;發(fā)送端口,用于發(fā)送所述重新封裝的數(shù)據(jù)報文。本發(fā)明實施例提供的技術(shù)方案能夠?qū)崿F(xiàn)不同封裝形式間的轉(zhuǎn)換。
文檔編號H04L12/66GK101316260SQ20071010584
公開日2008年12月3日 申請日期2007年5月30日 優(yōu)先權(quán)日2007年5月30日
發(fā)明者欣 楊 申請人:華為技術(shù)有限公司