当前位置: 首页 > 专利查询>清华大学专利>正文

一种软件定义网络的规则动态下发方法和装置制造方法及图纸

技术编号:11611895 阅读:46 留言:0更新日期:2015-06-17 12:17
本发明专利技术提供了一种软件定义网络的规则动态下发方法,包括S1.将规则全集R构建若干规则子集RS,使每个规则子集RS中的规则均满足完全层次嵌套关系,并将每个规则子集RS生成为一个完全层次嵌套树;S2.根据各规则子集生成的完全层次嵌套树以及上传的网包,构建相应的下发规则;S3.对上述构建的下发规则进行几何空间“相交”操作,得到最终的单个下发规则,再进行规则下发操作。本发明专利技术所述的软件定义网络的规则动态下发方法能够在保证控制面与数据面决策一致性的前提下,极大地提高下发规则的流量有效覆盖范围,显著节省设备内存占用、减小规则缺失的发生率。

【技术实现步骤摘要】

本专利技术涉及网络过滤和监控
,具体涉及一种软件定义网络的规则动态下 发方法和装置。
技术介绍
软件定义网络(SDN)是一种新型网络架构。其通过将网络设备的控制面从数据面 中剥离,将控制逻辑集中于一个专用的控制器当中,可实现对网络功能更为集中和灵活的 管控。在SDN的数据面,每个网络设备根据自身存储的规则集合对流经自身的网包进行分 类,即寻找与网包匹配的规则并做出相应的处理决策。其中每个网络设备中的规则集由SDN 控制面的控制器下发:即控制器负责处理全局控制逻辑,并通过规则下发算法向各个网络 设备下发相应的规则集。 控制器或网络设备中存储的规则可用计算几何学进行模型化描述:规则中每个域 的取值范围张成整个多维空间,每个规则对应该多维空间中的一个超长方体,每个网包包 头中的相关域取值对应该空间中的一个点。若某个网包对应的点落入某条规则对应的超长 方体,则称该网包与该条规则匹配。一个网包可能与多条规则匹配,此时选取其中优先级最 高的规则进行相应处理。控制器向网络设备的规则动态下发方法直接影响网络设备对流量的处理性能:1)网络设备的规则存储空间有限,下发过多的规则会超出其处理能力。2)若网包未在网络设 备中找到匹配规则(称为规则缺失),则网络设备会将该网包信息动态上传至控制器,等待 控制器下发相应规则再做处理。若控制器下发的规则体积较小,则规则缺失较多,导致网络 设备对流量的平均处理速率降低;若控制器下发的规则体积过大,则可能导致网络设备与 控制器的决策不一致。因此,保证一致性并高效的动态规则下发方法在学术界和工业界备 受关注。 现有动态规则下发的代表性方法包括:根据上传的网包信息下发精确匹配(即无 通配符)的规则,此方法能保证决策一致性但会引发大量规则缺失;根据上传的网包信息 将所有与命中规则相依赖的规则悉数下发,此方法往往占用过多设备存储空间,甚至超出 设备存储上限。
技术实现思路
针对现有技术的不足,本专利技术提供一种软件定义网络的规则动态下发方法和装 置,能够在保证控制面与数据面决策一致性的前提下,极大地提高下发规则的流量有效覆 盖范围,显著节省设备内存占用、减小规则缺失的发生率。 为实现上述目的,本专利技术通过以下技术方案予以实现: 第一方面,本专利技术提供了一种软件定义网络的规则动态下发方法,包括: S1.将规则全集R构建若干规则子集RS,使每个规则子集RS中的规则均满足完全 层次嵌套关系,并将每个规则子集RS生成为一个完全层次嵌套树; 其中,一个规则子集为RS= {R1,R2,…,此};其中R1,R2,…,此为规则子集中 的规则;Rn.match= {,,…,} ;Rn.match表不规则 Rn的匹配范围,共有D个维度,D多1,表示规则Rn在第d个维度上的匹配范 围,KD; 对于一个规则子集RS= {R1,R2,…,Rn}中的任意两个规则Ri和Rj,对于任意维 度d,若滿圮以下关系,_该挪_子隼中的规则均满足完全层次嵌套关系,1彡i<j彡n:【主权项】1. 一种软件定义网络的规则动态下发方法,其特征在于,包括:51. 将规则全集R构建若干规则子集RS,使每个规则子集RS中的规则均满足完全层次 嵌套关系,并将每个规则子集RS生成为一个完全层次嵌套树; 其中,一个规则子集为RS={R1,R2,…,Rn};其中R1,R2,…,Rn为规则子集中的规 贝丨J;Rn.match= {,,…,} ;Rn.match表不规则Rn 的匹配范围,共有D个维度,D彡1,表示规则Rn在第d个维度上的匹配范围, 1彡d彡D; 对于一个规则子集RS= {Rl,R2,…,Rn}中的任意两个规则Ri和Rj,对于任意维度d,若满足以下关系,则该规则子集中的规则均满足完全层次嵌套关系,I<i<j<n:52. 根据各规则子集生成的完全层次嵌套树以及上传的网包,构建相应的下发规则; 其中,具体的构建过程包括: S21?读取上报的网包P,得到P.match,记为Rm;其中,P.value= {pl,p2,...,pD},P.value表示网包P包头域的具体取值,共有D个维度,其中第d个维度的取值为pd; P.match表示网包P匹配的规则中的优先级最高的规则;522. 读取完全层次嵌套树T,判断Rm是否为T的叶子结点;523. 若Rm为T的叶子结点,则返回Rm;若Rm不是T的叶子结点,令Rout=Rm;将T 中Rout的所有子节点送入队列Q;524. 判断队列Q是否为空,若为空,则返回Rout作为下发规则;若不为空,则从Q中取 出规则Robs;按照体积损失最小原则,选取一个维度切分Rout,使切分后的Rout与Robs不 交叠;53. 对上述构建的下发规则进行几何空间"相交"操作,得到最终的单个下发规则,再进 行规则下发操作。 所述"相交"操作,为通过计算得到上述构建的所有规则的匹配范围的重叠区域,作为 最终规则的匹配范围。2. 根据权利要求1所述的软件定义网络的规则动态下发方法,其特征在于,还包括 S4.对规则全集进行增量更新,具体包括:541. 利用Sl所述的方法将增加的所有规则划分为若干规则子集,构建相应的完全层 次嵌套树;将所有构建的完全层次嵌套树送入队列Q_add;542. 判断Q_add是否为空,若是,则结束增量更新;否则,从Q_add中取出Branch,取 Branch的根结点R;543. 将规则子集RS中的所有完全层次嵌套树送入队列Q_original;544. 判断Q_original是否为空,若是,则向规则子集RS添加一个完全层次嵌套树,初 始化为Branch,返回执行S42 ;否则,从Q_original中取出T; S45?判断R.start,match是否等于R.end.match,其中,R.start= {Rsl,Rs2,…,RsD},R.end= {Rel,Re2,…,ReD},若不等于,则返回步骤S44 ;否则,令Rm为R.start. match;将Rm所有子结点入队列Qc,初始化列表subR为空; S46.判断Qc是否为空;若为空,则R根据subR中规则添加子结点,Rm根据subR中规 则删除子结点,Rm添加子结点R,返回执行S42 ;否则从Qc中取出规则Re; S47.判断Re是否嵌套于R,若是,则将Re加入subR,返回执行S46 ;否则判断Re与R是 否交叠,若是,则向规则子集RS添加一个完全层次嵌套树,初始化为Branch,返回执行S42 ; 否则返回执行S46。3. -种软件定义网络的规则动态下发装置,其特征在于,包括预处理单元、下发规则构 建单元和规则动态下发单元; 所述预处理单元,用于将规则全集R构建若干规则子集RS,使每个规则子集RS中的规 则均满足完全层次嵌套关系,并将每个规则子集RS生成为一个完全层次嵌套树; 其中,一个规则子集为RS={R1,R2,…,Rn};其中R1,R2,…,Rn为规则子集中的规 贝丨J;Rn.match= {,,…,} ;Rn.match表不规则Rn 的匹配范围,共有D个维度,D彡1,表示规则Rn在第d个维度上的匹配范围, 1彡d彡D; 对于一个规则子集RS= {Rl,R2,…,Rn}中的任意两个规则本文档来自技高网
...
一种<a href="http://www.xjishu.com/zhuanli/55/CN104715019.html" title="一种软件定义网络的规则动态下发方法和装置原文来自X技术">软件定义网络的规则动态下发方法和装置</a>

