System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于OVS-DPDK流表卸载的数据转发方法、装置及可读存储介质制造方法及图纸_技高网

基于OVS-DPDK流表卸载的数据转发方法、装置及可读存储介质制造方法及图纸

技术编号:41224715 阅读:2 留言:0更新日期:2024-05-09 23:43
本发明专利技术公开了一种基于OVS‑DPDK流表卸载的数据转发方法、装置及可读存储介质,网卡硬件在接收数据前会下发网卡硬件流表及同时创建流表卸载线程将流表卸载到网卡硬件上,用于配置网卡硬件中缓存的流表规则信息,具体为:网卡硬件接收数据报文并解析出数据报文的物理地址,从而确定数据报文丢弃或物理端口转发数据报文;物理端口转发数据报文时在数据报文上标记端口号信息并查询物理端口掩码表,获得在物理端口掩码表的查找结果,用于继续查询网卡中缓存的掩码表或将获取的数据报文上传至OVS‑DPDK;基于继续查询网卡中缓存的掩码表的数据报文提取出数据报文中的匹配项信息,并对数据报文中的匹配项信息和网卡硬件中缓存的掩码表进行取址操作,生成新的路径转发条目并进行路径转发表判断,用于完成数据报文的物理端口转发;本发明专利技术基于OVS‑DPDK流表卸载的数据转发方法,避免了DPDK一直上送报文给OVS处理,提升了数据报文转发的效率和吞吐性能。

【技术实现步骤摘要】

本专利技术属于通信虚拟化领域,具体涉及一种基于ovs-dpdk流表卸载的数据转发方法。


技术介绍

1、随着云计算的兴盛,云计算中心的每一台服务器和交换机都运行着独立的堆栈,分布式的堆栈组成了完全池化的超级仓储计算机,每台服务器运行复杂的、分层的系统,服务器上的中央处理器(cpu)不堪重负,并且数据中心的规模日益庞大,主流的云运营商服务器的规模都在百万级。同一台服务器上的vm或容器之间,计算服务器或存储服务器之间,需要更多的流量。软件定义存储(sds)、超聚合基础设施(hci)和大数据等应用程序会增加服务器之间东西向的通信流量,此外rdma也通常被用来加速服务器之间的数据传输。服务器本身对网络基础功能的处理要求更高。另一方面,中央处理器(cpu)的单核密度不断提高。2020年amd通过chiplet技术将单中央处理器(cpu)的x86核数增加到64,intel也推出了26核的中央处理器(cpu)。据预测,未来5年,单服务器物理核密度将从几十增加到200核。如果单核对网络io性能要求不变,支撑cpu的网络需要从25g增加到200g。同时随着轻量vm、容器的兴起,用户密度将会大大增加,预计单网卡pf/vf数量增加到10k以上。此外,复杂多样的网络技术及软件定义网络(sdn)的推广应用需要智能网卡提供支撑。随着虚拟扩张本地局域网(vxlan)、使用通用路由协议封装的网络虚拟化(nvgre)等网络技术的应用,多层封装增加了网络的处理复杂度。软件定义网络(sdn)增加了新的数据报文控制和处理的功能,需要花费cpu更多的内核来处理ovs等功能

2、本专利技术设计了一种基于基于ovs-dpdk流表卸载的数据转发方法。传统情况下,数据报文的转发需要通过ovs-dpdk上送主机cpu进行数据报文的处理,消耗大量的cpu资源。


技术实现思路

1、专利技术目的:为了克服现有技术中的不足,本专利技术提供一种基于ovs-dpdk流表卸载的数据转发方法,采用基于ovs-dpdk的流表卸载进行数据转发时,先调用线程配置网卡硬件流表规则,当访问主机的数据流量进入网卡硬件、交换机(eswitch)后,数据先经过网卡硬件匹配到硬件流表,借助网卡硬件的流表规则进行查表,对数据进行筛选从而转发筛选数据,不会将所有数据上送主机,通过流表规则筛选进入转发数据用于主机运行速度、网卡硬件转发性能加速,因此基于ovs-dpdk流表卸载的数据转发方法,避免了dpdk一直上送报文给ovs处理,提升了数据报文转发的效率和吞吐性能。

