本发明涉及数据通信设备领域,具体来讲涉及一种数据通信设备中基于硬件的快速倒换动作实现方法。
背景技术:
::在数据通信中,有些应用对流量的中断非常敏感,比如语音业务、voip(voiceoverinternetprotocol,网络电话)、视频会议、网络游戏等实时业务。在电信级网络中,语音业务中断时间不能超过50ms。为了保护这种敏感业务,国内和国际组织定义了有多种保护机制可供不同场景使用,比如vpnfrr、ipfrr、lsp1:1/1+1、pw1:1/1+1、msp、msrp环网保护等。为了简化描述,本文中将上述所有保护统称为aps(automaticprotectionswitching自动保护倒换)。aps动作大致可分为如下步骤:(1)快速检测路径状态;(2)aps状态机综合路径告警和控制命令运算出保护动作;(3)转发面执行倒换动作;(4)修复破损路径(自动或通过人工修复);如图1所示,是一种典型数据通信设备倒换结构示意图,包括cpu(centralprocessingunit,中央处理器)、fpga(field-programmablegatearray,现场可编程门阵列)、np(networkprocessor,网络处理器)芯片、第一光口p1、第二光口p2和第三光口p3,主用路径为p1-p2,备用路径为p1-p3,np芯片中集成存储器。完整的倒换流程为:fpga发送oam(operationadministrationandmaintenance,操作维护管理)报文分别检测主用路径和备用路径的状态。cpu从fpga中通过本地状态标志获取主、备用路径告警状态,然后计算出倒换动作,cpu将倒换动作写入到np芯片的存储器中。np芯片根据存储器中的倒换动作,将业务发送到主用路径或者备用路径。但是在实际设备开发中,cpu与np芯片是本地总线或者其他总线相联。cpu写存储器受限于总线带宽、总线交互逻辑以及cpu所运行操作系统等多方面的限制,上述限制导致“cpu将倒换动作写入到存储器”这一步的执行时间过程,成为整体aps倒换的重要瓶颈,尤其对于多条目同时动作时,往往不能保证及时将动作推送到np芯片上。而对于分布式设备,执行动作的单盘更多,因此执行效率更低下,执行时间更长。技术实现要素:针对现有技术中存在的缺陷,本发明的目的在于提供一种数据通信设备中基于硬件的快速倒换动作实现方法,极大提高主控制器下发倒换动作到存储器的执行效率,降低执行时间。为达到以上目的,本发明采取一种数据通信设备中基于硬件的快速倒换动作实现方法,所述硬件包括主控制器、交换矩阵模块和多个单盘,每个单盘包括cpu、存储器、业务处理芯片和交换矩阵接口芯片fic;实现方法包括步骤:主控制器向交换矩阵模块发送一组携带动作信息的报文,交换矩阵模块将所述报文向单盘多播;业务处理芯片解析单盘收到的报文,并将动作信息提取到存储器的表项中;业务处理芯片根据所述表项中的动作信息指导业务转发;其中,所述报文最后2字节为校验码,1~6字节为目的单盘描述符,7~12字节为本地单盘描述符,13~14字节为数据包类型,15~16字节为表项类型,17~20字节为基地址,21~22字节为备用字节,23~24字节为净荷长度,其余字节用来填充净荷内容。在上述技术方案的基础上,所述业务处理芯片核对报文中的目的报文描述符是否与当前单盘匹配,若是,核对数据包类型;若否,丢弃该报文并记录错误。在上述技术方案的基础上,所述业务处理芯片根据数据包类型的取值,确定是否为写硬件表项报文,若是,核对表项类型;若否,将报文交由其他功能模块处理。在上述技术方案的基础上,所述数据包类型预先设置一个值,表示写硬件表项。在上述技术方案的基础上,所述业务处理芯片根据表项类型确认报文期望更新的表项。在上述技术方案的基础上,所述业务处理芯片根据净荷长度,从净荷内容中获取该净荷长度对应的表项。在上述技术方案的基础上,所述业务处理芯片将识别出的净荷写到以基地址作为起始地址的存储器中,存储器中对应的表项为报文期望更新的表项。在上述技术方案的基础上,所述业务处理芯片核对目的报文描述符之前,先通过报文中的校验码确认报文是否合法,若是,解析该报文;若否,丢弃报文并记录错误。在上述技术方案的基础上,以数据包类型+表项类型作为键值记录报文个数,用作调试信息。在上述技术方案的基础上,所述主控制器为cpu或fpga;所述存储器为sram或dram;所述业务处理芯片为np或asic。本发明的有益效果在于:主控制器通过定义报文格式,使报文携带动作信息,业务处理芯片通过交换矩阵获取主控制器发送的报文并解析,然后将动作信息提取到本单盘的存储器中,业务处理芯片再根据存储器表项中的动作信息指导业务转发。倒换动作没有通过cpu写入,避免了各种情况对于执行时间的限制,提高主控制器下发倒换动作到存储器的执行效率,及时将业务推送到业务处理芯片,降低执行时间。通过本发明的实现方法,可使得上述动作能够降低到微秒级别生效。附图说明图1为
背景技术:
:中典型数据通信设备倒换结构示意图;图2为本发明实施例基于的系统框图;图3为本发明实施例数据通信设备中基于硬件的快速倒换动作实现方法流程图;图4为本发明的报文结构示意图;图5为本发明实施例单盘具体动作示意图。具体实施方式以下结合附图及实施例对本发明作进一步详细说明。如图2和图5所示,为本发明实现方法基于的系统框图,系统设置在数据通信设备中,数据通信设备可以是路由器、三层交换机、ipran设备或ptn设备等,以及其他具有类似功能的设备。具体硬件包括主控制器、fabric(交换矩阵)模块和多个单盘,主控制器可以是cpu或fpga;每个单盘包括cpu、存储器、业务处理芯片和fic(fabricinterfacechip,交换矩阵接口芯片),存储器可以为sram(staticrandomaccessmemory,静态随机存取存储器)或dram(dynamicrandomaccessmemory,动态随机存取存储器),还可以是其他类似的存储设备;业务处理芯片可以是np或asic(applicationspecificintegratedcircuit,应用集成电路)。本实施例中,存储器采用sram,用于以表项的形式存储动作信息;业务处理芯片采用np,fabric模块和fic接口组成交换矩阵。如图3所示,本发明数据通信设备中基于硬件的快速倒换动作实现方法,具体包括如下步骤:s1.主控制器向fabric模块发送一组报文,报文中携带动作信息。如图4和图5所示,为携带动作信息的报文格式。报文最后的两个字节为cc(校验码),第1~6字节为dst(目的单盘描述符),7~12字节为src(本地单盘描述符),13~14字节为pkttype(数据包类型),15~16字节为tbltype(表项类型),17~20字节为base(基地址),21~22字节为bkup(备用字节),23~24字节为itemnum(净荷长度),其余字节用来填充payload(净荷内容)。其中,tbltype表达了payload字段携带的数据类型和格式,base表达了报文携带内容在指定表项的位置信息,itemnum表达携带内容的长度;payload字段为具体数据净荷;cc字段用于保证数据正确性。s2.fabric模块接收该组报文,并向单盘进行多播。s3.各单盘通过fic接口收到报文之后,业务处理芯片识别并解析报文,将报文中携带的动作信息提取到存储器的表项中,本实施例中,np识别并解析报文,然后提取动作信息到sram的表项中。s4.单盘的业务处理芯片根据所述表项中的动作信息,指导业务进行转发。所述s3的具体步骤包括:s301.业务处理芯片校验报文的cc字段,确认报文是否合法,若是,进入s302;若否,丢弃该报文并记录错误。s302.业务处理芯片核对报文中的dst字段,判断报文的目的单盘是否为当前单盘,即是否与当前单盘匹配,若是,进入s303;若否,丢弃该报文并记录错误。s303.业务处理芯片识别pkttype字段,根据该字段的取值,确定是否为写硬件表项报文;若是,进入s304;若否,将报文交由其他功能模块处理。pkttype可设置,例如预先设定pkttype=0x079f表示“写硬件表项”,在业务处理芯片识别的时候,如果不是这个数值,则认定不是写硬件表项报文。s304.业务处理芯片识别tbltype字段,确认报文所期望更新的表项。例如,tbltype取值为“frrtable”,表明单盘收到的报文想要更新该盘的frr(fastreroute,快速重路由)表项。s305.业务处理芯片识别itemnum字段,根据净荷长度,从payload中获取itemnum个表项,即该净荷长度对应的表项。s306.业务处理芯片识别base字段,将s305中识别出的净荷以base作为起始地址的对应表项中,该对应表项是s304中确认的报文期望更新的表项,结束。在上述步骤中,以pkttype+tbltype作为键值记录报文个数,用作调试信息。另外,步骤s301是一个可选步骤,也可以从步骤s302直接开始。本发明不局限于上述实施方式,对于本
技术领域:
:的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。当前第1页12当前第1页12