一種以太網(wǎng)報(bào)文排序方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種以太網(wǎng)報(bào)文排序方法,包括接收以太網(wǎng)報(bào)文,該報(bào)文攜帶有報(bào)文序列號;計(jì)算當(dāng)前的最大報(bào)文序列號及該報(bào)文的存儲區(qū)塊號;計(jì)算最大報(bào)文序列號與讀指針之間的差值,如果差值小于預(yù)設(shè)的第一標(biāo)志位,則根據(jù)報(bào)文的存儲區(qū)塊號將報(bào)文寫入存儲區(qū)塊號對應(yīng)的區(qū)塊;其中,讀指針初始值為0;當(dāng)差值小于預(yù)設(shè)的第一標(biāo)志位、大于等于預(yù)設(shè)的第二標(biāo)志位且最大報(bào)文序列號與讀指針之間的存儲區(qū)塊被連續(xù)寫滿時(shí),利用讀指針依次讀取最大報(bào)文序列號與讀指針之間的存儲區(qū)塊。本發(fā)明還提供了一種以太網(wǎng)報(bào)文排序裝置。本發(fā)明利用存儲器的數(shù)據(jù)緩存功能將接收到的報(bào)文進(jìn)行重排寫入后依次讀取,實(shí)現(xiàn)報(bào)文的亂序重排。
【專利說明】一種以太網(wǎng)報(bào)文排序方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種以太網(wǎng)報(bào)文排序方法及裝置。
【背景技術(shù)】
[0002]以因特網(wǎng)協(xié)議(IP,Internet Protocol)網(wǎng)絡(luò)和多協(xié)議標(biāo)簽交換(MPLS,Mult1-Protocol Label Switching)網(wǎng)絡(luò)為代表的分組傳輸和交換網(wǎng)絡(luò)是下一代網(wǎng)絡(luò)的發(fā)展趨勢,目前現(xiàn)網(wǎng)中還存在大量的時(shí)分復(fù)用(TDM, Time Division Multiplexing)設(shè)備,出于保護(hù)投資的需求,需要一種技術(shù)將這兩種網(wǎng)絡(luò)融合起來。電路仿真技術(shù)通過在分組網(wǎng)絡(luò)中構(gòu)建隧道仿真TDM、同步數(shù)字體系(SDH, Synchronous Digital Hierarchy)等低速業(yè)務(wù),提供了一種TDM網(wǎng)絡(luò)向分組網(wǎng)絡(luò)平滑升級的經(jīng)濟(jì)方式。其中,在各種電路仿真技術(shù)中以Internet工程任務(wù)組(IETF)的邊緣到邊緣的偽線仿真(PWE3, Pseudo-ffire Edge-to-EdgeEmulation)為代表被廣泛應(yīng)用。
[0003]PWE3是一種端到端的偽線仿真,原理如圖4所示,客戶業(yè)務(wù)經(jīng)由運(yùn)營商邊界網(wǎng)絡(luò)PE (Provider Edge)設(shè)備封裝到 PW 協(xié)議數(shù)據(jù)單兀(Pseudo-Wires Protocol Data Unit,PW-PDU)后分組網(wǎng)絡(luò)傳輸,到達(dá)對端PE設(shè)備解封裝出原始的客戶業(yè)務(wù)數(shù)據(jù),對客戶設(shè)備(CE,Custom Edge)來說是感受不到分組網(wǎng)絡(luò)的存在,相當(dāng)于在客戶設(shè)備CEl和CE2之間建立一條虛擬連線。
[0004]如圖5所示,在PEl設(shè)備對客戶數(shù)據(jù)進(jìn)行封裝后,可能會經(jīng)由不同的網(wǎng)絡(luò)路徑到達(dá)PE2,這樣可能會導(dǎo)致PEl發(fā)送的報(bào)文到達(dá)PE2的先后順序會有變化,導(dǎo)致不能正?;謴?fù)出客戶數(shù)據(jù)。另外由于以太網(wǎng)的異步和突發(fā)特性,導(dǎo)致到達(dá)PE2的數(shù)據(jù)報(bào)文的時(shí)間間隔會有變化,由于TDM業(yè)務(wù)對時(shí)鐘同步比較敏感。通常PE設(shè)備接收到的以太網(wǎng)報(bào)文在解封裝前會通過一個(gè)緩存來吸收網(wǎng)絡(luò)抖動(dòng),并對到達(dá)的報(bào)文順序進(jìn)行重排,以恢復(fù)出正常的客戶業(yè)務(wù)數(shù)據(jù)。
[0005]目前,接收端報(bào)文順序重排的技術(shù)有:
[0006]I)按照報(bào)文所包含的時(shí)間戳先后來排序,業(yè)務(wù)數(shù)據(jù)在封裝到PWE3PDU后可包含一個(gè)時(shí)戳字段,該字段為可選項(xiàng),根據(jù)報(bào)文的時(shí)間先后順序存入相應(yīng)的緩沖區(qū),按照緩沖區(qū)地址從低到高的順序讀取數(shù)據(jù)以達(dá)到報(bào)文順序重排的目的。這種方式需要收發(fā)端都支持可選時(shí)間戳字段,無法與不支持時(shí)間戳的設(shè)備互通,有一定的局限性,另外額外的字段會占用一部份網(wǎng)絡(luò)帶寬。
[0007]2)按照報(bào)文中所含的序列號與接收端期望的序列號來對比,將接收到的報(bào)文以及對應(yīng)的序列號分別存入數(shù)據(jù)緩沖區(qū)和序列號索引表,期望的序列號也存入單獨(dú)的索引表,通過比對接收序列號及期望序列號是否匹配,得到一個(gè)索引值指向接收數(shù)據(jù)緩存區(qū)讀取數(shù)據(jù)。這種方式需要在接收端單獨(dú)維護(hù)一個(gè)期望序列號索引表,采用硬件方式實(shí)現(xiàn)時(shí)復(fù)雜度比較高,占用硬件資源較多。
【發(fā)明內(nèi)容】
[0008]本發(fā)明針對上述問題,提出了一種以太網(wǎng)報(bào)文排序方法及裝置,對亂序的以太網(wǎng)報(bào)文進(jìn)行重排。
[0009]在一個(gè)方面,本發(fā)明提供了一種以太網(wǎng)報(bào)文排序方法,包括:
[0010]接收以太網(wǎng)報(bào)文,該報(bào)文攜帶有報(bào)文序列號;
[0011]計(jì)算當(dāng)前的最大報(bào)文序列號,并根據(jù)報(bào)文序列號計(jì)算報(bào)文的存儲區(qū)塊號;
[0012]計(jì)算最大報(bào)文序列號與讀指針之間的差值,如果差值小于預(yù)設(shè)的第一標(biāo)志位,則根據(jù)報(bào)文的存儲區(qū)塊號將報(bào)文寫入存儲區(qū)塊號對應(yīng)的區(qū)塊;其中,讀指針初始值為O ;
[0013]當(dāng)差值小于預(yù)設(shè)的第一標(biāo)志位、大于等于預(yù)設(shè)的第二標(biāo)志位且最大報(bào)文序列號與讀指針之間的存儲區(qū)塊被連續(xù)寫滿時(shí),利用讀指針依次讀取最大報(bào)文序列號與讀指針之間的存儲區(qū)塊。
[0014]在另一個(gè)方面,本發(fā)明提供了一種以太網(wǎng)報(bào)文排序裝置,包括:
[0015]接收裝置,用于接收以太網(wǎng)報(bào)文,該報(bào)文攜帶有報(bào)文序列號;
[0016]存儲器,用于暫存報(bào)文,所述存儲器包括讀指針和寫指針;
[0017]處理器,用于計(jì)算當(dāng)前的最大報(bào)文序列號,并根據(jù)報(bào)文序列號計(jì)算報(bào)文的存儲區(qū)塊號;當(dāng)最大報(bào)文序列號與讀指針之間的差值小于預(yù)設(shè)的第一標(biāo)志位,則根據(jù)報(bào)文的存儲區(qū)塊號將報(bào)文寫入存儲器的存儲區(qū)塊號對應(yīng)的區(qū)塊;其中,讀指針初始值為O ;當(dāng)差值小于預(yù)設(shè)的第一標(biāo)志位、大于等于預(yù)設(shè)的第二標(biāo)志位且最大報(bào)文序列號與讀指針之間的存儲區(qū)塊被連續(xù)寫滿時(shí),利用讀指針依次讀取最大報(bào)文序列號與讀指針之間的存儲區(qū)塊。
[0018]本發(fā)明利用存儲器的數(shù)據(jù)緩存功能將接收到的報(bào)文進(jìn)行重排寫入后依次讀取,實(shí)現(xiàn)報(bào)文的亂序重排。
【專利附圖】
【附圖說明】
[0019]下面將參照附圖描述本發(fā)明的具體實(shí)施例,其中:
[0020]圖1示出了本發(fā)明實(shí)施例以太網(wǎng)報(bào)文排序方法的流程圖;
[0021]圖2示出了本發(fā)明實(shí)施例以太網(wǎng)報(bào)文存儲示意圖;
[0022]圖3示出了本發(fā)明實(shí)施例以太網(wǎng)報(bào)文排序裝置的結(jié)構(gòu)示意圖;
[0023]圖4示出了現(xiàn)有技術(shù)中PWE3的原理示意圖;
[0024]圖5示出了現(xiàn)有技術(shù)中PWE3的流程示意圖。
【具體實(shí)施方式】
[0025]為了使本發(fā)明的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對本發(fā)明的示例性實(shí)施例進(jìn)行進(jìn)一步詳細(xì)的說明,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是所有實(shí)施例的窮舉。
[0026]本發(fā)明實(shí)施例提出了一種以太網(wǎng)報(bào)文排序方法,圖1示出了本發(fā)明實(shí)施例的方法流程圖,包括:
[0027]S101、接收以太網(wǎng)報(bào)文,以太網(wǎng)報(bào)文攜帶有報(bào)文序列號。
[0028]假設(shè)接收的以太網(wǎng)報(bào)文格式如下表1.1所示,其中,以太網(wǎng)報(bào)文攜帶的16位的報(bào)文序列號位于控制字的后兩個(gè)字節(jié),提取當(dāng)前報(bào)文序列號seq_id。
[0029]
【權(quán)利要求】
1.一種以太網(wǎng)報(bào)文排序方法,其特征在于,包括以下步驟: 接收以太網(wǎng)報(bào)文,所述報(bào)文攜帶有報(bào)文序列號; 計(jì)算當(dāng)前的最大報(bào)文序列號,并根據(jù)所述報(bào)文序列號計(jì)算所述報(bào)文的存儲區(qū)塊號; 計(jì)算所述最大報(bào)文序列號與讀指針之間的差值,如果所述差值小于預(yù)設(shè)的第一標(biāo)志位,則根據(jù)所述報(bào)文的存儲區(qū)塊號將所述報(bào)文寫入所述存儲區(qū)塊號對應(yīng)的區(qū)塊;其中,所述讀指針初始值為O ; 當(dāng)所述差值小于預(yù)設(shè)的第一標(biāo)志位、大于等于預(yù)設(shè)的第二標(biāo)志位且所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊被連續(xù)寫滿時(shí),利用所述讀指針依次讀取所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊。
2.如權(quán)利要求1所述的以太網(wǎng)報(bào)文排序方法,其特征在于,所述計(jì)算當(dāng)前的最大報(bào)文序列號具體為:將接收的第一個(gè)報(bào)文的報(bào)文序列號作為初始的最大報(bào)文序列號,當(dāng)后續(xù)接收的報(bào)文的報(bào)文序列號比所述最大報(bào)文序列號大時(shí),將所述后續(xù)接收的報(bào)文的報(bào)文序列號作為最大報(bào)文序列號。
3.如權(quán)利要求1所述的以太網(wǎng)報(bào)文排序方法,其特征在于,根據(jù)所述報(bào)文序列號計(jì)算所述報(bào)文的存儲區(qū)塊號具體為:將所述報(bào)文序列號與存儲器的最大緩存報(bào)文數(shù)進(jìn)行取模計(jì)算,取模計(jì)算得到的結(jié)果作為所述報(bào)文的存儲區(qū)塊號。
4.如權(quán)利要求1所述的以太網(wǎng)報(bào)文排序方法,其特征在于,當(dāng)所述最大報(bào)文序列號與讀指針之間的差值大于 等于預(yù)設(shè)的第一標(biāo)志位時(shí),丟棄所述報(bào)文。
5.如權(quán)利要求1所述的以太網(wǎng)報(bào)文排序方法,其特征在于,當(dāng)在一段時(shí)間內(nèi)所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊被連續(xù)寫滿,而所述最大報(bào)文序列號與所述讀指針之間的差值小于第二標(biāo)志位時(shí),發(fā)送告警信息。
6.一種以太網(wǎng)報(bào)文排序裝置,其特征在于,包括: 接收裝置,用于接收以太網(wǎng)報(bào)文,所述報(bào)文攜帶有報(bào)文序列號; 存儲器,用于暫存所述報(bào)文,所述存儲器包括讀指針和寫指針; 處理器,用于計(jì)算當(dāng)前的最大報(bào)文序列號,并根據(jù)所述報(bào)文序列號計(jì)算所述報(bào)文的存儲區(qū)塊號;當(dāng)所述最大報(bào)文序列號與讀指針之間的差值小于預(yù)設(shè)的第一標(biāo)志位,則根據(jù)所述報(bào)文的存儲區(qū)塊號將所述報(bào)文寫入所述存儲區(qū)塊號對應(yīng)的區(qū)塊;其中,所述讀指針初始值為O ;當(dāng)所述差值小于預(yù)設(shè)的第一標(biāo)志位、大于等于預(yù)設(shè)的第二標(biāo)志位且所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊被連續(xù)寫滿時(shí),利用所述讀指針依次讀取所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊。
7.如權(quán)利要求5所述的以太網(wǎng)報(bào)文排序裝置,其特征在于,所述處理器計(jì)算當(dāng)前的最大報(bào)文序列號是將接收的第一個(gè)報(bào)文的報(bào)文序列號作為初始的最大報(bào)文序列號,當(dāng)后續(xù)接收的報(bào)文的報(bào)文序列號比所述最大報(bào)文序列號大時(shí),更新所述最大報(bào)文序列號。
8.如權(quán)利要求5所述的以太網(wǎng)報(bào)文排序裝置,其特征在于,所述處理器將所述報(bào)文序列號與存儲器的最大緩存報(bào)文數(shù)進(jìn)行取模計(jì)算,取模計(jì)算得到的結(jié)果作為所述報(bào)文的存儲區(qū)塊號。
9.如權(quán)利要求5所述的以太網(wǎng)報(bào)文排序裝置,其特征在于,所述處理器還用于當(dāng)所述最大報(bào)文序列號與讀指針之間的差值大于等于預(yù)設(shè)的第一標(biāo)志位時(shí),丟棄所述報(bào)文。
10.如權(quán)利要求5所述的以太網(wǎng)報(bào)文排序裝置,其特征在于,所述處理器還用于當(dāng)在一段時(shí)間內(nèi)所述最大報(bào)文序列號與所述讀指針之間的存儲區(qū)塊被連續(xù)寫滿,而所述最大報(bào)文序列號與所述讀指針之間的差值小于第二`標(biāo)志位時(shí),發(fā)送告警信息。
【文檔編號】H04L12/861GK103825841SQ201410103385
【公開日】2014年5月28日 申請日期:2014年3月19日 優(yōu)先權(quán)日:2014年3月19日
【發(fā)明者】張浩明 申請人:北京眾合德信技術(shù)有限公司