一种用于PTN设备的丢包统计方法及装置与流程

文档序号:12622777阅读:400来源:国知局
一种用于PTN设备的丢包统计方法及装置与流程

本发明涉及通信领域,特别涉及一种用于分组传送网(Packet Transport Network,PTN)设备的丢包统计方法及装置。



背景技术:

随着网络技术演进和网络融合,在下一代网络中,以数据包为基础单元进行网络数据传输和交换的方式将占据统治地位。无论是网络互连协议(Internet Protocol,IP)网络、多协议标签交换(Multi-Protocol Lable Switch,MPLS)网络都是包交换网络的代表。另一方面,下一代网络需要逐步建成,现存的服务于公共交换电话网络(Public Switched Telephone Network,PSTN)公告语音通信业务的准同步数字系列(Plesiochronous Digital Hierarchy,PDH)/同步数字系列(Synchronous Digital Hierarchy,SDH)网络还将会长期存在,网络上大量存在的用户时分复用(Time Division Mutiplexing,TDM)设备还将继续使用。为了保护用户在TDM设备上已有的投资,在下一代包交换网络中提供TDM业务接入和TDM数据透传能力是十分重要的。

实现TDM业务透传PSN网络有两种技术,一种是TD复用IP的(TD Multiplexing IP,TDMoIP)技术,另一种是基于分组交换网(Packet Switched Network,PSN)网络的边缘到边缘的伪线仿真(Pseudo-Wire Emulation Edge to Edge,PWE3)技术。TDMoIP技术和PWE3技术基于同样的协议结构,TDMoIP技术将恒定比特率(Constant Bit-Rate,CBR)数据适配成AAL1信元,将动态比特率(Variable Bit-Rate,VBR)数据适配成AAL2信元,然后对AAL1/AAL2信元进行PW封装透传。而PWE3技术直接对原始的TDM业务或者SDH的VC数据实行PWE3封装透传。它采用特殊的电路仿真报文头进行封装,在特殊报文头中携带TDM数据业务或VC数据业务的帧格式信息、告警信息、信令信息以及同步定时信息。携带TDM数据业务的报文称为CES PWE3封装,携带SDH的VC数据的报文称为CEP PWE3封装。

图1和图2分别为现有技术提供的CES PWE3封装的报文格式和CEP PWE3封装的报文格式示意图,图3和图4分别为现有技术提供的非结构化和结构化CES PWE3报文的ConWord域的结构图,图5为现有技术提供的CEP PWE3报文CepHeader域的结构图,如图1至图5所示,CES PWE3封装包括非结构化和结构化两种,其中,非结构化的CES PWE3无需考虑E1帧的边界,E1帧作为一个整体传送,不需要解析E1帧内部的时隙;而结构化的CES PWE3可以识别E1帧结构,需要解析64K的时隙,并支持时隙压缩功能,即只需要传送有效业务的时隙,空闲时隙信道可以不传送,以用于节省网络资源带宽。CEP PWE3是把SDH的VC通道作为一个完整的净荷封装,不识别通道内的映射结构。

在PTN网络的测试环境中,经常会遇到业务持续瞬断或者业务偶现闪断的情况。在简单的环境,例如只有一两个设备对接,排查这类故障时首先需要明确设备接收报文时是否存在丢包,而在比较复杂的环境,例如多个设备对接测试中定位少量持续丢包还是比较麻烦的,如果能查询到每个设备丢包情况以及丢包数量,就可以快速定位出现问题的设备,对进一步分析问题有很大帮助。因此,统计设备的丢包情况在实际测试应用中很有必要。



技术实现要素:

本发明的目的在于提供一种用于PTN设备的丢包统计方法及装置,能更好地监测PTN网络传输的PWE3报文的丢包情况,以方便故障定位。

根据本发明的一个方面,提供了一种用于PTN设备的丢包统计方法,包括:

利用分组传送网PTN设备的第一存储器存储依次接收的报文的实际序列值,利用所述PTN设备的第二存储器存储对应于所述实际序列值的理想序列值;

通过比较当前报文与上一个报文的实际序列值,判断当前报文的实际序列值是否连续递增;

若判断当前报文的实际序列值连续递增,则利用所述第一存储器输出的实际序列值和第二存储器输出的理想序列值,计算丢包统计值;

