CN113645137B - 一种软件定义网络多级流表压缩方法及系统 - Google Patents

一种软件定义网络多级流表压缩方法及系统 Download PDF

Info

Publication number
CN113645137B
CN113645137B CN202110882112.4A CN202110882112A CN113645137B CN 113645137 B CN113645137 B CN 113645137B CN 202110882112 A CN202110882112 A CN 202110882112A CN 113645137 B CN113645137 B CN 113645137B
Authority
CN
China
Prior art keywords
sub
flow table
stage
flow
tables
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
Application number
CN202110882112.4A
Other languages
English (en)
Other versions
CN113645137A (zh
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110882112.4A priority Critical patent/CN113645137B/zh
Publication of CN113645137A publication Critical patent/CN113645137A/zh
Application granted granted Critical
Publication of CN113645137B publication Critical patent/CN113645137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • 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
    • H04L45/745Address table lookup; Address filtering
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明涉及一种软件定义网络多级流表压缩方法及系统,其特征在于,该方法包括以下内容:1)获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表;2)确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果,完成多级流表的压缩;否则,进入步骤3);3)寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入步骤2),本发明可以广泛应用于软件定义网络领域中。

Description

一种软件定义网络多级流表压缩方法及系统
技术领域
本发明属于软件定义网络领域,具体是关于一种软件定义网络多级流表压缩方法及系统。
背景技术
软件定义网络(Software-Defined Network,SDN)将传统网络的控制面与数据面分离,逻辑集中的控制面通过下发过滤规则至数据面实现细粒度的网包过滤,极大地提高网络的服务能力。流表是存储过滤规则的关键模块,通过对传统路由设备中转发表的匹配字段及转发动作的扩展,OpenFlow(SDN南向接口标准)定义了部署于SDN数据面的支持丰富过滤规则及处理指令的流表结构。随着网络规模的扩张及细粒度业务管控的需要,流表中过滤规则的数量快速增长。对此,OpenFlow 1.1版本首次提出基于多级流表的流水线转发机制。通过将单流表中的字段拆分存储至多级流表,可有效缓解字段间的乘积效应(字段取值的笛卡尔积)导致的规则数量扩展,缩减流表存储消耗。
OpenFlow标准不规定具体的多级流表构建方案,为有效拆分字段以实现高效的流表存储压缩,研究人员进行了丰富的研究。现有技术公开了一种根据字段间的共存与互斥关系进行多级流表拆分的方法,可有效缩减通配字段匹配所带来的存储浪费。基于上述方法,现有技术还公开了一种对拆分后的子流表根据匹配字段类型或字段重复率进一步拆分的方法,但是其忽略了实际系统中流表个数受限的问题。与此类似,现有技术还公开了基于匹配域裁剪的流表压缩、基于独立规则集位提取的流表压缩等方法,这些方法根据字段间的共存、互斥及继承关系,将规则集合拆分为不同子集,但是算法复杂的预处理过程增加转发设备的处理开销。与上述压缩方法不同,研究人员还直接根据各匹配字段值的重复率进行多级流表的拆分存储,取得较上述压缩方法更高效的存储压缩,但是该方法每次仅能拆分单个字段,压缩效果有限。现有技术还公开了一种软件定义网络中一种两步式多级流表构建算法,根据流类别及字段重复率分两步将单表映射为多级流表,可取得较好的压缩效果。
然而,上述算法的流表拆分均为从原始单表逐步拆分为多表的方式,由于每步迭代过程仅根据字段共存互斥关系、字段重复率或流类别进行,其实际每步迭代的可行解搜索范围有限(O(G),G为字段互斥关系数、匹配字段数目或流类别种类数),易受局部极值影响,压缩能力有限。
发明内容
针对上述问题,本发明的目的是提供一种软件定义网络多级流表压缩方法及系统,能够有效避免局部极值的影响,提高存储压缩效率。
为实现上述目的,本发明采取以下技术方案:一种软件定义网络多级流表压缩方法,包括以下内容:
1)获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表;
2)确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果,完成多级流表的压缩;否则,进入步骤3);
3)寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入步骤2)。
进一步地,所述步骤1)的具体过程为:
获取规则集合;
将规则集合的匹配字段按照特定字段拆解原则拆解为不同集合,每一集合存储于一个子流表中,得到初始的多级流表。
进一步地,所述步骤3)的具体过程为:
3.1)获取多级流表内第l个子流表间的两两组合,并将该组合内的两个子流表合并为一个新子流表;
3.2)确定该组合内的两个子流表合并后新增的存储开销是否满足预先设定的存储开销约束,若满足,则重新设定存储开销约束,并将该组合内的两个子流表作为待合并子流表后,进入步骤3.3);否则,直接进入步骤3.3);
3.3)确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入步骤3.1);否则,进入步骤3.4);
3.4)将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表,进入步骤2)。
进一步地,所述步骤3.2)的具体过程为:
3.2.1)分别确定合并后的新子流表以及合并前的两个子流表各自的存储开销;
3.2.2)若合并前的两个子流表合并后新增的存储开销满足预先设定的存储开销约束,则设定存储开销约束值等于两个子流表合并后新增的存储开销,并将两个子流表作为待合并子流表后,进入步骤3.3);否则,直接进入步骤3.3)。
进一步地,所述存储开销Sj为:
Sj=fc(R,Tj)wTj
其中,Sj表示第j个子流表的存储开销;fc(R,Tj)表示规则集合R在Tj的映射分布下不同值的计数;w表示规则集合R的各字段位宽向量;Tj表示第j个子流表中的字段存储情况。
一种软件定义网络多级流表压缩系统,包括规则集合拆分模块、级数确定模块和子流表搜寻模块;
所述规则集合拆分模块用于获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表;
所述级数确定模块用于确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果;否则,进入所述子流表搜寻模块;
所述子流表搜寻模块用于寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入所述级数确定模块。
进一步地,所述子流表搜寻模块包括子流表获取模块、存储开销约束判定模块、搜寻次数约束判定模块和多级流表更新模块;
所述子流表获取模块用于获取多级流表内第l个子流表间的两两组合,并将该组合内的两个子流表合并为一个新子流表;
所述存储开销约束判定模块用于确定该组合内的两个子流表合并后新增的存储开销是否满足预先设定的存储开销约束,若满足,则重新设定存储开销约束,并将该组合内的两个子流表作为待合并子流表,进入所述次数约束判定模块;否则,直接进入所述次数约束判定模块;
所述搜寻次数约束判定模块用于确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入所述子流表获取模块;否则,进入所述多级流表更新模块;
所述多级流表更新模块用于将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表,进入所述级数确定模块。
一种处理设备,包括计算机程序指令,其中,所述处理设备运行所述计算机程序指令时执行上述软件定义网络多级流表压缩方法对应的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令用于执行上述软件定义网络多级流表压缩方法对应的步骤。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明区别于已有算法的设计思路,采用子流表逐级合并的方式构建多级流表,每步迭代可实现O(G2)的搜索范围,从而有效避免局部极值的影响,提高存储压缩效率。
2、传统算法在执行过程中,均局限于某一特定字段拆解原则,而本发明支持例如字段共存互斥关系、流类别等各种字段拆解原则的使用,使用者可以根据实际需求灵活选择字段拆解原则,实现多级流表的高效压缩,可以广泛应用于软件定义网络领域中。
附图说明
图1是本发明一实施例提供的多级流表结构模型示意图;
图2是本发明一实施例提供的软件定义网络多级流表压缩方法的流程示意图;
图3是本发明一实施例提供的采用现有技术中的全局搜索算法与本发明采用“直接拆分为单一字段”的拆解原则下的软件定义网络多级流表压缩方法的压缩效率随流表级数变化示意图;
图4是本发明一实施例提供的采用现有技术中的全局搜索算法与本发明采用“直接拆分为单一字段”的拆解原则下的软件定义网络多级流表压缩方法的运行耗时随流表级数变化示意图;
图5是本发明一实施例提供的软件定义网络多级流表压缩系统的整体结构示意图;
图6是本发明一实施例提供的软件定义网络多级流表压缩系统中子流表搜寻模块的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施方式。虽然附图中显示了本发明的示例性实施方式,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
术语解释:字段拆解原则,是指将多个匹配字段拆分成不同集合所依赖的原则,例如按照字段间共存与互斥关系拆解、按照流类别拆解、直接拆分为单一字段等不同拆解原则。
受交换机延迟约束,设定流表级数为K,则SDN数据平面的多级流表结构如图1所示,经解析器解析后的分组包头及元数据送入多级流表,在每级流表处,由分组包头及元数据组成的搜索字进行流表查找,并执行匹配表项中的对应指令。当最后一级流表查找完成后,以该分组在各级表中的匹配结果进行索引,查找并执行动作索引模块中的对应动作。完成后的分组将被输出,以进行后续处理。
多级流表压缩问题即是解决如何将各匹配字段合理拆解至K级流表中,以最小化总存储消耗。设定规则集合为R,含N个匹配字段,各字段位宽向量为w=(w1,w2,...,wN),其中,wi表示第i个字段的位宽。将第j个子流表中的字段存储情况表示为列向量Tj=(b1,b2,...,bN)T,其中,bi=1表示第i个字段存储于该表中,bi=0表示第i个字段不存储于该表中,则第j个子流表的存储消耗Sj为:
Sj=fc(R,Tj)wTj (1)
其中,Sj表示第j个子流表的存储开销;fc(R,Tj)表示规则集合R在Tj的映射分布下不同值的计数,即第j个子流表中的表项数。另外,设定eN为长度为N的全1列向量,考虑不进行存储优化时原始单级表的存储消耗SO为:
SO=fc(R,eN)weN (2)
则多级流表的存储空间压缩效率η为:
Figure BDA0003192420080000051
其中,Saction表示实现最终动作索引所需的存储消耗,与具体选择的算法有关。多级流表压缩的目标即是使η最大化。
基于上述问题说明,本发明实施例提供了一种软件定义网络多级流表压缩方法及系统——基于逆序逐级合并的多级流表压缩方案,其方案的执行与具体字段拆解原则无关。核心思想是:如图2所示,首先假设按照特定字段拆解原则拆解后的各字段集合,分别存储于各子表中,然后每次选择合并后存储冗余增加最小的两个子流表进行流表合并(即逆序合并),直至最终流表数量满足级数约束。
实施例1
本实施例提供一种软件定义网络多级流表压缩方法,包括以下步骤:
1)获取交换机的规则集合R,并将规则集合R的匹配字段按照特定字段拆解原则拆解为不同集合,每一集合存储于一个子流表中,则初始的多级流表Tables为:
Tables={T1,T2,...,TG} (4)
其中,G表示子流表的个数;TG表示第G个子流表中的字段存储情况。
2)确定多级流表Tables的级数,若多级流表Tables的级数小于预先设定的流表级数K,则输出Tables为最终的压缩结果,完成多级流表的压缩;否则,设定:
Tnew=Told1=Told2=none,ΔS=+∞,l=1 (5)
其中,Tnew表示合并后的新子流表;Told1、Told2分别表示被合并的两个子流表;ΔS表示子流表合并后新增的存储开销;l为子流表两两组合的次数。
3)获取多级流表Tables内第l个子流表间的两两组合,设定该组合内的两个子流表分别为Ta和Tb,并将子流表Ta和Tb合并为一个新的子流表Tc
Tc=TaVTb (6)
其中,V表示布尔向量的并集。
4)采用上述公式(1),分别确定合并后的子流表Tc以及合并前的子流表Ta和Tb各自的存储开销Sc、Sa和Sb
5)若子流表Ta和Tb合并后新增的存储开销满足预先设定的存储开销约束,例如若ΔS>Sc-(Sa+Sb),则设定参数后,进入步骤6);否则,直接进入步骤6),其中,设定的参数为:
ΔS=Sc-(Sa+Sb) (7)
Tnew=Tc,Told1=Ta,Told2=Tb (8)
6)确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入步骤3);否则,进入步骤7)。
具体为:
若l<C(2,length of Tables),其中,该式表示总迭代次数(循环次数)为子流表两两组合的组合数,C表示组合数的公式,组合数为从多级流表Tables中选取的两个不同子流表进行组合的组合个数,则令l=l+1,并进入步骤3);否则,进入步骤7)。
7)将合并后的新子流表Tnew添加至多级流表Tables中,并从多级流表Tables中移除子流表Told1和Told2,进入步骤2)。
下面以采用“直接拆分为单一字段”的拆解原则为具体实施例详细说明本发明的软件定义网络多级流表压缩方法:
1)获取规则集合,共包括11个字段:输入端口、源MAC、目的MAC、以太网类型、IPv4源IP、IPv4目的IP、IPv6源IP、IPv6目的IP、传输层协议类型、源端口和目的端口。将规则集合R的匹配字段直接拆分为多个单一字段,每一字段存储于一级子流表中,则共11个子流表,则初始的多级流表Tables为:
Tables={T1,T2,...,T11} (9)
对于第j个子流表,其字段存储向量为:
Figure BDA0003192420080000071
其中,bu表示存储状态,1表示第j个子流表存储第u个字段,0表示第j个子流表不存储第u个字段。
2)确定多级流表Tables的级数,若多级流表Tables的级数小于预先设定的流表级数K,则输出Tables为最终的压缩结果,完成多级流表的压缩;否则,设定Tnew=Told1=Told2=none,ΔS=+∞,l=1。
3)获取多级流表Tables内第l个子流表间的两两组合,设定该组合内的两个子流表分别为Ta和Tb,并将子流表Ta和Tb合并为一个新的子流表Tc
4)采用上述公式(1),分别确定合并后的子流表Tc以及合并前的子流表Ta和Tb各自的存储开销Sc、Sa和Sb
5)若ΔS>Sc-(Sa+Sb),则设定ΔS=Sc-(Sa+Sb),Tnew=Tc,Told1=Ta,Told2=Tb后,进入步骤6);否则,直接进入步骤6)。
6)若l<C(2,length of Tables),则令l=l+1,并进入步骤3);否则,进入步骤7)。
7)将合并后的新子流表Tnew添加至多级流表Tables中,并从多级流表Tables中移除子流表Told1和Told2,进入步骤2)。
对比采用现有技术中的全局搜索算法与本实施例采用“直接拆分为单一字段”的拆解原则下的软件定义网络多级流表压缩方法,结果如图3和图4所示,可以看出,在压缩效率方面,本发明的方法与现有技术中的全局搜索算法产生的全局最优值相近(下降不超过9%);在运行耗时方面,本发明的方法相比全局搜索算法节省约1~3个数量级,且随流表级数增长运行耗时较为稳定。
实施例2
基于上述软件定义网络多级流表压缩方法,如图5所示,本实施例提供一种软件定义网络多级流表压缩系统,包括规则集合拆分模块1、级数确定模块2和子流表搜寻模块3。
规则集合拆分模块1用于获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表。
级数确定模块2用于确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果;否则,进入子流表搜寻模块3。
子流表搜寻模块3用于寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入级数确定模块2。
在一个优选的实施例中,如图6所示,子流表搜寻模块3包括子流表获取模块31、存储开销约束判定模块32、搜寻次数约束判定模块33和多级流表更新模块34。
子流表获取模块31用于获取多级流表内第l个子流表间的两两组合,并将该组合内的两个子流表合并为一个新子流表。
存储开销约束判定模块32用于确定该组合内的两个子流表合并后新增的存储开销是否满足预先设定的存储开销约束,若满足,则重新设定存储开销约束,并将该组合内的两个子流表作为待合并子流表,进入次数约束判定模块33;否则,直接进入次数约束判定模块33。
搜寻次数约束判定模块33用于确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入子流表获取模块31;否则,进入多级流表更新模块34。
多级流表更新模块34用于将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表,进入级数确定模块2。
实施例3
本实施例提供一种与本实施例1所提供的软件定义网络多级流表压缩方法对应的处理设备,处理设备可以是用于控制交换机的处理设备,例如配置交换机的上位机、移动终端、服务器等,以执行实施例1的方法。
所述处理设备可以包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在处理设备上运行的计算机程序指令,处理设备运行计算机程序指令时执行本实施例1所提供的软件定义网络多级流表压缩方法。
在一些实现中,存储器可以是高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
在另一些实现中,处理器可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。
实施例4
本实施例1的软件定义网络多级流表压缩方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的软件定义网络多级流表压缩方法的计算机程序指令。
计算机可读存储介质可以为保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
上述各实施例仅用于说明本发明,其中各部件的结构、连接方式和制作工艺等都是可以有所变化的,凡是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范围之外。

