一种SDN中采用多路搜索缩减规则依赖的缓存方法技术

技术编号:18972424 阅读:120 留言:0更新日期:2018-09-19 03:39
本发明专利技术公开了一种SDN中采用多路搜索缩减规则依赖的缓存方法,包括如下步骤,步骤1,刻画用于规则选择的指标;步骤2,当交换机容量为N时,选取规则权重取前N大规则作为初始结果集;步骤3,将结果集中的规则按依赖关系划分成多个候选子集;步骤4,补全每个候选子集的依赖关系;步骤5,去除候选子集包含的规则,以候选子集作为起始进行多路搜索,选取规则使规则总数等于交换机总容量;步骤6,从候选子集中选取总权重最大的规则集作为目标集;步骤7,将目标集所包含的规则缓存至交换机。利用覆盖集的灵活性构造多种规则缓存方案,对依赖链上的低权重的规则进行缩减,节省交换机存储空间的同时将权重高的规则尽可能多的缓存起来。

A caching method based on multi search reduction rule dependency in SDN

The invention discloses a cache method for reducing rule dependency by multi-path search in SDN, which includes the following steps: step 1, characterizing the index for rule selection; step 2, when the switch capacity is N, selecting the rule weight to take the N-big rule as the initial result set; step 3, delineating the rules in the result set according to the dependency relation Divide into several candidate subsets; Step 4, complete the dependencies of each candidate subset; Step 5, remove the rules contained in the candidate subset, start with the candidate subset for multi-path search, select rules to make the total number of rules equal to the total capacity of the switch; Step 6, select the rule set with the largest total weight from the candidate subset as the item. Set 7; cache the rules contained in the target set to the switch. Many rule caching schemes are constructed by using the flexibility of overlay set to reduce the low weight rules on the dependency chain, save the memory space of switches and cache as many rules as possible with high weight.