若判断当前报文的实际序列值不是连续递增,则判断是否已连续存在预设数量的报文的实际序列值不是连续递增,并根据判断结果,计算丢包统计值。

优选地,按照所述当前报文所属的时隙号,查询所述第一存储器,得到用于 与所述当前报文比较的同一时隙的上一个报文的实际序列值。

优选地,所述利用所述第一存储器输出的实际序列值和第二存储器输出的理想序列值,计算丢包统计值的步骤包括:

将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第一丢包值;

将所述第一丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

优选地,在得到第一丢包值之后,按照所述当前报文所属的时隙号,将所述当前报文的实际序列值保存至所述第一存储器和第二存储器。

优选地,所述根据判断结果,计算丢包统计值的步骤包括:

若判断连续存在预设数量的报文的实际序列值不是连续递增,则将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第二丢包值;

将所述第二丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

优选地,在得到第二丢包值之后,按照所述当前报文所属的时隙号,将所述第一存储器输出的实际序列值加1后作为所述第二存储器的理想序列值保存至所述第二存储器,将所述当前报文的实际序列值保存至所述第一存储器。

根据本发明的另一方面,提供了一种用于PTN设备的丢包统计装置,包括:

存储模块,用于利用其第一存储器存储依次接收的报文的实际序列值,利用其第二存储器存储对应于所述实际序列值的理想序列值;

判断模块,用于通过比较当前报文与上一个报文的实际序列值,判断当前报文的实际序列值是否连续递增;

第一处理模块,用于在判断当前报文的实际序列值连续递增时,利用所述第一存储器输出的实际序列值和第二存储器输出的理想序列值,计算丢包统计值;

第二处理模块,用于在判断当前报文的实际序列值不是连续递增时,判断是否已连续存在预设数量的报文的实际序列值不是连续递增,并根据判断结果,计算丢包统计值。

优选地,所述判断模块按照所述当前报文所属的时隙号,查询所述第一存储器,得到用于与所述当前报文比较的同一时隙的上一个报文的实际序列值。

优选地,所述第一处理模块将所述第一存储器输出的实际序列值和第二存储 器输出的理想序列值相减,得到第一丢包值,并将所述第一丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

优选地,在得到第一丢包值之后,所述第一处理模块按照所述当前报文所属的时隙号,将所述当前报文的实际序列值保存至所述存储模块的第一存储器和第二存储器。

优选地,所述第二处理模块在判断连续存在预设数量的报文的实际序列值不是连续递增,则将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第二丢包值,并将所述第二丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

优选地,所述第二处理模块在得到第二丢包值之后,按照所述当前报文所属的时隙号,将所述第一存储器输出的实际序列值加1后作为所述第二存储器的理想序列值保存至所述第二存储器,将所述当前报文的实际序列值保存至所述第一存储器。

与现有技术相比较,本发明的有益效果在于:

本发明利用接收的报文的实际序列值和理想序列值进行PTN设备的丢包统计,使用逻辑资源较少,简单方便,能够对PTN网络丢包有效定位。

附图说明

图1是现有技术提供的CES PWE3封装的报文格式示意图;

图2是现有技术提供的CEP PWE3封装的报文格式示意图;

图3是现有技术提供的非结构化CES PWE3报文ConWord域的结构图;

图4是现有技术提供的结构化CES PWE3报文ConWord域的结构图;

图5是现有技术提供的CEP PWE3报文CepHeader域的结构图;

图6是发明实施例提供的用于PTN设备的丢包统计方法流程图;

图7是发明实施例提供的用于PTN设备的丢包统计装置框图;

图8本发明实施例提供的PTN设备丢包统计的装置简图;

图9本发明实施例提供的Sequence比较处理器装置简图;

图10本发明实施例提供的丢包统计分析的第一示意图;

图11本发明实施例提供的丢包统计分析的第二示意图;

图12本发明实施例提供的丢包统计分析的第三示意图;

具体实施方式

以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图6是发明实施例提供的用于PTN设备的丢包统计方法流程图,如图6所示,步骤包括:

步骤S101:利用分组传送网PTN设备的第一存储器存储依次接收的报文的实际序列值,利用所述PTN设备的第二存储器存储对应于所述实际序列值的理想序列值。

步骤S102:通过比较当前报文与上一个报文的实际序列值,判断当前报文的实际序列值是否连续递增。

