CN109347745A - 一种基于OpenFlow交换机的流表匹配方法和装置 - Google Patents
一种基于OpenFlow交换机的流表匹配方法和装置 Download PDFInfo
- Publication number
- CN109347745A CN109347745A CN201811101526.3A CN201811101526A CN109347745A CN 109347745 A CN109347745 A CN 109347745A CN 201811101526 A CN201811101526 A CN 201811101526A CN 109347745 A CN109347745 A CN 109347745A
- Authority
- CN
- China
- Prior art keywords
- flow table
- flow
- entry
- flow entry
- preset threshold
- 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
Links
Classifications
-
- 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/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/252—Store and forward routing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种基于OpenFlow交换机的流表匹配方法和装置,当数据包发送到OpenFlow交换机时,接收到携带对应流表信息的数据包,OpenFlow交换机将流表信息与第一流表中的高频流表项进行匹配;其中,第一流表包括OpenFlow交换机中使用频率高于第一预设阈值的流表项。这样,可以将高频流表项归类存储于第一流表中,只对数据包对应的流表信息与数量较少的高频流表项进行匹配,解决了需要存储众多流表项且对流表信息一一匹配导致流表匹配工作量大、效率低等问题,在数据量不断增多的当下通过匹配部分常见流表项,实现快速、高效的流表匹配,从而提高OpenFlow交换机的数据处理效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种基于OpenFlow交换机的流表匹配方法和装置。
背景技术
对于传统的交换机,数据平面和控制平面均部署于交换机内部,无法实现数控分离,造成无法由远端对交换机进行控制和更新;而且,该传统的交换机中由于硬件的限制,无法对网络协议进行更新换代,那么,每当网络协议更新时,都需要重新设计该交换机内部的网络芯片,以适应于新的网络协议,这样不仅浪费人力物力,而且造成网络设备更新周期的滞后。
而随着OpenFlow协议的出现,OpenFlow交换机可以适用于将数据平面和控制平面分离,OpenFlow交换机主要管理数据层的转发。OpenFlow交换机中核心的组成部分为:流表(FlowTable),该OpenFlow交换机只按照流表对数据进行转发,而该流表的生成、维护和下发由外置的控制器来实现。
目前,OpenFlow交换机的工作原理可以是:该OpenFlow交换机接收到数据包后,通过解析得到该数据包的流表信息,通过将该流表信息与该OpenFlow交换机中存储的流表进行匹配之后,对该数据包中的数据进行对应的操作。
那么,为了服务于更多的类型的数据,该OpenFlow交换机就需要存储众多的流表。但是随着网络的迅猛发展,数据量呈现指数性增长,造成在该OpenFlow交换机内存储的流表大增,造成流表匹配工作量大、效率低等问题。
发明内容
本发明所要解决的技术问题是,提供一种基于OpenFlow交换机的流表匹配方法和装置,以使得即使在数据量不断增多的当下,也能够快速、高效的完成流表匹配,从而提高该OpenFlow交换机的数据处理效率。
第一方面,提供了一种基于OpenFlow交换机的流表匹配方法,包括:
接收数据包,所述数据包携带对应的流表信息;
将所述流表信息与第一流表中的高频流表项进行匹配;
其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
可选地,若所述流表信息与第一流表中的高频流表项不匹配,则,所述方法还包括:
将所述流表信息与第二流表中的详细流表项进行匹配;
其中,所述第二流表中不包括所述第一流表中的高频流表项。
可选地,所述数据包还包括对应的目标操作;
若所述流表信息与第一流表中的高频流表项匹配,或者,所述流表信息与第二流表中的详细流表项匹配,
所述方法还包括:
从所述数据包中获取所述目标操作;
按照所述目标操作处理所述数据包中的数据。
可选地,该方法还包括:
统计各流表项的使用频率,获得统计结果;
根据所述统计结果,更新所述第一流表和所述第二流表。
可选地,所述根据所述统计结果,更新所述第一流表和所述第二流表,包括:
将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;
将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除;
其中,所述第一预设阈值大于所述第二预设阈值。
可选地,该方法还包括:
将所述三类流表项存入所述OpenFlow交换机的扩展RAM存储模块中。
第二方面,还提供了一种基于OpenFlow交换机的流表匹配装置,包括:
接收单元,用于接收数据包,所述数据包携带对应的流表信息;
第一匹配单元,用于将所述流表信息与第一流表中的高频流表项进行匹配;
其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
可选地,若所述流表信息与第一流表中的高频流表项不匹配,则,所述装置还包括:
第二匹配单元,用于将所述流表信息与第二流表中的详细流表项进行匹配;
其中,所述第二流表中不包括所述第一流表中的高频流表项。
可选地,所述数据包还包括对应的目标操作;
若所述流表信息与第一流表中的高频流表项匹配,或者,所述流表信息与第二流表中的详细流表项匹配,
所述装置还包括:
获取单元,用于从所述数据包中获取所述目标操作;
处理单元,用于按照所述目标操作处理所述数据包中的数据。
可选地,该装置还包括:
统计单元,用于统计各流表项的使用频率,获得统计结果;
更新单元,用于根据所述统计结果,更新所述第一流表和所述第二流表。
可选地,所述更新单元,包括:
第一存储子单元,用于将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
第二存储子单元,用于将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;
删除子单元,用于将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除;
其中,所述第一预设阈值大于所述第二预设阈值。
可选地,该装置还包括:
存储单元,用于将所述三类流表项存入所述OpenFlow交换机的扩展RAM存储模块中。
在本发明实施例中,提供了一种基于OpenFlow交换机的流表匹配方法,具体可以是:当数据包发送到该OpenFlow交换机时,首先,该OpenFlow交换机接收该数据包,所述数据包携带对应的流表信息;接着,该OpenFlow交换机将所述流表信息与第一流表中的高频流表项进行匹配;其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。这样,利用本发明实施例提供的流表匹配方法,可以将高频流表项归类存储于第一流表中,只对数据包对应的流表信息与该第一流表中数量较少的高频流表项进行匹配,解决了需要存储众多流表项的多个流表且需要对流表信息进行一一匹配导致流表匹配工作量大、效率低等问题,可以在数据量不断增多的当下通过匹配部分常见流表项,实现快速、高效的流表匹配,从而提高该OpenFlow交换机的数据处理效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一应用场景所涉及的系统框架示意图;
图2为本发明实施例提供的一种基于OpenFlow交换机的流表匹配方法的流程示意图;
图3为本发明实施例提供的更新第一流表和第二流表的方法的流程示意图;
图4为本发明实施例提供的一种OpenFlow交换机的硬件架构示意图;
图5为本发明实施例提供的一种基于OpenFlow交换机的流表匹配装置的结构示意图。
具体实施方式
发明人经过研究发现,为了使OpenFlow交换机可以适用于更多的类型的数据,该OpenFlow交换机需要在内容地址存储器(英文:Content Address Memory,简称:CAM)上存储众多的流表,而且,存储的每个流表中必须包括对应全套的流表项。但是,随着产生数据量的指数性增长,造成在该OpenFlow交换机内需要存储的流表大增,很容易出现需要缓存的流表所需占用的空间超出CAM的总空间,那么,多出的流表以及后续下发到该OpenFlow交换机上进行缓存的流表将会被丢弃。
如此,当数据包到达该OpenFlow交换机时,不仅需要对该OpenFlow交换机中的CAM上繁多且复杂的流表进行一一匹配,直到匹配成功,操作复杂,而且很可能由于流表的丢失造成需要被匹配的流表不存在,无法完成匹配,并请求控制器多次下发、更新该CAM中的流表,匹配效率低下从而导致数据处理效率较低。
基于此,为了解决上述问题,本发明实施例通过对各个流表项进行归类,将使用频率较高的高频流表项添加到一个流表中,然后将数据包中的流表信息和该具有较少流表项的流表中的高频流表项进行匹配即可,完成了对现在流表匹配的优化,解决了需要存储众多流表项的多个流表且需要对流表信息进行一一匹配导致流表匹配工作量大、效率低等问题,可以在数据量不断增多的当下通过匹配部分常见流表项,实现快速、高效的流表匹配,从而提高该OpenFlow交换机的数据处理效率。
举例来说,本发明实施例的场景之一,可以是应用到如图1所示的场景中。该场景的OpenFlow交换机10包括:CAM模块100、匹配模块110,其中,其中,CAM模块100包括第一CAM子模块101和第二CAM子模块102;匹配模块110包括第一匹配子模块111和第二匹配子模块112。可以理解的是,第一CAM子模块101用于缓存使用频率较高的高频流表项,可以通过使用频率或者使用频率的排序限制加入到该第一CAM子模块101中的流表项;第二CAM子模块102用于缓存使用频率一般的详细流表项,同样可以通过使用频率或者使用频率的排序限制加入到该第二CAM子模块102中的流表项。需要说明的是,为了提高匹配效率,第二CAM子模块102中包括第一CAM子模块101中的流表项。
该场景中,流表匹配的方法具体可以包括:首先,OpenFlow交换机10接收数据包,该数据包携带对应的流表信息;接着,该OpenFlow交换机10可以将该流表信息和第一CAM子模块101中存储的第一流表均发生给该OpenFlow交换机10的第一匹配子模块111中,由该第一匹配子模块111对第一流表中的高频流表项和该流表信息进行匹配。这样,不仅需要匹配的流表项大大较少,提高了流表匹配效率,而且通过分级存储和匹配的方式可以有效的减少了需要在CAM中存储的流表的数据量。
可以理解的是,上述场景仅是本发明实施例提供的一个场景示例,本发明实施例并不限于此场景。
下面结合附图,通过实施例来详细说明本发明实施例中一种基于OpenFlow交换机的流表匹配方法和装置的具体实现方式。
参见图2,为本发明实施例提供的一种基于OpenFlow交换机的流表匹配方法的流程示意图。该方法具体可以包括:
步骤201,接收数据包,所述数据包携带对应的流表信息。
可以理解的是,OpenFlow交换机对接收到的数据包进行处理时,需要从该数据包中获取到对应的流表信息,在利用该流表信息与该OpenFlow交换机中缓存的对应流表项进行匹配,当匹配完成后,才可以对该数据包执行对应的操作。
其中,流表信息,可以是指该数据包的中的路径信息等,例如:可以是表示该数据路径的MAC源地址、MAC目的地址、以太网类型、IP源地址、IP目的地址、IP端口、TCP源端口和TCP目的端口等。
具体实现时,OpenFlow交换机在接收到数据包后,可以对该数据包进行解析,从而获得该数据包对应的流表信息。
步骤202,将所述流表信息与第一流表中的高频流表项进行匹配;其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
具体实现时,在解析获得数据包对应的流表信息后,可以读取该OpenFlow交换机本地的第一流表,从中获取到高频流表项;将数据包对应的流表信息分别与该第一流表中的各高频流表项进行匹配。
其中,第一预设阈值,是指预先设置的用于限制该流表项是否可以列入到第一流表中的使用频率阈值。当某个流表项的使用频率大于该第一预设阈值,则标识该流表项为高频流表项,并将该高频流表项添加到对应的第一流表中。而在若干次匹配后,该高频流表项的使用频率不大于该第一预设阈值,则可以删除该流表项的“高频流表项”标识,并将该流表项从第一流表中剔除。
可以理解的是,流表信息与第一流表中的各高频流表项均匹配成功,表示该数据包可以按照所匹配到的流表项的值进行后续的处理。
其中,第一流表,为用于存储高频流表项的流表,存储在CAM上。而高频流表项,是指在所有流表项中使用频率较高的流表项。
作为一个示例,可以预设设置一个用于限制该流表项是否可以列入到第一流表中的第一预设阈值,并实时统计各流表项的使用频率,具体可以是预设时间段内各流表项的使用频率,当该使用频率大于第一预设阈值,则将该流表项记作高频流表项并添加至该第一流表中,作为第一流表的一个元素。
作为另一个示例,还可以实时统计各流表项的使用频率,具体可以统计预设时间段内各流表项的使用频率,并按照使用频率将各流表项进行排序,将使用频率最大的前预设个数个流表项记作高频流表项并添加至该第一流表中,作为第一流表的一个元素。
在一些可能的实现方式中,如果所述流表信息与第一流表中的高频流表项匹配,则表示该数据流需要在该OpenFlow交换机上执行其目标操作,所以可以先从所述数据包中获取所述目标操作,并且按照所述目标操作处理所述数据包中的数据。
可以理解的是,所述目标操作例如可以是转发,那么,当该OpenFlow交换机接收到数据包,并按照本实施例提供的方式匹配成功后,可以将该数据包中的数据对应转发的匹配到的目的节点。
在另一些可能的实现方式中,如果所述流表信息与第一流表中的高频流表项不匹配,则表示该第一流表中的高频流表项与流表信息至少存在流表项对应不匹配,那么,本实施例还提供了第二流表,实现进一步的匹配,具体的匹配方法可以包括:将所述流表信息与第二流表中的详细流表项进行匹配。其中,所述第二流表中不包括所述第一流表中的高频流表项。
可以理解的是,通过将流表信息与高频流表项进行匹配的操作,得到了不匹配的结果,说明该流表信息不是第一流表中存储的信息,为了简化匹配操作,节约CAM的空间资源,以及提高匹配效率,在第二流表中将不再存储第一流表中的高频流表项。
其中,所述第二流表包括所述OpenFlow交换机中使用频率高于第二预设阈值且不高于第一预设阈值的流表项。第二预设阈值,是指预先设置的用于限制该流表项是否可以列入到第二流表中的使用频率阈值。当某个流表项的使用频率不大于该第一预设阈值且大于第二预设阈值,则标识该流表项为可以进一步用于匹配的详细流表项,并将该详细流表项添加到对应的第二流表中。而在若干次匹配后,该详细流表项的使用频率不大于该第二预设阈值,则可以删除该流表项的“详细流表项”的标识,并将该流表项从第二流表中剔除。
其中,第二流表,为用于存储详细流表项的流表,存储在CAM上。而详细流表项,是指在所有流表项中使用频率一般但是可以覆盖较广的流表项。
作为一个示例,可以预设设置一个用于限制该流表项是否可以列入到第二流表中的第二预设阈值,并实时统计各流表项的使用频率,具体可以是预设时间段内各流表项的使用频率,当该使用频率不大于第一预设阈值且大于第二预设阈值,则将该流表项记作详细流表项并添加至该第二流表中,作为第二流表的一个元素。
作为另一个示例,还可以实时统计各流表项的使用频率,具体可以统计预设时间段内各流表项的使用频率,并按照使用频率将各流表项进行排序,除了使用频率最大的前第一预设个数个流表项之前,将剩余流表项中使用频率最大的前第二预设个数个流表项记作详细流表项并添加至该第二流表中,作为第二流表的一个元素。
在一些可能的实现方式中,如果所述流表信息与第二流表中的详细流表项匹配,则表示该数据流需要在该OpenFlow交换机上执行其目标操作,所以可以先从所述数据包中获取所述目标操作,并且按照所述目标操作处理所述数据包中的数据。
需要说明的是,如果流表信息与第一流表中的高频流表不匹配,且与第二流表中的详细流表不匹配,则该OpenFlow交换机可以将该数据包发送给该OpenFlow交换机对应的控制器,已便该控制器控制后续对该数据包的处理。
在一些可能的实现方式中,为了可以灵活的、动态的调整第一流表和第二流表中的流表项,以实现该OpenFlow交换机可以实时完成数据包中流表信息的高效匹配,本发明实施例还提供了对该第一流表和第二流表中的流表项的实时更新方案,具体可以包括:实时统计各流表项的使用频率,获得统计结果;根据所述统计结果,更新所述第一流表和所述第二流表。
具体实现时,更新第一流表和第二流表具体可以如图3所示,包括:
步骤301,将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
步骤302,将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;其中,所述第一预设阈值大于所述第二预设阈值;
步骤303,将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除。
可以理解的是,本发明实施例需要实时统计各个流表项的使用频率,但是可以在预设周期执行图3所示的步骤,完成对第一流表和第二流表的更新。
具体实现时,也可以在OpenFlow交换机中部署流表整理模块,用于按照流表项的优先级、类别、使用频率等对各流表项进行分配,并且还可以用于对过期或者不常用的流表项进行淘汰,即,从该OpenFlow交换机的CAM中删除。
可以理解的是,也可以根据某个时间段的通信特点,在该OpenFlow交换机中添加新流表,用于集中处理最近频繁需要处理的数据表。例如,近一个小时内,对某个域访问的数据包特别多,那么,可以添加关于该域的专用匹配流表,存储该域对应的流表项,以提高各数据包的匹配效率。
作为一个示例,如果该OpenFlow交换机中存在扩展的外部存储器,例如通用性能良好的随机存取存储器(英文:Random Access Memory,简称:RAM),那么,可以将步骤303中使用频率较低的三类流表项存储在该RAM存储模块中,以便在需要时方便调用,节约了从控制器上下载这些三类流表项所需的资源。需要说明的是,该RAM存储模块也可以和CAM一样,由OpenFlow交换机中的流表整理模块进行管理和控制。
由此可见,在本发明实施例中,提供了一种基于OpenFlow交换机的流表匹配方法,具体可以是:当数据包发送到该OpenFlow交换机时,首先,该OpenFlow交换机接收该数据包,所述数据包携带对应的流表信息;接着,该OpenFlow交换机将所述流表信息与第一流表中的高频流表项进行匹配;其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。这样,利用本发明实施例提供的流表匹配方法,可以将高频流表项归类存储于第一流表中,只对数据包对应的流表信息与该第一流表中数量较少的高频流表项进行匹配,解决了需要存储众多流表项的多个流表且需要对流表信息进行一一匹配导致流表匹配工作量大、效率低等问题,可以在数据量不断增多的当下通过匹配部分常见流表项,实现快速、高效的流表匹配,从而提高该OpenFlow交换机的数据处理效率。
需要说明的是,本发明实施例的实现方式不仅可以解决现有的流表匹配方法中,需要所有的流表信息进行逐一匹配但需要匹配的流表项众多导致匹配效率低下的问题;而且对于OpenFlow交换机中用于存储流表的CAM空间有限产生的问题,即,限制流表缓存数量的问题,以及超出CAM空间大小造成流表丢失需重向远端控制系新请求下发流表的问题,也可以有效的解决,是一种针对OpenFlow交换机较优化的流表匹配方法和控制流表存储方法。
此外,本发明实施例还可以应用于如图4所示的硬件架构上,具体包括:匹配模块401、CAM模块402、RAM存储模块403和流表整理模块404,其中,CAM模块402可以至少包括两个流表,这些流表中包括有彼此不重合的流表项,且流表具有优先级或者类别;相应的,匹配模块401也对应包括至少两种匹配模式,而且,每种匹配模式对应CAM模块402中一个流表。其中,RAM存储模块403用作流表项的扩充备用存储空间,具体可以存储不经常用或者当前不常用的三类流表项,CAM模块402可以选取其中的流表项。流表整理模块404用于更新CAM模块402中的各流表,以及对CAM模块402和RAM存储模块403的管理和控制。
需要说明的是,本发明实施例提供的流表控制和流表匹配的逻辑,可以通过Verilog硬件描述语言在现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)上实现验证,说明该技术方案是可行的。
相应的,本发明实施例还提供了一种基于OpenFlow交换机的流表匹配装置,如图5所示,该装置具体可以包括:
接收单元501,用于接收数据包,所述数据包携带对应的流表信息;
第一匹配单元502,用于将所述流表信息与第一流表中的高频流表项进行匹配;
其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
可选地,若所述流表信息与第一流表中的高频流表项不匹配,则,所述装置还包括:
第二匹配单元,用于将所述流表信息与第二流表中的详细流表项进行匹配;
其中,所述第二流表中不包括所述第一流表中的高频流表项。
可选地,所述数据包还包括对应的目标操作;
若所述流表信息与第一流表中的高频流表项匹配,或者,所述流表信息与第二流表中的详细流表项匹配,
所述装置还包括:
获取单元,用于从所述数据包中获取所述目标操作;
处理单元,用于按照所述目标操作处理所述数据包中的数据。
可选地,该装置还包括:
统计单元,用于统计各流表项的使用频率,获得统计结果;
更新单元,用于根据所述统计结果,更新所述第一流表和所述第二流表。
可选地,所述更新单元,包括:
第一存储子单元,用于将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
第二存储子单元,用于将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;
删除子单元,用于将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除;
其中,所述第一预设阈值大于所述第二预设阈值。
可选地,该装置还包括:
存储单元,用于将所述三类流表项存入所述OpenFlow交换机的扩展RAM存储模块中。
上述描述为一种基于OpenFlow交换机的流表匹配装置的相关描述,其中,具体实现方式以及达到的效果,可以参见图2所示的一种基于OpenFlow交换机的流表匹配方法实施例的描述,这里不再赘述。
本发明实施例中提到的“第一预设阈值”、“第一流表”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-only memory,ROM)/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的优选实施方式,并非用于限定本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种基于OpenFlow交换机的流表匹配方法,其特征在于,包括:
接收数据包,所述数据包携带对应的流表信息;
将所述流表信息与第一流表中的高频流表项进行匹配;
其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
2.根据权利要求1所述的方法,其特征在于,若所述流表信息与第一流表中的高频流表项不匹配,则,所述方法还包括:
将所述流表信息与第二流表中的详细流表项进行匹配;
其中,所述第二流表中不包括所述第一流表中的高频流表项。
3.根据权利要求1或2所述的方法,其特征在于,所述数据包还包括对应的目标操作;
若所述流表信息与第一流表中的高频流表项匹配,或者,所述流表信息与第二流表中的详细流表项匹配,
所述方法还包括:
从所述数据包中获取所述目标操作;
按照所述目标操作处理所述数据包中的数据。
4.根据权利要求1所述的方法,其特征在于,还包括:
统计各流表项的使用频率,获得统计结果;
根据所述统计结果,更新所述第一流表和所述第二流表。
5.根据权利要求4所述的方法,其特征在于,所述根据所述统计结果,更新所述第一流表和所述第二流表,包括:
将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;
将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除;
其中,所述第一预设阈值大于所述第二预设阈值。
6.根据权利要求5所述的方法,其特征在于,还包括:
将所述三类流表项存入所述OpenFlow交换机的扩展RAM存储模块中。
7.一种基于OpenFlow交换机的流表匹配装置,其特征在于,包括:
接收单元,用于接收数据包,所述数据包携带对应的流表信息;
第一匹配单元,用于将所述流表信息与第一流表中的高频流表项进行匹配;
其中,所述第一流表包括所述OpenFlow交换机中使用频率高于第一预设阈值的流表项。
8.根据权利要求7所述的装置,其特征在于,若所述流表信息与第一流表中的高频流表项不匹配,则,所述装置还包括:
第二匹配单元,用于将所述流表信息与第二流表中的详细流表项进行匹配;
其中,所述第二流表中不包括所述第一流表中的高频流表项。
9.根据权利要求7或8所述的装置,其特征在于,所述数据包还包括对应的目标操作;
若所述流表信息与第一流表中的高频流表项匹配,或者,所述流表信息与第二流表中的详细流表项匹配,
所述装置还包括:
获取单元,用于从所述数据包中获取所述目标操作;
处理单元,用于按照所述目标操作处理所述数据包中的数据。
10.根据权利要求7所述的装置,其特征在于,还包括:
统计单元,用于统计各流表项的使用频率,获得统计结果;
更新单元,用于根据所述统计结果,更新所述第一流表和所述第二流表。
11.根据权利要求10所述的装置,其特征在于,所述更新单元,包括:
第一存储子单元,用于将所述统计结果大于所述第一预设阈值的流表项,记作一类流表项,并存入所述第一流表;
第二存储子单元,用于将所述统计结果大于第二预设阈值且不大于所述第一预设阈值的流表项,记作二类流表项,并存入所述第二流表;
删除子单元,用于将所述统计结果不大于所述第二预设阈值的流表项,记作三类流表项,并将所述三类流表项从所述OpenFlow交换机中删除;
其中,所述第一预设阈值大于所述第二预设阈值。
12.根据权利要求10所述的装置,其特征在于,还包括:
存储单元,用于将所述三类流表项存入所述OpenFlow交换机的扩展RAM存储模块中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101526.3A CN109347745A (zh) | 2018-09-20 | 2018-09-20 | 一种基于OpenFlow交换机的流表匹配方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811101526.3A CN109347745A (zh) | 2018-09-20 | 2018-09-20 | 一种基于OpenFlow交换机的流表匹配方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109347745A true CN109347745A (zh) | 2019-02-15 |
Family
ID=65305825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811101526.3A Pending CN109347745A (zh) | 2018-09-20 | 2018-09-20 | 一种基于OpenFlow交换机的流表匹配方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109347745A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110430138A (zh) * | 2019-07-26 | 2019-11-08 | 新华三技术有限公司合肥分公司 | 数据流转发状态记录方法及网络设备 |
WO2020181740A1 (zh) * | 2018-12-29 | 2020-09-17 | 长沙理工大学 | 一种高性能的openflow虚拟流表查找方法 |
CN112838989A (zh) * | 2019-11-25 | 2021-05-25 | 中兴通讯股份有限公司 | 一种数据流管理方法、网络设备及存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
CN113824772A (zh) * | 2021-08-30 | 2021-12-21 | 济南浪潮数据技术有限公司 | 基于云网络的数据采集方法、系统、装置及可读存储介质 |
CN114257461A (zh) * | 2022-03-01 | 2022-03-29 | 四川省商投信息技术有限责任公司 | 一种sdn交换机流表控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168222A (zh) * | 2014-07-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN107276916A (zh) * | 2017-06-22 | 2017-10-20 | 中国科学技术大学 | 基于协议无感知转发技术的交换机流表管理方法 |
CN108011823A (zh) * | 2016-11-01 | 2018-05-08 | 中兴通讯股份有限公司 | 多域流表的多级化方法及装置、多级流表查找方法及装置 |
-
2018
- 2018-09-20 CN CN201811101526.3A patent/CN109347745A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104168222A (zh) * | 2014-07-15 | 2014-11-26 | 杭州华三通信技术有限公司 | 一种报文传输方法和设备 |
CN108011823A (zh) * | 2016-11-01 | 2018-05-08 | 中兴通讯股份有限公司 | 多域流表的多级化方法及装置、多级流表查找方法及装置 |
CN107276916A (zh) * | 2017-06-22 | 2017-10-20 | 中国科学技术大学 | 基于协议无感知转发技术的交换机流表管理方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020181740A1 (zh) * | 2018-12-29 | 2020-09-17 | 长沙理工大学 | 一种高性能的openflow虚拟流表查找方法 |
CN110430138A (zh) * | 2019-07-26 | 2019-11-08 | 新华三技术有限公司合肥分公司 | 数据流转发状态记录方法及网络设备 |
CN110430138B (zh) * | 2019-07-26 | 2022-02-22 | 新华三技术有限公司合肥分公司 | 数据流转发状态记录方法及网络设备 |
CN112838989A (zh) * | 2019-11-25 | 2021-05-25 | 中兴通讯股份有限公司 | 一种数据流管理方法、网络设备及存储介质 |
CN113595822A (zh) * | 2021-07-26 | 2021-11-02 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
CN113595822B (zh) * | 2021-07-26 | 2024-03-22 | 北京恒光信息技术股份有限公司 | 一种数据包管理方法、系统和装置 |
CN113824772A (zh) * | 2021-08-30 | 2021-12-21 | 济南浪潮数据技术有限公司 | 基于云网络的数据采集方法、系统、装置及可读存储介质 |
CN114257461A (zh) * | 2022-03-01 | 2022-03-29 | 四川省商投信息技术有限责任公司 | 一种sdn交换机流表控制方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347745A (zh) | 一种基于OpenFlow交换机的流表匹配方法和装置 | |
DE60016574T2 (de) | Verfahren und vorrichtung zur belastungsverteilung uphänging von datenflussen | |
CN108809854B (zh) | 一种用于大流量网络处理的可重构芯片架构 | |
EP3314827B1 (en) | Method and system for managing data traffic in a computing network | |
US20140229945A1 (en) | Network control using software defined flow mapping and virtualized network functions | |
CN104753885B (zh) | 一种流表匹配的方法、装置和OpenFlow交换系统 | |
CN108475244A (zh) | 加速网络分组处理 | |
RU2608874C2 (ru) | Способ и устройство для модификации и переадресации сообщения в сети передачи данных | |
US20060083179A1 (en) | Probe apparatus and metod therefor | |
US10459729B2 (en) | Map tables for hardware tables | |
DE102015119890A1 (de) | Paralleles Verarbeiten von Service-Funktionen in Service-Funktionsketten | |
US9590922B2 (en) | Programmable and high performance switch for data center networks | |
CN104734872B (zh) | 一种基于软件定义网络的工业回程网实现方法与系统 | |
JP2012526500A (ja) | データ通信セッションを制御する方法および装置 | |
CN104782087B (zh) | 交换设备、控制器、交换设备配置、报文处理方法及系统 | |
RU2658889C1 (ru) | Способ и устройство табличного поиска для таблиц OpenFlow, а также носитель данных | |
CN101840328A (zh) | 一种数据处理方法及系统以及相关设备 | |
CN107003860A (zh) | 一种软件定义网络控制器及其创建方法 | |
CN110912826A (zh) | 利用acl扩充ipfix表项的方法及装置 | |
US20190124184A1 (en) | Data Processing Method and Apparatus | |
US20180167287A1 (en) | Capturing packets in a virtual switch | |
CN106302837B (zh) | 一种光网络单元的mac地址表管理方法及装置 | |
CN106656850B (zh) | 一种自动识别网络流量并做限速的芯片实现方法 | |
CN106998344A (zh) | 一种业务操作管理方法及其装置、系统 | |
US11757742B2 (en) | System and method to distribute traffic flows among a plurality of applications in a data center system |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190215 |
|
RJ01 | Rejection of invention patent application after publication |