[发明专利]一种网络流量分流方法及装置有效
申请号: | 201810083429.X | 申请日: | 2018-01-29 |
公开(公告)号: | CN108306832B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 唐俊峰;雷军;孙希栋;王飞 | 申请(专利权)人: | 北京启明星辰信息安全技术有限公司;启明星辰信息技术集团股份有限公司 |
主分类号: | H04L12/813 | 分类号: | H04L12/813;H04L12/851 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100193 北京市海淀区东*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 网络流量 分流 方法 装置 | ||
本发明提供了一种网络流量分流方法及装置,该方法应用于多核设备,包括:获取用于用户态访问的网络数据包;对网络数据包进行剥离分析,得到目标业务进程编号;若目标业务进程编号小于分流器进程所对应的业务进程数,获取目标业务进程编号所对应的目标虚拟网卡编号,其中,所述分流器进程是预先基于配置文件所开启的;将网络数据包发送至目标虚拟网卡编号所对应的目标虚拟网卡,以使目标虚拟网卡将网络数据包转发至目标业务进程。基于本发明,可以在低端网卡的单队列或者少队列分流过程中,业务进程实现无锁无竞争地处理网络数据包,充分保障CPU核的高效利用率。
技术领域
本发明涉及网络流量分配技术领域,更具体地说,涉及一种网络流量分流方法及装置。
背景技术
一般的高速网络数据分析系统均采用多核设备,在某CPU核上绑定业务进程并行处理网络数据包。业务进程在对网络流进行流重组的情况下,为保证流前后相继的报文绝对保序,需要对网络流量进行分流。
现阶段的网络流量分流方式虽然均从软件分流的层面上提高分流的及时性和效率,但是,由于并未考虑到低端网卡单队列或者少队列,比如2队列或者4队列分流过程中如何避免业务进程的竞争,这就会就产生CPU核利用率过低的问题。
发明内容
有鉴于此,本发明提供一种网络流量分流方法及装置,以解决低端网卡单队列或者少队列分流过程中如何避免业务进程的竞争的问题。技术方案如下:
一种网络流量分流方法,应用于多核设备,所述方法包括:
获取用于用户态访问的网络数据包;
对所述网络数据包进行剥离分析,得到目标业务进程编号;
若所述目标业务进程编号小于分流器进程所对应的业务进程数,获取所述目标业务进程编号所对应的目标虚拟网卡编号,其中,所述分流器进程是预先基于配置文件所开启的;
将所述网络数据包发送至所述目标虚拟网卡编号所对应的目标虚拟网卡,以使所述目标虚拟网卡将所述网络数据包转发至所述目标业务进程。
优选的,所述获取用于用户态访问的网络数据包,包括:
从物理网卡处获取原始网络数据包;
将所述原始网络数据包从所述物理网卡所对应的内存空间映射到用户态所对应的用户空间,得到用于用户态访问的网络数据包。
优选的,所述对所述网络数据包进行剥离分析,得到目标业务进程编号,包括:
在分流器进程处于开启状态的情况下,判断所述网络数据包的数据包类型是否为预设偏移数据包类型;
若所述网络数据包的数据包类型不为预设偏移数据包类型,判断所述网络数据包是否为IP碎片;
若所述网络数据包为IP碎片,判断所述网络数据包是否为首包;
若所述网络数据包为首包或者所述网络数据包不为IP碎片,判断所述网络数据包的标识是否在预设分流表内,所述预设分流表内记录有历史网络数据包的标识及其所对应的业务进程编号;
若所述网络数据包在预设分流表内,从所述预设分流表内查找所述网络数据包的标识所对应的目标业务进程编号;
若所述网络数据包不在预设分流表内,根据所述网络数据包的三元组信息或者五元组信息计算目标业务进程编号;
若所述网络数据包的数据包类型为预设偏移数据包类型,对所述网络数据包的数据包头进行偏移处理,并判断处理后的所述网络数据包是否为IP碎片;
若处理后的所述网络数据包为IP碎片,判断处理后的所述网络数据包是否为首包;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京启明星辰信息安全技术有限公司;启明星辰信息技术集团股份有限公司,未经北京启明星辰信息安全技术有限公司;启明星辰信息技术集团股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810083429.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:选路方法及装置
- 下一篇:一种资源释放方法及装置