一种服务器系统、路由方法、装置及电子设备和存储介质制造方法及图纸

技术编号:38516363 阅读:21 留言:0更新日期:2023-08-19 16:57
本申请公开了一种服务器系统、路由方法、装置及电子设备和存储介质,涉及计算机技术领域,该服务器系统包括服务器主机和与服务器主机连接的现场可编程门阵列;服务器主机包括多个虚拟机;现场可编程门阵列包括板卡管理模块、内存、数据通道、第一路由模块、核函数模块,内存连接数据通道和第一路由模块,数据通道通过物理功能通道连接服务器主机、通过多个虚拟功能通道连接多个虚拟机,数据通道连接第一路由模块,第一路由模块连接核函数模块;内存用于存储服务器主机下发的规则,第一路由模块用于根据内存存储的规则的动作对数据包进行处理和转发,核函数模块用于实现计算函数。本申请实现了灵活修改流表规则和数据处理逻辑。请实现了灵活修改流表规则和数据处理逻辑。请实现了灵活修改流表规则和数据处理逻辑。

【技术实现步骤摘要】
一种服务器系统、路由方法、装置及电子设备和存储介质


[0001]本申请涉及计算机
,更具体地说,涉及一种服务器系统、路由方法、装置及电子设备和存储介质。

技术介绍

[0002]OVS(Open Virtual Switch 开放的虚拟交换机)是SDN领域的重要组成部分,具备网络功能丰富、灵活度高、可移植性强等特性。OVS具备快速路径和慢速路径,分别位于内核空间和用户空间。当数据流到达OVS时,首先在内核空间进行查表匹配,如果匹配成功,则根据匹配规则的动作进行处理和转发;如果匹配失败,则上传到用户空间进行查表匹配,并根据匹配规则的动作进行处理和转发,同时将匹配规则下发到内核空间的流表中。
[0003]在相关技术中,OVS卸载方案的主要思想是将快速路径卸载到智能网卡中,当数据流到达智能网卡时,首先查询智能网卡中的流表规则,如果存在匹配的规则,则根据匹配规则的动作进行处理和转发;如果匹配失败,则上传到内核空间和用户空间进行查表匹配,并根据匹配规则进行处理和转发,同时将匹配规则下发到智能网卡中。这样同一数据流的后续数据包可以直接在智能网卡中完成处理和转发,极大提升数据中心的网络带宽。
[0004]在智能网卡的框架下,需要根据应用场景确定流表的结构,并据此实现智能网卡的硬件逻辑。在智能网卡的硬件逻辑确定后,无法支持新的匹配字段,只能在现有协议上进行开发。此外,对于加解密等特殊的计算任务,智能网卡一般也不支持,无法根据上层应用的需求灵活的选择是否进行加解密等特殊处理。
[0005]因此,如何实现灵活修改流表的结构,同时根据上层应用需求灵活定义数据流处理流程是本领域技术人员需要解决的技术问题。

技术实现思路

[0006]本申请的目的在于提供一种服务器系统、路由方法、装置及电子设备和存储介质,实现了灵活修改流表规则,同时根据上层应用需求灵活定义数据流处理流程。
[0007]为实现上述目的,本申请提供了一种服务器系统,包括服务器主机和与所述服务器主机连接的现场可编程门阵列;所述服务器主机包括多个虚拟机;所述现场可编程门阵列包括板卡管理模块、内存、数据通道、第一路由模块、核函数模块,所述内存连接所述数据通道和所述第一路由模块,所述数据通道通过物理功能通道连接所述服务器主机、通过多个虚拟功能通道连接多个所述虚拟机,所述数据通道连接所述第一路由模块,所述第一路由模块连接所述核函数模块,所述第一路由模块通过物理接口连接其他服务器主机;所述内存用于存储所述服务器主机下发的规则,所述第一路由模块用于根据所述内存存储的规则的动作对数据包进行处理和转发,所述核函数模块用于实现计算函数。
[0008]其中,所述服务器主机包括用户空间和内核空间,所述用户空间包括开放虚拟交
换机的守护进程、数据库和多个虚拟机,所述守护进程与所述数据库连接,所述内核空间包括第二路由模块、流表规则下发通道和驱动,所述第二路由模块与所述守护进程连接,所述第二路由模块通过所述流表规则下发通道连接所述驱动;所述数据通道通过所述物理功能通道连接所述驱动;所述守护进程用于根据匹配规则的动作对数据包进行处理和转发、向所述内核空间下发规则,所述第二路由模块用于根据所述守护进程下发的规则的动作对数据包进行处理和转发、通过所述流表规则下发通道向所述驱动下发规则,所述驱动用于通过所述数据通道将所述守护进程或所述第二路由模块下发的规则下发至所述内存。
[0009]其中,所述第一路由模块包括管理引擎、查表引擎和数据缓存区;所述管理引擎用于对所述内存中的流表进行管理操作,所述管理操作包括查找操作、添加操作、修改操作、删除操作和老化操作中任一项或任几项的组合,所述老化操作为每隔预设时间减少规则的老化时间,当所述老化时间减少到第一预设值时删除对应的规则;所述查表引擎用于进行查表操作;所述数据缓存区用于缓存待查表的数据包。
[0010]其中,所述第一路由模块还包括输入仲裁模块、解析模块、逆解析模块和输出仲裁模块;所述输入仲裁模块用于根据数据包到达的时间确定有效数据包;所述解析模块用于提取所述数据包中的关键字,并将所述数据包存储至所述数据缓存区、将对应的关键字存储到所述管理引擎中的查找指令缓存区;所述逆解析模块用于从所述数据缓存区取出所述有效数据包,根据匹配规则的动作对所述有效数据包进行处理,并将处理完成的有效数据包和输出端口发送至所述输出仲裁模块;所述输出仲裁模块用于将所述处理完成的有效数据包从所述输出端口转发。
[0011]其中,所述查表引擎包括哈希计算模块和地址处理模块;所述哈希计算模块用于根据所述关键字计算哈希值,并根据所述哈希值在流表和动作表中确定匹配的规则和动作;所述地址处理模块用于遍历流表和状态表,对流表中的规则进行老化处理。
[0012]其中,所述流表包括多条规则,所述动作表包括多个动作,所述状态表包括多个状态项,所述流表中的规则与所述动作表中的动作一一对应,所述流表中的规则与所述状态表中的状态项一一对应,每条所述规则包括优先级、匹配字段和计数器,所述计数器用于描述所述规则匹配成功的次数,每个所述动作包括动作类型和指令,每个所述状态项包括锁标志、有效标志和计时器,所述锁标志用于描述对应地址的规则是否正在被处理,所述有效标志用于描述对应地址的规则是否有效,所述计时器用于描述对应地址的规则的老化时间。
[0013]其中,所述数据缓存区包括先进先出存储器。
[0014]其中,所述计算函数包括数据加密函数、数据解密函数、网络加速函数中任一项或任几项的组合。
[0015]其中,所述内存包括高带宽存储器。
[0016]为实现上述目的,本申请提供了一种路由方法,应用于如上述服务器系统,所述方法包括:获取数据包,判断现场可编程门阵列中是否存在所述数据包匹配的规则;若是,则利用所述现场可编程门阵列中的第一路由模块基于在所述现场可编程门阵列中匹配规则的动作对所述数据包进行处理和转发;若否,则将所述数据包上传至服务器主机的内核空间中的第二路由模块,判断所述第二路由模块对应的流表中是否存在所述数据包匹配的规则;若是,则基于所述第二路由模块对应的流表中匹配规则的动作对所述数据包进行处理和转发;若否,则将所述数据包上传至所述服务器主机的用户空间中的守护进程,利用所述守护进程在数据库中查询所述数据包匹配的规则,基于查询到的所述数据包匹配的规则的动作对所述数据包进行处理和转发。
[0017]其中,所述利用所述现场可编程门阵列中的第一路由模块基于在所述现场可编程门阵列中匹配规则的动作对所述数据包进行处理和转发,包括:若所述数据包在所述现场可编程门阵列匹配到的规则为预设规则,则将所述数据包发送至所述现场可编程门阵列中的核函数模块,在所述核函数模块中利用对应的计算函数进行计算处理,并将计算处理完成的数据包重新发送至所述第一路由模块;相应的,所述将计算处理完成的数据包重新发送至所述第一路由模块之后,还包括:判断所述现场可编程门阵列中是否存在所述计算处理完成的数据包匹配的规则。
[0018]其中,所述基于所述第二路由模本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务器系统,其特征在于,包括服务器主机和与所述服务器主机连接的现场可编程门阵列;所述服务器主机包括多个虚拟机;所述现场可编程门阵列包括板卡管理模块、内存、数据通道、第一路由模块、核函数模块,所述内存连接所述数据通道和所述第一路由模块,所述数据通道通过物理功能通道连接所述服务器主机、通过多个虚拟功能通道连接多个所述虚拟机,所述数据通道连接所述第一路由模块,所述第一路由模块连接所述核函数模块,所述第一路由模块通过物理接口连接其他服务器主机;所述内存用于存储所述服务器主机下发的规则,所述第一路由模块用于根据所述内存存储的规则的动作对数据包进行处理和转发,所述核函数模块用于实现计算函数。2.根据权利要求1所述服务器系统,其特征在于,所述服务器主机包括用户空间和内核空间,所述用户空间包括开放虚拟交换机的守护进程、数据库和多个虚拟机,所述守护进程与所述数据库连接,所述内核空间包括第二路由模块、流表规则下发通道和驱动,所述第二路由模块与所述守护进程连接,所述第二路由模块通过所述流表规则下发通道连接所述驱动;所述数据通道通过所述物理功能通道连接所述驱动;所述守护进程用于根据匹配规则的动作对数据包进行处理和转发、向所述内核空间下发规则,所述第二路由模块用于根据所述守护进程下发的规则的动作对数据包进行处理和转发、通过所述流表规则下发通道向所述驱动下发规则,所述驱动用于通过所述数据通道将所述守护进程或所述第二路由模块下发的规则下发至所述内存。3.根据权利要求1所述服务器系统,其特征在于,所述第一路由模块包括管理引擎、查表引擎和数据缓存区;所述管理引擎用于对所述内存中的流表进行管理操作,所述管理操作包括查找操作、添加操作、修改操作、删除操作和老化操作中任一项或任几项的组合,所述老化操作为每隔预设时间减少规则的老化时间,当所述老化时间减少到第一预设值时删除对应的规则;所述查表引擎用于进行查表操作;所述数据缓存区用于缓存待查表的数据包。4.根据权利要求3所述服务器系统,其特征在于,所述第一路由模块还包括输入仲裁模块、解析模块、逆解析模块和输出仲裁模块;所述输入仲裁模块用于根据数据包到达的时间确定有效数据包;所述解析模块用于提取所述数据包中的关键字,并将所述数据包存储至所述数据缓存区、将对应的关键字存储到所述管理引擎中的查找指令缓存区;所述逆解析模块用于从所述数据缓存区取出所述有效数据包,根据匹配规则的动作对所述有效数据包进行处理,并将处理完成的有效数据包和输出端口发送至所述输出仲裁模块;所述输出仲裁模块用于将所述处理完成的有效数据包从所述输出端口转发。5.根据权利要求4所述服务器系统,其特征在于,所述查表引擎包括哈希计算模块和地址处理模块;所述哈希计算模块用于根据所述关键字计算哈希值,并根据所述哈希值在流表和动作
表中确定匹配的规则和动作;所述地址处理模块用于遍历流表和状态表,对流表中的规则进行老化处理。6.根据权利要求5所述服务器系统,其特征在于,所述流表包括多条规则,所述动作表包括多个动作,所述状态表包括多个状态项,所述流表中的规则与所述动作表中的动作一一对应,所述流表中的规则与所述状态表中的状态项一一对应,每条所述规则包括优先级、匹配字段和计数器,所述计数器用于描述所述规则匹配成功的次数,每个所述动作包括动作类型和指令,每个所述状态项包括锁标志、有效标志和计时器,所述锁标志用于描述对应地址的规则是否正在被处理,所述有效标志用于描述对应地址的规则是否有效,所述计时器用于描述对应地址的规则的老化时间。7.根据权利要求3所述服务器系统,其特征在于,所述数据缓存区包括先进先出存储器。8.根据权利要求1所述服务器系统,其特征在于,所述计算函数包括数据加密函数、数据解密函数、网络加速函数中任一项或任几项的组合。9.根据权利要求1所述服务器系统,其特征在于,所述内存包括高带宽存储器。10.一种路由方法,其特征在于,应用于如权利要求1至9任一项所述服务器系统,所述方法包括:获取数据包,判断现场可编程门阵列中是否存在所述数据包匹配的规则;若是,则利用所述现场可编程门阵列中的第一路由模块基于在所述现场可编程门阵列中匹配规则的动作对所述数据包进行处理和转发;若否,则将所述数据包上传至服务器主机的内核空间中的第二路由模块,判断所述第二路由模块对应的流表中是否存在所述数据包匹配的规则;若是,则基于所述第二路由模块对应的流表中匹配规则的动作对所述数据包进行处理和转发;若否,则将所述数据包上传至所述服务器主机的用户空间中的守护进程,利用所述守护进程在数据库中查询所述数据包匹配的规则,基于查询到的所述数据包匹配的规则的动作对所述数据包进行处理和转发。11.根据权利要求10所述路由方法,其特征在于,所述利用所述现场可编程门阵列中的第一路由模块基于在所述现场可编程门阵列中匹配规则的动作对所述数据包进行处理和转发,包括:若所述数据包在所述现场可编程门阵列匹配到的规则为预设规则,则将所述数据包发送至所述现场可编程门阵列中的核函数模块,在所述核函数模块中利用对应的计算函数进行计算处理,并将计算处理完成的数据包重新发送至所述第一路由模块;相应的,所述将计算处理完成的数据包重新发送至所述第一路由...

【专利技术属性】
技术研发人员:邓子为郭巍徐亚明李军刘伟
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1