Claims (8)

1.一种软件定义网络多级流表压缩方法,其特征在于,包括以下内容:
1)获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表,具体过程为:
获取规则集合;
将规则集合的匹配字段按照特定字段拆解原则拆解为不同集合,每一集合存储于一个子流表中,得到初始的多级流表;
2)确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果,完成多级流表的压缩;否则,进入步骤3);
3)寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入步骤2)。
2.如权利要求1所述的一种软件定义网络多级流表压缩方法,其特征在于,所述步骤3)的具体过程为:
3.1)获取多级流表内第l个子流表间的两两组合,并将该组合内的两个子流表合并为一个新子流表;
3.2)确定该组合内的两个子流表合并后新增的存储开销是否满足预先设定的存储开销约束,若满足,则重新设定存储开销约束,并将该组合内的两个子流表作为待合并子流表后,进入步骤3.3);否则,直接进入步骤3.3);
3.3)确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入步骤3.1);否则,进入步骤3.4);
3.4)将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表,进入步骤2)。
3.如权利要求2所述的一种软件定义网络多级流表压缩方法,其特征在于,所述步骤3.2)的具体过程为:
3.2.1)分别确定合并后的新子流表以及合并前的两个子流表各自的存储开销;
3.2.2)若合并前的两个子流表合并后新增的存储开销满足预先设定的存储开销约束,则设定存储开销约束值等于两个子流表合并后新增的存储开销,并将两个子流表作为待合并子流表后,进入步骤3.3);否则,直接进入步骤3.3)。
4.如权利要求3所述的一种软件定义网络多级流表压缩方法,其特征在于,所述存储开销Sj为:
Sj=fc(R,Tj)wTj
其中,Sj表示第j个子流表的存储开销;fc(R,Tj)表示规则集合R在Tj的映射分布下不同值的计数;w表示规则集合R的各字段位宽向量;Tj表示第j个子流表中的字段存储情况。
5.一种软件定义网络多级流表压缩系统,其特征在于,包括规则集合拆分模块、级数确定模块和子流表搜寻模块;
所述规则集合拆分模块用于获取交换机的规则集合,并将规则集合的匹配字段进行拆分,确定初始的多级流表,具体过程为:
获取规则集合;
将规则集合的匹配字段按照特定字段拆解原则拆解为不同集合,每一集合存储于一个子流表中,得到初始的多级流表;
所述级数确定模块用于确定多级流表的级数是否满足预先设定的流表级数约束,若满足,则输出该多级流表为最终的压缩结果;否则,进入所述子流表搜寻模块;
所述子流表搜寻模块用于寻找多级流表中合并后存储冗余增加最小的两个子流表作为待合并子流表,将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表后,进入所述级数确定模块。
6.如权利要求5所述的一种软件定义网络多级流表压缩系统,其特征在于,所述子流表搜寻模块包括子流表获取模块、存储开销约束判定模块、搜寻次数约束判定模块和多级流表更新模块;
所述子流表获取模块用于获取多级流表内第l个子流表间的两两组合,并将该组合内的两个子流表合并为一个新子流表;
所述存储开销约束判定模块用于确定该组合内的两个子流表合并后新增的存储开销是否满足预先设定的存储开销约束,若满足,则重新设定存储开销约束,并将该组合内的两个子流表作为待合并子流表,进入所述次数约束判定模块;否则,直接进入所述次数约束判定模块;
所述搜寻次数约束判定模块用于确定子流表两两组合的次数l是否满足预先设定的次数约束,若满足,则令l=l+1,并进入所述子流表获取模块;否则,进入所述多级流表更新模块;
所述多级流表更新模块用于将待合并子流表合并后的新子流表添加至多级流表中,并从多级流表中移除待合并子流表,进入所述级数确定模块。
7.一种处理设备,其特征在于,包括计算机程序指令,其中,所述处理设备运行所述计算机程序指令时执行权利要求1-4中任一项所述的软件定义网络多级流表压缩方法对应的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序指令,其中,所述计算机程序指令用于执行权利要求1-4中任一项所述的软件定义网络多级流表压缩方法对应的步骤。
CN202110882112.4A 2021-08-02 2021-08-02 一种软件定义网络多级流表压缩方法及系统 Active CN113645137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110882112.4A CN113645137B (zh) 2021-08-02 2021-08-02 一种软件定义网络多级流表压缩方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110882112.4A CN113645137B (zh) 2021-08-02 2021-08-02 一种软件定义网络多级流表压缩方法及系统