2、技术方案: 第一方面本专利技术提供一种基于ovs-dpdk流表卸载的数据转发方法,包括:

3、步骤1:网卡硬件接收数据报文并解析出数据报文的物理地址;

4、步骤2:根据数据报文的物理地址查询缓存的虚拟端口地址表,确定数据报文丢弃或物理端口转发数据报文;

5、步骤3: 物理端口转发数据报文时在数据报文上标记端口号信息并查询物理端口掩码表,获得在物理端口掩码表的查找结果;

6、步骤4:根据在物理端口掩码表的查找结果,继续查询网卡中缓存的掩码表或将获取的数据报文上传至ovs-dpdk;

7、步骤5:基于继续查询网卡中缓存的掩码表的数据报文提取出数据报文中的匹配项信息;

8、步骤6:对数据报文中的匹配项信息和网卡硬件中缓存的掩码表进行取址操作,生成新的路径转发条目;

9、步骤7:基于路径转发表判断新的路径转发条目,确定向网卡硬件卸载新的路径转发条目并根据新的路径转发条目完成数据报文的物理端口转发;

10、其中,网卡硬件在接收数据前会下发网卡硬件流表及同时创建流表卸载线程,线程根据首个数据报文的信息将流表卸载到网卡硬件上,用于配置网卡硬件中缓存的流表规则信息;流表规则信息包括:虚拟端口表、物理端口掩码表、掩码表、路径转发表、全匹配表;

11、当访问主机的数据流量进入硬件、交换机(eswitch)后,先经过网卡硬件匹配到硬件流表,直接进行转发,不会上送主机,直接通过网卡硬件转发,不占用主机cpu资源,实现数据报文的加速转发。

12、在进一步的实施例中,所述步骤3中物理端口转发数据报文时在数据报文上标记端口号信息并查询物理端口掩码表,获得在物理端口掩码表的查找结果的方法包括:

13、步骤3.1:对接收的数据报文提取端口信息以及匹配项,获得端口信息及匹配项结果;

14、步骤3.2:基于缓存在网卡中的全匹配表判断端口信息及匹配项结果,执行全匹配表中对应的执行动作或获得物理端口的掩码表查找结果。

15、在进一步的实施例中,所述步骤3.2中基于缓存在网卡中的全匹配表判断端口信息及数据项匹配结果,执行全匹配表中对应的执行动作或获得物理端口的掩码表查找结果的方法包括:

16、步骤3.2.1:若端口信息及匹配项结果与全匹配表中的条目匹配上,则执行全匹配表中对应的执行动作;

17、步骤3.2.2:若端口信息及匹配项结果未与全匹配表中的条目匹配上,则开始检索物理端口掩码表,获得物理端口的掩码表查找结果;

18、其中,物理端口的掩码表查找结果包括:物理端口的掩码表下没有掩码表和物理端口的掩码表下存在掩码表。

19、在进一步的实施例中,所述步骤4中根据物理端口的掩码表查找结果,继续查询网卡掩码表或将获取的数据上传至ovs-dpdk的方法为:

20、若物理端口的掩码表查找结果为物理端口的掩码表下没有掩码表,则将获取的数据报文上传至ovs-dpdk;

21、若物理端口的掩码表查找结果为理端口的掩码表下存在掩码表,则开始继续检索网卡掩码表。

22、在进一步的实施例中,所述步骤5中基于继续查询网卡中缓存的掩码表的数据报文提取出数据报文中的匹配项信息的方法包括:

23、根据网卡中缓存的掩码表对数据报文中的匹配项进行匹配,获得与掩码表吻合的匹配项信息。

24、在进一步的实施例中,所述步骤6中对数据报文中的匹配项信息和网卡硬件中缓存的掩码表进行取址操作,生成新的路径转发条目的方法包括:

