一种流表的处理方法及装置制造方法及图纸

技术编号:33345981 阅读:45 留言:0更新日期:2022-05-08 09:41
本申请提供一种流表的处理方法及装置,用以提升OVS中查表转发的性能,还可以降低系统故障恢复后的全量流表的刷新时间。该方法中,OVS网桥接收待传输的多个数据包;按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减少失效时间;根据匹配到的多级流表,对所述多个数据包进行路由处理。多个数据包进行路由处理。多个数据包进行路由处理。

【技术实现步骤摘要】
一种流表的处理方法及装置


[0001]本申请涉及云计算
,尤其涉及一种流表的处理方法及装置。

技术介绍

[0002]在Openstack(一个开源的云计算管理平台项目)Vxlan(Virtual eXtensible LAN,虚拟可扩展局域网)组网模式下,虚拟网络是通过OpenvSwitch(一个高质量、多层的虚拟交换软件,OVS)组件进行流量转发和租户隔离等,以及基于OpenFlow协议以流的方式进行数据转发和过滤。其中,数据转发需要依赖虚拟网络中的流表来进行匹配。
[0003]然而,随着租户和虚拟机数量的增加,OVS内的流表数量会显著增加。当OVS内流表数过大时,会降低OVS查表转发的性能。并且,当系统故障复位时全量流表的重建时间长,从而会导致系统故障恢复的时间较长。

技术实现思路

[0004]本申请提供一种流表的处理方法及装置,以提供一种对OVS内流表进行压缩的技术方案,用以提升OVS中查表转发的性能,还可以降低系统故障恢复后的全量流表的刷新时间。本申请的技术方案如下:
[0005]第一方面,提供一种流表的处理方法,应用于虚拟交换机OVS网桥,所述OVS网桥采用多级流表方式对数据包进行路由处理,包括:
[0006]接收待传输的多个数据包;
[0007]按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;
[0008]根据匹配到的多级流表,对所述多个数据包进行路由处理。
[0009]通过本申请实施例提供的流表的处理方法,可以实现多种场景下的流表复用或合并或及时地删除,从而可以减少OVS网桥中存储的流表数量,进而可以提升OVS查表转发的性能。并且,在系统故障复位时,可以减少全量流表重建的时间。
[0010]在一种可能的设计中,所述OVS网桥为集成网桥br

int、或为通道网桥br

tun;其中,所述br

int用于进行虚拟机之间的通信,所述br

tun用于进行节点之间的通信。
[0011]在一种可能的设计中,若所述OVS网桥为所述br

int,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:
[0012]在进行一级流表匹配时,将来源方式为所述br

tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,将来源方式为虚拟机VPC的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。
[0013]通过该设计,在br

int进行匹配的过程中,可以实现将来源方式相同(例如来自br

tun、虚拟机)的数据包,通过匹配固定前缀的MAC地址,来实现复用1条流表。这样,可以减少OVS网桥中流表的数量。
[0014]在一种可能的设计中,若所述OVS网桥为所述br

tun,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:
[0015]在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
[0016]通过该设计,在br

tun进行匹配的过程中,可以实现将来源方式相同(例如来自br隧道口)的数据包,通过降低匹配优先级,来实现不对具体的隧道端口的匹配,也即复用1条流表。这样,可以减少OVS网桥中流表的数量。
[0017]在一种可能的设计中,若所述预设的匹配规则包括所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,则通过下列方式配置所述匹配规则:
[0018]若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
[0019]通过该设计,可以实现将相同vlan内的去到不同目的MAC地址、但均为丢弃指令的数据包匹配相同的1条流表,进而可以减少流表的数量,实现流表的压缩。
[0020]在一种可能的设计中,若所述预设的匹配规则包括所述上下级流表的匹配域字段相同但动作不同的流表进行合并,则通过下列方式配置所述匹配规则:
[0021]将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
[0022]通过该设计,通过对满足此条件的上下级流表进行合并,从而可以得到一条同时包含上级流表对应的动作1和下级流表对应的动作2的流表,这样OVS网桥上只需要一条流表,从而可以减少流表的数量。
[0023]在一种可能的设计中,若所述预设的匹配规则包括所述减小空闲失效时间阈值,则通过下列方式配置所述匹配规则:
[0024]将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
[0025]通过该设计,可以实现将无效的流表尽快的老化掉(也即删除),可以降低OVS网桥中的流表规模和数量。
[0026]在一种可能的设计中,所述方法还包括:
[0027]添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
[0028]通过该设计,通过添加存活失效时间阈值,可以根据不同的实际场景,设置流表自从创建到失效的时间,可以实现及时地对流表进行清理,降低OVS网桥中的流表数量,进而提升OVS查表转发的性能。
[0029]第二方面,本申请实施例还提供一种流表的处理装置,该装置包括:收发单元和处理单元,该装置具有实现如下功能:
[0030]所述收发单元,用于接收待传输的多个数据包;
[0031]所述处理单元,用于按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;
[0032]所述处理单元,还用于根据匹配到的多级流表,对所述多个数据包进行路由处理。
[0033]在一种可能的设计中,所述OVS网桥为集成网桥br

int、或为通道网桥br

tun;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种流表的处理方法,应用于虚拟交换机OVS网桥,所述OVS网桥采用多级流表方式对数据包进行路由处理,其特征在于,包括:接收待传输的多个数据包;按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;根据匹配到的多级流表,对所述多个数据包进行路由处理。2.根据权利要求1所述的方法,其特征在于,所述OVS网桥为集成网桥br

int、或为通道网桥br

tun;其中,所述br

int用于进行虚拟机之间的通信,所述br

tun用于进行节点之间的通信。3.根据权利要求2所述的方法,其特征在于,若所述OVS网桥为所述br

int,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:在进行一级流表匹配时,将来源方式为所述br

tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,将来源方式为虚拟机VPC的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。4.根据权利要求2所述的方法,其特征在于,若所述OVS网桥为所述br

tun,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则...

【专利技术属性】
技术研发人员:户才来罗印威卢学嘉雷涛谢金壮
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1