一种处理分片报文的方法及装置制造方法及图纸

技术编号:16665610 阅读:48 留言:0更新日期:2017-11-30 13:23
一种处理分片报文的方法,适用于多核业务处理系统,包括:当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送,则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。该方案可以克服现有技术中存在的多核业务板分片会产生乱序的问题。

【技术实现步骤摘要】
一种处理分片报文的方法及装置
本申请涉及但不限于通信领域,尤指一种处理分片报文的方法及装置。
技术介绍
对复杂的网络环境,整个环境的组网可能包括了很多台设备,由于每台设备只能知道本设备的MTU(MaximumTransmissionUnit,最大传输单元)值,而无法获取路径上其他设备的MTU值的大小(IPV6(InternetProtocolVersion6,互联网协议的第六版)有PMTU(路径MTU),但也必须支持按最小MTU进行分片),这时需要路由器具备分片功能;在多核业务板(GSU)上面做分片重组功能,有可以方便布署、功能可裁减、性能可裁减等方面优点。但是由于多核业务板(GSU)一般为多核处理器,报文虽然是按照先后顺序到达各个CPU(中央处理器)的,但是不能保证每个CPU的处理速度一样,因此不能保证先到的报文先被处理完,从而分片后的报文会产生乱序的情况。这样,报文到达重组设备的时候也会产生乱序。
技术实现思路
本专利技术实施例提供一种处理分片报文的方法及装置,以克服多核业务板分片使报文产生乱序的问题。本专利技术实施例提供了一种处理分片报文的方法,适用于多核业务处理系统,包括:当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送,则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。可选地,所述对所述报文进行分片前,还包括:接收所述报文,当确定所述报文大于预配置的最大传输单元的值时,给所述报文打上序列号;所述对所述报文进行分片后,还包括:将所述序列号复制给所述最后一片报文;发送所述最后一片报文之前,还包括:剥掉所述序列号。可选地,所述对所述报文进行分片前,还包括:给所述报文打上指示由多核处理器进行分片的分片标记。可选地,所述对所述报文进行分片包括:轮询各个中央处理器CPU,按所述序列号的顺序将所述报文发送给空闲CPU进行分片处理。本专利技术实施例提供一种处理分片报文的装置,包括:分片模块,当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送模块,用于发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。可选地,所述装置还包括:接收模块,用于接收所述报文,当确定所述报文大于预配置的最大传输单元的值时,给所述报文打上序列号后,输出给所述分片模块;所述分片模块,对所述报文进行分片后还用于:将所述序列号复制给所述最后一片报文;所述发送模块,发送所述最后一片报文之前还用于:剥掉所述序列号。可选地,所述接收模块,将所述报文输出给所述分片模块之前还用于,给所述报文打上指示由多核处理器进行分片的分片标记。可选地,所述分片模块,对所述报文进行分片包括:轮询各个中央处理器CPU,按所述序列号的顺序将所述报文发送给空闲CPU进行分片处理。综上,本专利技术实施例提供一种处理分片报文的方法及装置,可以克服现有技术中存在的多核业务板分片会产生乱序的问题。该方法通过线卡在报文上送多核业务板分片之前为报文打上序列号,并通过序列号控制最后一片分片报文的顺序来保证整个报文的时序。附图说明图1为本专利技术实施例的一种处理分片报文的方法的流程图;图2为本专利技术实施例的一种处理分片报文的装置的示意图;图3为本专利技术实施例的工作原理的基本架构图;图4为本专利技术实施例的基本工作流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文中将结合附图对本专利技术的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。本专利技术实施例提供的一种处理分片报文的方法,如图1所示,包括以下步骤:步骤11、当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;步骤12、发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送,则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。图2为本专利技术实施例的一种处理分片报文的装置的示意图,如图2所示,本实施例的装置包括:分片模块,当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送模块,用于发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。可选地,本实施例的装置还可以包括:接收模块,用于接收所述报文,当确定所述报文大于预配置的最大传输单元的值时,给所述报文打上序列号后,输出给所述分片模块;所述分片模块,对所述报文进行分片后还用于:将所述序列号复制给所述最后一片报文;所述发送模块,发送所述最后一片报文之前还用于:剥掉所述序列号。可选地,所述接收模块,将所述报文输出给所述分片模块之前还用于,给所述报文打上指示由多核处理器进行分片的分片标记。可选地,所述分片模块,对所述报文进行分片包括:轮询各个中央处理器CPU,按所述序列号的顺序将所述报文发送给空闲CPU进行分片处理。以下以实施例对本申请的方法进行详细的说明。图3为本专利技术实施例的多核业务板报文分片的基本架构图。本实施例的硬件模块部分包括:设备的主控板、多核处理板和线卡。图3中,R-CPU是主控板MPU上面的CPU,L-CPU就是线卡上的CPU。其中,主控板需要OAM进行将需要分片的报文上送多核处理板的命令配置。图4为本专利技术实施例的处理分片报文的流程图,本实施例包括以下步骤:步骤100、telnet(远程登陆)到设备OAM(OperationAdministrationManagement,运行管理维护)(命令配置)界面配置接口的MTU(最大传输单元)值;需要在OAM界面上配置接口MTU,主控板将配置的接口MTU的值A下发到线卡的FTM(ForwardingTableManage,转发表管理),FTM获取接口MTU,Np(NetworkProcessor,网络处理器)(PFU上的网络处理器)从FTM读取配置值A,Np获取接口MTU。需要在OAM界面上配置需上送多核业务板的分片标记,FTM获取需上送多核业务板的分片标记,Np获取需上送多核业务板的分片标记;步骤101、Np判断当接收到报文的大小B是否大于接口MTU值A,若不大于,则直接发送,若大于,则转步骤102;Np判断当接收到报文的大小B大于接口MTU值A时,给所述报文打上指示由多核处理器进行分片的分片标记,然后转步骤102。步骤102、Np将报文打上序列号上送多核业务板进行处理;在PFU(PacketForwardingUnit,线卡功能子单元)(PFU为报文进来的板卡,上面有接口卡)上面给报文打序列号,并将报文上送给多核业务板(多核业务板不是报文进来的板卡,报文进来后再送给多核业务板进行处理)。步骤103、多核业务处理板轮询CPU,将先到的报文发送给空闲CPU进行处理;多核业务版收到报文后,轮询各CPU,判断是否有空闲CPU,若有空闲CPU,则将先到达并打上序列号的报文给空闲的CPU进行处理,如果所有CPU都忙,则等待一个等待周期后继续轮询;步骤104、CPU收到报文后,根据接口配置MTU对报文进行分片,并将序列号复制给mf=0的最后一片报文,将分片本文档来自技高网...
一种处理分片报文的方法及装置

