[发明专利]提高网络数据包处理效率的方法在审
| 申请号: | 201810863855.5 | 申请日: | 2018-08-01 |
| 公开(公告)号: | CN109117270A | 公开(公告)日: | 2019-01-01 |
| 发明(设计)人: | 陈志华 | 申请(专利权)人: | 湖北微源卓越科技有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/54 |
| 代理公司: | 北京联瑞联丰知识产权代理事务所(普通合伙) 11411 | 代理人: | 郑自群 |
| 地址: | 430073 湖北省武汉市东湖新技术开发*** | 国省代码: | 湖北;42 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 队列 网络数据包处理 直接存储 数据包 网卡 上下文关联 并发处理 处理性能 独立网卡 分析处理 上层应用 提升系统 数据流 数据处理 物理CPU 多核心 绑定 线程 主存 同源 吞吐量 占用 | ||
本发明公开了一种提高网络数据包处理效率的方法,包括步骤:对每个独立网卡收发包队列,绑定单独的物理CPU核心(或线程)对其进行处理。这样,每个核心只处理指定队列的数据,不会在多个队列中切换,也就避免了CPU等待和切换的过程。然后通过网卡的DMA技术(直接存储技术)将数据包直接存储到主存中,不需要占用CPU资源。最后通过同源同宿处理,将相同数据流的数据包放到相同的队列中供上层应用分析处理,这样就进一步减少了CPU多核心之间的上下文关联操作,相对地提高了CPU的处理性能。本发明能较大地提升系统整体的并发处理性能和网卡的吞吐量,满足对大量数据处理的要求。
技术领域
本发明涉及网络数据包处理技术领域,更为具体地,涉及一种提高网络数据包处理效率的方法。
背景技术
随着社会信息化的迅猛发展,越来越多的网络应用接入到互联网中,导致网络流量的越来越多,网络应用传输的数据量爆发性增加,导致骨干网的网络带宽也越来越大。因此对于网络设备对数据包的处理效率也提出了越来越高的要求。
图1,2为常规的数据包处理方案,图中Worker可以是独立的多个进程,也可以是同一个进程的多个不同线程。现有技术主要存在如下不足:
1)效率低,数据包收取的过程中,所有收取的数据包都需要从网卡到网卡驱动,再经过操作系统的IP协议栈的处理,然后再交给用户态的应用层程序。这个过程有至少一次内存拷贝。数据包的发送过程中,所有发送的数据包都需要从用户态的应用层到操作系统的IP协议栈,然后再到网卡驱动程序,最后由网卡将数据包发送出去。这个过程也至少有一次内存拷贝。内存的拷贝,是非常消耗系统总线资源的,会引起CPU的“忙等”,浪费大量资源。
2)对于大流量,资源占用大,还容易引起丢包。
发明内容
本发明的目的在于克服现有技术的不足,提供一种提高网络数据包处理效率的方法,极大地提高了网络设备对数据包的并发处理效率,能够处理大流量,不丢包,可以根据用户使用情况,采取不同的工作模式,从而降低设备能耗。
本发明的目的是通过以下技术方案来实现的:一种提高网络数据包处理效率的方法,包括一个绑定步骤;该步骤用于将网卡上的每一个收发包队列分别绑定到一个单独的CPU核心上。
进一步的,所述CPU核心,其处理的数据是独占的,每个CPU核心处理的数据不与其他的CPU核心或线程所处理的数据进行交换。
进一步的,该方法有两种具体实现模式,一种是内核态工作模式,一种是用户态工作模式,如果选择内核态工作模式,则驱动程序工作在内核态,则跳入步骤S1;如果选择用户态工作模式,则驱动程序运行在用户态,则跳入步骤S2。
进一步的,在步骤S1中,包括如下步骤:
S11,网卡驱动程序在系统主内存中初始化两块共享内存,一块为发包区,另一块为收包区,长期驻留;上层应用程序在用户空间对该共享内存进行映射,从而上层应用能够直接访问网卡收到的数据;
S12,网卡通过DMA和硬件Hash,将数据包缓存到共享内存的收包区,并修改硬件收包队列;
S13,网卡产生硬中断,通知驱动程序来收包;
S14,网卡驱动程序读取硬件收包队列中的数据,进行软件Hash,对数据包进行同源同宿处理,将数据包均匀地分配到所有的软件队列中处理,并且同一数据流会分配到同一队列中去处理;
S15,网卡驱动程序产生软中断,通知上层应用程序接收数据包;
S16,上层应用程序读取软件队列中的数据包并进行处理;
S17,将处理后的数据包写入共享内存的发包区;
S18,通知驱动程序发送数据包;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖北微源卓越科技有限公司,未经湖北微源卓越科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810863855.5/2.html,转载请声明来源钻瓜专利网。





