專利名稱:一種封裝數(shù)據(jù)流的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)傳輸技術(shù)領(lǐng)域,特別是指一種封裝數(shù)據(jù)流的方法。
背景技術(shù):
在多業(yè)務(wù)傳送平臺(tái)(MSTP)的廣泛應(yīng)用下,出現(xiàn)了許多封裝形式,如鏈路接入規(guī)程-SDH(LAPSLink Access Procedure-SDH protocol)、高速數(shù)據(jù)鏈路控制協(xié)議(HDLCHigh-level Data Link Control)、點(diǎn)對(duì)點(diǎn)協(xié)議(PPPPoint-to-Point Protocol)等,利用這些封裝形式能夠?qū)崿F(xiàn)對(duì)多種業(yè)務(wù)的封裝,并進(jìn)行傳送處理。目前的標(biāo)準(zhǔn)建議某種封裝格式針對(duì)某個(gè)協(xié)議,如千兆以太網(wǎng)(GEGigabit Ethernet)或IP(Internet Protocol)等,或某一類協(xié)議,如8B/10B的編碼業(yè)務(wù),進(jìn)行處理。
一般幀封裝處理(GFPGeneric Framing Procedure)是目前常用的一種封裝形式,它提供了一個(gè)通用機(jī)制用來(lái)處理高層的客戶信號(hào)承載到字節(jié)同步傳送網(wǎng)。GFP-T(Transparent Generic Framing Procedure)是針對(duì)流封裝的標(biāo)準(zhǔn),該標(biāo)準(zhǔn)規(guī)定對(duì)8B/10B的客戶信號(hào)進(jìn)行64B/65B編碼后,將其映射成為一固定長(zhǎng)度的GFP格式發(fā)送出去。這樣,在沒(méi)有接收完一幀信號(hào)時(shí),可立即把已封裝好的數(shù)據(jù)傳輸出去,因而,可以實(shí)現(xiàn)低延遲的傳輸。能夠進(jìn)行透明封裝的信號(hào)包括光纖通道協(xié)議(Fibre Channel)、企業(yè)互連協(xié)議(ESCONEnterprise Systems Connection)、光纖互連協(xié)議(FICONFibre Connection)和GE等。
圖1所示為1GFP-T的封裝結(jié)構(gòu)示意圖。一般的,一個(gè)GFP-T幀包含幀頭(Core Header)和有效負(fù)荷域(Payload Area)兩部分。在Core Header中,包括長(zhǎng)度指示器和cHEC(Core Header Error Check)即16位的CRC(Cyclic Redundancy Code)兩部分,在Payload Area中,包括4-64字節(jié)(BYTE)的有效負(fù)荷頭(Payload Headers)、有效負(fù)荷信息域(PayloadInformation Field)和有效負(fù)荷校驗(yàn)位(Option Payload Fcs)即32位的CRC三部分。在Payload Headers中,包括16bit的有效負(fù)荷類型域(Payload TypeField)和tHEC(Type Header Error Check)即16位的CRC兩部分。一個(gè)GFP的空閑(Idle)幀僅包含GFP Core Header。
應(yīng)用GFP-T封裝形式對(duì)8B/10B業(yè)務(wù)進(jìn)行封裝時(shí),需對(duì)其進(jìn)行塊解碼,如果8B/10B代碼是一個(gè)數(shù)據(jù)字符,則10位接收字符被解碼成為8位原始數(shù)據(jù),如果8B/10B代碼是一個(gè)控制字符,則10位接收字符被解碼成為控制代碼。經(jīng)過(guò)解碼后的信號(hào)再進(jìn)行64B/65B編碼,對(duì)數(shù)據(jù)字符而言,8位原始數(shù)據(jù)被直接封裝到65B編碼塊中,再將65B編碼塊放進(jìn)GFP的有效負(fù)荷域中;對(duì)控制字符而言,先將控制代碼編碼成為4bit控制代碼,再將4bit的控制代碼封裝到65B編碼塊中,然后將65B編碼塊放進(jìn)GFP的有效負(fù)荷域中??蛻粜盘?hào)的每個(gè)字經(jīng)過(guò)解碼處理后,分別按照數(shù)據(jù)字和控制字,封裝到固定長(zhǎng)度的GFP中,應(yīng)用該封裝方式不需要緩沖整個(gè)幀。
由于通常的流封裝業(yè)務(wù)不提供帶寬收斂,所以要求映射帶寬大于客戶數(shù)據(jù)即編碼前的基本數(shù)據(jù)速率,這樣,用于封裝的先進(jìn)先出(FIFO)中可能會(huì)讀空。當(dāng)FIFO中沒(méi)有為映射傳輸?shù)臄?shù)據(jù),如果此時(shí)處于傳送的GFP幀尾,則在幀之間插入Idle幀,如果此時(shí)處于GFP幀的傳送中,則封裝的GFP幀中間插入PAD字符。該P(yáng)AD字符的映射方式與控制字符的映射方式相同,且它的識(shí)別和丟棄由GFP的去解封裝模塊執(zhí)行。
GFP-T優(yōu)點(diǎn)之一是保留了8B/10B業(yè)務(wù)的控制字,但是這也是它的一個(gè)缺點(diǎn),它封裝的對(duì)象必須是8B/10B的業(yè)務(wù),做不到對(duì)任意業(yè)務(wù)的封裝,同是,進(jìn)行64B/65B變換也比較復(fù)雜。
隨著技術(shù)的發(fā)展,在多業(yè)務(wù)傳送平臺(tái)上需支持越來(lái)越多業(yè)務(wù)類型,如何保證對(duì)任意業(yè)務(wù)的數(shù)據(jù)流進(jìn)行封裝,且保證傳送中數(shù)據(jù)內(nèi)容完全透明是有待解決的問(wèn)題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的目的在于提供一種封裝數(shù)據(jù)流的方法,以實(shí)現(xiàn)對(duì)各種業(yè)務(wù)透明傳送。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種封裝數(shù)據(jù)流的方法,該方法包括以下步驟a、在緩沖區(qū)中預(yù)先設(shè)置存儲(chǔ)數(shù)據(jù)的低水線值;b、判斷緩沖區(qū)中所存儲(chǔ)數(shù)據(jù)是否達(dá)到低水線值,如果是,則對(duì)緩沖區(qū)中的數(shù)據(jù)按一定長(zhǎng)度進(jìn)行分割處理,并為分割后的數(shù)據(jù)添加幀頭和幀尾,否則對(duì)緩沖區(qū)的數(shù)據(jù)不做分割處理。
較佳地,步驟a所述低水線值大于等于所分割的長(zhǎng)度。
較佳地,該方法進(jìn)一步包括設(shè)置計(jì)數(shù)值為分割長(zhǎng)度的字節(jié)計(jì)數(shù)器,且計(jì)數(shù)值跟據(jù)具體使用的效率與成本的關(guān)系而確定。
較佳地,該方法進(jìn)一步包括將經(jīng)過(guò)串并轉(zhuǎn)換的數(shù)據(jù)輸入緩沖區(qū)。
較佳地,該方法進(jìn)一步包括解封裝時(shí),根據(jù)幀頭界定數(shù)據(jù)區(qū)的開(kāi)始,根據(jù)所分割的長(zhǎng)度確定幀尾,將去掉幀頭幀尾的數(shù)據(jù)送入緩沖區(qū)。
較佳地,解封裝后的數(shù)據(jù)經(jīng)并串轉(zhuǎn)換處理后發(fā)送出去。
較佳地,所述緩沖區(qū)為先進(jìn)先出緩沖區(qū)。
較佳地,所述幀尾為校驗(yàn)字段。
應(yīng)用本發(fā)明,通過(guò)對(duì)收到的數(shù)據(jù)流進(jìn)行計(jì)數(shù)切片,并添加幀頭幀尾實(shí)現(xiàn)對(duì)數(shù)據(jù)流的封裝。由于應(yīng)用本發(fā)明的方法不需對(duì)接收的業(yè)務(wù)進(jìn)行識(shí)別處理,即不需對(duì)接收業(yè)務(wù)的幀頭,控制字等特殊字符進(jìn)行識(shí)別處理,因此,本發(fā)明的封裝方法與具體的業(yè)務(wù)無(wú)關(guān),因而能夠?qū)崿F(xiàn)對(duì)任意業(yè)務(wù)數(shù)據(jù)流的封裝處理。同時(shí),由于本發(fā)明只是一種封裝方法,因此,能夠借用現(xiàn)行標(biāo)準(zhǔn)協(xié)議規(guī)定的一些傳送方法,即本方案與現(xiàn)行標(biāo)準(zhǔn)協(xié)議有很好的兼容性。
圖1所示為1GFP-T的封裝結(jié)構(gòu)示意圖;圖2所示為應(yīng)用本發(fā)明的對(duì)業(yè)務(wù)接收端的數(shù)據(jù)流進(jìn)行封裝的示意圖;圖3所示為應(yīng)用本發(fā)明的對(duì)業(yè)務(wù)發(fā)送端的數(shù)據(jù)流進(jìn)行解封裝的示意圖。
具體實(shí)施例方式
下面結(jié)合附圖及具體實(shí)施例,對(duì)本發(fā)明再作進(jìn)一步詳細(xì)說(shuō)明。
本發(fā)明的思路是不對(duì)接收的業(yè)務(wù)進(jìn)行任何識(shí)別處理,只保證所傳送數(shù)據(jù)流的正確性。
下面以GFP-T封裝形式為實(shí)施例,具體說(shuō)明本發(fā)明的封裝方法。
圖2所示為應(yīng)用本發(fā)明的對(duì)業(yè)務(wù)接收端的數(shù)據(jù)流進(jìn)行封裝的示意圖。業(yè)務(wù)接收端的串行電信號(hào)經(jīng)串并轉(zhuǎn)換模塊201將串行信號(hào)轉(zhuǎn)換為并行信號(hào)后,送入FIFO緩沖區(qū)202,以便于封裝模塊的處理。設(shè)置一個(gè)字節(jié)計(jì)數(shù)器203,該計(jì)數(shù)器的計(jì)數(shù)值N為所封裝幀的數(shù)據(jù)區(qū)的長(zhǎng)度。該計(jì)數(shù)值N是根據(jù)實(shí)際傳送的效率與成本的關(guān)系來(lái)設(shè)定的,因而對(duì)于不同的業(yè)務(wù)其取值亦不同,但在同一業(yè)務(wù)的傳送過(guò)程中是固定不變的。對(duì)于GFP-T封裝形式而言,其不支持包中間的速率適配,為了保證包中間傳送數(shù)據(jù)的連續(xù),通過(guò)緩存進(jìn)行控制,且要求映射帶寬大于客戶數(shù)據(jù)即編碼前的基本數(shù)據(jù)速率。在FIFO緩沖區(qū)202中設(shè)置低水線值,當(dāng)FIFO中所存儲(chǔ)的數(shù)據(jù)達(dá)到低水線值后,按照先進(jìn)先出順序,對(duì)FIFO緩沖區(qū)的數(shù)據(jù)按照所設(shè)定的計(jì)數(shù)值N進(jìn)行切片,以保證幀中間數(shù)據(jù)連續(xù),并為切片后的數(shù)據(jù)添加幀頭和幀尾進(jìn)行封裝,幀尾的校驗(yàn)字段(FCS)根據(jù)協(xié)議的要求可為非必選項(xiàng)。對(duì)于緩沖區(qū)中未被切片的數(shù)據(jù),則合并在下一次的切片過(guò)程中進(jìn)行處理。
在設(shè)定計(jì)數(shù)值N時(shí),如果計(jì)數(shù)值N過(guò)大,則切片的長(zhǎng)度過(guò)長(zhǎng),緩存的FIFO深度越大,因此可能失去了流封裝的低延時(shí)的優(yōu)點(diǎn);如果計(jì)數(shù)值N過(guò)小,則切片長(zhǎng)度太短,會(huì)由于幀頭幀尾的增加而減小了有效帶寬,所以N的取值以保證在實(shí)際應(yīng)用中得到最佳的傳送效率為準(zhǔn)。
圖3所示為應(yīng)用本發(fā)明的對(duì)業(yè)務(wù)發(fā)送端的數(shù)據(jù)流進(jìn)行解封裝的示意圖。對(duì)于GFP協(xié)議而言,發(fā)送端接收到遠(yuǎn)端傳送來(lái)的數(shù)據(jù)幀后,通過(guò)幀頭界定數(shù)據(jù)區(qū)開(kāi)始,根據(jù)數(shù)據(jù)的長(zhǎng)度N找到幀尾,如果該數(shù)據(jù)存在幀尾,則除去幀頭(包括凈荷頭)幀尾后的數(shù)據(jù)進(jìn)入FIFO緩沖區(qū)301,如果該數(shù)據(jù)中只有幀頭信息,則將除去幀頭(包括凈荷頭)后的數(shù)據(jù)送入FIFO緩沖區(qū)301。對(duì)于其它協(xié)議,如LAPS協(xié)議等,發(fā)送端接收到遠(yuǎn)端傳送來(lái)的數(shù)據(jù)幀后,通過(guò)幀頭界定數(shù)據(jù)區(qū)開(kāi)始,根據(jù)幀尾界定幀尾,將除去幀頭(包括凈荷頭)幀尾后的數(shù)據(jù)送入FIFO緩沖區(qū)301。由于包之間的Idle幀數(shù)據(jù)在進(jìn)入緩沖區(qū)301之前就已經(jīng)被識(shí)別出并被丟棄,所以緩沖區(qū)301內(nèi)的是純凈荷數(shù)據(jù)。數(shù)據(jù)流按照先進(jìn)先出的順序,由并串轉(zhuǎn)換模塊302將并行數(shù)據(jù)轉(zhuǎn)換為串行數(shù)據(jù)后發(fā)送出去。
本發(fā)明只提供了一種封裝方案,因此,可借用目前標(biāo)準(zhǔn)封裝協(xié)議,如GFP、LAPS等協(xié)議,規(guī)定的傳送方法進(jìn)行數(shù)據(jù)傳送。例如,定義協(xié)議空閑包進(jìn)行映射過(guò)程的速率適配,利用幀頭信息的保留位傳送自定義的遠(yuǎn)端性能和告警信息等,如業(yè)務(wù)接入端光纖的狀態(tài),從而使系統(tǒng)完成一些相應(yīng)的保護(hù)操作。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換和改進(jìn),均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種封裝數(shù)據(jù)流的方法,其特征在于,該方法包括以下步驟a、在緩沖區(qū)中預(yù)先設(shè)置存儲(chǔ)數(shù)據(jù)的低水線值;b、判斷緩沖區(qū)中所存儲(chǔ)數(shù)據(jù)是否達(dá)到低水線值,如果是,則對(duì)緩沖區(qū)中的數(shù)據(jù)按一定長(zhǎng)度進(jìn)行分割處理,并為分割后的數(shù)據(jù)添加幀頭和幀尾,否則對(duì)緩沖區(qū)的數(shù)據(jù)不做分割處理。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟a所述低水線值大于等于所分割的長(zhǎng)度。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)置計(jì)數(shù)值為分割長(zhǎng)度的字節(jié)計(jì)數(shù)器,且該計(jì)數(shù)值跟據(jù)具體使用的效率與成本的關(guān)系而確定。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括將經(jīng)過(guò)串并轉(zhuǎn)換的數(shù)據(jù)輸入緩沖區(qū)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法進(jìn)一步包括解封裝時(shí),根據(jù)幀頭界定數(shù)據(jù)區(qū)的開(kāi)始,根據(jù)所分割的長(zhǎng)度確定幀尾,將去掉幀頭幀尾的數(shù)據(jù)送入緩沖區(qū)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,解封裝后的數(shù)據(jù)經(jīng)并串轉(zhuǎn)換處理后發(fā)送出去。
7.根據(jù)權(quán)利要求1或5所述的方法,其特征在于,所述緩沖區(qū)為先進(jìn)先出緩沖區(qū)。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述幀尾為校驗(yàn)字段。
全文摘要
本發(fā)明提供了一種封裝數(shù)據(jù)流的方法,該方法包括以下步驟a.在緩沖區(qū)中預(yù)先設(shè)置存儲(chǔ)數(shù)據(jù)的低水線值;b.判斷緩沖區(qū)中所存儲(chǔ)數(shù)據(jù)是否達(dá)到低水線值,如果是,則對(duì)緩沖區(qū)中的數(shù)據(jù)按一定長(zhǎng)度進(jìn)行分割處理,并為分割后的數(shù)據(jù)添加幀頭和幀尾,否則對(duì)緩沖區(qū)的數(shù)據(jù)不做分割處理。應(yīng)用本發(fā)明,通過(guò)對(duì)收到的數(shù)據(jù)流進(jìn)行計(jì)數(shù)切片,并添加幀頭幀尾實(shí)現(xiàn)對(duì)數(shù)據(jù)流的封裝。由于應(yīng)用本發(fā)明的方法不需對(duì)接收的業(yè)務(wù)進(jìn)行識(shí)別處理,因而能夠?qū)崿F(xiàn)對(duì)任意業(yè)務(wù)數(shù)據(jù)流的封裝處理。同時(shí),由于本發(fā)明只是一種封裝方法,因此,能夠借用現(xiàn)行標(biāo)準(zhǔn)協(xié)議規(guī)定的一些傳送方法,即本方案與現(xiàn)行標(biāo)準(zhǔn)協(xié)議有很好的兼容性。
文檔編號(hào)H04L12/46GK1571415SQ03149588
公開(kāi)日2005年1月26日 申請(qǐng)日期2003年7月17日 優(yōu)先權(quán)日2003年7月17日
發(fā)明者廖靜玲, 石磊, 王紅霞, 曾理 申請(qǐng)人:華為技術(shù)有限公司