基于FlexE业务的信元交换方法及系统
技术领域
本发明涉及通信领域,具体涉及一种基于FlexE业务的信元交换方法及系统。
背景技术
FlexE(Flex Ethernet)技术是近期兴起的灵活以太网新技术,不仅能实现了MAC速率和物理接口速率解耦,极大增强了以太网接口应用灵活性,并能通过拓展FlexE shim交换、OAM扩展、超快保护倒换技术、时钟同步等技术,作为5G时代移动回传网络的重要解决方案。
具体来说,Flex Ethernet是在MAC和实体层(PHY)或实体编码子层(PCS)之间建立的中介层,其用于调节从MAC速率和PCS速率的匹配的弹性机制,获取有关封包与资料率的资讯,并指示PCS根据需要重新编码。
为了实现其超低时延、网络分片、超大容量等优良属性,通过基于Flex Ethernet业务传输的分组交换机制,创建了一种灵活包长信元交换机制,数据包在经过信元交换矩阵后,再还原成FLEX client 66B码流的内容和速率。该机制能增加数据流的保护和管理能力,能更灵活地设备容量的扩充,并且使实现超低业务延时成为可能;分布式FLEXE信元交换技术实现突破是FLEXE成为超大规模、超低延时的核心承载网技术的必要条件。
现有技术中,为了实现信元交换,通常是将未经过切片处理的FLEX Client 66B数据码流直接缓存转发一个完整包,缓存转发一个完整包需要较长时间,缓存时间长,且并未添加数据包字段,无法对延迟时间和链路状态进行监控,当数据传输出现错误时,无法对出现错误的数据进行快速定位,并无法及时恢复,导致FLEX数据码流的传输效率低,且可靠性差。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于FlexE业务实现超低延时的信元交换的方法,经过切片处理后缓存转发切片包,使得传输效率高,且可靠性好。
为达到以上目的,本发明采取的技术方案是:
一种基于FlexE业务的信元交换方法,包括步骤:
在发送端将FLEX数据码流依次分割成若干切片包,并在切片包中插入带时间标记的包开销;
接收端缓存接收到的切片包,在缓存切片包之前或之后解析所述包开销,得到切片包的时间标记,并根据切片包的时间标记与接收端接收到切片包的时间得到切片包的路径时延,判断切片包的路径时延是否超过预设的最大线路时延,若未超过,则读取的切片包,并剥除所述切片包的包开销后重组切片包净荷,若超过,则发出告警信号。
在上述技术方案的基础上,还包括步骤:在FLEX信元分组交换系统中的发送端和接收端通过同步信号进行时间同步。
在上述技术方案的基础上,将FLEX数据码流依次分割成若干切片包括步骤:根据配置的切片包长度产生多组切片控制信号,每组切片控制信号包括开始脉冲控制信号和结束脉冲控制信号,当发送端收到开始脉冲控制信号后,开始从已缓存的FLEX数据码流中逐个字节读取数据码流,在收到结束脉冲控制信号后,停止读取数据码流,将已读取到的数据码流作为一个切片包。
在上述技术方案的基础上,在判断切片包的路径时延是否超过预设的最大线路时延之前,还包括步骤:检测接收端检测接收到的切片包的长度是否与配置的切片包长度一致,若不一致,则发生告警信号,并在长度不一致的切片包中补充相应字节的数据包内容,使补充后的切片包的长度与已配置的切片包长度一致。
在上述技术方案的基础上,在判断切片包的路径时延是否超过预设的最大线路时延之前,还包括步骤:对接收到的切片包进行CRC校验,若CRC校验错误,则发出告警信号。
本发明还提供了一种基于FlexE业务的信元交换系统,包括切片模块、信元交换矩阵、接收端缓存模块和重组模块:
所述切片模块用于在发送端将FLEX数据码流依次分割成若干切片包,并在切片包中插入带时间标记的包开销,将插入包开销后的切片包发送给所述信元交换矩阵;
所述信元交换矩阵用于根据通道链路将接收到的切片包发送给对应链路的接收端;
所述接收端缓存模块用于在接收端缓存接收到的切片包;
所述重组模块用于在缓存切片包之前或之后解析所述包开销,得到切片包的时间标记,并根据切片包的时间标记与接收端接收到切片包的时间得到切片包的路径时延,判断切片包的路径时延是否超过预设的最大线路时延,若未超过,则读取的切片包,并剥除所述切片包的包开销后重组切片包净荷,若超过,则发出告警信号。
在上述技术方案的基础上,还包括时钟模块,所述时钟模块连接所述切片模块和重组模块,所述时钟模块用于在FLEX信元分组交换系统中的发送端和接收端通过同步信号进行时间同步。
在上述技术方案的基础上,所述系统还包括控制模块,其用于根据配置的切片包长度产生多组切片控制信号,每组切片控制信号包括开始脉冲控制信号和结束脉冲控制信号;
所述切片模块还用于接收所述开始脉冲控制信号和结束脉冲控制信号,并当收到开始脉冲控制信号后,开始从所述发送端缓存模块中逐个字节读取数据码流,在收到结束脉冲控制信号后,停止读取数据码流,将已读取到的数据码流作为一个切片包。
在上述技术方案的基础上,所述系统还包括切片包长度检测模块和处理模块,所述切片包长度检测模块用于在接收端检测接收到的切片包的长度是否与配置的切片包长度一致,若不一致,则发出告警信号;
所述处理模块用于在收到切片包长度检测模块的告警信号后,在长度不一致的切片包中补充相应字节的数据包内容,使补充后的切片包的长度与已配置的切片包长度一致。
在上述技术方案的基础上,还包括校验模块,其用于在判断切片包的路径时延是否超过预设的最大线路时延之前,在接收端对接收到的切片包进行CRC校验,若CRC校验错误,则发出告警信号。
与现有技术相比,本发明的优点在于:本发明的基于FlexE业务的信元交换方法,对FLEX数据码流进行切片处理,将其切分成若干较小单元信元的切片包,并插入包开销,由于每个切片包字节数较少,缓存和传输所需的时间短,使得到达接收端路径时延小,实现超低延时的信元交换,并且当较小的切片包出现异常时,可以快速检测出该切片包异常,并及时修复该异常的切片包,从而使FLEX数据码流的传输更加高效,可靠性好。
附图说明
图1为本发明实施例中基于FlexE业务的信元交换方法的流程图;
图2为本发明实施例中发送端和接收端通过时间标记同步信号进行清零同步的示意图;
图3为本发明实施例中基于FlexE业务的信元交换系统的结构框图。
具体实施方式
以下结合附图及实施例对本发明作进一步详细说明。
参见图1所示,本发明实施例提供了一种基于FlexE业务的信元交换方法,其用于传输FLEX client 66B码流切片数据包,并适用于FlexE系统中各种MAC速率业务,包括步骤:
S1:在FLEX信元分组交换系统中的发送端和接收端通过时间标记同步信号进行时间同步;
S2:发送端缓存FLEX数据码流,并根据配置的切片包长度将FLEX数据码流依次分割成若干切片包,当分割完成一个切片包时,在切片包中插入带有时间标记的包开销,并将插入包开销后的切片包发送给信元交换矩阵,包开销字段包括时间标记、切片包序列、链路状态及CRC字段等;
S3:信元交换矩阵根据通道链路对接收到的切片包进行数据包交换,并发送给对应链路的接收端;
S4:接收端缓存接收到的切片包;
S5:在缓存切片包之前或之后解析包开销字段,得到切片包的时间标记,并根据切片包的时间标记与接收端接收到切片包的时间得到切片包的路径时延,判断切片包的路径时延是否在预设的最大线路时延内,若未超过,则读取已缓存的切片包,并剥除切片包的包开销后重组切片包净荷,还原切片包净荷的数据流内容,若超过,则发出告警信号。
参见图2所示,上述步骤S1具体包括步骤:
S101:系统产生一周期性的同步信号和一稳定的参考时钟,同步信号是周期性脉冲信号,并将同步信号和参考时钟均同时连接到发送端和接收端;
S102:发送端和接收端根据同步信号和参考时钟产生循环时间标记,时间标记是通过参考时钟累加得来的,当同步信号有效时,累加器清零,时间标记从0开始计数,并约定时间标记最大值为MAX_TIME,该时间标记最大值MAX_TIME应大于预设的最大线路时延,当累加器达到最大值MAX_TIME时,累加器也重新归零,完成发送端和接收端的清零同步。
本实施例中,在FLEX信元分组交换系统中的发送端和接收端通过同步信号进行时间同步,可以保证发送端和接收端时间的一致性,从而使得到的切片包的路径时延更加准确,可靠性好。
上述步骤S2的具体步骤为:
S201:配置切片包长度、周期以及工作开始使能;
S202:发送端持续缓存串行的FLEX client 66B数据码流;
S203:当发送端缓存的FLEX数据码流的字节数累积达到一个切片包长度后,根据已配置的切片包长度,系统产生切片包的开始脉冲控制信号和结束脉冲控制信号,当发送端收到开始脉冲控制信号后,开始从已缓存的FLEX数据码流中逐个字节读取数据码流,在收到结束脉冲控制信号后,停止读取数据码流,将每组组切片控制信号中的开始脉冲控制信号和结束脉冲控制信号之间读取到的数据码流作为一个切片包,包开销字段还包括与开始脉冲控制信号对应的包开始字段、与结束脉冲控制信号对应的包结束字段、包数据有效字段、时间标记、切片包序列、链路状态及CRC字段等;
S204:在该切片包中插入包开销后将切片包发送给信元交换矩阵;
S205:当发送端缓存的FLEX数据码流的字节数累积达到下一个切片包长度,重复上述步骤S203~S204。
在本实施例中,已配置的切片包长度为一个切片包的字节数,开始脉冲控制信号和结束脉冲控制信号与已配置的切片包长度相对应,即在开始脉冲控制信号和结束脉冲控制信号之间读取到的数据码流的字节数为一个切片包的字节数。
上述步骤S4中接收端缓存接收到的切片包的过程为:
S401:配置接收端读取切片包的启动使能;
S402:检测接收到的切片包的控制信息是否发生错误,如连续包头或连续包尾出现,或切片包长度错误等;
S403:接收端缓存接收到的切片包和接收到切片包的时间;
S404:当达到系统要求的启动条件后,接收端读取切片包的启动使能有效,开始根据系统调度需求读取一个切片包。
上述步骤S5的具体步骤为:
S501:在读取一个切片包后,解析该切片包的包开销字段,得到切片包的时间标记、切片包序列、链路状态及CRC字段、包开始字段、包结束字段以及包数据有效字段等。
S502:同时对切片包进行切片包长度检测、切片包序列检测、链路状态检测、CRC校验,只有当切片包长度检测、切片包序列检测、链路状态检测、CRC校验均合格后,才转至步骤S503。
其中,切片包长度检测的过程为:检测接收端检测接收到的切片包的长度是否与已配置的切片包长度一致,若一致,则表明切片包长度检测合格,若不一致,则表明切片包长度不合格,发生告警信号,系统在收到告警信号后,在接收到的切片包中补充相应字节的数据包内容,使补充后的切片包的长度与已配置的切片包长度一致,此时,该切片包长度检测由不合格变为合格。
切片包序列检测的过程为:检测切片包序列是否符合序列顺序,在本实施例中,包序列为1~8循环,如上一个切片包序列为1,则下一个切片包序列为2,再下一个切片包序列为3,依次类推,若检测到切片包序列不符合序列顺序,则表明存在丢包现象,切片包序列检测不合格,发出告警信号,若符合序列顺序,则表明切片包序列检测合格。
链路状态检测的过程为:检测链路状态为非正常状态时发出告警信号,表明链路状态检测不合格,当链路状态为正常状态时,表明链路状态检测合格。链路状态包括链路正常状态、信号弱化、信号失效、服务层信号失效、非FLEX Client 66b码流传输、以及保留状态,且在包开销字段中分别用0x1、0x2、0x3、0x4、0x7和其他表示。
CRC校验的过程为:为了保证切片包传输的健壮性,发送端在切片包中加上的包开销字段插入4bit的CRC字段,接收端根据解析得到的CRC字段对接收到的切片包进行CRC校验,CRC校验算法采用多项式g(x)=x3+x2+x0,若CRC校验错误,则发出告警信号,CRC校验不合格,若CRC校验正确,则CRC校验合格。
S503:根据切片包的时间标记与接收端接收到切片包的时间得到切片包的路径时延,该最大线路时延为系统允许的最大数据包路径延迟时间,判断切片包的路径时延是否在预设的最大线路时延内,若在范围内,则转至步骤S504,若不在范围内,则转至步骤S505。
S504:剥除切片包的包开销,将切片包净荷累积到输出码流一个字段的字节数以上,并将累积的切片包净荷重新拼接成连续的FLEXclient 66B码流,并将重新拼接的FLEXclient 66B码流缓存到数据缓存中,完成切片包净荷的重组。
S505:发出告警信号。
本发明的基于FlexE业务的信元交换方法,对FLEX数据码流进行切片处理,将其切分成若干较小单元信元的切片包,并插入包开销,通过信元交换矩阵,输出到对应链路接收端,由于每个切片包字节数较少,缓存和传输所需的时间短,使得到达接收端路径时延小,实现超低延时的信元交换,并且当较小的切片包出现异常时,可以快速检测出该切片包异常,并及时修复该异常的切片包,从而使FLEX数据码流的传输更加高效,可靠性好。
参见图3所示,本发明实施例还提供了一种基于FlexE业务的信元交换系统,包括时钟模块、发送端缓存模块、切片模块、信元交换矩阵、接收端缓存模块和重组模块。
时钟模块用于在FLEX信元分组交换系统中的发送端和接收端通过同步信号进行时间同步。发送端缓存模块用于在发送端缓存FLEX数据码流。切片模块用于在发送端根据配置的切片包长度将FLEX数据码流依次分割成若干切片包,当分割完成一个切片包时,在切片包中插入带时间标记的包开销,将插入包开销后的切片包发送给信元交换矩阵,包开销字段包括时间标记。
信元交换矩阵用于根据通道链路将接收到的切片包发送给对应链路的接收端。接收端缓存模块用于在接收端缓存接收到的切片包。重组模块用于在缓存切片包之前或之后解析包开销,得到切片包的时间标记,并根据切片包的时间标记与接收端接收到切片包的时间得到切片包的路径时延,判断切片包的路径时延是否超过预设的最大线路时延,若未超过,则剥除切片包的包开销后重组切片包净荷,若超过,则发出告警信号。
进一步地,时钟模块连接切片模块和重组模块,时钟模块产生一周期性的同步信号和一参考时钟,并将同步信号和参考时钟均同时发送给切片模块和重组模块,切片模块和重组模块根据同步信号和参考时钟产生循环时间标记,当同步信号有效时,时间标记从0开始计数,完成发送端和接收端的时间同步。在FLEX信元分组交换系统中的发送端和接收端通过同步信号进行时间同步,可以保证发送端和接收端时间的一致性,从而使得到的切片包的路径时延更加准确,可靠性好。
进一步地,系统还包括控制模块,其用于根据配置的切片包长度产生多组切片控制信号,每组切片控制信号包括开始脉冲控制信号和结束脉冲控制信号;切片模块还用于接收开始脉冲控制信号和结束脉冲控制信号,并当收到开始脉冲控制信号后,开始从发送端缓存模块中逐个字节读取数据码流,在收到结束脉冲控制信号后,停止读取数据码流,将每组组切片控制信号中的开始脉冲控制信号和结束脉冲控制信号之间读取到的数据码流作为一个切片包,包开销字段还包括与开始脉冲控制信号对应的包开始字段、以及与结束脉冲控制信号对应的包结束字段。
进一步地,系统还包括切片包长度检测模块和处理模块,切片包长度检测模块用于在接收端检测接收到的切片包的长度是否与已配置的切片包长度一致,若不一致,则发出告警信号;处理模块用于在收到切片包长度检测模块的告警信号后,在长度不一致的切片包中补充相应字节的数据包内容,使补充后的切片包的长度与已配置的切片包长度一致。如配置的切片包长度为1000个字节,而接收端接收到的切片包长度为800个字节,比配置的切片包长度少了200个字节,说明该切片包在传输过程中出现了部分丢失,为了不影响下一个切片包的准确传输,对应补充200个字节的数据包内容,使补充后的切片包的长度与已配置的切片包长度一致。补充的数据包内容可以是固定值,也可以为不固定值,只需满足补充的字节数等于丢失的字节数即可。
进一步地,系统还包括校验模块,其用于在判断切片包的路径时延是否超过预设的最大线路时延之前,在接收端对接收到的切片包进行CRC校验,若CRC校验错误,则发出告警信号,从而保证切片包传输的健壮性。
本发明的基于FlexE业务的信元交换系统,对FLEX数据码流进行切片处理,将其切分成若干较小单元信元的切片包,并插入包开销,通过信元交换矩阵,输出到对应链路接收端,由于每个切片包字节数较少,缓存和传输所需的时间短,使得到达接收端路径时延小,实现超低延时的信元交换,并且当较小的切片包出现异常时,可以快速检测出该切片包异常,并及时修复该异常的切片包,从而使FLEX数据码流的传输更加高效,可靠性好。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。