Publications (2)

Publication Number Publication Date
CN113645137A CN113645137A (zh) 2021-11-12
CN113645137B true CN113645137B (zh) 2022-05-31

Family

ID=78419350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110882112.4A Active CN113645137B (zh) 2021-08-02 2021-08-02 一种软件定义网络多级流表压缩方法及系统

Country Status (1)

Country Link
CN (1) CN113645137B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114338528B (zh) * 2021-12-23 2023-06-16 锐捷网络股份有限公司 一种表项的查询方法及装置
CN114884858A (zh) * 2022-01-28 2022-08-09 珠海星云智联科技有限公司 流表处理的方法和相关装置、电子设备、介质和程序产品

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618194A (zh) * 2015-02-15 2015-05-13 杭州华三通信技术有限公司 软件定义网络报文监控方法和sdn控制器、交换设备
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法
EP2999176A1 (en) * 2013-06-28 2016-03-23 Huawei Technologies Co., Ltd. Searching method and device for multilevel flow table
CN105490827A (zh) * 2014-09-17 2016-04-13 华为技术有限公司 一种获取网络状态的方法及装置
CN108011823A (zh) * 2016-11-01 2018-05-08 中兴通讯股份有限公司 多域流表的多级化方法及装置、多级流表查找方法及装置
CN108989219A (zh) * 2018-07-11 2018-12-11 中国人民解放军陆军工程大学 一种基于多级流表的多优先级路由转发系统及方法
CN112491710A (zh) * 2020-11-09 2021-03-12 锐捷网络股份有限公司 一种基于Openflow的报文转发方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104426768B (zh) * 2013-09-05 2018-06-15 华为技术有限公司 一种数据报文转发方法及装置
CN104468357B (zh) * 2013-09-16 2019-07-12 中兴通讯股份有限公司 流表的多级化方法、多级流表处理方法及装置
CN104168222B (zh) * 2014-07-15 2018-08-03 新华三技术有限公司 一种报文传输方法和设备
CN105224692B (zh) * 2015-11-03 2018-08-31 武汉烽火网络有限责任公司 支持多核处理器的sdn多级流表并行查找的系统及方法
CN107124362B (zh) * 2016-02-24 2019-12-20 中移(苏州)软件技术有限公司 一种基于子流表分割的流表存储优化方法及装置
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
CN108259353B (zh) * 2018-01-10 2021-02-26 浙江工商大学 一种基于匹配字段具体值重复率的多级流表设计方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2999176A1 (en) * 2013-06-28 2016-03-23 Huawei Technologies Co., Ltd. Searching method and device for multilevel flow table
CN105490827A (zh) * 2014-09-17 2016-04-13 华为技术有限公司 一种获取网络状态的方法及装置
CN104618194A (zh) * 2015-02-15 2015-05-13 杭州华三通信技术有限公司 软件定义网络报文监控方法和sdn控制器、交换设备
CN105338003A (zh) * 2015-12-09 2016-02-17 中国电子科技集团公司第二十八研究所 一种应用于软件定义网络的防火墙实现方法
CN108011823A (zh) * 2016-11-01 2018-05-08 中兴通讯股份有限公司 多域流表的多级化方法及装置、多级流表查找方法及装置
CN108989219A (zh) * 2018-07-11 2018-12-11 中国人民解放军陆军工程大学 一种基于多级流表的多优先级路由转发系统及方法
CN112491710A (zh) * 2020-11-09 2021-03-12 锐捷网络股份有限公司 一种基于Openflow的报文转发方法及设备

