一种网络性能优化方法、装置、设备及介质制造方法及图纸

技术编号:35945704 阅读:66 留言:0更新日期:2022-12-14 10:36
本发明专利技术涉及网络报文处理领域,尤其涉及一种网络性能优化方法、装置、设备及介质。所述方法包括:将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;利用运行于内核态的控制层负责拦截中断并将网卡映射成用户态的设备文件;利用运行于用户态的数据层通过设备文件接管网卡收发数据。本发明专利技术的方案通过拦截中断机制不触发后续中断和流程,绕过协议栈直接从网卡驱动获取到数据包,把包提交给用户空间,节省了中断和内核中内存拷贝消耗的时间,加快了数据包的处理速度。度。度。

【技术实现步骤摘要】
一种网络性能优化方法、装置、设备及介质


[0001]本专利技术涉及网络报文处理领域,尤其涉及一种网络性能优化方法、装置、设备及介质。

技术介绍

[0002]传统的网卡驱动程序运行在Linux的内核态,以中断方式来唤醒系统处理,这种设计方式是由于早期CPU运行速度远高于外设访问,所以中断处理方式十分有效。但随着芯片技术与高速网络接口技术的一日千里式发展,报文吞吐需要高达10Gbit/s的端口处理能力,市面上已经出现大量的25Gbit/s、40Gbit/s甚至100Gbit/s高速端口,主流处理器的主频仍停留在3GHz以下。I/O超越CPU的运行速率,是横在行业面前的技术挑战。
[0003]尤其是在云计算虚拟化领域,网络性能优化技术也越来越成熟,传统的网络性能优化方案就是让虚拟机访问的物理网卡层数更少,直至对物理网卡独占,即和物理机一样使用物理网卡,这种方案虽然能达到和物理机一样的网络性能,但其应用很受限。首先,虚拟机对物理机网卡的独占导致了资源的浪费,成本较高;其次,不通用,云计算场景下虚拟机双活、迁移等高可用技术无用武之地;最后,在高并发应用场景下,物理机的网络IO性能也不尽人意。

技术实现思路

[0004]为了提升网络性能,降低网络延时,本专利技术提供一种网络性能优化方法、装置、设备及介质。
[0005]根据本专利技术的第一方面,提供了一种网络性能优化方法,所述方法包括:
[0006]将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;
[0007]利用运行于内核态的控制层负责拦截中断并将网卡映射成用户态的设备文件;
[0008]利用运行于用户态的数据层通过设备文件接管网卡收发数据。
[0009]在一些实施中,利用运行于用户态的数据层通过设备文件直接使用轮询方式接管网卡收发数据,包括:
[0010]为每个端口分配一个核专门用于数据收发;
[0011]采用轮询式方式处理网络I/O。
[0012]在一些实施中,为每个端口分配一个核专门用于数据收发,包括:
[0013]使用多核编程将线程和CPU核进行一比一绑定。
[0014]在一些实施中,所述方法应用于飞腾平台。
[0015]根据本专利技术的第二方面,提供了一种网络性能优化装置,所述装置包括:
[0016]分离模块,配置用于将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;
[0017]拦截模块,配置用于运行于内核态的控制层负责拦截中断并将网卡映射成用户态
的设备文件;
[0018]接管模块,配置用于运行于用户态的数据层通过设备文件接管网卡收发数据。
[0019]在一些实施中,所述接管模块进一步包括:
[0020]分配模块,配置用于为每个端口分配一个核专门用于数据收发;
[0021]轮询模块,配置用于采用轮询式方式处理网络I/O。
[0022]在一些实施中,所述分配模块进一步配置用于:
[0023]使用多核编程将线程和CPU核进行一比一绑定。
[0024]在一些实施中,所述装置应用于飞腾平台。
[0025]根据本专利技术的第三方面,还提供了一种计算机设备,该计算机设备包括:
[0026]至少一个处理器;以及
[0027]存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的网络性能优化方法。
[0028]根据本专利技术的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的网络性能优化方法。
[0029]上述一种网络性能优化方法,将数据报文的控制层和数据层分离,让数据报文绕过了内核协议栈,并通过设备文件映射拷贝存入用户态内存空间,这时数据层就可以通过轮询的方式定时调用接口,直接从内存读取数据报文进行处理,通过拦截中断机制不触发后续中断和流程,绕过协议栈直接从网卡驱动获取到数据包,把包提交给用户空间,节省了中断和内核中内存拷贝消耗的时间,加快了数据包的处理速度。
[0030]此外,本专利技术还提供了一种网络性能优化装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
[0031]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
[0032]图1为本专利技术一个实施例提供的一种网络性能优化方法的流程图;
[0033]图2为本专利技术一个实施例提供的管控分离原理示意图;
[0034]图3为本专利技术一个实施例提供的数据包处理流程示意图;
[0035]图4为OVS网络报文交换流程示意图;
[0036]图5为管控分离优化的网络报文交换流程;
[0037]图6为本专利技术另一个实施例提供的一种网络性能优化装置的结构示意图;
[0038]图7为本专利技术另一个实施例中计算机设备的内部结构图。
具体实施方式
[0039]为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。
[0040]需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两
个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。
[0041]在一个实施例中,请参照图1所示,本专利技术提供了一种网络性能优化方法100,具体来说,所述方法包括以下步骤:
[0042]步骤101,将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;
[0043]步骤102,利用运行于内核态的控制层负责拦截中断并将网卡映射成用户态的设备文件;
[0044]步骤103,利用运行于用户态的数据层通过设备文件接管网卡收发数据。
[0045]上述一种网络性能优化方法,将数据报文的控制层和数据层分离,让数据报文绕过了内核协议栈,并通过设备文件映射拷贝存入用户态内存空间,这时数据层就可以通过轮询的方式定时调用接口,直接从内存读取数据报文进行处理,通过拦截中断机制不触发后续中断和流程,绕过协议栈直接从网卡驱动获取到数据包,把包提交给用户空间,节省了中断和内核中内存拷贝消耗的时间,加快了数据包的处理速度。
[0046]在一些实施例中,前述步骤103,利用运行于用户态的数据层通过设备文件直接使用轮询方式接管网卡收发数据,包括:
[0047]为每个端口分配一个核专门用于数据收发;
[0048]采用轮询式方式处理网络I/O。
[0049]在一些实施例中,为每个端口分配一个核专门用于数据收发,包本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种网络性能优化方法,其特征在于,所述方法包括:将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;利用运行于内核态的控制层负责拦截中断并将网卡映射成用户态的设备文件;利用运行于用户态的数据层通过设备文件接管网卡收发数据。2.根据权利要求1所述的网络性能优化方法,其特征在于,利用运行于用户态的数据层通过设备文件直接使用轮询方式接管网卡收发数据,包括:为每个端口分配一个核专门用于数据收发;采用轮询式方式处理网络I/O。3.根据权利要求2所述的网络性能优化方法,其特征在于,为每个端口分配一个核专门用于数据收发,包括:使用多核编程将线程和CPU核进行一比一绑定。4.根据权利要求1所述的网络性能优化方法,其特征在于,所述方法应用于飞腾平台。5.一种网络性能优化装置,其特征在于,所述装置包括:分离模块,配置用于将数据报文的控制层和数据层分离以使控制层运行在内核态、数据层运行在用户态;拦截模块,配置用于运行于内核态的控制层负责拦截中断并将网卡映射成用户态的...

【专利技术属性】
技术研发人员:王晔王则陆刘毅枫
申请(专利权)人:西安超越申泰信息科技有限公司
类型:发明
国别省市:

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

1