同步光纤网或同步数字体系帧承载的净荷检测方法

文档序号:7601210阅读:448来源:国知局
专利名称:同步光纤网或同步数字体系帧承载的净荷检测方法
技术领域
本发明涉及通信领域中净荷检测方法,尤指一种同步光纤网或同步数字体系帧承载的净荷检测方法。
背景技术
SONET/SDH(同步光纤网/同步数字体系)可以承载多种复杂协议报文,如ATM(Asynchronous Transfer Mode,异步传输模式),GFP(General FramingProcedure,通用成帧规程),LAPS(Link Access Procedure-SDH,数据链路层规程)、HDLC(High level Data Link Control,高级数据链路控制)、PPP(Point-to-Point Protocol,点到点协议)等。
下面以ATM为例介绍SDH/SONET承载协议报文的情况。ATM OverSDH/SONET是利用SDH/SONET的大容量、光纤传输与稳定可靠的带有自愈和迂回路由的网络结构作为ATM交换核心的基础;将ATM信元打包成SDH/SONET帧(ATM信元映射到SDH/SONET的VC4虚容器中);将SDH/SONET作为物理层的传输介质,传送ATM信元;ATM信元在SDH/SONET的传输环上进行ATM之间的交换;通过SDH/SONET的保护环保障ATM信元的极低的损失;即利用ATM面向连接的快速交换能力,提供QoS保障;又利用SDH/SONET可靠的传输特性。
由于ATM协议和SDH/SONET协议都比较复杂,在实现ATM OverSDH/SONET的FPGA(Field Programmable Gate Array,现场可编程门阵列)或ASIC(Application Specific Integrated Circuit,特定用途集成电路)验证过程中,ATM Over SDH/SONET业务的分析是非常复杂的。如何分析ATM OverSDH/SONET业务是ATM Over SDH/SONET类FPGA或ASIC的验证难点之一。当SDH/SONET承载其他的复杂协议净荷时(如IP包,以太网包,HDLC封装报文,LAPS封装报文,GFP封装报文等),其分析过程也是FPGA或ASIC的验证难点。
承载复杂净荷的SDH/SONET帧验证分析的传统方法是将DUT(DesignUnder Test,被测试对象)输出的数据流存储在文件中,然后对文件进行人工分析。由于SDH/SONET协议和SDH/SONET承载的复杂净荷报文协议都很复杂,本方案采用的人工分析方法将导致效率低下,无法自动化分析,而且出错几率大,人力成本高。

发明内容
本发明解决的问题是实现SDH/SONET协议和SDH/SONET承载的复杂报文协议净荷检测为解决上述问题,本发明同步光纤网或同步数字体系帧承载的净荷检测方法,包括以下步骤确定协议类型,以明确协议报文结构特征;根据协议类型搜索协议报文头;把报文头作为起始,根据协议报文长度或间隔从净荷中拆离协议报文;检测协议报文,根据协议报文结构特征判断报文头和净荷是否正确;输出检测结果。
协议类型确定通过被测对象的协议报文的净荷中嵌入表示协议类型的特征字节或通过协议报文本身表示协议类型的特征字节确定。
如果协议类型为异步传输模式协议,则异步传输模式协议报文头搜索通过每收到5字节做一次CRC8的解校验,如果校验正确,则搜索到一个异步传输模式协议信元头;如果协议类型是数据链路层规程,则数据链路层规程协议报文头的搜索通过判断报文间隔字节0x7e紧接着特征字节0x0403fe01则是一个数据链路层规程协议报文的开始。
所述协议报文拆离步骤中,如果协议类型为异步传输模式协议搜索到异步传输模式信元头后,则在净荷中再取出48个字节以拆离一个完整的异步传输模式信元;如果是数据链路层规程协议类型,搜索到数据链路层规程协议报文头0x0403fe01后,继续搜索直到碰到下一个报文间隔0x7e,则是该协议报文的结束处,以拆离一个完整数据链路层规程协议报文。
所述协议报文头的检测可以通过协议报文头格式进行判断的。
所述协议报文净荷检测可以在协议报文净荷内嵌的CRC32校验码进行自校验或者把拆离的协议报文和预期输出的协议报文相比较。
在确定协议类型之前还包括步骤从链路层接口截取被测对象;通过通信总线接口,经由总线功能模块把总线信号转换成同步数字体系数据流;净荷拆离。
所述净荷拆离包括步骤统一同步数字体系数据格式;经过段开销指针分离模块从STM-N帧中顺序取得一个完整的STM-1帧,完成段开销分离和管理单元指针定位;经过虚容器虚级联解映射及通道开销分离模块,根据通道号和序列号完成封装数据流分离,同时完成通道开销分离;从STM-N帧上拆离净荷。
与现有技术相比,本发明具有以下优点本发明技术方案实现净荷检测,检测结果可以实时显示在终端或保存在文件中,提高验证效率。
本发明技术方案因为不用人工参与而提高净荷的验证质量,减少人为分析错误。
本发明因为每检测完一个报文都能输出结果,如果判断有错误,则可以控制停止仿真验证过程,进行调试(Debug),从而节省验证时间和无谓的工作,提高验证过程的可观察性,很好的控制仿真验证过程。
本发明技术方案可以根据实际需要进行协议类型的扩展,使用各种协议报文(例如,LAPS,GFP,ATM,PPP,HDLC)可移植性好。