其中,按照所述当前报文所属的时隙号(例如E1时隙号),查询所述第一存储器,得到用于与所述当前报文比较的E1时隙的上一个报文的实际序列值。

步骤S103:若判断当前报文的实际序列值连续递增,则利用所述第一存储器输出的实际序列值和第二存储器输出的理想序列值,计算丢包统计值。

具体地说,首先将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第一丢包值,然后将所述第一丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

进一步地,在得到第一丢包值之后,利用按照所述当前报文所属的时隙号(例如E1时隙号),将所述当前报文的实际序列值保存至所述第一存储器和第二存储器。

步骤S104:若判断当前报文的实际序列值不是连续递增,则判断是否已连续存在预设数量的报文的实际序列值不是连续递增,并根据判断结果,计算丢包统计值。

具体地说,若判断连续存在预设数量的报文的实际序列值不是连续递增,则将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第二丢包值;将所述第二丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。

进一步地,在得到第二丢包值之后,按照所述当前报文所属的时隙号,将所述第一存储器输出的实际序列值加1后作为所述第二存储器的理想序列值保存至所述第二存储器,将所述当前报文的实际序列值保存至所述第一存储器。

图7是发明实施例提供的用于PTN设备的丢包统计装置框图,如图7所示,包括:存储模块10、判断模块20、第一处理模块30和第二处理模块40。

存储模块10包括第一存储器和第二存储器,存储模块10利用其第一存储器存储依次接收的报文的实际序列值,利用其第二存储器存储对应于所述实际序列值的理想序列值。

判断模块20用于按照所述当前报文所属的时隙号,查询所述第一存储器,得到用于与所述当前报文比较的同一时隙的上一个报文的实际序列值,并将当前报文的实际序列值与上一个报文的实际序列值进行比较,判断当前报文的实际序列值是否连续递增。

第一处理模块30用于在判断当前报文的实际序列值连续递增时,利用所述第一存储器输出的实际序列值和第二存储器输出的理想序列值,计算丢包统计值。具体地说,第一处理模块30将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第一丢包值,并将所述第一丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。其中,在得到第一丢包值之后,第一处理模块30按照所述当前报文所属的时隙号,将所述当前报文的实际序列值保存至所述存储模块10的第一存储器和第二存储器。

第二处理模块40用于在判断当前报文的实际序列值不是连续递增时,判断是否已连续存在预设数量的报文的实际序列值不是连续递增,并根据判断结果,计算丢包统计值。具体地说,第二处理模块40在判断连续存在预设数量的报文的实际序列值不是连续递增,则将所述第一存储器输出的实际序列值和第二存储器输出的理想序列值相减,得到第二丢包值,并将所述第二丢包值与在前统计的丢包统计值累加,得到新的丢包统计值。进一步地,在得到第二丢包值之后,按照所述当前报文所属的时隙号,将所述第一存储器输出的实际序列值加1后作为所述第二存储器的理想序列值保存至所述第二存储器,将所述当前报文的实际序列值保存至所述第一存储器。

正常情况下,每个PWE3报文的ConWord域和CepHeader域中的Sequence 信息(即Sequence值、序列值)是按顺序递增的,当PTN设备接收侧检测到PWE3报文的Sequence信息不是顺序递增(即连续递增)的,这时可能存在很多种情况,例如,两个连续PWE3报文中后一个报文的Sequence值比前一个报文的大,但不是相差1,或者后一个报文的Sequence值比前一个报文的小;三个连续的PWE3报文中第二个报文的Sequence值是异常值(可能是数据传输过程中偶现数据错误,并不是真正的丢包),第三个报文的Sequence值比第一个报文的大二,是连续递增的关系;一段时间范围内,没有Sequence值是按顺序递增的等等。因此,鉴于存在的多种情况,当接收到PWE3报文的Sequence值不是顺序递增时,表示接收的报文可能出现了丢包或者多包或者错包的情况。

图8本发明实施例提供的PTN设备丢包统计的装置简图,图9本发明实施例提供的Sequence比较处理器装置简图,如图8和图9所示,包括:

1.接收报文检测模块,可以提取接收的报文的Sequence值;

2.CPU配置模块,实现按Pwlabel对接收的报文的属性进行配置;