Also Published As

Publication number Publication date
CN113645137A (zh) 2021-11-12

Similar Documents

Publication Publication Date Title
CN113645137B (zh) 一种软件定义网络多级流表压缩方法及系统
US10445323B2 (en) Association rule mining with the micron automata processor
CN103401777B (zh) Openflow的并行查找方法和系统
CN103560963B (zh) 一种OpenFlow流表存储空间压缩方法
CN108011823B (zh) 多域流表的多级化方法及装置、多级流表查找方法及装置
Sun et al. Kclist++: A simple algorithm for finding k-clique densest subgraphs in large graphs
US9223809B2 (en) Code processing technique
Huan et al. A low-power accelerator for deep neural networks with enlarged near-zero sparsity
CN105897587B (zh) 一种数据包分类方法
Teixeira et al. Optimal scaling of the ADMM algorithm for distributed quadratic programming
CN104025520B (zh) 查找表的创建方法、查询方法、控制器、转发设备和系统
CN101500012B (zh) 一种报文分类方法和系统
WO2016106506A1 (zh) 一种路由方法和设备
US20220005546A1 (en) Non-redundant gene set clustering method and system, and electronic device
CN101848248A (zh) 一种规则查找方法和装置
CN111309753A (zh) 结构化查询语句的优化方法、装置、设备及存储介质
CN110505322B (zh) 一种ip地址段查找方法及装置
Bo et al. Entity resolution acceleration using Micron’s Automata Processor
CN103729427A (zh) 一种基于自定义多级流表增量更新的流表转换方法
CN105654120A (zh) 一种基于SOM和K-means两阶段聚类的软件负载特征提取方法
JP2007233554A (ja) 高速パターンマッチング装置の探索方法
CN108259353B (zh) 一种基于匹配字段具体值重复率的多级流表设计方法
Naeem et al. Optimised X-HYBRIDJOIN for near-real-time data warehousing
Li et al. Binary-tree-based high speed packet classification system on FPGA
CN116016686A (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
GR01 Patent grant
GR01 Patent grant