一种设备内部处理器网口收包方法及装置制造方法及图纸

技术编号:14490674 阅读:106 留言:0更新日期:2017-01-29 13:26
本发明专利技术公开了一种设备内部处理器网口收包方法及装置,涉及通信技术。本发明专利技术装置包括:收包硬件模块,按照预先配置将收到的数据包报文投递给对应VCPU队列中;收包线程模块,接收相绑定的VCPU队列中数据包报文,并根据接收到的数据包报文的以太类型,确定该数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系,将接收到的数据包报文投递到对应的公共队列中;业务模块,按照各公共队列的优先级顺序读取各公共队列中的数据包报文。本发明专利技术还公开了一种设备内部处理器网口收包方法。本申请技术方案解决了之前收包的性能瓶颈。同时,本申请技术方案通过优先级队列的方式使得重要的报文优先得到处理。

【技术实现步骤摘要】

本专利技术涉及通信技术,特别涉及一种设备内部处理器网口收包方法及装置
技术介绍
当前设备内部网口收发报文通用的方式是通过收包线程在网口创建套接字,然后守护套接字进行收包,收到后的各种类型报文不进行区分,存入一块缓存队列中供上层业务读取;这种收包模式带来了如下几个问题:1、报文必须要经过内核协议栈的处理,并且共用CPU资源,导致收包的性能比较低;2、报文类型不区分,导致当网口有大量报文涌入时,造成报文无差别丢包,一些保活报文的丢失将导致业务协议断链;3、报文没有限速,导致大量报文涌入时CPU可能一直占用,从而导致其它应用可能得不到调度,导致异常。
技术实现思路
本专利技术所要解决的技术问题是,提供一种设备内部处理器网口收包方法及装置,以解决现有存在的收包性能瓶颈的问题。为了解决上述技术问题,本专利技术公开了一种设备内部处理器网口收包装置,该装置包括:收包硬件模块,按照预先配置将收到的数据包报文投递给对应虚拟中央处理器VCPU队列中;收包线程模块,接收相绑定的VCPU队列中数据包报文,并根据接收到的数据包报文的以太类型,确定该以太类型数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系对应的公共队列,将接收到的数据包报文投递到所确定对应的公共队列中;业务模块,按照各公共队列的优先级顺序读取各公共队列中的数据包报文。可选地,上述装置还包括:收包管理模块,预先配置所述收包硬件模块收到的数据包报文与VCPU队列的对应关系。可选地,上述装置中,所述收包管理模块,在共享内存中建立指定数目的公共队列,并预先配置数据包报文的优先级与公共队列的优先级之间的对应关系。可选地,上述装置中,所述收包管理模块,从各业务模块中分别获取各种以太类型的数据包报文的流限制值;所述收包线程模块,在某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据收包报文。可选地,上述装置中,所述收包线程模块,在某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据收包报文指:所述收包线程模块,在数据包报文流首次达到或超过所述流限制值时,将收包标志置为拒绝收包;在数据包报文流达到或超过所述报文流限制值的次数达到设定次数时,将收包计数清零,收包标志重新置为请允许收包。本专利技术还公开了一种设备内部处理器网口收包方法,该方法包括:按照预先配置将收到的数据包报文投递给对应虚拟中央处理器VCPU队列中;根据所述VCPU队列中的数据包报文的以太类型,确定该数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系以太类型对应的公共队列,并将所述数据包报文投递到所确定对应的公共队列中;各业务按照预先配置的各公共队列的优先级顺序读取接收各公共队列中的数据包报文。可选地,上述方法还包括:预先配置接收的数据包报文与VCPU队列的对应关系。可选地,上述方法还包括:在共享内存中建立指定数量的公共队列,并预先配置数据包报文的优先级与公共队列的优先级之间的对应关系以及各公共队列对应的优先级。可选地,上述方法还包括:获取各业务接收读取的各种以太类型的数据包报文的流限制值;当某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递收数据包报文。可选地,上述方法中,当某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据收包报文的过程包括:在数据包报文流首次达到或超过所述流限制值时,将收包标志置为拒绝收包;在数据包报文流达到或超过所述报文流限制值的次数达到设定次数时,将收包计数清零,收包标志重新置为允许收包。本申请技术方案通过绑定硬件线程进行直接收包,使设备收包的性能大幅度提高,解决了之前收包的性能瓶颈。同时,本申请技术方案在保证性能提高的基础上,又添加了根据报文以太类型设置优先级队列,通过优先级队列的方式使得重要的报文优先得到处理。还有优选方案中添加了根据报文流量类型设置限速的方式处理报文,通过限速方式使得当大量攻击报文涌入设备时安全性得到了提高。附图说明图1是本专利技术实施例提供的设备内部处理器网口收包装置结构示意图;图2是本专利技术实施例提供的设备内部处理器网口收包流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,下文将结合附图对本专利技术技术方案作进一步详细说明。需要说明的是,在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。实施例1本实施例提供一种设备内部处理器网口收包装置,至少包括如下各模块:收包硬件模块,按照预先配置将收到的数据包报文投递给对应VCPU队列中;具体地,上述收包硬件模块为主用控制板上的处理器网口,该网口接收从各个线卡上送的业务数据包报文。其中,本收包装置中处理器芯片必须为多核且支持硬件收包。收包线程模块,接收相绑定的VCPU队列中数据包报文,并根据接收到的数据包报文的以太类型,确定该数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系,将接收到的数据包报文投递到对应的公共队列中;业务模块,按照各公共队列的优先级顺序读取各公共队列中的数据包报文。另外,上述装置还可以包括收包管理模块,该模块在初始阶段将处理器设置为直接从网口收包并且排它绑核,即预先配置所述收包硬件模块收到的数据包报文与VCPU队列的对应关系。除了上述操作外,收包管理模块,还用于和各个业务任务交互,通过与业务任务的交互获取数据包报文以太类型对应的公共队列,即在共享内存中建立指定数目的公共队列,并预先配置数据包报文的优先级与公共队列的优先级之间的对应关系。具体地,可根据数据包报文的以太类型确定公共队列的数量,例如,公共队列的数量与数据包报文的以太类型的数量一致,其中,一类数据包报文对应一个公共队列。除了考虑不同以太类型的数据包报文的优先级外,还可以结合不同以太类型的数据包报文的流量限速检测当前收包流速是否满足限速要求,从而做出相应的处理。即各个业务任务模块,根据其自己的业务读取的数据包报文的以太类型设置该类数据包报文的流限制值,例如,可以通过收包管理模块建立的公共队列的数量及其对应的优先级,设置其报文类型对应的流限制值。此时,收包管理模块,从各业务模块中分别获取各种以太类型的数据包报文的流限制值。收包线程模块,在某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据包报文。具体地,收包线程模块停止向公共队列投递数据包报文可以分两步操作:第一步,即在数据包报文流首次达到或超过对应的流限制值时,收包线程模块可以将收包标志置为拒绝收包(deny);第二步,即在数据包报文流达到或超过对应的报文流限制值的次数达到设定次数时,收包线程模块可以将收包计数清零,收包标志重新置为请允许收包(permit)。下面结合附图提供的设备内部处理器网口收包装置的一种优选实施方式,详细说明上述装置的工作原理。如图1所示,包括一块主控板单元,主控板单元上包括一个多核CPU单元模块,该CPU需支持多核并且可以硬件直接收包,其中,该主控板单元上包括:收包硬件模块、收包线程模块、收包管理模块以及业务模块。图1所示的设备内部处理器网口收包装置中各模块之间的工作过程如下:首先,收包管理模块在初始化阶段设置本文档来自技高网...
一种设备内部处理器网口收包方法及装置