3.第一存储器,存储的内容是当前报文的Sequence值;

4.第二存储器,存储的内容反映历史上接收到连续Sequence值的报文的Sequence值和不连续Sequence值的报文的个数;

5.Sequence比较处理器,实现第一存储器和第二存储器的输出比较,根据比较情况完成丢包统计。具体地说,假设第一存储器的输出为Sequence1,第二存储器的输出为Sequence2,Sequence比较处理器比较Sequence1和Sequence2。如果Sequence1等于Sequence2,两者相减后得到的差值为0,表示报文序列号(即Sequence值)连续,报文没有丢失,不做统计;如果Sequence1减去Sequence2的差值大于N(这里设置N=4096),表示报文丢失过多,需要上报PWE3报文丢失告警,不做丢包统计;其它情况,Sequence1减去Sequence2的差值,作为当前报文的丢失统计,存入第三存储器,此时,Sequence比较处理器将所得到的当前报文的丢失统计与在前统计值相加,得到总的报文丢失统计。

本发明利用减法器将第一存储器的内容和第二存储器的内容相减得到丢包统计。第一存储器和第二存储器都按E1时隙或VC时隙进行存储,第一存储器用于存储接收的当前报文的Sequence值(即实际序列值)。因此,当下一个报文到来时,读取第一存储器的内容,就可得到上一个报文的Sequence值。第二存储 器存储的内容有条件限制:首先判断当前报文的Sequence值和上一个报文的Sequence值是否是顺序递增的关系,如果是顺序递增的关系则将当前报文的Sequence值存储至第二存储器;如果不是顺序递增的关系,则表示报文的Sequence值是不连续的,那么读出第二存储器的内容,然后将该内容加1后作为理想Sequence值,再存入第二存储器(加1表示收到了一个报文,但是收到的是不连续Sequence值的报文),因此第二存储器存储的内容反映了历史收到的报文连续的Sequence值和不连续Sequence值的报文的个数。

每接收到一个新的PWE3报文,都要更新第一存储器,同时根据接收报文的Sequence值判断如何更新第二存储器。比较第一存储器输出的Sequence值(即上一个报文的Sequence值)与当前报文的Sequence值,当判断Sequence值连续递增时,Sequence比较处理器的减法器将第一存储器和第二存储器输出的内容相减,即可得到PWE3报文的丢包统计。但是在一直收不到连续递增的Sequence值的报文的情况下,就得不到报文的丢包统计,因此为了启动丢包统计使能,本实施例在收到连续M(M可以设置为1、2、3、4、5…….)个报文的Sequence值都是不连续时,第二存储器的内容利用第M个报文的Sequence值更新,同时在该时刻,进行第一存储器和第二存储器的内容相减。

由于Sequence值是按16bit循环累加的,如果第一存储器存储的Sequence值比第二存储器存储的Sequence值小,可能存在下面几种情况:

1.如果第一存储器存储的Sequence值是16’h0,第二存储器存储的Sequence值是16’hffff,这种情况下丢失的报文数可能是0或者65536或者131072(即65536+65536=131072)或者更多。

2.如果第一存储器存储的Sequence值是16’h3,第二存储器存储的Sequence值是16’hffff,这种情况下丢失的报文数可能是3或者65539或者131075(65539+65536=131076)更多。

因此,用第一存储器和第二存储器的输出值直接进行相减得到的丢包统计会有很多可能性。为了更准确地统计网络丢包,保证丢包统计的唯一性,本发明只考虑第一存储器和第二存储器的Sequence值相差范围在0到N(N可以设置为0~65535中的任意一个值)的情况。对于实际上网络丢包大于N个报文的情况,可采用其他手段通知客户。假设N=4096,PTN设备每隔125us接收到一个PWE3报文,那 么丢失4096个报文需要的时间:4096x125us=512ms。因此,设置一个512ms的时间窗口,当512ms时间范围内都没有接收到PWE3报文,那么上报PWE3报文丢失告警,这时丢包统计值没有参考意义。

具体实施步骤:

第一步:在PTN设备的接收侧入口,检测接收的PWE3报文的合法性,从合法的报文中提取出Pwlabel和Sequence,并将不合法的报文丢弃。

第二步:CPU按Pwlabel配置报文的属性。