【技术实现步骤摘要】
一种SDN中采用多路搜索缩减规则依赖的缓存方法
本专利技术属于互联网
,具体涉及一种SDN中采用多路搜索缩减规则依赖的缓存方法。
技术介绍
软件定义网络(SoftwareDefinedNetwork,SDN)通过分离网络设备的转发平面与控制平面,实现了网络流量的灵活控制。在SDN中,转发设备不具备计算能力,仅依据控制器安装的流表项进行数据包的转发。由于所有第一次进入该网络的数据包都需要经由控制器进行路径计算,这将产生过多的失配请求使控制器成为处理瓶颈,影响转发性能,如果没有机制减少控制器被请求的次数,将导致失配请求积压,产生较大的网络延迟甚至出现丢包。考虑到网络流量服从Zipf分布,出于减少控制器被请求的次数和对有限交换机空间合理利用的目的,通过对规则的匹配情况进行统计,将“流行”的规则预先下发至交换机处,利用流量局部性原理提高数据包命中交换机规则的概率,从而减少控制器被请求的次数,降低控制器负载。由于用于匹配转发的SDN流表项的匹配域允许通配存在,因此规则间的匹配域会出现重叠的情况,即一个数据包头可能匹配多条规则,这种多条规则间的关系称为规则间的依赖关系。根据优先级的不同,当数据包到达时,交换机将应用该数据包所能匹配的最高优先级的规则进行转发,当找不到匹配项时则请求控制器下发相应的规则,若在规则下发时未考虑规则间的依赖关系时,即当低优先级的转发规则已存在于交换机时,数据包在经过交换机时将直接匹配转发,不会发送失配请求至控制器,从而导致了错误的匹配行为。因此在进行规则缓存时必须考虑到规则间的依赖关系,才能保证规则下发的正确性。近年,SDN中处理规则依赖问题的缓存方法有:技术方案1:依赖集缓存方法。该方法是最直接的保证规则依赖关系的缓存方法,当规则被选中,直接将规则相关的所有依赖规则一同下发,保证了规则缓存的正确性。技术方案2:覆盖集缓存方法。覆盖集方法通过使用“拼接”技术避免缓存因为依赖关系而引入的低权重的规则,该方法不仅保证了规则的正确性还节省了交换机的流表空间,用户拥有更多的空间缓存高权重的规则。技术方案3:混合集缓存方法。混合集方法考虑到依赖集方法和覆盖集方法的优势,分别计算每个规则使用不同方法时的规则的比值,规则的选择是从全局出发更具有实用性。技术方案4:CAB缓存方法。将域空间划分为多个逻辑空间称为一个块,每一个规则都关联一个或多个块,当数据包到达时,先确定数据包所属的块,再下发该块中关联的所有规则即可。上述方案1中存在的主要问题是:缓存所有的依赖关系将导致很高的缓存代价,尤其是当一个高权重的规则依赖了许多低权重的规则。因此依赖集方法中缓存高权重规则所依赖的所有低权重规则时不仅占用了交换机空间还影响规则的命中率。上述方案2中存在的主要问题是:尽管覆盖集方法减少了规则的缓存代价,但该方法仍会将一部分流量重定向至其他决策组件使缓存规则的总权重减少,从而影响命中率。上述方案3中存在的主要问题是:混合集方法缓存规则的方式不灵活,规则选择时要么缓存整个依赖集规则,要么直接缓存规则及其覆盖集,这将导致丢失许多高权重的缓存方案。该方法忽略了混合集的出现将带来规则全新的缓存组合,该组合能够获得更高的缓存权重,将有助于提高命中率。上述方案4中存在的主要问题是:交换机空间有限,若命中某块时下发全部的规则,当规则间相关性较低时,多余的规则会占用额外的空间造成浪费。此外,由于数据包需先计算命中的块,因此需要额外存储已下发块信息,占用更多的存储空间。
技术实现思路
为了解决上述问题,本专利技术提供了一种SDN中采用多路搜索缩减规则依赖的缓存方法,克服现有缓存算法缓存方式过于单一的缺点,利用覆盖集的灵活性构造多种规则缓存方案,对于依赖链上的低权重的规则进行缩减,节省交换机存储空间的同时还有助于将权重高的规则尽可能多的缓存起来。为达到上述目的,本专利技术所述一种SDN中采用多路搜索缩减规则依赖的缓存方法包括以下步骤:步骤1、刻画规则的指标,将统计时段内各规则与数据包的匹配情况作为各规则的权重W;步骤2、当交换机容量为N时,选取规则权重为前N大的规则作为初始结果集;步骤3、将初始结果集中的规则按依赖关系划分成多个候选子集;步骤4、补全步骤3得到的每个候选子集的依赖关系,使其成为语义正确的可下发的规则;步骤5、以步骤4得到的各候选子集作为起始进行多路搜索,根据规则的指标选取规则使各候选子集中的规则总数等于交换机总容量;步骤6、从步骤5得到的候选子集中选取总权重最大的规则集作为目标集;步骤7、将目标集所包含的规则缓存至交换机处。进一步的,步骤1中,根据规则间的依赖关系表示成一条依赖链,由依赖链的结构得到各规则的缓存代价c,根据缓存代价c和规则权重W计算每个规则依赖指标和覆盖指标。进一步的,当规则Ri所依赖的规则为{Rj,...,Rm},Ri所依赖的规则的权重为{Wj,...,Wm}时,依赖指标的计算公式为:覆盖指标的计算公式为:其中,m-j+1为Ri所依赖的规则的长度。进一步的,步骤5具体操作方法为:若所有候选子集包含的规则总数等于交换机容量,合并所有候选子集后作为目标规则集,规则选择过程结束;否则,以候选子集作为起始进行多路搜索,遍历每个候选子集,将其包含的规则置为已处理后,每次选取未处理规则中依赖指标和覆盖指标值最大的规则作为候选规则,若该规则的依赖指标大于覆盖指标,当交换机剩余空间足够时标记该规则为已处理后,将该规则及其依赖规则加入到候选子集中;交换机空间不够时,将该规则的依赖指标置为最小值后进入下一次选择直到交换机空间被放满;若选中的规则的覆盖指标大于依赖指标,当交换机空间足够时标记该规则为已处理后将该规则及其覆盖规则加入到候选子集中,交换机空间不够时,将该规则的覆盖指标置为最小值后进入下一次选择直到交换机空间被放满。进一步的,步骤2中,先根据每个规则的权重进行递减排列得到初始有序规则序列,再从有序序列中选取前N个规则作为结果集。进一步的,步骤3中,当某个规则被多个规则所依赖时,将该规则分别加入到依赖规则的子集中。进一步的,步骤4的操作过程为:首先检查划分后的候选子集中包含的规则的依赖关系是否完整,若依赖关系完整则处理下一个候选子集,若不完整则补全规则的依赖关系,首先判断待补全规则包含的依赖链的状态,当交换机仍有剩余空间时,若只有链尾最后一个规则未被选入候选子集中,则将链尾规则加入至候选子集中;若不仅仅是链尾规则未被选入候选子集中,则在候选子集中加入已在候选子集链端规则的覆盖规则Rk*。进一步的,步骤4中,覆盖规则Rk*与规则Rk的匹配域相同,动作不同,规则Rk为最后一位选入初始结果集中的规则Rj所依赖的规则。与现有技术相比,本专利技术至少具有以下有益的技术效果,本专利技术将“流行”的规则预先缓存至交换机处,利用流量局部性原理提高数据包命中交换机规则的概率,从而减少控制器被请求的次数,降低控制器负载,加快数据包转发速度,减少网络延迟。由于在一段时间内规则的权重反映了规则的匹配情况,一般地,规则权重越大规则越常用,因此本专利技术提出的缓存算法以最大化规则集总权重作为规则选择的目标,当交换机容量为N时,即交换机所能容纳的规则数最多为N条,理想情况下当有N条规则且规则间不存在任何依赖关系时,只需要缓存权重前N大的规则即可,但由于规则本文档来自技高网
...