25、将与掩码表吻合的匹配项信息进行转化、写入网卡寄存器;

26、对缓存掩码表、与缓存掩码表吻合的匹配项信息执行取址操作,获得缓存掩码表与匹配项信息的映射关系;

27、根据缓存掩码表与匹配项信息的映射关系,生成新的路径转发条目。

28、在进一步的实施例中,所述步骤7中基于路径转发表判断新的路径转发条目,确定向网卡硬件卸载新的路径转发条目并根据新的路径转发条目完成数据报文的物理端口转发的方法包括:

29、基于路径转发表判断新的路径转发条目,若在路径转发表检索到符合的路径转发条目,则写入网卡寄存器,从而向网卡硬件卸载新的路径转发条目;根据新的路径转发条目,生成新的全匹配表用于完成数据报文物理端口转发的执行动作;

30、若在路径转发表未检索到符合的路径转发条目,则循环查询本文档来自技高网...

【技术保护点】

1.一种基于OVS-DPDK流表卸载的数据转发方法,其特征在于,包括:

2.根据权利要求1所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤3中物理端口转发数据报文时在数据报文上标记端口号信息并查询物理端口掩码表,获得在物理端口掩码表的查找结果的方法包括:

3.根据权利要求2所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤3.2中基于缓存在网卡中的全匹配表判断端口信息及数据项匹配结果,执行全匹配表中对应的执行动作或获得物理端口的掩码表查找结果的方法包括:

4.根据权利要求1所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤4中根据物理端口的掩码表查找结果,继续查询网卡掩码表或将获取的数据上传至OVS-DPDK的方法为:

5.根据权利要求1所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤5中基于继续查询网卡中缓存的掩码表的数据报文提取出数据报文中的匹配项信息的方法包括:

6.根据权利要求1所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤6中对数据报文中的匹配项信息和网卡硬件中缓存的掩码表进行取址操作,生成新的路径转发条目的方法包括:

7.根据权利要求1所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,所述步骤7中基于路径转发表判断新的路径转发条目,确定向网卡硬件卸载新的路径转发条目并根据新的路径转发条目完成数据报文的物理端口转发的方法包括:

8.根据权利要求7所述的基于OVS-DPDK流表卸载的数据转发方法,其特征在于,根据新的路径转发条目完成数据报文的转发还包括:

9.一种基于OVS-DPDK流表卸载的数据转发方法装置,其特征在于,所述装置设置在网卡硬件中,包括:

10.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时,实现权利要求1-8中任一所述的基于OVS-DPDK流表卸载的数据转发方法的步骤。

...

【技术特征摘要】

1.一种基于ovs-dpdk流表卸载的数据转发方法,其特征在于,包括:

2.根据权利要求1所述的基于ovs-dpdk流表卸载的数据转发方法,其特征在于,所述步骤3中物理端口转发数据报文时在数据报文上标记端口号信息并查询物理端口掩码表,获得在物理端口掩码表的查找结果的方法包括:

3.根据权利要求2所述的基于ovs-dpdk流表卸载的数据转发方法,其特征在于,所述步骤3.2中基于缓存在网卡中的全匹配表判断端口信息及数据项匹配结果,执行全匹配表中对应的执行动作或获得物理端口的掩码表查找结果的方法包括:

4.根据权利要求1所述的基于ovs-dpdk流表卸载的数据转发方法,其特征在于,所述步骤4中根据物理端口的掩码表查找结果,继续查询网卡掩码表或将获取的数据上传至ovs-dpdk的方法为:

5.根据权利要求1所述的基于ovs-dpdk流表卸载的数据转发方法,其特征在于,所述步骤5中基于继续查询网卡中缓存的掩码表的数据报文提取出数据报文中的匹配项信息的...

【专利技术属性】
技术研发人员:张宇
申请(专利权)人:南京邮电大学
类型:发明
国别省市:

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

1