【技术保护点】
一种软件定义网络的规则动态下发方法,其特征在于,包括:S1.将规则全集R构建若干规则子集RS,使每个规则子集RS中的规则均满足完全层次嵌套关系,并将每个规则子集RS生成为一个完全层次嵌套树;其中,一个规则子集为RS={R1,R2,…,Rn};其中R1,R2,…,Rn为规则子集中的规则;Rn.match={[Rns1,Rne1],[Rns2,Rne2],…,[RnsD,RneD]};Rn.match表示规则Rn的匹配范围,共有D个维度,D≥1,[Rnsd,Rned]表示规则Rn在第d个维度上的匹配范围,1≤d≤D;对于一个规则子集RS={R1,R2,…,Rn}中的任意两个规则Ri和Rj,对于任意维度d,若满足以下关系,则该规则子集中的规则均满足完全层次嵌套关系,1≤i<j≤n:[Risd,Ried]⊆[Rjsd,Rjed],]]>即Ri嵌套于Rj中;S2.根据各规则子集生成的完全层次嵌套树以及上传的网包,构建相应的下发规则;其中,具体的构建过程包括:S21.读取上报的网包P,得到P.match,记为Rm;其中,P.value={p1,p2,…,pD},P.value表示网包P包头域的具体取值,共有D个维度,其中第d个维度的取值为pd;P.match表示网包P匹配的规则中的优先级最高的规则;S22.读取完全层次嵌套树T,判断Rm是否为T的叶子结点;S23.若Rm为T的叶子结点,则返回Rm;若Rm不是T的叶子结点,令Rout=Rm;将T中Rout的所有子节点送入队列Q;S24.判断队列Q是否为空,若为空,则返回Rout作为下发规则;若不为空,则从Q中取出规则Robs;按照体积损失最小原则,选取一个维度切分Rout,使切分后的Rout与Robs不交叠;S3.对上述构建的下发规则进行几何空间“相交”操作,得到最终的单个下发规则,再进行规则下发操作。所述“相交”操作,为通过计算得到上述构建的所有规则的匹配范围的重叠区域,作为最终规则的匹配范围。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李军陈昌胡效赫王翔向阳
申请(专利权)人:清华大学
类型:发明
国别省市:北京;11

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

1