【技术保护点】
一种设备内部处理器网口收包装置,其特征在于,该装置包括:收包硬件模块,按照预先配置将收到的数据包报文投递给对应虚拟中央处理器VCPU队列中;收包线程模块,接收相绑定的VCPU队列中数据包报文,并根据接收到的数据包报文的以太类型,确定该数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系,将接收到的数据包报文投递到对应的公共队列中;业务模块,按照各公共队列的优先级顺序读取各公共队列中的数据包报文。

【技术特征摘要】
1.一种设备内部处理器网口收包装置,其特征在于,该装置包括:收包硬件模块,按照预先配置将收到的数据包报文投递给对应虚拟中央处理器VCPU队列中;收包线程模块,接收相绑定的VCPU队列中数据包报文,并根据接收到的数据包报文的以太类型,确定该数据包报文的优先级,按照预先配置的数据包报文的优先级与公共队列的优先级的对应关系,将接收到的数据包报文投递到对应的公共队列中;业务模块,按照各公共队列的优先级顺序读取各公共队列中的数据包报文。2.如权利要求1所述的装置,其特征在于,该装置还包括:收包管理模块,预先配置所述收包硬件模块收到的数据包报文与VCPU队列的对应关系。3.如权利要求2所述的装置,其特征在于,所述收包管理模块,在共享内存中建立指定数目的公共队列,并预先配置数据包报文的优先级与公共队列的优先级之间的对应关系。4.如权利要求2或3所述的装置,其特征在于,所述收包管理模块,从各业务模块中分别获取各种以太类型的数据包报文的流限制值;所述收包线程模块,在某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据包报文。5.如权利要求4所述的装置,其特征在于,所述收包线程模块,在某种以太类型的数据包报文流达到或超过所述流限制值时,停止向公共队列投递数据包报文指:所述收包线程模块,在数据包报文流首次达到或超过所述流限制值时,将收包标志置为拒绝收包;在数据包报文流达到或超过所述...

【专利技术属性】
技术研发人员:何清
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:广东;44

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

1