CN103354522B - 一种多级流表查找方法和装置 - Google Patents
一种多级流表查找方法和装置 Download PDFInfo
- Publication number
- CN103354522B CN103354522B CN201310269726.0A CN201310269726A CN103354522B CN 103354522 B CN103354522 B CN 103354522B CN 201310269726 A CN201310269726 A CN 201310269726A CN 103354522 B CN103354522 B CN 103354522B
- Authority
- CN
- China
- Prior art keywords
- stream table
- matching domain
- match information
- packet
- stream
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/35—Flow control; Congestion control by embedding flow control information in regular packets, e.g. piggybacking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供一种多级流表查找方法和装置,以增强流表匹配域配置的灵活性。所述方法包括:在收到数据包时抽取数据包的匹配信息;根据流表匹配域配置信息,从数据包的匹配信息中选择关键字;以关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行查找关键字与匹配域的匹配;若当前一级流表的匹配域匹配完成,则执行相应的指令,若当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。本发明实施例提供的方法中,其流表匹配域配置信息可以通过软件配置,因此,固定的匹配域变成了可变化的匹配域,增强了流表匹配域的灵活性,也减少了因为更改匹配域时修改硬件逻辑带来的成本。
Description
技术领域
本发明涉及通信领域,尤其涉及一种多级流表查找方法和装置。
背景技术
随着网络设备新技术的发展,特别是出于对可编程、虚拟化的支持,网络设备开始向控制、数据平面分离的方向发展,OpenFlow作为其中之一,引发了广泛的关注。OpenFlow网络由OpenFlow交换机、FlowVisor和控制器(Controller)三部分组成,其中,OpenFlow交换机是整个OpenFlow网络的核心部件,主要管理数据层的转发,FlowVisor对网络进行虚拟化,Controller对网络进行集中控制,实现控制层的功能。OpenFlow交换机接收到数据包后,首先在本地的流表(flow table)上查找转发目标端口。如果没有匹配,则将数据包转发给控制器,由控制层决定转发端口。OpenFlow在OpenFlow交换机上实现数据转发,而在控制器上实现数据的转发控制,从而实现了数据转发层和控制层的分离。
从上述数据包在OpenFlow网络上的处理过程可知,对流表的查找是一个重要环节。一般地,本地流表不止一个,而是由多个流表串接起来组成多级流表。现有的多级流表的匹配域都为固定多级流表匹配域,其每个流表的匹配域固定。每个流表具有独立的查找单元,一旦数据包到达,则查找单元查找其对应的流表。然后,通过查找所得下一个流表的ID判断跳转的下一个流表,并将查找的结果添加对应的动作到指令集。流表的跳转是可以跨表跳转的,根据OpenFlow协议规定,每个流表匹配完成后可以指定下一个流表的ID,只要该ID大于当前表ID即可。例如,指定流表1的匹配结果为跳转到流表3,则流表1可以不经过流表2直接跳转到流表3。
上述现有的对多级流表的查找方法,其主要缺点在于多级流表中每个单个的流表为固定匹配域,每次更换匹配域需要修改硬件逻辑,缺乏灵活性。
发明内容
本发明实施例提供一种多级流表查找方法和装置,以增强流表匹配域配置的灵活性。
本发明第一方面提供一种多级流表查找方法,所述方法包括:
在收到数据包时抽取所述数据包的匹配信息;
根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;
以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述执行相应的指令和动作后,所述方法还包括:对所述抽取的数据包的匹配信息进行修改。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,从所述数据包的匹配信息中选择关键字,包括:
根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
结合第一方面、第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,从所述数据包的匹配信息中选择关键字,包括:
根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
本发明第二方面提供一种多级流表查找装置,所述装置包括:
抽取模块,用于在收到数据包时抽取所述数据包的匹配信息;
关键字生成模块,用于根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;
查找模块,用于以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
执行模块,用于若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述装置还包括:
修改模块,用于对所述抽取的数据包的匹配信息进行修改。
结合第二方面、第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,从关键字生成模块,包括:
第一确定单元,用于根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第一组合单元,用于以所述确定的匹配信息组成所述关键字。
结合第二方面、第二方面的第一种可能的实现方式或第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,从关键字生成模块,包括:
第二确定单元,用于根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第二组合单元,用于以所述确定的匹配信息组成所述关键字。
从上述本发明实施例可知,由于流表匹配域配置信息是可以根据需要采用软件进行修改的信息,使得无需通过修改硬件逻辑来改变流表匹配域,以供根据流表匹配域配置信息生成的关键字匹配所述多级流表中每一级流表的匹配域。与现有技术中多级流表中每个单个的流表为固定匹配域,每次更换匹配域需要修改硬件逻辑相比,由于本发明实施例提供的方法中,其流表匹配域配置信息可以通过软件配置,因此,固定的匹配域变成了可变化的匹配域,增强了流表匹配域的灵活性,也减少了因为更改匹配域时修改硬件逻辑带来的成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其他的附图。
图1-a是本发明实施例提供的多级流表查找方法流程示意图;
图1-b是本发明实施例提供的多级流表查找方法中的匹配示意图;
图1-c是本发明另一实施例提供的多级流表查找方法中的匹配示意图;
图1-d是本发明另一实施例提供的多级流表查找方法中的匹配示意图;
图1-e是本发明另一实施例提供的多级流表查找方法中的匹配示意图;
图2是本发明实施例提供的多级流表查找装置结构示意图;
图3是本发明另一实施例提供的多级流表查找装置结构示意图;
图4-a是本发明另一实施例提供的多级流表查找装置结构示意图;
图4-b是本发明另一实施例提供的多级流表查找装置结构示意图;
图5-a是本发明另一实施例提供的多级流表查找装置结构示意图;
图5-b是本发明另一实施例提供的多级流表查找装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员所获得的所有其他实施例,都属于本发明保护的范围。
请参阅附图1-a,是本发明实施例提供的多级流表查找方法流程示意图,主要包括S101、S102、S103和S104,详细说明如下:
S101,在收到数据包时抽取所述数据包的匹配信息。
数据包的匹配信息是该数据包中将要与流表中匹配域的内容进行匹配的信息。所谓流表(flow table),是由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口。流表项由头域、计数器和操作组成,其中,头域是信息元组,例如五元组,是流表项的标识,也是流表的匹配域,其内容就是将要与所抽取的数据包的匹配信息进行匹配的具体信息,计数器用来计数流表项的统计数据,操作标明了与该流表项匹配的数据包应该执行的操作。与现有技术每次根据单个流表固定的匹配域去抽取数据包的匹配信息、从而需要多次抽取不同,在本发明实施例中,作为在收到数据包时抽取数据包的全部匹配信息的一个优选实施例,可以是在收到数据包时抽取数据包的全部匹配信息,该全部匹配信息可以以数据结构的形式存在。
S102,根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字。
现有技术中,多级流表中的每个流表的匹配域(match field)是固定的,在硬件上体现为为这些流表的匹配域分配了固定的存储空间。如果要更换流表的匹配域,则需要修改硬件逻辑,例如对全局的存储空间进行重新分配,这无疑增大了成本。例如,包含三个流表的多级流表,第一级流表的匹配域的具体内容是IP,第二级流表的匹配域的具体内容是MAC,第三极流表的匹配域的具体内容是VLAN ID,若要将第一级流表的匹配域的具体内容修改为端口号,则只能通过修改具体的硬件逻辑来实现,例如,重新修改原来分配给第一级流表的匹配域的存储空间。
在本发明实施例中,虽然也为流表的各个匹配域分配了存储空间,并且存储空间一旦分配完成,除非通过修改硬件逻辑,否则也是固定不变的,但是,可以通过软件对流表中将要与数据包的匹配信息匹配的匹配域进行标识,这一动作是采用本发明实施例中的流表匹配域配置信息来完成。由于流表匹配域配置信息是可以采用软件进行配置的,因此,虽然流表的匹配域固定,流表中将要与数据包的匹配信息进行匹配的匹配域是可以根据流表匹配域配置信息变化而变化的。需要说明的是,无论是现有技术的流表还是本发明实施例中通过软件对流表中将要与数据包的匹配信息匹配的匹配域进行标识所涉及的“流表”,两者都是物理的流表,即一个物理的流表对应固定的物理存储空间。从这个角度而言,本发明实施例提及的流表匹配域配置信息,具体是用于通过软件标识物理的流表中将要与所述选择的匹配信息进行匹配的匹配域。
当在收到数据包时抽取所述数据包的全部匹配信息作为在收到数据包时抽取所述数据包的匹配信息的一个优选实施例,并且,流表匹配域配置信息用于通过软件标识物理的流表中将要与所述选择的匹配信息进行匹配的匹配域时,根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字的一个实施例可以是根据流表匹配域配置信息,从所述数据包的全部匹配信息中选择若干个匹配信息生成关键字。
S103,以步骤S102选择出的所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配。
S104,若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
当前述S101和S102的实施例是:在收到数据包时抽取所述数据包的全部匹配信息,根据流表匹配域配置信息,从所述数据包的全部匹配信息中选择若干个匹配信息生成关键字时,作为本发明一个优选实施例,以S102选择出的关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配,若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作可以是:以所述关键字为查找关键字,从多级逻辑流表中第一级逻辑流表开始,查找所述多级逻辑流表中每一级逻辑流表的匹配域进行所述查找关键字与所述匹配域的匹配,若当前一级逻辑流表的匹配域匹配完成,则执行相应的指令,若所述当前一级逻辑流表不是最后一级逻辑流表或者有执行动作的指令时,则执行相应的动作。
需要说明的是,本发明实施例中的多级逻辑流表是相对于现有技术的多级流表是多个物理的流表而言,所谓多级逻辑流表是根据前述实施例中涉及的流表匹配域配置信息对物理的流表配置所得的逻辑流表级联而成。之所以说是逻辑流表,是因为这些单个逻辑流表能够实现的功能,例如其匹配域用于对数据包的匹配信息进行匹配,与单个物理的流表能够实现的功能相同,但并没有为单个逻辑流表分配物理的存储空间,而是所有的逻辑流表共享一个为物理的流表所分配的存储空间。多个逻辑流表的级联(即多级逻辑流表)也类似于多个物理的流表的级联,例如,都是在查找完一个流表后通过其中的ID指示下一个将要查找的流表。
在本发明实施例中,指令(instruction)的执行,包括对某个数据进行的动作(action)的修改、流表之间的跳转等等,而执行动作(action)是专门针对数据包的操作,例如,丢弃、转发数据包等等。如果当前一级逻辑流表的匹配域匹配完成且所述当前一级逻辑流表是最后一级逻辑流表,则对该数据包的处理流程结束。在查找多级逻辑流表中第一级逻辑流表的匹配域进行查找关键字与匹配域的匹配后,可以与查找多级逻辑流表中第一级逻辑流表的匹配域进行查找关键字与匹配域的匹配类似的方法,查找多级逻辑流表中第二级逻辑流表的匹配域进行查找关键字与匹配域的匹配,直至最后一级逻辑流表。现有技术中,多级流表流水线的动作(action)只能在最后一个流表的匹配域匹配完毕以后才能执行,硬件重复动作的执行具有一定的限制,而本发明实施例提供的方法中,通过对多级逻辑流表单个逻辑流表的可配置性,结合流表的划分,能够很好地实现多级流表流水线,同时可以实现动作的重复执行。
在执行相应的指令和动作后,进一步地,可以对抽取的数据包的匹配信息进行修改。如果在某一次匹配流表的匹配域执行过程中对数据包头部进行了操作,例如修改了数据包的头部,从而导致之前抽取的数据包的匹配信息部分失效。在这种情形下,不需要重新抽取数据包的全部匹配信息,而只需要对应修改部分失效的匹配信息即可。
从上述本发明实施例提供的多级流表查找方法可知,物理的流表中将要与数据包匹配信息进行匹配的匹配域可以通过流表匹配域配置信息标识,由于流表匹配域配置信息可以根据需要采用软件进行修改,使得无需通过修改物理的流表中匹配域而得到多个逻辑的流表形成多级流表,以供根据流表匹配域配置信息生成的关键字匹配所述多级流表中每一级流表的匹配域。与现有技术中多级流表中每个单个的流表为固定匹配域,每次更换匹配域需要修改硬件逻辑相比,由于本发明实施例提供的方法中,其流表匹配域配置信息可以通过软件配置,因此,生成的关键字也是可变化的,这就相当于将物理的流表变成了逻辑的流表,固定的匹配域变成了可变化的匹配域,增强了流表匹配域的灵活性,也减少了因为更改匹配域时修改硬件逻辑带来的成本。
对于上述实施例,作为本发明中根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字的一个实施例,可以是:根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;以所述确定的匹配信息组成所述关键字,优选地,可以是根据以位图表示的流表匹配域配置信息,从数据包的全部匹配信息中确定若干个用于进行流表匹配域匹配的匹配信息,以所述确定的若干个匹配信息组成所述关键字,从而以所述关键字为查找关键字,匹配所述物理的流表中根据所述流表匹配域配置信息配置的匹配域。
为了说明上述根据以位图表示的流表匹配域配置信息,从数据包的全部匹配信息中确定若干个用于进行流表匹配域匹配的匹配信息,以所述确定的若干个匹配信息组成所述关键字这一实施例,以下进一步举例进行说明。
假设在收到数据包时抽取了该数据包的全部匹配信息,例如,MAC地址、VLAN ID、IP地址和端口号等。在流表匹配域配置信息以位图(bitmap)表示时,使用“1”表示根据流表匹配域配置信息从所述全部匹配信息中选择若干个匹配信息生成的关键字有效,“0”表示根据流表匹配域配置信息从所述全部匹配信息中选择若干个匹配信息生成的关键字无效。由于流表匹配域配置信息也标识了物理的流表中将要与所述选择的匹配信息进行匹配的匹配域,因此,以位图表示的流表匹配域配置信息中,“1”也标识了物理的流表中将要与所述选择的匹配信息进行匹配的匹配域,“0”则标识物理的流表中不与所述选择的匹配信息进行匹配的匹配域,即对物理的流表中的匹配域进行了屏蔽。如附图1-b所示,以数据包的全部匹配信息是MAC地址、VLAN ID、IP地址和端口号为例,假设以位图表示的流表匹配域配置信息是“1001”,物理的流表中的匹配域包括匹配域1、匹配域2、匹配域3和匹配域4,并且对应包含的内容分别是MAC地址、VLAN ID、IP地址和端口号,则按照上述以位图表示的流表匹配域配置信息中“1”和“0”的含义,表示将选择MAC地址、VLAN ID、IP地址和端口号这四个匹配信息中的MAC地址和端口号作为查找关键字,与物理的流表中的匹配域1和匹配域4进行匹配,而对物理的流表中的匹配域2、匹配域3进行了屏蔽,不参与对数据包的匹配信息进行匹配。若要修改物理的流表中将要与匹配信息进行匹配的匹配域,在本发明实施例中,无需重新修改硬件逻辑而得到一个新的物理的流表,而是只需要修改流表匹配域配置信息即可,例如,若需要将物理的流表中将要与匹配信息进行匹配的匹配域由原来的匹配域1和匹配域4进行匹配修改为匹配域2和匹配域4,则只需要将上述以位图表示的流表匹配域配置信息修改为“0101”,如此,根据修改后的流表匹配域配置信息,选择MAC地址、VLAN ID、IP地址和端口号这四个匹配信息中的VLAN ID和端口号作为查找关键字,与物理的流表中的匹配域2和匹配域4进行匹配,如附图1-c所示。
对于上述实施例,作为本发明中根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字的另一实施例,也可以是:根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;以所述确定的匹配信息组成所述关键字,优选地,可以是:根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的全部匹配信息中确定若干个用于进行流表匹配域匹配的匹配信息,以所述确定的若干个匹配信息组成所述关键字,从而以所述关键字为查找关键字,匹配所述物理的流表中根据所述流表匹配域配置信息配置的匹配域。
为了说明上述根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的全部匹配信息中确定若干个用于进行流表匹配域匹配的匹配信息,以所述确定的若干个匹配信息组成所述关键字这一实施例,以下进一步举例进行说明。
假设在收到数据包时抽取了该数据包的全部匹配信息,例如,MAC地址、VLAN ID、IP地址和端口号等。在流表匹配域配置信息以固定编码表示时,表示根据流表匹配域配置信息从所述全部匹配信息中选择若干个匹配信息生成的关键字与该固定编码对应。由于流表匹配域配置信息也标识了物理的流表中将要与所述选择的匹配信息进行匹配的匹配域,因此,以固定编码表示的流表匹配域配置信息也标识了物理的流表中将要与所述选择的匹配信息进行匹配的匹配域。如附图1-d所示,以数据包的全部匹配信息是MAC地址、VLAN ID、IP地址和端口号为例,假设以固定编码表示的流表匹配域配置信息是“0x15”,其与从全部匹配信息中选择的若干个匹配信息生成的关键字“MAC地址”、“端口号”对应,物理的流表中的匹配域包括匹配域1、匹配域2、匹配域3和匹配域4,并且对应包含的内容分别是MAC地址、VLAN ID、IP地址和端口号,则按照上述以固定编码表示的流表匹配域配置信息的含义,表示将选择MAC地址、VLAN ID、IP地址和端口号这四个匹配信息中的“MAC地址”和“端口号”作为查找关键字,与物理的流表中的匹配域1和匹配域4进行匹配。若要修改物理的流表中将要与匹配信息进行匹配的匹配域,在本发明实施例中,无需重新修改硬件逻辑而得到一个新的物理的流表,而是只需要修改流表匹配域配置信息即可,例如,若需要将物理的流表中将要与匹配信息进行匹配的匹配域由原来的匹配域1和匹配域4进行匹配修改为匹配域2和匹配域4,则只需要将上述以固定编码“0x15”表示的流表匹配域配置信息进行修改,例如,修改为“0x24”,如此,根据修改后的流表匹配域配置信息,选择MAC地址、VLANID、IP地址和端口号这四个匹配信息中的VLAN ID和端口号作为查找关键字,与物理的流表中的匹配域2和匹配域4进行匹配,如附图1-e所示。
不失一般性,对于上述抽取的MAC地址、VLAN ID、IP地址和端口号等数据包的匹配信息,如果以位图(bitmap)表示的流表匹配域配置信息,例如“1010”(其中,“1”表示该位有效,“0”表示无效),则查找关键字为MAC地址和IP地址的组合,用于匹配物理的流表中内容分别为MAC地址和IP地址的匹配域。对于上述抽取的MAC地址、VLAN ID、IP地址和ACL规则等数据包的匹配信息,如果以固定编码表示的流表匹配域配置信息,例如“0x13”,则查找关键字为MAC地址和IP地址的组合,可以组成查找的关键字为MAC地址和IP地址等的组合。
请参阅附图2,是本发明实施例提供的多级流表查找装置结构示意图。为了便于说明,仅仅示出了与本发明实施例相关的部分。附图2示例的多级流表查找装置包括抽取模块201、关键字生成模块202、查找模块203和执行模块204,其中:
抽取模块201,用于在收到数据包时抽取所述数据包的匹配信息。
数据包的匹配信息是该数据包中将要与流表中匹配域的内容进行匹配的信息。所谓流表(flow table),是由很多个流表项组成,每个流表项就是一个转发规则。进入交换机的数据包通过查询流表来获得转发的目的端口。流表项由头域、计数器和操作组成,其中,头域是信息元组,例如五元组,是流表项的标识,也是流表的匹配域,其内容就是将要与所抽取的数据包的匹配信息进行匹配的具体信息,计数器用来计数流表项的统计数据,操作标明了与该流表项匹配的数据包应该执行的操作。与现有技术每次根据单个流表固定的匹配域去抽取数据包的匹配信息、从而需要多次抽取不同,在本发明实施例中,作为一个优选实施例,抽取模块201可以在收到数据包时抽取数据包的全部匹配信息,该全部匹配信息可以以数据结构的形式存在。
关键字生成模块202,用于根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字。
现有技术中,多级流表中的每个流表的匹配域(match field)是固定的,在硬件上体现为为这些流表的匹配域分配了固定的存储空间。如果要更换流表的匹配域,则需要修改硬件逻辑,例如对全局的存储空间进行重新分配,这无疑增大了成本。例如,包含三个流表的多级流表,第一级流表的匹配域的具体内容是IP,第二级流表的匹配域的具体内容是MAC,第三极流表的匹配域的具体内容是VLAN ID,若要将第一级流表的匹配域的具体内容修改为端口号,则只能通过修改具体的硬件逻辑来实现,例如,重新修改原来分配给第一级流表的匹配域的存储空间。
在本发明实施例中,虽然也为流表的各个匹配域分配了存储空间,并且存储空间一旦分配完成,除非通过修改硬件逻辑,否则也是固定不变的,但是,可以通过软件对流表中将要与数据包的匹配信息匹配的匹配域进行标识,这一动作是采用本发明实施例中的流表匹配域配置信息来完成。由于流表匹配域配置信息是可以采用软件进行配置的,因此,虽然流表的匹配域固定,流表中将要与数据包的匹配信息进行匹配的匹配域是可以根据流表匹配域配置信息变化而变化的。需要说明的是,无论是现有技术的流表还是本发明实施例中通过软件对流表中将要与数据包的匹配信息匹配的匹配域进行标识所涉及的“流表”,两者都是物理的流表,即一个物理的流表对应固定的物理存储空间。从这个角度而言,本发明实施例提及的流表匹配域配置信息,具体是用于通过软件标识物理的流表中将要与所述选择的匹配信息进行匹配的匹配域。
当抽取模块201在收到数据包时抽取所述数据包的匹配信息,并且,流表匹配域配置信息用于通过软件标识物理的流表中将要与所述选择的匹配信息进行匹配的匹配域时,关键字生成模块202根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字的一个实施例可以是根据流表匹配域配置信息,从所述数据包的全部匹配信息中选择若干个匹配信息生成关键字。
查找模块203,用于以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配。
执行模块204,用于若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
抽取模块201在收到数据包时抽取所述数据包的匹配信息,并且,流表匹配域配置信息用于通过软件标识物理的流表中将要与所述选择的匹配信息进行匹配的匹配域,关键字生成模块202根据流表匹配域配置信息,从所述数据包的全部匹配信息中选择若干个匹配信息生成关键字时,查找模块203具体用于以关键字生成模块202生成的关键字为查找关键字,从多级逻辑流表中第一级逻辑流表开始,查找所述多级逻辑流表中每一级逻辑流表的匹配域进行所述查找关键字与所述匹配域的匹配;执行模块204具体用于若当前一级逻辑流表的匹配域匹配完成,则执行相应的指令,若所述当前一级逻辑流表不是最后一级逻辑流表或者有执行动作的指令时,则执行相应的动作。
需要说明的是,在附图2示例的多级流表查找装置中,多级逻辑流表是相对于现有技术的多级流表是多个物理的流表而言,所谓多级逻辑流表是根据前述实施例中涉及的流表匹配域配置信息对物理的流表配置所得的逻辑流表级联而成。之所以说是逻辑流表,是因为这些单个逻辑流表能够实现的功能,例如其匹配域用于对数据包的匹配信息进行匹配,与单个物理的流表能够实现的功能相同,但并没有为单个逻辑流表分配物理的存储空间,而是所有的逻辑流表共享一个为物理的流表所分配的存储空间。多个逻辑流表的级联(即多级逻辑流表)也类似于多个物理的流表的级联,例如,都是在查找完一个流表后通过其中的ID指示下一个将要查找的流表。指令(instruction)的执行包括对某个数据进行的动作(action)的修改、流表之间的跳转等等,而执行动作(action)是专门针对数据包的操作,例如,丢弃、转发数据包等等。如果当前一级逻辑流表的匹配域匹配完成且所述当前一级逻辑流表是最后一级逻辑流表,则对该数据包的处理流程结束。在查找多级逻辑流表中第一级逻辑流表的匹配域进行查找关键字与匹配域的匹配后,可以与查找多级逻辑流表中第一级逻辑流表的匹配域进行查找关键字与匹配域的匹配类似的方法,查找多级逻辑流表中第二级逻辑流表的匹配域进行查找关键字与匹配域的匹配,直至最后一级逻辑流表。现有技术中,多级流表流水线的动作(action)只能在最后一个流表的匹配域匹配完毕以后才能执行,硬件重复动作的执行具有一定的限制,而本发明实施例提供的方法中,通过对多级逻辑流表单个逻辑流表的可配置性,结合流表的划分,能够很好地实现多级流表流水线,同时可以实现动作的重复执行。
需要说明的是,以上附图2示例的多级流表查找装置的实施方式中,各功能模块的划分仅是举例说明,实际应用中可以根据需要,例如相应硬件的配置要求或者软件的实现的便利考虑,而将上述功能分配由不同的功能模块完成,即将所述多级流表查找装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。而且,实际应用中,本实施例中的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的软件完成,例如,前述的抽取模块,可以是具有执行前述在收到数据包时抽取所述数据包的匹配信息的硬件,例如抽取器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备;再如前述的关键字生成模块,可以是具有执行前述根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字功能的硬件,例如关键字生成器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。
从上述附图2示例的多级流表查找装置可知,由于流表匹配域配置信息是可以根据需要采用软件进行修改的信息,使得无需通过修改硬件逻辑来改变流表匹配域,以供根据流表匹配域配置信息生成的关键字匹配所述多级流表中每一级流表的匹配域。与现有技术中多级流表中每个单个的流表为固定匹配域,每次更换匹配域需要修改硬件逻辑相比,由于本发明实施例提供的方法中,其流表匹配域配置信息可以通过软件配置,因此,固定的匹配域变成了可变化的匹配域,增强了流表匹配域的灵活性,也减少了因为更改匹配域时修改硬件逻辑带来的成本。
现有技术中的多级流表流水线中,每个流表具有独立的查找单元。由于各个查找单元的逻辑功能具有一定的相似性,造成了一定的逻辑资源浪费。而在附图2示例的多级流表查找装置中,通过循环的多级流表查找,尽管通过软件配置了每个流表的匹配域,但查找本身是在同一个模块进行,可以实现不同匹配域的表共享一个查找模块203,节省了一定的逻辑资源。
附图2示例的多级流表查找装置还可以包括修改模块301,如附图3所示本发明另一实施例提供的多级流表查找装置。修改模块301对抽取模块201抽取的数据包的匹配信息进行修改。
在附图2或附图3任一示例的多级流表查找装置中,关键字生成模块202包括第一确定单元401和第一组合单元402,如附图4-a至附图4-b任一示例的多级流表查找装置,其中:
第一确定单元401,用于根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第一组合单元402,用于以所述确定的匹配信息组成所述关键字。
附图4-a或附图4-b任一示例的多级流表查找装置中,其第一确定单元401和第一组合单元402的执行可以参阅前述附图1-b和附图1-c对应的方法实施例,其带来的有益效果也与附图1-b和附图1-c对应的方法实施例相同,这里不做赘述。
在附图2至附图3任一示例的多级流表查找装置中,关键字生成模块202包括第二确定单元501和第二组合单元502,如附图5-a至附图5-b任一示例的多级流表查找装置,其中:
第二确定单元501,用于根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第二组合单元502,用于以所述确定的匹配信息组成所述关键字。
附图5-a或附图5-b任一示例的多级流表查找装置中,其第二确定单元501和第二组合单元502的执行可以参阅前述附图1-d和附图1-e对应的方法实施例,其带来的有益效果也与附图1-d和附图1-e对应的方法实施例相同,这里不做赘述。
本发明实施例还提供一种多级流表查找设备,该设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行述一个或者一个以上程序包含用于进行以下操作的指令:
在收到数据包时抽取所述数据包的匹配信息;
根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;
以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述设备的存储器中,还包含用于执行以下操作的指令:
对所述抽取的数据包的匹配信息进行修改。
在第一种或者第二可能的实施方式作为基础而提供的第三种可能的实施方式中,所述设备的存储器中,还包含用于执行以下操作的指令:
根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
在第一种或者第二可能的实施方式作为基础而提供的第四种可能的实施方式中,所述设备的存储器中,还包含用于执行以下操作的指令:
根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
作为另一方面,本发明再一实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中的存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。所述计算机可读存储介质存储有一个或者一个以上程序,所述一个或者一个以上程序被一个或者一个以上的处理器用来执行一个多级流表查找方法,所述方法包括:
在收到数据包时抽取所述数据包的匹配信息;
根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;
以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
假设上述为第一种可能的实施方式,则在第一种可能的实施方式作为基础而提供的第二种可能的实施方式中,所述执行相应的指令和动作后,所述方法还包括:
对所述抽取的数据包的匹配信息进行修改。
在第一种或者第二种可能的实施方式作为基础而提供的第三种可能的实施方式中,所述根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字,包括:
根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
在第一种或者第二种可能的实施方式作为基础而提供的第四种可能的实施方式中,所述根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字,包括:
根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施例相同,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例提供的一种多级流表查找方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种多级流表查找方法,其特征在于,所述方法包括:
在收到数据包时抽取所述数据包的匹配信息;
根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;其中,所述流表匹配域配置信息通过软件配置;
以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
2.如权利要求1所述的方法,其特征在于,所述执行相应的指令和动作后,所述方法还包括:
对所述抽取的数据包的匹配信息进行修改。
3.如权利要求1至2任意一项所述的方法,其特征在于,所述根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字,包括:
根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
4.如权利要求1至2任意一项所述的方法,其特征在于,所述根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字,包括:
根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
以所述确定的匹配信息组成所述关键字。
5.一种多级流表查找装置,其特征在于,所述装置包括:
抽取模块,用于在收到数据包时抽取所述数据包的匹配信息;
关键字生成模块,用于根据流表匹配域配置信息,从所述数据包的匹配信息中选择关键字;其中,所述流表匹配域配置信息通过软件配置;
查找模块,用于以所述关键字为查找关键字,从多级流表中第一级流表开始,查找所述多级流表中每一级流表的匹配域进行所述查找关键字与所述匹配域的匹配;
执行模块,用于若当前一级流表的匹配域匹配完成,则执行相应的指令,若所述当前一级流表不是最后一级流表或者有执行动作的指令时,则执行相应的动作。
6.如权利要求5所述的装置,其特征在于,所述装置还包括:
修改模块,用于对所述抽取的数据包的匹配信息进行修改。
7.如权利要求5至6任意一项所述的装置,其特征在于,所述关键字生成模块包括:
第一确定单元,用于根据以位图表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第一组合单元,用于以所述确定的匹配信息组成所述关键字。
8.如权利要求5至6任意一项所述的装置,其特征在于,所述关键字生成模块包括:
第二确定单元,用于根据以固定编码表示的所述流表匹配域配置信息,从所述数据包的匹配信息中确定用于进行流表匹配域匹配的匹配信息;
第二组合单元,用于以所述确定的匹配信息组成所述关键字。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269726.0A CN103354522B (zh) | 2013-06-28 | 2013-06-28 | 一种多级流表查找方法和装置 |
EP14817047.5A EP2999176B1 (en) | 2013-06-28 | 2014-06-30 | Searching method and device for multilevel flow table |
PCT/CN2014/081087 WO2014206364A1 (zh) | 2013-06-28 | 2014-06-30 | 一种多级流表查找方法和装置 |
US14/980,102 US9860180B2 (en) | 2013-06-28 | 2015-12-28 | Multi-level flow table search method and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310269726.0A CN103354522B (zh) | 2013-06-28 | 2013-06-28 | 一种多级流表查找方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103354522A CN103354522A (zh) | 2013-10-16 |
CN103354522B true CN103354522B (zh) | 2016-08-10 |
Family
ID=49310837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310269726.0A Active CN103354522B (zh) | 2013-06-28 | 2013-06-28 | 一种多级流表查找方法和装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9860180B2 (zh) |
EP (1) | EP2999176B1 (zh) |
CN (1) | CN103354522B (zh) |
WO (1) | WO2014206364A1 (zh) |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103354522B (zh) | 2013-06-28 | 2016-08-10 | 华为技术有限公司 | 一种多级流表查找方法和装置 |
CN103560951A (zh) * | 2013-11-13 | 2014-02-05 | 华为技术有限公司 | 报文处理方法及物理转发设备 |
CN103647718B (zh) * | 2013-12-13 | 2018-02-13 | 华为技术有限公司 | 数据包的处理方法和装置 |
EP3079327B1 (en) * | 2013-12-30 | 2018-06-06 | Huawei Technologies Co., Ltd. | Information transmission method, device and system |
CN105099913B (zh) | 2014-04-21 | 2018-07-20 | 新华三技术有限公司 | 一种报文转发方法及设备 |
CN104168222B (zh) * | 2014-07-15 | 2018-08-03 | 新华三技术有限公司 | 一种报文传输方法和设备 |
CN105591914B (zh) * | 2014-10-21 | 2020-07-03 | 中兴通讯股份有限公司 | 一种openflow流表的查表方法和装置 |
US9571412B2 (en) * | 2014-11-21 | 2017-02-14 | Cavium, Inc. | Systems and methods for hardware accelerated timer implementation for openflow protocol |
CN104518970B (zh) * | 2014-12-12 | 2018-12-25 | 北京智谷睿拓技术服务有限公司 | 流表更新方法、装置及控制器 |
CN104518969B (zh) * | 2014-12-12 | 2018-12-25 | 北京智谷睿拓技术服务有限公司 | 数据报文处理方法、装置及交换机 |
CN104579941A (zh) * | 2015-01-05 | 2015-04-29 | 北京邮电大学 | 一种OpenFlow交换机中的报文分类方法 |
CN105227466B (zh) * | 2015-08-20 | 2019-01-11 | 北京百度网讯科技有限公司 | 通信处理方法和装置 |
CN105915467B (zh) * | 2016-05-17 | 2019-06-18 | 清华大学 | 一种面向软件定义的数据中心网络流量均衡方法及装置 |
CN107547409B (zh) * | 2016-06-24 | 2020-12-25 | 华为技术有限公司 | 一种路由查找方法、装置和路由设备 |
CN106254244B (zh) * | 2016-07-28 | 2020-01-07 | 上海斐讯数据通信技术有限公司 | 一种基于sdn网络的合并流表项方法 |
CN106330722B (zh) * | 2016-10-26 | 2019-11-12 | 杭州迪普科技股份有限公司 | 一种创建路由缓存项的方法、转发报文的方法及装置 |
CN108011823B (zh) * | 2016-11-01 | 2021-11-19 | 中兴通讯股份有限公司 | 多域流表的多级化方法及装置、多级流表查找方法及装置 |
US10491520B2 (en) * | 2017-04-06 | 2019-11-26 | Ca, Inc. | Container-based software appliance |
CN107707479B (zh) * | 2017-10-31 | 2021-08-31 | 北京锐安科技有限公司 | 五元组规则的查找方法及装置 |
CN108259353B (zh) * | 2018-01-10 | 2021-02-26 | 浙江工商大学 | 一种基于匹配字段具体值重复率的多级流表设计方法 |
CN113542125B (zh) * | 2018-03-31 | 2022-11-25 | 华为技术有限公司 | 一种基于集成流表转发报文的方法及装置 |
CN111294280B (zh) * | 2018-12-07 | 2022-03-15 | 中国电信股份有限公司 | 消息查重方法和装置、数据转发方法、设备和系统 |
CN109921996B (zh) * | 2018-12-29 | 2021-11-09 | 长沙理工大学 | 一种高性能的OpenFlow虚拟流表查找方法 |
CN109996026B (zh) * | 2019-04-23 | 2021-01-19 | 广东小天才科技有限公司 | 基于穿戴式设备的视频特效互动方法、装置、设备及介质 |
CN113688289B (zh) * | 2020-05-19 | 2023-11-24 | 中移(成都)信息通信科技有限公司 | 数据包关键字段匹配方法、装置、设备及存储介质 |
CN112632079B (zh) * | 2020-12-30 | 2023-07-21 | 联想未来通信科技(重庆)有限公司 | 一种数据流标识的查询方法及装置 |
CN113515485B (zh) * | 2021-07-12 | 2024-04-02 | 合肥芯荣微电子有限公司 | 一种SoC芯片控制寄存器模块RTL代码自动生成方法 |
CN113645137B (zh) * | 2021-08-02 | 2022-05-31 | 清华大学 | 一种软件定义网络多级流表压缩方法及系统 |
CN115314564A (zh) * | 2022-08-30 | 2022-11-08 | 中兴通讯股份有限公司 | 报文匹配方法、计算机设备和计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247337A (zh) * | 2008-02-18 | 2008-08-20 | 华为技术有限公司 | 一种报文转发的方法和设备 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7389462B1 (en) * | 2003-02-14 | 2008-06-17 | Istor Networks, Inc. | System and methods for high rate hardware-accelerated network protocol processing |
US7784094B2 (en) * | 2005-06-30 | 2010-08-24 | Intel Corporation | Stateful packet content matching mechanisms |
DE112006002677T5 (de) * | 2005-10-07 | 2008-11-13 | Agere Systems, Inc. | Verfahren und Vorrichtung für RTP-Ausgabe-Streaming unter Verwendung von komplementären Richtungsdateien |
US7848331B2 (en) * | 2006-07-20 | 2010-12-07 | Oracle America, Inc. | Multi-level packet classification |
US8964563B2 (en) * | 2011-07-08 | 2015-02-24 | Telefonaktiebolaget L M Ericsson (Publ) | Controller driven OAM for OpenFlow |
US8718064B2 (en) * | 2011-12-22 | 2014-05-06 | Telefonaktiebolaget L M Ericsson (Publ) | Forwarding element for flexible and extensible flow processing software-defined networks |
US8831000B2 (en) * | 2012-10-10 | 2014-09-09 | Telefonaktiebolaget L M Ericsson (Publ) | IP multicast service join process for MPLS-based virtual private cloud networking |
CN102957603A (zh) * | 2012-11-09 | 2013-03-06 | 盛科网络(苏州)有限公司 | 基于多级流表的Openflow报文转发方法及系统 |
CN103095583B (zh) * | 2012-11-09 | 2016-03-16 | 盛科网络(苏州)有限公司 | 通过芯片环回实现Openflow两级流表的方法及系统 |
CN103354522B (zh) * | 2013-06-28 | 2016-08-10 | 华为技术有限公司 | 一种多级流表查找方法和装置 |
-
2013
- 2013-06-28 CN CN201310269726.0A patent/CN103354522B/zh active Active
-
2014
- 2014-06-30 WO PCT/CN2014/081087 patent/WO2014206364A1/zh active Application Filing
- 2014-06-30 EP EP14817047.5A patent/EP2999176B1/en active Active
-
2015
- 2015-12-28 US US14/980,102 patent/US9860180B2/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101247337A (zh) * | 2008-02-18 | 2008-08-20 | 华为技术有限公司 | 一种报文转发的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2999176B1 (en) | 2019-01-02 |
CN103354522A (zh) | 2013-10-16 |
US9860180B2 (en) | 2018-01-02 |
EP2999176A1 (en) | 2016-03-23 |
WO2014206364A1 (zh) | 2014-12-31 |
US20160112329A1 (en) | 2016-04-21 |
EP2999176A4 (en) | 2016-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103354522B (zh) | 一种多级流表查找方法和装置 | |
Plotkin et al. | Scaling network verification using symmetry and surgery | |
Reitblatt et al. | Abstractions for network update | |
CN103004158B (zh) | 具有可编程内核的网络设备 | |
CN105706391A (zh) | 通过索引的本地化来增加组播规模 | |
Mejia et al. | Region-based routing: a mechanism to support efficient routing algorithms in NoCs | |
CN104580027A (zh) | 一种OpenFlow报文转发方法及设备 | |
US10778545B2 (en) | Network verification system | |
CN104202241A (zh) | 2D-Mesh拓补结构下的片上网络偏转容错路由算法 | |
Miller et al. | Generating minimal length test sequences for conformance testing of communication protocols | |
CN102402631B (zh) | 一种集成电路层次网表比较方法 | |
CN105939269A (zh) | 基于网络地址转换规则的报文转换方法及装置 | |
CN105515975A (zh) | 面向软件定义网络基于应用层转发的实现方法及系统 | |
CN106559339B (zh) | 一种报文处理方法及装置 | |
Lopes et al. | Network verification in the light of program verification | |
Piipponen et al. | Constructing minimal coverability sets | |
CN106453091B (zh) | 路由器转发平面的等价路由管理方法和装置 | |
Alberdingk Thijm et al. | Modular control plane verification via temporal invariants | |
CN106302021A (zh) | 一种网络流转发异常检测方法 | |
Guo et al. | Flash: fast, consistent data plane verification for large-scale network settings | |
CN104641607A (zh) | 超低延迟多协议网络设备 | |
CN103581020B (zh) | 一种报文转发的方法、装置及系统 | |
Förster et al. | Local checkability, no strings attached | |
Sun et al. | Interactive Web service composition based on Petri net | |
CN107404440A (zh) | 一种转发表项发送方法、报文转发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |