[发明专利]一种软件定义网络的规则动态下发方法和装置有效
申请号: | 201510071176.0 | 申请日: | 2015-02-10 |
公开(公告)号: | CN104715019B | 公开(公告)日: | 2017-11-21 |
发明(设计)人: | 李军;陈昌;胡效赫;王翔;向阳 | 申请(专利权)人: | 清华大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;H04L29/08 |
代理公司: | 北京路浩知识产权代理有限公司11002 | 代理人: | 李相雨 |
地址: | 100084 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 软件 定义 网络 规则 动态 下发 方法 装置 | ||
技术领域
本发明涉及网络过滤和监控技术领域,具体涉及一种软件定义网络的规则动态下发方法和装置。
背景技术
软件定义网络(SDN)是一种新型网络架构。其通过将网络设备的控制面从数据面中剥离,将控制逻辑集中于一个专用的控制器当中,可实现对网络功能更为集中和灵活的管控。在SDN的数据面,每个网络设备根据自身存储的规则集合对流经自身的网包进行分类,即寻找与网包匹配的规则并做出相应的处理决策。其中每个网络设备中的规则集由SDN控制面的控制器下发:即控制器负责处理全局控制逻辑,并通过规则下发算法向各个网络设备下发相应的规则集。
控制器或网络设备中存储的规则可用计算几何学进行模型化描述:规则中每个域的取值范围张成整个多维空间,每个规则对应该多维空间中的一个超长方体,每个网包包头中的相关域取值对应该空间中的一个点。若某个网包对应的点落入某条规则对应的超长方体,则称该网包与该条规则匹配。一个网包可能与多条规则匹配,此时选取其中优先级最高的规则进行相应处理。
控制器向网络设备的规则动态下发方法直接影响网络设备对流量的处理性能:1)网络设备的规则存储空间有限,下发过多的规则会超出其处理能力。2)若网包未在网络设备中找到匹配规则(称为规则缺失),则网络设备会将该网包信息动态上传至控制器,等待控制器下发相应规则再做处理。若控制器下发的规则体积较小,则规则缺失较多,导致网络设备对流量的平均处理速率降低;若控制器下发的规则体积过大,则可能导致网络设备与控制器的决策不一致。因此,保证一致性并高效的动态规则下发方法在学术界和工业界备受关注。
现有动态规则下发的代表性方法包括:根据上传的网包信息下发精确匹配(即无通配符)的规则,此方法能保证决策一致性但会引发大量规则缺失;根据上传的网包信息将所有与命中规则相依赖的规则悉数下发,此方法往往占用过多设备存储空间,甚至超出设备存储上限。
发明内容
针对现有技术的不足,本发明提供一种软件定义网络的规则动态下发方法和装置,能够在保证控制面与数据面决策一致性的前提下,极大地提高下发规则的流量有效覆盖范围,显著节省设备内存占用、减小规则缺失的发生率。
为实现上述目的,本发明通过以下技术方案予以实现:
第一方面,本发明提供了一种软件定义网络的规则动态下发方法,包括:
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:
即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.对上述构建的下发规则进行几何空间“相交”操作,得到最终的单个下发规则,再进行规则下发操作;
所述“相交”操作,为通过计算得到上述构建的所有规则的匹配范围的重叠区域,作为最终规则的匹配范围。
其中,所述的软件定义网络的规则动态下发方法,还包括S4.对规则全集进行增量更新,具体包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于清华大学,未经清华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510071176.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于哈希方法的多标记学习的学习方法
- 下一篇:数据处理方法及服务器