对CES业务,CPU按Pwlabel配置接收的CES PWE3报文所属的E1时隙号;对CEP业务,CPU按Pwlabel配置接收的CEP PWE3报文所属的VC时隙号。

用接收报文的Pwlabel从CPU配置中查询报文的属性,得到当前报文对应的E1时隙或VC时隙。

第三步:使用第一存储器,按E1时隙/VC时隙存储接收到的报文的Sequence值。

每当接收到一个新的PWE3报文,都需要更新第一存储器。

第四步:每接收到一个新的PWE3报文,用E1时隙或VC时隙读取第一存储器,得到第一存储器的输出值,也就是上一个报文的Sequence值。然后将第一存储器的输出值和当前接收报文的Sequence值比较,判断是否是递增关系。如果是递增的,按E1时隙/VC时隙把当前报文的Sequence存储在第二存储器中。如果不是递增的,把第二存储器的输出值加1再存储。当接收到连续M个报文的Sequence值都不是递增的关系,把第一存储器的输出值加1再存储到第二存储器中。

第五步:每当接收到连续Sequence值的报文时或者接收到连续M个报文的Sequence值都不连续时,读取第一存储器的输出值Sequence1和第二存储器的输出值Sequence2,两者做减法运算。当Sequence1等于Sequence2,表示序列号连续,报文没有丢失;当Sequence1和Sequence2的差值超过16’h0fff,不做丢包统计,并上报报文丢失告警,以通知客户;否则,将Sequence1和Sequence2的差值作为当前报文丢失统计结果。

图10本发明实施例提供的丢包统计分析的第一示意图,图11本发明实施例提供的丢包统计分析的第二示意图,图12本发明实施例提供的丢包统计分析的第三 示意图,如图10至图12所示,以接收报文为CES PWE3为例,进一步说明如何利用报文的Sequence值进行丢包统计。

假设光口类型是4xSTM-1,接收的CES PWE3报文属性即E1时隙号可由{vc4[1:0],vc3[1:0],vc12[4:0]}表示。CPU配置Pwlabel为1的报文属性,即报文所属的E1时隙为{2’b00,2’b00,5’b00010}。假设图10至图12接收报文的Pwlabel域都是1,表示同属于一个E1时隙9’h002。

如图10所示的丢包统计分析示意图,接收报文的Sequence值开始是连续状态,接着接收到一个不连续Sequence值的报文,随后又接收到连续Sequence值的报文。

如图11所示的丢包统计分析示意图,接收报文的Sequence值开始是连续状态,接着接收到一个不连续Sequence值的报文(该Sequence值很大),随后又接收到连续Sequence值的报文,紧接着收到两个相等Sequence的报文。

如图12所示的丢包统计分析示意图,接收报文的Sequence值开始是连续状态,然后接收到M(这里设置M=5)个报文的Sequence值都不连续,接着又收到连续Sequence值的报文。

1.接收到的当前报文的Sequence值存储到第一存储器中,在存储之前,读取上一个报文的Sequence,即第一存储器输出值Sequence1。

2.将当前报文和上一个报文的Sequence值进行比较。若Sequence值是顺序递增的状态,则将当前报文的Sequence存入第二存储器,否则,当前报文的Sequence不存储到第二存储器中,而是将第二存储器的内容加1后再存到第二存储器中。

3.在报文的Sequence值是连续递增时或者接收到M(M设置为5)个不连续Sequence值的报文时,比较第一存储器和第二存储器的输出值。

(1)如果Sequence1等于Sequence2,表示报文序列号连续,报文没有丢失,不做统计;

(2)如果Sequence1减去Sequence2的差值,大于N(这里设置N=4096),表示报文丢失太多,需要报PWE3报文丢失告警,不做丢包统计。

(3)其他情况,Sequence1减去Sequence2的差值,作为当前报文的丢失统计,存入第三存储器,第三存储器按E1时隙或VC时隙存储每次报文丢失统计累加的结果。

图10为丢包统计结果为1的情况,图11为丢包统计结果为0的情况,图12为丢包统计结果为6的情况。

综上所述,本发明具有以下技术效果:

本发明利用PWE3报文的ConWord域和CepHeader域中的Sequence信息以较少的逻辑资源实现PTN网络节点报文丢失的统计,方便排查网络节点,快速定位PTN设备的丢包情况。

尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1