【技术保护点】
一种处理分片报文的方法,适用于多核业务处理系统,包括:当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送,则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。

【技术特征摘要】
1.一种处理分片报文的方法,适用于多核业务处理系统,包括:当接收到的报文大于预配置的最大传输单元的值时,对所述报文进行分片;发送分片后的最后一片报文时,判断排在所述报文前的报文是否已发送,如未发送,则缓存所述最后一片报文,如已发送,则发送所述最后一片报文。2.如权利要求1所述的方法,其特征在于,所述对所述报文进行分片前,还包括:接收所述报文,当确定所述报文大于预配置的最大传输单元的值时,给所述报文打上序列号;所述对所述报文进行分片后,还包括:将所述序列号复制给所述最后一片报文;发送所述最后一片报文之前,还包括:剥掉所述序列号。3.如权利要求2所述的方法,其特征在于,所述对所述报文进行分片前,还包括:给所述报文打上指示由多核处理器进行分片的分片标记。4.如权利要求2或3所述的方法,其特征在于,所述对所述报文进行分片包括:轮询各个中央处理器CPU,按所述序列号的顺序将所述报文发送给空闲CPU进行分片处理。5.一种处理分片报文的装置,其特征...

【专利技术属性】
技术研发人员:陈敏刘友志王锋汤俊赵佳博
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1