【技术保护点】
1.一种SDN中采用多路搜索缩减规则依赖的缓存方法,其特征在于,包括以下步骤:步骤1、刻画规则的指标,将统计时段内各规则与数据包的匹配情况作为各规则的权重W;步骤2、当交换机容量为N时,选取规则权重为前N大的规则作为初始结果集;步骤3、将初始结果集中的规则按依赖关系划分成多个候选子集;步骤4、补全步骤3得到的每个候选子集的依赖关系,使其成为语义正确的可下发的规则;步骤5、以步骤4得到的各候选子集作为起始进行多路搜索,根据规则的指标选取规则使各候选子集中的规则总数等于交换机总容量;步骤6、从步骤5得到的候选子集中选取总权重最大的规则集作为目标集;步骤7、将目标集所包含的规则缓存至交换机处。

【技术特征摘要】
1.一种SDN中采用多路搜索缩减规则依赖的缓存方法,其特征在于,包括以下步骤:步骤1、刻画规则的指标,将统计时段内各规则与数据包的匹配情况作为各规则的权重W;步骤2、当交换机容量为N时,选取规则权重为前N大的规则作为初始结果集;步骤3、将初始结果集中的规则按依赖关系划分成多个候选子集;步骤4、补全步骤3得到的每个候选子集的依赖关系,使其成为语义正确的可下发的规则;步骤5、以步骤4得到的各候选子集作为起始进行多路搜索,根据规则的指标选取规则使各候选子集中的规则总数等于交换机总容量;步骤6、从步骤5得到的候选子集中选取总权重最大的规则集作为目标集;步骤7、将目标集所包含的规则缓存至交换机处。2.根据权利要求1所述的一种SDN中采用多路搜索缩减规则依赖的缓存方法,其特征在于,步骤1中,根据规则间的依赖关系表示成一条依赖链,由依赖链的结构得到各规则的缓存代价c,根据缓存代价c和规则权重W计算每个规则依赖指标和覆盖指标。3.根据权利要求2所述的一种SDN中采用多路搜索缩减规则依赖的缓存方法,其特征在于,当规则Ri所依赖的规则为{Rj,...,Rm},Ri所依赖的规则的权重为{Wj,...,Wm}时,依赖指标的计算公式为:覆盖指标的计算公式为:其中,m-j+1为Ri所依赖的规则的长度。4.根据权利要求2所述的一种SDN中采用多路搜索缩减规则依赖的缓存方法,其特征在于,步骤5具体操作方法为:若所有候选子集包含的规则总数等于交换机容量,合并所有候选子集后作为目标规则集,规则选择过程结束;否则,以候选子集作为起始进行多路搜索,遍历每个候选子集,将其包含的规则置为已处理后,每次选取未处理规则中依赖指标和覆盖指标值最...

【专利技术属性】
技术研发人员:王换招冯琳张鹏唐亚哲李沛梅凡
申请(专利权)人:西安交通大学
类型:发明
国别省市:陕西,61

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

1