图1是STM-N的帧结构示意图。
图2是虚容器的结构示意图。
图3是在净荷检测之前的流程图。
图4是图3中总线功能模块的示意图。
图5是本发明同步光纤网或同步数字体系帧承载的净荷检测方法流程图。
图6是协议报文的净荷中嵌入表示协议类型的特征字节实施例示意图。
图7是ATM信元结构示意图。
图8、9是LAPS协议报文结构示意图。
图10、12是同步光纤网或同步数字体系帧承载的ATM协议净荷检测方法流程图。
图11、13是同步光纤网或同步数字体系帧承载的LAPS协议净荷检测方法流程图。
具体实施例方式
80年代中期以来,光纤通信在电信网中得到大规模应用,并成为一种主要的传输手段,1988年CCITT接收了SONET的概念,并重新命名为SDH。如图1所示,SDH的传输模块STM,其帧结构是块状帧,每一帧为N×9×270个字节,在传输时是由左到右、由上到下顺序成串地传输。传输一帧的时间为125μs,每秒共传8000帧。对STM-1来说,传输速率是1×8×9×270×8000=155.520Mbit/s。对更高阶的STM-N,只要用N代替1,就能计算出它的传输速率。
段开销(SOH)包括再生段开销(RSOH)和复用段开销(MSOH),为保证信息正常运行而必须附加的字节,主要用于网络的运行、管理、维护和指配(OAM&P)。管理单元指针(AU PTR),用来指示净荷区域内信息首字节在STM-N帧内的准确位置,以便在接收时能正确地分离净荷。STM-N净荷(Payload)是真正用于电信业务的比特,如STM-1中每帧有18792bit位于净荷区域,可用于业务的传输,在净荷域内还存放了少量用于通道维护管理的通道开销(POH)字节。这样SDH帧每行的前9个字节(前9列),共81字节中放置了段开销(SOH——Section Over Head)和管理单元指针(AUPTR);每行的后261个字节构成了信息净荷区(Payload),其中有9字节为通道开销(POH——Path Overhead)。
请参照图2所示,在SDH中,虚容器(VC,Virtual Container)是一种用来支持通道层连接的信息结构,由被安排在重复周期为125μs或500μs的块状帧结构中的净荷和通道开销(POH)信息区组成,识别VC帧起点的定位信息由服务网络提供。虚容器包括低阶虚容器和高阶虚容器。其中,低阶虚容器VC-n(n=1,2,3),包含一个n阶容器(n=1,2,3)和一个相对应的低阶通道开销(POH)。高阶虚容器VC-n(n=3,4),包含一个n阶容器(n=3,4)或一些支路单元(TUG-2或TUG-3)的集合,还包含一个相对应的高阶通道开销(POH)。
请参照图3、4所示,在净荷检测之前,从链路层接口截取被测对象(DUT)31通过通信总线接口(Telecom Bus Interface),经由总线功能模块(BMF)32把总线信号转换成SDH数据流,接着进行净荷拆离,然后才能进行净荷检测。净荷拆离可以通过下述步骤实现因为通信总线格式有多种,对应的PLI任务也就不同,经由通信总线格式转换模块33把SDH数据格式统一;经过段开销指针分离模块34从STM-N帧中顺序取得一个完整的STM-1帧,完成段开销分离和AU PTR指针定位;经过虚容器(如VC4)虚级联解映射及通道开销分离模块35,根据通道号和序列号(SQ)完成封装数据流分离,同时完成通道开销(POH)分离;这样就可以完成从STM-N帧上拆离VC净荷。
请参照图5所示,当SDH承载的净荷比较复杂时,如承载的是PPP、HDLC、LAPS、GFP、ATM的协议报文,本发明净荷检测方法可以完成净荷的检测和分析,包括步骤步骤51,确定协议类型,以明确协议报文结构特征例如报文头位置、报文长度、报文间隔、报文头格式等(具体实现时也可以根据协议类型链接到相应协议的处理模式,但每个协议处理模式都经过步骤52、53、54及55);步骤52,根据协议类型搜索协议报文头,以确定协议报文的起始净荷包括多个串行的协议报文,为了符合SDH协议要求,相邻协议报文之间会有其他字节,所以需要确定每个协议报文头才能找到该协议报文,第一个报文头从净荷第一个字节开始搜索;步骤53,把报文头作为起始,根据协议报文长度或间隔从净荷中拆离协议报文;
步骤54,检测协议报文,判断报文头和净荷是否正确;步骤55,输出检测结果(输出检测结果是每检测完一个协议报文就输出,然后再检测下一个协议报文;这样才可以实现实时检测)。
重复步骤52至55检测净荷中下一个协议报文。
下面针对每个步骤的实现举例说明,包括但不限于下述实施例。
所述步骤51实现协议类型确定的方法。
方法1请参照图6所示,在发送给被测对象(DUT)31的协议报文的净荷(Payload)中嵌入表示协议类型的特征字节如0xf55f,1字节的协议类型号,4字节报文序列号(用来给报文编号)。
协议类型定义如下0x00ATM协议0x01LAPS协议0x02GFP协议0x03HDLC协议0x04PPP协议其它保留(可供扩展)这样,从净荷中检测0xf55f特征字节,获取其协议类型字段,则可以确定获得的协议报文的协议类型。通常来说,VC净荷中一般不会存放多种类型的协议报文,因此只需要对第一个报文的协议类型进行分析即可,后面的报文都按分析得到的协议报文类型进行处理。
方法2因为每种协议报文都有其特征字节,可以通过每种协议报文的特征字节确定协议类型。
如图7所示,ATM信元是定长的,而且信元的长度较小,只有53字节,分为信元头和净荷两部分,其中信元头为5字节,净荷为48字节。
ATM有两种信元头用户-网络接口(UNI)信元和网络-网络接口(NNI)信元,在ATM信元头格式中,从图7中可以看出,UNI信元格式有GFC域(一般流量控制域),而NNI信元格式没有GFC域,在NNI信元格式中,GFC域被扩充成VPI(虚通道标识)。信元头的前4个字节为零时,则此信元为ATM空闲(Idle)信元。
ATM信元有5个字节的信元头,如果检测到有4个字节的CRC8校验码和第5个字节相同,则通过该特征字节可以判断是ATM协议。
另外,如图8、9所示LAPS协议报文,在该LAPS协议报文间隔0x7e后紧跟0x0403fe01特征字节;如果在净荷中检测到0x7e后紧跟着0x0403fe01特征字节,则可以判断出协议类型为LAPS协议。
同理其他协议类型根据其协议的特征字节也可以进行判断。通常来说,净荷中一般不会存放多种协议类型的协议报文,因此只需要对第一个报文的协议类型进行分析即可,后面的报文都按分析得到的协议报文类型进行处理。当然本发明也可以同时支持上述两种协议类型确定方式(内嵌表示协议类型的特征字节或协议报文本身表示协议类型的特征字节),通过参数配置可以设置的协议类型确定方式。
步骤52,根据协议类型搜索协议报文头第一个字节开始搜索协议报文头,当搜索到协议报文头时,进入步骤53,当搜索不到协议报文头时,则重复步骤52。
例如请参照图7所示,如果是ATM协议类型,因为ATM信元头是5字节,对其搜索就是每收到5字节,就做一次CRC8的解校验,如果校验正确,则认为搜索到一个ATM信元头,如果不正确则再取下一个字节与前面4个字节组成5个字节继续做CRC8解校验(例如,第6个字节与前面4个字节组成5个字节再做一次CRC8校验),以这种方式重复校验直到找到ATM信元头。
再如,如果是LAPS协议类型,则判断其LAPS协议报文头的特征字节是否是0x0403fe01,如果在报文间隔0x7e后紧接着0x0403fe01则认为是一个LAPS报文的开始,直到碰到下一个报文间隔0x7e,则认为是这个LAPS协议报文的结束处。
步骤53,当搜索到协议报文头时,根据协议报文的长度或协议报文间隔把这个协议报文信元从净荷中拆离出来。
例如,如果是ATM协议类型,因为ATM信元头是5字节,净荷是48个字节,搜索到ATM信元头后,只需在VC净荷中再取出48个字节则可以把一个完整的ATM信元拆离出来。
再如,如果是LAPS协议类型,搜索到LAPS协议报文头0x0403fe01后,继续搜索直到碰到下一个报文间隔0x7e,则认为是这个报文的结束处。如此可以把整一个LAPS协议报文从VC净荷中拆离出来。
步骤54,从净荷中拆离出协议报文后,对其协议报文头和协议报文净荷进行检测。
协议报文头的检测可以通过协议报文头格式进行判断的。如ATM协议报文,其信元头是否正确,只需对其进行CRC8解校验则可判断是否正确;再比如LAPS协议报文,则只需看其特征字节0x0403fe01是否正确即可。
协议报文净荷检测的实现方式可以是协议报文净荷内嵌的CRC32校验码进行自校验,或者把拆离的协议报文和预期输出的协议报文相比较。前者需要在协议报文净荷中预先嵌入4字节的CRC32校验码,在检测接收到的协议报文的时候,对其净荷进行CRC32解校验即可完成净荷检测。
步骤55在步骤54中检测完协议报文后,把协议报文的序号以及检测结果输出到文件中或者输出到计算机终端上。这样就可以从计算机终端上或文件中直接观察到协议报文的检测结果,如果发现有问题,则可以很方便的定位问题,保证被测对象的质量。
下面分别以SDH/SONET帧承载的ATM协议报文和LAPS协议报文为例说明本发明净荷检测方法,且本发明净荷检测方法适用于SDH/SONET承载的其他协议报文的净荷检测。
请参照图10、12所示,SDH/SONET帧承载的ATM协议报文的净荷检测过程步骤91在从STM-N帧上拆离的VC净荷中,首先确认报文的协议类型(具体实现方式参见前面叙述);
步骤92确定报文协议类型后,从VC净荷的第一个字节开始搜索ATM信元头,当搜索到ATM信元头时,进入步骤93,当搜索不到ATM信元头时,则重复步骤92直到找到ATM信元头从VC净荷中取出5个字节(ATM信元的信元头有5个字节,其最后一个字节为CRC8校验码),对其进行CRC8解校验如果不正确就从VC净荷中再取出下1个字节,和前面的4个字节组成5字节进行CRC8判断其是否是正确的ATM信元头,直至找到正确的ATM信元头。
步骤93当搜索到ATM信元头时,根据ATM信元的长度(53字节)把这个ATM信元从VC净荷中拆离出来。
步骤94从VC净荷中拆离出ATM信元后,对其进行检测,如果拆离的信元是ATM的Idle信元(空闲信元),则丢弃(可以通过一个IDLE信元的计数器,每检测到一个IDLE信元此计数器加1,如此可以统计收到了多少个IDLE信元,从而知道需要丢弃多少个IDLE信元);如果是OAM信元(操作维护管理信元),则根据ATM协议进行检测,ATM信元头有一个3比特的PT域(净荷类型域),比特2的值为1则代表是OAM信元,可以根据此特征比特来判断是否是OAM信元;如果是ATM数据信元,则根据ATM信元内嵌的CRC32校验码进行自校验,或者把拆离的ATM信元和预期输出的ATM信元相比较,完成检测。
步骤95在步骤94中检测ATM信元后,把检测结果输出到文件中或者输出到计算机终端上。
在SDH中,为了达到速率适配,一般会在VC净荷中填充ATM Idle信元,判断是否为ATM Idle信元,如果是Idle信元,则判断其净荷是否为全0,实时输出检测结果;如果Idle信元的净荷不是全0,则输出错误结果。如果是ATM数据信元,有扰码必须先解扰码,然后对其48字节的净荷进行CRC32解校验,实时输出检测结果。如此反复,直至检测完所有的VC净荷。如果一个ATM信元有跨帧的情况,则从下一个VC净荷中再取得数据继续进行检测。直至检测完所有的SDH/SONET帧。
请参照图11、13所示,SDH/SONET帧承载的LAPS协议报文的检测过程步骤101在从STM-N帧上拆离的VC净荷中,首先确认报文的协议类型(具体实现方式参见前面叙述)。
步骤102确定报文类型为LAPS协议后,从VC净荷的第一个字节开始搜索第一个LAPS协议报文头,当搜索到LAPS协议报文头0x0403fe01时,进入步骤103,当搜索不到LAPS协议报文头时,则重复步骤102。
步骤103当搜索到协议报文头0x0403fe01时,再搜索报文间隔0x7e,如果找到0x7e字节,则认为一个LAPS协议报文结束,把这个LAPS协议报文从VC净荷中拆离出来。
步骤104从VC净荷中拆离出LAPS协议报文后,因为LAPS协议报文头0x0403fe01字节在第103步骤中已经确认是正确的,因此本步骤可以省略对协议报文头正确性的判断,只需对LAPS协议报文净荷进行检测,首先对净荷进行解扰码;然后去除LAPS帧内的速率匹配字节(0x7DDD),方法是扫描LAPS帧,检查到0x7DDD时去掉0x7DDD;在LAPS帧内执行字节去除处理(透明处理),即将0x7D5E用0x7E替换,将0x7D5D用0x7D替换;根据LAPS协议报文净荷内嵌的CRC32校验码进行自校验,或者把拆离出来的LAPS协议报文和预期输出的LAPS协议报文相比较,完成检测。
步骤105在步骤104中分析完LAPS协议报文后,把报文序列号和分析结果输出到文件中或者输出到计算机终端上。
本发明实现净荷检测,检测结果可以实时显示在终端或保存在文件中,提高验证效率;因为不用人工参与而提高净荷的验证质量,减少人为分析错误;提高验证过程的可观察性,很好的控制仿真验证过程(因为每检测完一个报文都能输出结果,如果判断有错误,则可以控制停止仿真验证过程,进行debug,从而节省验证时间和无谓的工作);根据实际需要进行协议类型的扩展,使用各种协议报文(例如,LAPS,GFP,ATM,PPP,HDLC)可移植性好。
权利要求
1.一种同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,包括以下步骤确定协议类型,以明确协议报文结构特征;根据协议类型搜索协议报文头;把报文头作为起始,根据协议报文长度或间隔从净荷中拆离协议报文;检测协议报文,根据协议报文结构特征判断报文头和净荷是否正确;输出检测结果。
2.如权利要求1所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,协议类型确定通过被测对象的协议报文的净荷中嵌入表示协议类型的特征字节或通过协议报文本身表示协议类型的特征字节确定。
3.如权利要求1所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,如果协议类型为异步传输模式协议,则异步传输模式协议报文头搜索通过每收到5字节做一次CRC8的解校验,如果校验正确,则搜索到一个异步传输模式协议信元头;如果协议类型是数据链路层规程,则数据链路层规程协议报文头的搜索通过判断报文间隔字节0x7e紧接着特征字节0x0403fe01则是一个数据链路层规程协议报文的开始。
4.如权利要求3所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,协议报文拆离步骤中,如果协议类型为异步传输模式协议搜索到异步传输模式信元头后,则在净荷中再取出48个字节以拆离一个完整的异步传输模式信元;如果是数据链路层规程协议类型,搜索到数据链路层规程协议报文头0x0403fe01后,继续搜索直到碰到下一个报文间隔0x7e,则是该协议报文的结束处,以拆离一个完整数据链路层规程协议报文。
5.如权利要求1所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,协议报文头的检测可以通过协议报文头格式进行判断的。
6.如权利要求1所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,协议报文净荷检测可以在协议报文净荷内嵌的CRC32校验码进行自校验或者把拆离的协议报文和预期输出的协议报文相比较。
7.如权利要求1至6任一项所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,在确定协议类型之前还包括步骤从链路层接口截取被测对象;通过通信总线接口,经由总线功能模块把总线信号转换成同步数字体系数据流;净荷拆离。
8.如权利要求7所述的同步光纤网或同步数字体系帧承载的净荷检测方法,其特征在于,净荷拆离包括步骤统一同步数字体系数据格式;经过段开销指针分离模块从STM-N帧中顺序取得一个完整的STM-1帧,完成段开销分离和管理单元指针定位;经过虚容器虚级联解映射及通道开销分离模块,根据通道号和序列号完成封装数据流分离,同时完成通道开销分离;从STM-N帧上拆离净荷。
全文摘要
本发明公开一种同步光纤网或同步数字体系帧承载的净荷检测方法包括以下步骤确定协议类型,以明确协议报文结构特征;根据协议类型搜索协议报文头;把报文头作为起始,根据协议报文长度或间隔从净荷中拆离协议报文;检测协议报文,根据协议报文结构特征判断报文头和净荷是否正确;输出检测结果。本发明技术方案实现净荷检测,检测结果可以实时显示在终端或保存在文件中,提高验证效率。本发明技术方案因为不用人工参与而提高净荷的验证质量,减少人为分析错误。
文档编号H04L29/06GK1798145SQ200410102900
公开日2006年7月5日 申请日期2004年12月24日 优先权日2004年12月24日
发明者黄镇伟 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1