CN114448886A - 一种流表的处理方法及装置 - Google Patents

一种流表的处理方法及装置 Download PDF

Info

Publication number
CN114448886A
CN114448886A CN202111621133.7A CN202111621133A CN114448886A CN 114448886 A CN114448886 A CN 114448886A CN 202111621133 A CN202111621133 A CN 202111621133A CN 114448886 A CN114448886 A CN 114448886A
Authority
CN
China
Prior art keywords
matching
flow table
flow
tables
data packets
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111621133.7A
Other languages
English (en)
Inventor
户才来
罗印威
卢学嘉
雷涛
谢金壮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianyi Cloud Technology Co Ltd
Original Assignee
Tianyi Cloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tianyi Cloud Technology Co Ltd filed Critical Tianyi Cloud Technology Co Ltd
Priority to CN202111621133.7A priority Critical patent/CN114448886A/zh
Publication of CN114448886A publication Critical patent/CN114448886A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/70Virtual switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

一种流表的处理方法及装置
技术领域
本申请涉及云计算技术领域,尤其涉及一种流表的处理方法及装置。
背景技术
在Openstack(一个开源的云计算管理平台项目)Vxlan(Virtual eXtensibleLAN,虚拟可扩展局域网)组网模式下,虚拟网络是通过OpenvSwitch(一个高质量、多层的虚拟交换软件,OVS)组件进行流量转发和租户隔离等,以及基于OpenFlow协议以流的方式进行数据转发和过滤。其中,数据转发需要依赖虚拟网络中的流表来进行匹配。
然而,随着租户和虚拟机数量的增加,OVS内的流表数量会显著增加。当OVS内流表数过大时,会降低OVS查表转发的性能。并且,当系统故障复位时全量流表的重建时间长,从而会导致系统故障恢复的时间较长。
发明内容
本申请提供一种流表的处理方法及装置,以提供一种对OVS内流表进行压缩的技术方案,用以提升OVS中查表转发的性能,还可以降低系统故障恢复后的全量流表的刷新时间。本申请的技术方案如下:
第一方面,提供一种流表的处理方法,应用于虚拟交换机OVS网桥,所述OVS网桥采用多级流表方式对数据包进行路由处理,包括:
接收待传输的多个数据包;
按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;
根据匹配到的多级流表,对所述多个数据包进行路由处理。
通过本申请实施例提供的流表的处理方法,可以实现多种场景下的流表复用或合并或及时地删除,从而可以减少OVS网桥中存储的流表数量,进而可以提升OVS查表转发的性能。并且,在系统故障复位时,可以减少全量流表重建的时间。
在一种可能的设计中,所述OVS网桥为集成网桥br-int、或为通道网桥br-tun;其中,所述br-int用于进行虚拟机之间的通信,所述br-tun用于进行节点之间的通信。
在一种可能的设计中,若所述OVS网桥为所述br-int,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为所述br-tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,将来源方式为虚拟机VPC的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。
通过该设计,在br-int进行匹配的过程中,可以实现将来源方式相同(例如来自br-tun、虚拟机)的数据包,通过匹配固定前缀的MAC地址,来实现复用1条流表。这样,可以减少OVS网桥中流表的数量。
在一种可能的设计中,若所述OVS网桥为所述br-tun,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
通过该设计,在br-tun进行匹配的过程中,可以实现将来源方式相同(例如来自br隧道口)的数据包,通过降低匹配优先级,来实现不对具体的隧道端口的匹配,也即复用1条流表。这样,可以减少OVS网桥中流表的数量。
在一种可能的设计中,若所述预设的匹配规则包括所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,则通过下列方式配置所述匹配规则:
若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
通过该设计,可以实现将相同vlan内的去到不同目的MAC地址、但均为丢弃指令的数据包匹配相同的1条流表,进而可以减少流表的数量,实现流表的压缩。
在一种可能的设计中,若所述预设的匹配规则包括所述上下级流表的匹配域字段相同但动作不同的流表进行合并,则通过下列方式配置所述匹配规则:
将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
通过该设计,通过对满足此条件的上下级流表进行合并,从而可以得到一条同时包含上级流表对应的动作1和下级流表对应的动作2的流表,这样OVS网桥上只需要一条流表,从而可以减少流表的数量。
在一种可能的设计中,若所述预设的匹配规则包括所述减小空闲失效时间阈值,则通过下列方式配置所述匹配规则:
将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
通过该设计,可以实现将无效的流表尽快的老化掉(也即删除),可以降低OVS网桥中的流表规模和数量。
在一种可能的设计中,所述方法还包括:
添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
通过该设计,通过添加存活失效时间阈值,可以根据不同的实际场景,设置流表自从创建到失效的时间,可以实现及时地对流表进行清理,降低OVS网桥中的流表数量,进而提升OVS查表转发的性能。
第二方面,本申请实施例还提供一种流表的处理装置,该装置包括:收发单元和处理单元,该装置具有实现如下功能:
所述收发单元,用于接收待传输的多个数据包;
所述处理单元,用于按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;
所述处理单元,还用于根据匹配到的多级流表,对所述多个数据包进行路由处理。
在一种可能的设计中,所述OVS网桥为集成网桥br-int、或为通道网桥br-tun;其中,所述br-int用于进行虚拟机之间的通信,所述br-tun用于进行节点之间的通信。
在一种可能的设计中,若所述OVS网桥为所述br-int,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则所述处理单元,用于通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为所述br-tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,将来源方式为虚拟机VPC的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。
在一种可能的设计中,若所述OVS网桥为所述br-tun,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则所述处理单元,用于通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
在一种可能的设计中,若所述预设的匹配规则包括所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,则所述处理单元,用于通过下列方式配置所述匹配规则:
若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
在一种可能的设计中,若所述预设的匹配规则包括所述上下级流表的匹配域字段相同但动作不同的流表进行合并,则所述处理单元,用于通过下列方式配置所述匹配规则:
将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
在一种可能的设计中,若所述预设的匹配规则包括所述减小空闲失效时间阈值,则所述处理单元,用于通过下列方式配置所述匹配规则:
将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
在一种可能的设计中,所述处理单元,还用于:
添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
第三方面,本申请实施例提供了一种网络设备,所述网络设备包括一个或多个处理器和存储器,所述存储器与所述处理器耦合,所述存储器存储计算机程序代码,所述计算机程序代码包括计算机指令。所述处理器执行所述存储器中的计算机指令,以执行上述第一方面任一可能的设计中提供的方法。可选地,该网络设备还包括通信接口,处理器与通信接口耦合。该通信接口可以是收发器或输入/输出接口;当该网络设备为网络设备中包含的芯片时,该通信接口可以是芯片的输入/输出接口。可选地,收发器可以为收发电路,输入/输出接口可以是输入/输出电路。
第四方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码并运行时,使得上述第一方面中由OVS网桥执行的方法被执行。
第五方面,本申请实施例提供了一种芯片系统,该芯片系统包括处理器,用于实现上述第一方面的方法中OVS网桥的功能。在一种可能的设计中,所述芯片系统还包括存储器,用于保存程序指令和/或数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
第六方面,本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,当该计算机程序被运行时,实现上述第一方面中由OVS网桥执行的方法。
需要说明的是,上述第二方面至第六方面中任一方面的有益效果请具体参阅上述第一方面中各种可能的设计的有益效果,在此不再赘述。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1为流表中的匹配域的组成示意图;
图2为本申请实施例提供的一种流表的处理方法的结构示意图;
图3为本申请实施例提供的一种流表的处理方法的流程示意图;
图4为本申请实施例提供的br-int采用多级流表方式的流程示意图;
图5为本申请实施例提供的br-tun采用多级流表方式的流程示意图;
图6为本申请一示例性实施方式的一种流表的处理装置的流程示意图;
图7为本申请一示例性实施方式的网络设备示意图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的描述在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。
以下,对本申请实施例中可能涉及的部分结构以及用语进行解释说明,以便于本领域技术人员理解。
(1)流表:可被视作为OpenFlow(一种网络通信协议,属于数据链路层,能够控制网上交换器或路由器的转发平面,借此改变网络数据包所走的网络路径)对网络设备的数据转发功能的一种抽象。
在传统网络设备中,交换机和路由器的数据转发通常需要依赖网络设备中保存的二层媒体访问控制(Media Access Control Address,MAC)地址转发表或者三层网络互连协议(Internet Protocol,IP)地址路由表。而OpenFlow交换机中使用的流表类似,不过在流表的表项中整合了网络中各个层次的网络配置信息,从而在进行数据转发时可以使用更丰富的规则。示例性的,流表中每个表项的结构可以如以下表1-0所示。
表1-0
匹配域 优先级 计数器 指令 失效时间 Cookie
如表1-0所示,流表中的流表项通常至少由以下信息组成:
1)匹配域(Match Fields):一组网络数据包协议的组合,用于识别该表项对应的Flow,也可称为待匹配内容、包头域,用于对交换机接收到的数据包的包头内容进行匹配。流表的匹配域中主要包括12个元组(Tuple),匹配域的内容如图1所示,包含用于和交换机接收到的数据包进行匹配的网络配置信息。计数器:可以针对交换机中的每张流表、每个数据流、每个设备端口、每个转发队列进行维护,用于统计数据流量的相关信息。动作:用于指示交换机在收到匹配的数据包后应该如何对其进行处理。
2)优先级(priority):用于定义该流表项的优先级,当有多条表项匹配时,优先级越高的流表先进行匹配。
3)计数器(Counters):用于保存与条目相关统计信息。
4)指令(actions):用于表示匹配表项后需要对数据分组执行的动作。其中,动作指令包括但不限于:修改或删除或增添虚拟局域网(Virtual Local Area Network,VLAN)标识tag、修改或删除或增添多协议标签交换(Multi-Protocol Label Switching,MPLS)标签Label、转发、丢弃。
5)失效时间(timeouts):用于表示流表的有效时间。可以分为空闲失效时间(idle_timeout)和存活失效时间(hard_timeout)。其中,idle_timeout表示某条流表没有被匹配的时长达到,则该流表被删除,例如,假设idle_timeout为300秒,则300秒内该流表没有被匹配过,则删除该流表。hard_timeout表示某条流表创建之后到达一定时长,无论匹配或使用情况如何,均会被删除。
6)Cookie(储存在用户本地终端上的数据):用于辨别用户信息。
(2)OVS网桥:表示OVS中采用的网桥。参阅图2,为本申请实施例提供的一种流表的处理方法的结构示意图。在Openstack Vxlan组网模式下,包含的OVS网桥主要可以分为:用于进行虚拟机与虚拟机之间的通信的集成网桥(br-int)、用于进行节点与节点之间的通信的通道网桥(br-tun)、用于与外部网络进行通信的第一外部网桥(br-ex)和第二外部网桥(br-toc)。
结合背景技术中介绍的内容,随着租户和虚拟机数量的增加,OVS内的流表数量会显著增加。当OVS内流表数过大时,会降低OVS查表转发的性能。并且,当系统故障复位时全量流表的重建时间长,从而会导致系统故障恢复的时间较长。
有鉴于此,本申请实施例提供一种流表的处理方法。通过对流表匹配规则进行设置,从而可以提升数据包匹配到相同流表的概率,进而实现对流表的压缩,也即可以减小流表的规模,减少OVS内的流表数。因此,通过本申请提供的方法,可以提升OVS查表转发的性能;并且,在系统故障复位时,由于流表数少,可以缩短重建时间。
参阅图3,为本申请实施例提供的一种流表的处理方法的流程示意图。该方法包括以下流程:
步骤301、OVS网桥接收待传输的多个数据包。可选的,所述OVS网桥可以为br-int、或为br-tun。结合图2示出的内容,若OVS网桥为br-int,可以接收来自br-tun、br-toc、br-ex以及虚拟机(Virtual Private Cloud,VPC)发送的数据包。可以理解,数据包的包头域中包含进行数据转发的MAC地址信息等信息。
并且,所述OVS网桥采用多级流表方式对数据包进行路由处理。参阅图4,为本申请实施例提供的br-int采用多级流表方式的流程示意图。br-int的一级流表为Table=0,所有流经br-int的数据包均会由Table=0进行匹配。然后,根据数据包对应的报文类型,分别送至二级流表为Table=1、Table=2、Table=25、Table=24和Table=60。例如,经过一级流表的匹配,将从虚拟机发出的地址解析协议(Address Resolution Protocol,ARP)报文发送给Table=24继续处理;将从虚拟机发出的非ARP报文发送给Table=25继续处理;以及,将其他报文发送给Table=1或者Table=2继续处理。
参阅图5,为本申请实施例提供的br-tun采用多级流表方式的流程示意图。br-tun的一级流表也为Table=0,所有流经br-tun的数据包均会由Table=0进行匹配。然后,根据数据包的来源途径,分别送至二级流表为Table=1、Table=3、和Table=4。例如,经过一级流表的匹配,将从Vxlan隧道端口进来的数据包发送给Table=4继续处理;将从通用路由封装(Generic Routing Encapsulation,GRE)隧道端口进来的数据包发送给Table=3继续处理;以及,将从br-int进来的数据包发送给Table=1继续处理;而将其他均未匹配的数据包丢弃。以及,经过其他级的流表可以实现修改源MAC地址、映射学习以及添加隧道身份标识(Identity Document,ID)等操作。
结合上述对流表内容的介绍,br-int和br-tun基于多级流表方式对数据包进行处理时,在每一级上都需要匹配对应的流表。
步骤302、按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值。其中,预设的匹配规则用于对OVS网桥上的流表进行压缩,也即减少OVS网桥上的流表数量。
以下分别介绍每种规则的配置方式:
规则一、针对所述来源方式相同的数据包匹配的一级流表进行复用,通过下列方式配置所述匹配规则:
可选的,若所述OVS网桥为所述br-int,在进行一级流表(如图4中的Table=0)匹配时,一种可选的实施例为,将来源方式为所述br-tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,另一种可选的实施例为,将来源方式为虚拟机(Virtual Personal Computer,VPC)的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。
举例来说,在br-int的Table=0进行匹配时,按照是否采用本申请实施例提供的变更匹配源MAC地址的匹配方式的预设的匹配规则(为便于理解,以下实施例中采用是否压缩来表示)进行对比,如以下表1-1所示:
表1-1
匹配的流表
压缩前 Table=0,priority=2,in_port=1,dl_src=fa:16:3f:00:84:8b actions=resubmit(,1)
压缩后 Table=0,priority=2,in_port=1,dl_src=fa:16:3f:00:00:00/24actions=resubmit(,1)
从表1-1中可以得到,在压缩前,从br-tun发来的数据包中匹配的源MAC地址(dl_src)为br-tun中的具体的分布式虚拟路由器服务(Distributed Virtual Router,DVR)主机(HOST)MAC。这样,来自br-tun中的不同的DVR HOST的数据包均需对应匹配一个流表,假设存在两个DVR HOST MAC为fa:16:3f:00:84:8b和fa:16:3f:00:84:8f,则在压缩前会匹配到流表1(对应dl_src=fa:16:3f:00:84:8b)和流表2(对应dl_src=fa:16:3f:00:84:8f)。
而在压缩后,从br-tun发来的数据包中匹配的源MAC地址(dl_src)变更为匹配固定前缀的源MAC地址和子网掩码的方式,如表1-1中的dl_src=fa:16:3f:00:00:00/24。这样,来自br-tun中的不同的DVR HOST的数据包的源MAC地址一样,从而可以实现来自br-tun的数据包均匹配相同的1条流表,进而可以减少流表的数量,实现流表的压缩。
其中,表1-1中的“priority=2”表示数据包的优先级为2,“in_port=1”表示数据包的输入端口为1,“actions=resubmit(,1)”表示下一级流表转到Table=1继续处理。
应理解,在其他级流表的匹配过程中,适用于该匹配规则的其他场景均可通过该匹配规则来实现流表压缩,进而实现减少流表的数量。
对另一可选的实施例的举例,在br-int的Table=0进行匹配时,按照是否采用本申请实施例提供的降低匹配优先级的匹配方式进行对比,如以下表1-2所示:
表1-2
匹配的流表
压缩前 Table=0,priority=10,ARP,in_port=708actions=resubmit(,24)
压缩后 Table=0,priority=1,ARP,actions=resubmit(,24)
从表1-2中可以得到,在压缩前,由于数据包的优先级为10,因此数据包会被优先匹配,并且,每个VPC发送到br-int的ARP报文都会匹配具体的VPC端口(也即“in_port”)。但由于br-int接收的数据包的来源方式中,除了从br-ex、br-toc和br-tun发来的报文,其他报文均是从VPC内发来的,此时无需匹配“in_port”。因此,本申请实施时,通过对ARP报文的匹配优先级的降低(如表1-2中的由10降低到1),以实现匹配时无需匹配“in_port”。从而可以实现将来自不同VPC端口的数据包匹配的流表压缩成一条流表,也即复用一条流表。
其中,表1-2中的“actions=resubmit(,24)”表示下一级流表转到Table=24继续处理。
另一可选的,若所述OVS网桥为所述br-tun,在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
同理,举例来说,在br-tun的Table=0进行匹配时,按照是否采用本申请实施例提供的降低匹配优先级的匹配方式进行对比,如以下表1-3所示:
表1-3
匹配的流表
压缩前 Table=0,priority=10,in_port=210actions=resubmit(,4)
压缩后 Table=0,priority=1,actions=resubmit(,4)
从表1-3中可以得到,在压缩前,由于数据包的优先级为10,因此数据包会被优先匹配,并且,每个由隧道段口发送到br-tun的数据包都会匹配具体的隧道端口(也即“in_port”)。但由于br-tun接收的数据包的来源方式中,除了从br-int下来的报文,其他报文均是从隧道端口发来的,此时无需匹配“in_port”。因此,本申请实施时,通过对数据包的匹配优先级的降低(如表1-3中的由10降低到1),以实现匹配时无需匹配“in_port”。从而可以实现将来自不同隧道端口的数据包匹配的流表压缩成一条流表,也即复用一条流表。
其中,表1-3中的“actions=resubmit(,4)”表示下一级流表转到Table=4继续处理。
应理解,在其他级流表的匹配过程中,适用于该匹配规则的其他场景均可通过该匹配规则来实现流表压缩,进而实现减少流表的数量。
规则二、针对所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,通过下列方式配置所述匹配规则:
本申请实施时,若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
举例来说,在OVS网桥进行多级流表的匹配过程中,按照是否采用本申请实施例提供的目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用的匹配方式进行对比,如以下表2所示:
表2
匹配的流表
压缩前 Table=1,priority=2,dl_vlan=23,dl_dst=fa:16:3e:4a:aa:f0actions=drop
压缩后 Table=1,priority=2,dl_vlan=23,dl_dst=fa:17:01:00:00:00/24actions=drop
从表2中可以得到,在压缩前,通过在Table=1中的匹配,实现将匹配到目的MAC地址的数据包执行丢弃指令。然而,在执行丢弃指令时,无需匹配到哪些目的MAC地址的数据包需要丢弃。因此,本申请实施时,通过实现将匹配具体的目的MAC地址变更为匹配固定前缀的目的MAC地址和子网掩码的方式,如表2中的dl_dst=fa:17:01:00:00:00/24。这样,可以实现将相同vlan内的去到不同目的MAC地址、但均为丢弃指令的数据包匹配相同的1条流表,进而可以减少流表的数量,实现流表的压缩。
其中,表2中的“drop”表示丢弃动作指令。应理解,在其他级流表的匹配过程中,适用于该匹配规则的其他场景均可通过该匹配规则来实现流表压缩,进而实现减少流表的数量。
规则三、针对所述上下级流表的匹配域字段相同但动作不同的流表进行合并,通过下列方式配置所述匹配规则:
本申请实施时,将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
举例来说,在OVS网桥进行多级流表的匹配过程中,按照是否采用本申请实施例提供的上下级流表的匹配域字段相同但动作不同的流表进行合并的匹配方式进行对比,如以下表3所示:
表3
Figure BDA0003438054750000141
从表3中可以得到,在压缩前,在Table=1中的匹配与在Table=60中的匹配域相同,但在Table=1中的动作1为“actions=mod_dl_src:fa:16:3e:36:54:1b”,而在Table=60中的动作2为“actions=strip_vlan”。由此可以得到这两条流表的匹配动作存在重复,只是执行的动作不同。因此,本申请实施时,通过对满足此条件的上下级流表进行合并,从而可以得到一条同时包含动作1和动作2的流表,这样OVS网桥上只需要一条流表,从而可以减少流表的数量。
应理解,在其他级流表的匹配过程中,适用于该匹配规则的其他场景均可通过该匹配规则来实现流表压缩,进而实现减少流表的数量。
规则四、针对所述减小空闲失效时间阈值,通过下列方式配置所述匹配规则:
本申请实施时,将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
此外,添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
举例来说,在OVS网桥进行多级流表的匹配过程中,按照是否采用本申请实施例提供的减小空闲失效时间阈值的匹配方式进行对比,如以下表4所示:
表4
Figure BDA0003438054750000151
从表4中可以得到,在压缩前的空闲失效时间阈值为300s,可理解为流表在到达300s的空闲时长后,才会被删除。也即该流表在300s内未被匹配过。
本申请实施时,为了降低OVS网桥中的存储的流表规则,通过将空闲失效时间阈值设置为小于300s,例如表4中的150。从而可以实现将无效的流表尽快的老化掉(也即删除),可以降低OVS网桥中的流表规模和数量。并且,通过添加存活失效时间阈值,可以根据不同的实际场景,设置流表自从创建到失效的时间,以实现及时地对流表进行清理,降低OVS网桥中的流表数量,进而提升OVS查表转发的性能。
步骤303、根据匹配到的多级流表,对所述多个数据包进行路由处理。
通过本申请实施例提供的流表的处理方法,可以实现多种场景下的流表复用或合并或及时地删除,从而可以减少OVS网桥中存储的流表数量,进而可以提升OVS查表转发的性能。并且,在系统故障复位时,可以减少全量流表重建的时间。
参阅以下表5,为采用本申请实施例提供的方法前后流表个数的对比关系,如下:
表5
Table 压缩前流表个数 压缩后流表个数
0 3×物理机个数+3×Port数 1
1 VPC个数 VPC个数
2 1 1
24 3×Port数 1×Port数
25 1×Port数 1×Port数
60 1×Port数 1
总计 3×物理机个数+8×Port数+1×VPC数 2×Port数+1×VPC数
从以上表5中可以得知,通过本申请提供的方法对OVS网桥上的流表进行压缩之后,可以减少OVS网桥上的流表数量,从而可以提升OVS查表转发的性能。
基于相同的发明构思,本申请还提供一种流表的处理装置。参阅图6,该装置包括:收发单元601和处理单元602。
所述收发单元601,用于接收待传输的多个数据包;
所述处理单元602,用于按照预设的匹配规则对所述多个数据包进行多级流表匹配;其中,所述预设的匹配规则包括以下规则中的一种或组合:来源方式相同的数据包匹配的一级流表进行复用、目的媒体访问控制MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用、上下级流表的匹配域字段相同但动作不同的流表进行合并、减小空闲失效时间阈值;
所述处理单元602,还用于根据匹配到的多级流表,对所述多个数据包进行路由处理。
在一种可能的设计中,所述OVS网桥为集成网桥br-int、或为通道网桥br-tun;其中,所述br-int用于进行虚拟机之间的通信,所述br-tun用于进行节点之间的通信。
在一种可能的设计中,若所述OVS网桥为所述br-int,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则所述处理单元602,用于通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为所述br-tun的数据包的源MAC地址的匹配方式,由匹配节点的源MAC地址的匹配方式变更为匹配固定前缀的源MAC地址和子网掩码的匹配方式;或者,将来源方式为虚拟机VPC的数据包的匹配优先级降低,以实现对来自VPC的多个不同VPC端口的数据包匹配相同的流表。
在一种可能的设计中,若所述OVS网桥为所述br-tun,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则所述处理单元602,用于通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
在一种可能的设计中,若所述预设的匹配规则包括所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,则所述处理单元602,用于通过下列方式配置所述匹配规则:
若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
在一种可能的设计中,若所述预设的匹配规则包括所述上下级流表的匹配域字段相同但动作不同的流表进行合并,则所述处理单元602,用于通过下列方式配置所述匹配规则:
将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
在一种可能的设计中,若所述预设的匹配规则包括所述减小空闲失效时间阈值,则所述处理单元602,用于通过下列方式配置所述匹配规则:
将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
在一种可能的设计中,所述处理单元602,还用于:
添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
在介绍了本申请示例性实施方式的一种流表的处理方法和装置之后,接下来,介绍根据本申请的另一示例性实施方式的网络设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的网络设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有程序代码,当程序代码被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的流表的处理方法中的步骤。例如,处理器可以执行如图3中所示的步骤301-303。
下面参照图7来描述根据本申请的这种实施方式的网络设备700。图7显示的网络设备700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,网络设备700以通用网络设备的形式表现。网络设备700的组件可以包括但不限于:上述至少一个处理器701、上述至少一个存储器702、连接不同系统组件(包括存储器702和处理器701)的总线703。
总线703表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储器702可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)7021和/或高速缓存存储器7022,还可以进一步包括只读存储器(ROM)7023。
存储器702还可以包括具有一组(至少一个)程序模块7024的程序/实用工具7025,这样的程序模块7024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
网络设备700也可以与一个或多个外部设备704(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与网络设备700交互的设备通信,和/或与使得该网络设备700能与一个或多个其它网络设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口705进行。并且,网络设备700还可以通过网络适配器706与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器706通过总线703与用于网络设备700的其它模块通信。应当理解,尽管图中未示出,可以结合网络设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的一种流表的处理方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在计算机设备上运行时,程序代码用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种流表的处理方法的步骤,例如,计算机设备可以执行如图3中所示的步骤301-303。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于数据处理程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在网络设备上运行。然而,本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本申请操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户电子设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户电子设备上部分在远程电子设备上执行、或者完全在远程电子设备或服务器上执行。在涉及远程电子设备的情形中,远程电子设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户电子设备,或者,可以连接到外部电子设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (10)

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,若所述预设的匹配规则包括所述来源方式相同的数据包匹配的一级流表进行复用,则通过下列方式配置所述匹配规则:
在进行一级流表匹配时,将来源方式为通用路由封装GRE隧道的数据包的匹配优先级降低,以实现对来自GRE隧道的多个不同GRE隧道口的数据包匹配相同的流表。
5.根据权利要求2所述的方法,其特征在于,若所述预设的匹配规则包括所述目的MAC地址不同但动作指令同为丢弃指令的最后一级流表进行复用,则通过下列方式配置所述匹配规则:
若根据动作指令字段确定为丢弃指令,将目的MAC地址的匹配方式,由匹配节点的目的MAC地址的匹配方式变更为匹配固定前缀的目的MAC地址和子网掩码的匹配方式。
6.根据权利要求2所述的方法,其特征在于,若所述预设的匹配规则包括所述上下级流表的匹配域字段相同但动作不同的流表进行合并,则通过下列方式配置所述匹配规则:
将包含第一动作指令的上级流表匹配中对应的第一流表、和包含第二动作指令的下级流表匹配中对应的第二流表,合并为包含所述第一动作指令和所述第二动作指令的第三流表。
7.根据权利要求2所述的方法,其特征在于,若所述预设的匹配规则包括所述减小空闲失效时间阈值,则通过下列方式配置所述匹配规则:
将所述空闲失效时间阈值配置为默认空闲失效时间阈值的指定比例。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
添加存活失效时间阈值的设置,所述存活失效时间阈值用于指示对应的流表的存活有效时间,并在达到所述存活失效时间阈值后进行删除。
9.一种网络设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至8中任一项所述的流表的处理方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至8中任一所述方法的步骤。
CN202111621133.7A 2021-12-28 2021-12-28 一种流表的处理方法及装置 Pending CN114448886A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111621133.7A CN114448886A (zh) 2021-12-28 2021-12-28 一种流表的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111621133.7A CN114448886A (zh) 2021-12-28 2021-12-28 一种流表的处理方法及装置

Publications (1)

Publication Number Publication Date
CN114448886A true CN114448886A (zh) 2022-05-06

Family

ID=81365868

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111621133.7A Pending CN114448886A (zh) 2021-12-28 2021-12-28 一种流表的处理方法及装置

Country Status (1)

Country Link
CN (1) CN114448886A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117724906A (zh) * 2024-02-18 2024-03-19 珠海星云智联科技有限公司 用于硬件卸载后软失效处理的方法、计算机设备及介质

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8169910B1 (en) * 2007-10-24 2012-05-01 Juniper Networks, Inc. Network traffic analysis using a flow table
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
CN104468381A (zh) * 2014-12-01 2015-03-25 国家计算机网络与信息安全管理中心 一种多域流规则匹配的实现方法
CN107395532A (zh) * 2017-07-11 2017-11-24 北京航空航天大学 一种基于sdn的多租户虚拟网络隔离方法
CN107800630A (zh) * 2016-09-02 2018-03-13 南京中兴软件有限责任公司 报文处理方法及装置
CN108259353A (zh) * 2018-01-10 2018-07-06 浙江工商大学 一种基于匹配字段具体值重复率的多级流表设计方法
CN108600107A (zh) * 2017-11-07 2018-09-28 北京交通大学 一种可自定义内容字段的流匹配方法
CN109450798A (zh) * 2018-12-13 2019-03-08 郑州云海信息技术有限公司 路由表信息的管理方法和计算机可读存储介质
CN109962832A (zh) * 2017-12-26 2019-07-02 华为技术有限公司 报文处理的方法和装置
WO2020181740A1 (zh) * 2018-12-29 2020-09-17 长沙理工大学 一种高性能的openflow虚拟流表查找方法
CN113098778A (zh) * 2021-04-04 2021-07-09 河南工业大学 一种软件定义网络中基于生成树折叠路由的流表压缩方法
CN113328944A (zh) * 2021-04-15 2021-08-31 新华三大数据技术有限公司 一种流表管理方法及装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8169910B1 (en) * 2007-10-24 2012-05-01 Juniper Networks, Inc. Network traffic analysis using a flow table
CN104168222A (zh) * 2014-07-15 2014-11-26 杭州华三通信技术有限公司 一种报文传输方法和设备
CN104468381A (zh) * 2014-12-01 2015-03-25 国家计算机网络与信息安全管理中心 一种多域流规则匹配的实现方法
CN107800630A (zh) * 2016-09-02 2018-03-13 南京中兴软件有限责任公司 报文处理方法及装置
CN107395532A (zh) * 2017-07-11 2017-11-24 北京航空航天大学 一种基于sdn的多租户虚拟网络隔离方法
CN108600107A (zh) * 2017-11-07 2018-09-28 北京交通大学 一种可自定义内容字段的流匹配方法
CN109962832A (zh) * 2017-12-26 2019-07-02 华为技术有限公司 报文处理的方法和装置
CN108259353A (zh) * 2018-01-10 2018-07-06 浙江工商大学 一种基于匹配字段具体值重复率的多级流表设计方法
CN109450798A (zh) * 2018-12-13 2019-03-08 郑州云海信息技术有限公司 路由表信息的管理方法和计算机可读存储介质
WO2020181740A1 (zh) * 2018-12-29 2020-09-17 长沙理工大学 一种高性能的openflow虚拟流表查找方法
CN113098778A (zh) * 2021-04-04 2021-07-09 河南工业大学 一种软件定义网络中基于生成树折叠路由的流表压缩方法
CN113328944A (zh) * 2021-04-15 2021-08-31 新华三大数据技术有限公司 一种流表管理方法及装置

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
S VEERAMANI: ""Minimization of flow table for TCAM based openflow switches by virtual compression approach"", 《2013 IEEE INTERNATIONAL CONFERENCE ON ADVANCED NETWORKS AND TELECOMMUNICATIONS SYSTEMS (ANTS)》 *
刘志远: ""SDN在云网络ARP通信量优化中的应用研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
刘志远: ""SDN在云网络ARP通信量优化中的应用研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 February 2018 (2018-02-15), pages 2 *
姜腊林: "\"一种高效的OpenFlow流表拆分压缩算法\"", 《小型微型计算机系统》 *
张俊帅;杨昊;: "OpenFlow交换机流表转发设计与实现", 中国计量学院学报, no. 03 *
王巍振: ""基于OpenFlow的SDN交换机流表超时优化研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *
王巍振: ""基于OpenFlow的SDN交换机流表超时优化研究"", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 July 2019 (2019-07-15), pages 1 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117724906A (zh) * 2024-02-18 2024-03-19 珠海星云智联科技有限公司 用于硬件卸载后软失效处理的方法、计算机设备及介质
CN117724906B (zh) * 2024-02-18 2024-06-07 珠海星云智联科技有限公司 用于硬件卸载后软失效处理的方法、计算机设备及介质

Similar Documents

Publication Publication Date Title
US10581801B2 (en) Context-aware distributed firewall
US11929945B2 (en) Managing network traffic in virtual switches based on logical port identifiers
US10164883B2 (en) System and method for flow management in software-defined networks
US9106443B2 (en) Forwarding table optimization with flow data
US9686137B2 (en) Method and system for identifying an outgoing interface using openflow protocol
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
CN108270699B (zh) 报文处理方法、分流交换机及聚合网络
US10097458B2 (en) Network control method, network system, apparatus, and program
US9667440B2 (en) Method and system for identifying an incoming interface using openflow protocol
US8542679B2 (en) Method of controlling data propagation within a network
US20130346592A1 (en) Switch monitoring statistics gathering at servers and gateways for overlay networks
US8615015B1 (en) Apparatus, systems and methods for aggregate routes within a communications network
WO2016106506A1 (zh) 一种路由方法和设备
US9270586B2 (en) Method for abstracting datapath hardware elements
CN113986560B (zh) 一种在智能网卡/DPU内实现P4与OvS逻辑复用的方法
US9189218B2 (en) Processing packets by generating machine code from pre-compiled code fragments
CN114448886A (zh) 一种流表的处理方法及装置
WO2023116268A1 (zh) 网络隔离方法和系统及代理设备
WO2013051004A2 (en) A low latency carrier class switch-router
US20220231961A1 (en) Updating flow cache information for packet processing
US11895005B1 (en) Network devices with hardware accelerated table updates
US10715440B1 (en) Distributed next hop resolution
CN114979016A (zh) 网关系统、网关、报文转发方法及程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination