CN112437065A - Sdn环境下基于图形表示的策略冲突检测及解决方法 - Google Patents

Sdn环境下基于图形表示的策略冲突检测及解决方法 Download PDF

Info

Publication number
CN112437065A
CN112437065A CN202011259536.7A CN202011259536A CN112437065A CN 112437065 A CN112437065 A CN 112437065A CN 202011259536 A CN202011259536 A CN 202011259536A CN 112437065 A CN112437065 A CN 112437065A
Authority
CN
China
Prior art keywords
graph
strategy
bit
node
edges
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.)
Granted
Application number
CN202011259536.7A
Other languages
English (en)
Other versions
CN112437065B (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.)
Anhui University
Original Assignee
Anhui 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 Anhui University filed Critical Anhui University
Priority to CN202011259536.7A priority Critical patent/CN112437065B/zh
Publication of CN112437065A publication Critical patent/CN112437065A/zh
Application granted granted Critical
Publication of CN112437065B publication Critical patent/CN112437065B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开SDN环境下基于图形表示的策略冲突检测及解决方法,本发明使用扩展的多位前缀树存储流规则,并生成相应的等价类EC和配置图,再将网络策略展现成策略图的形式,先将每次网络更新产生的策略更改先应用于网络模型,从该网络模型中计算受到影响的EC;然后,再通过违规检测模块检查网络模型中的每个受到影响的EC是否发生了策略违规;若发生了任何违规,则压缩配置图和物理拓扑图并将其传递给违规解决模块;接着,优化器返回要添加或删除掉的EC配置图的一组边,并将其应用于网络模型,转化为具体的OpenFlow规则;最后利用启发式算法实现规则在转发设备上的最优部署。本发明通过将网络策略正确性条件表示为图形而不是传统方法的路径集合,可以处理更丰富的策略集和实现最佳修复检测到的违规行为。同时,本发明采用启发式的规则布局算法,最小化交换机中的规则数。本发明以较小的开销拒绝非法的流规则,解决了所有的策略违规问题,避免了大量端点策略的规则冲突,保证了一定的网络服务质量。

Description

SDN环境下基于图形表示的策略冲突检测及解决方法
技术领域
本发明涉及网络安全技术,具体涉及一种SDN环境下基于图形表示的策略冲突检测及解决方法。
背景技术
软件定义网络(SDN)是一种新型的网络体系结构,通过将控制模块从转发设备上分离出来,有助于更好地进行网络管理,简化新网络功能的部署。网络控制逻辑由运行在物理设备上的臃肿路由协议组成,与传统网络中的网络拓扑信息和设备配置信息协同工作,而网络控制逻辑则由SDN控制器实现,逻辑集中控制在SDN中。OpenFlow是一种最著名的南向接口协议,它授权控制器依赖交换机中数据包的转发路径。网络的可用性、安全性和QoS决定了网络策略的准确执行,网络运营商通过编写SDN应用程序来实现这些策略。
各种各样的网络,无论是DCN、WAN还是校园局域网,都受到高级策略的控制,从而知道可以访问哪些网络资源,从而提供安全可靠的网络服务。网络管理员通过操作SDN控制器将网络级策略转换为原子流规则,并将其部署到硬件或软件设备上。这种转换基本上是手工驱动的,通常由专家网络管理员随着时间的推移内化。在大规模的网络社区中,服务器管理员、网络工程师、DNS管理员和普通用户等多个网络用户并存,这些用户将自己设计的策略应用于他们所拥有或管理的网络部分。这些企业网络用户和管理者必须手动检查越来越多的策略组在同一位置安装时不会相互冲突,并符合各自预期的高级策略,这需要几天甚至几周的时间来计划和实施,以保证有效性和一致性。
现有技术通常也只在策略实施过程中才检查错误和对应后果,然而这些后果会逐渐消失(例如,代价高昂的数据泄露、分段违规和渗透)。因此,检测和消除这些错误对于保证网络安全至关重要,但这是一项极具挑战性的工作。现有技术冲,手动配置和维护网络配置容易出错,而且速度慢。考虑到新攻击介质传播的复杂性和速度,人工更新和测试新配置将使网络处于易受攻击状态,直到攻击介质被完全保护为止。甚者,随着网络基础设施朝着更加自动化的趋势发展,情况会变得更糟,在这种基础设施中,独立和动态地生成策略的实体的数量将增加数倍。例如,校园网中的SDN应用程序、虚拟化云环境的租户和网络功能虚拟化(NFV)都是这样。虽然SDN支持新功能,但应用程序设计者可能不了解部署这些应用程序的现有网络中的策略和安全要求。更糟糕的是,用高级语言(例如Java或Python)编程的SDN应用程序可能会非常复杂。
考虑到上述情况,迫切希望在将策略部署到数据平面之前自动检测和解决策略冲突和端点策略冲突。
发明内容
发明目的:本发明的目的在于解决现有技术中存在的不足,提供一种SDN环境下基于图形表示的策略冲突检测及解决方法,本发明不仅能够解决策略冲突,还可以大幅减少交换机中的规则数,从而避免规则***;同时还可将策略规范和底层物理设备分离以形成高层策略抽象,最终将大大减轻应用程序开发人员制定和实现策略的负担。
技术方案:本发明的一种SDN环境下基于图形表示的策略冲突检测及解决方法,依次包括以下步骤:
S1、构建网络模型:构建多位前缀树TRIE并拓展该多位前缀树TRIE,根据拓展后的多位前缀树TRIE中从树根节点到叶节点的整个路径进行等价类EC分组,然后从每个EC分组中提取对应配置图,进而构建策略图形成网络模型;
S2、冲突检测:使用冲突检测模块来检查网络模型中每个受到影响的EC是否发生策略违规;
S3、冲突解决:压缩配置图和物理拓扑图并将其传递给违规解决模块;优化器返回要添加或删除掉的EC配置图的一组边,并将其应用于网络模型进而转化为对应OpenFlow规则;
S4、布局最优策略:利用启发式算法实现规则在转发设备上的最优部署。
进一步的,所述步骤S1的具体内容是:
步骤S1.1、构建多位前缀树TRIE,多位前缀树TRIE中每个子节点均对应有相应位值,位值包括0、1和*(通配符),多位前缀树TRIE中每个层节点表示包头中相同的比特位位置;多位前缀树TRIE中每个维度的节点组合表示包头字段的信息;
步骤S1.2、扩展步骤1.1中的多位前缀树TRIE,即在多位前缀树TRIE中添加表示每个头字段起始位置的字段指针,以便于快速搜索字段中的策略冲突或策略冲突,通过叶指针链接所有相关的叶节点,将从树根节点到叶节点的整个路径对应于流表条目的所有匹配字段;
步骤S1.3、根据整个路径中的流规则,将经历相同流规则动作的包划分为一个等价类EC,每个等价类EC均由一系列具有特定值的位定义,属于同一EC的分组将被相同的流规则匹配;
步骤S1.4、将生成的ECs存储在叶子节点中,如果有更新规则则将定期升级;然后快速搜索出受影响的违反策略的云服务器;从每个EC中提取EC中定义的包转发行为的配置图;最后添加或删除给定的EC修复必须浏览配置图链接,查找链接添加需要检查物理拓扑中边缘定义的拓扑图。
进一步的,上述所述步骤S1.4中快速搜索的方法为:
使用TRIE数据结构来存储网络中所有设备中存在的所有转发规则,这能够快速查找与新***的规则重叠的现有规则,将每个规则视为二进制字符串,并使用单个位来表示TRIE,TRIE中的每个级别代表特定规则中的一个位。例如,对于传统的基于目的前缀的路由,TRIE中有32个级别。TRIE中的每个节点都有三个分支:如果相应的规则位为0则采用第一个分支,如果规则位为1则采用第二个分支,如果该位不关心则采用第三个分支(通配符);TRIE中的叶子存储实际规则,实际规则由从TRIE根开始的特定叶子的路径表示,一旦构建了这样的TRIE,搜索重叠规则变得非常简单且非常快。给定一个新规则,从规则的第一位开始,并从它的根开始遍历TRIE,检查每个位并采用位值指向的分支,对于*位,需要探索当前节点的所有分支,因为*位可以取任何值,对于0或1位,则探索0或1分支和*分支;一旦到达正在探索的所有路径的叶子,就会得到一个与新规则重叠的规则列表,使用这些规则来构造等价类和配置图,以用于检测网络策略冲突。
将网络分成一组等价的包类,即在整个网络中转发属于同一类操作的包,称为等价类,英文名为Equivalence Classes,简称为EC。网络的每次更改通常只影响极少数的等价类。因此,找到了一组操作可以被规则改变的等价类集合,并仅在这些类中检测网络策略冲突。
本发明中扩展的TRIE添加有新的leaf指针,以便有效地将新EC(由新规则生成)与现有EC相关联,还增加有字段首地址指针,OpenFlow1.0有十二个字段的。
进一步的,所述步骤S2的具体内容是:
S2.1、基于步骤S1构建的策略图,在包头模式上定义一个策略图,该策略图上的每个节点均是基于物理或软件的设备,可以表达定性和定量的可达性约束,为了简单起见,没有描述包头模式,策略图中的边由表示不同类型可达性约束的标签标识,即用m表示从节点a到节点b的路径数,用n来限制跳数;
S2.2、通过环路检测和清除算法来修复网络中的环路,然后运行冲突检测模块(多位前缀树及配置图等);复环路的目标是对现有网络进行最小的更改,即以尽量减少对ECs的影响为目标,同时尽量减少删除规则的数量;并且冲突检测模块中压缩后的图与原图在相关策略上等价;
为实现负载平衡或弹性需要压缩图;且压缩后的图与原图在相关策略上等价;此处根据下述互模拟关系来压缩带标签的有向图,即:
把G=(V,E,L)表示为有向图;V代表一组节点,(a,b)∈E表示从节点a到节点b的有向边;L(a)∈Γ表示节点a的标签,其中Γ是应用于V的标签集(在网络***上下文中,这些标签表示一组功能相似的网络节点,例如主机、防火墙、负载平衡);图G=(V,E,L)的一个互模拟关系是一个二元关系
Figure BDA0002774180220000041
对于所有(a,b)∈BR:
1)、L(a)=L(b);
2)、
Figure BDA0002774180220000042
则(a′,b′)∈BR;
3)、
Figure BDA0002774180220000043
则(a′,b′)∈BR.
对上述定图ECc,p和T进行压缩,其中ECc和T均根据pc压缩的,则压缩后的图表示为ECc′,P′,T′;策略图中的信息在压缩后不会丢失。然后计算ECc上的互模拟关系,以及基于双模拟度对图进行压缩。
ECc上的互模拟关系计算方法为:首先根据ECc′的无向压缩T中与ECc重叠的部分,然后在不重叠部分和原始边为T的压缩部分之间绘制边,压缩算法的时间复杂度为O(|E|log|V|)。
压缩算法具体描述为以下步骤:给定输入ECc,P,T;
1)、计算ECc的最大互模拟关系BR;
2)、计算集群clusters=V/BR;
3)、折叠每个cluster∈clusters中的节点;
4)、计算压缩后的ECc′,T′。
输出为ECc′,T′。
S2.3、当冲突检测模块发现违反的EC时,执行对冲突解决模块中的冲突解决算法;在拦截更新时,为每个受影响的EC构建对应网络模型,该网络模型捕获EC内所有数据包的配置转发行为;然后将有向配置图、拓扑图和策略图作为冲突解决算法的输入,其目标是以最佳方式修复检测到的违规行为,即对原始配置的更改次数最少,将修复问题描述为对应的优化问题:目标是增加或删除配置图上的最小边数,以便修改后的配置子图符合相关的策略子图且添加的边受到物理拓扑图的约束;
S2.4、将基本可达性策略的修复问题的描述描述为整数线性规划(ILP)问题。
Figure BDA0002774180220000051
Figure BDA0002774180220000052
Figure BDA0002774180220000053
进一步的,所述步骤S2.2中环路检测和清除算法的具体内容为:
定义SL(c)表示ECc中发生的所有循环,n(SL(c))表示ECc中的循环数,τa是ECc的一个子图,当子图无环时,n(τa)=0;
查找并删除ECc循环中的所有相交边;对于ECc中未通过移除这些边缘修复的每个循环,接下来移除一个边缘(a,b),其中作为IP地址的目标(如果存在这样的边缘),当τa仍有循环时,删除循环中具有最具体匹配规则(例如,最长前缀)的边,当计算ECs时,每条边都映射到一个特定的交换机上的特定转发规则,将转发规则替换为drop操作规则将完成对它的删除,这可以防止粗略匹配导致另一个循环。例如,如果只从交换机转发表中删除匹配目标IP10.0.0.1/32的规则,则在同一交换机上匹配10.0.0.1/31并转发到匹配的下一个跳的另一个规则可能会阻止修复循环。由于交换机流表项资源有限,此处对所有粗糙drop规则进行验证,以决定在响应修复过程中是否可以合并一些规则;
Figure BDA0002774180220000061
进一步的,所述步骤S3的具体内容是:在物理拓扑图中删除已经断开连接的物理设备,并将拓扑图中潜在受影响的部分本地化(即只有拓扑边缘的子集被认为可以映射到策略边缘);利用对称规则来压缩图,并保证压缩后的图与原始图符合对应的策略。
在优化公式中,与链路数有关的ECs的一个变量是产生的拓扑和策略图中的边数。优化目标是通过最少的修改来修复问题;
(3.1)首先是物理拓扑的限制,该技术旨在“切掉”网络的不相关或冗余部分,先删除掉已经断开连接的物理设备,接下来将拓扑中潜在受影响的部分本地化,即只有拓扑边缘的子集被认为可以映射到策略边缘;
(3.2)除了层次结构外,大多数大型网络的设计模式在一定程度上加强了对称性,以实现负载平衡或弹性。例如,在数据中心Fattree拓扑中,同一层(访问、聚合、核心)上的设备对称地连接到相邻层上的多个设备。利用对称规则来压缩图,并保证压缩后的图必须与原始图符合对应的策略。
进一步的,所述步骤S4中布局最优策略的详细过程为:
S4.1、通过总策略数或n(r)来计算布局的总开销C;
S4.2、为使交换机负载均衡,计算每个交换机的流表存储资源使用率的标准差U;
S4.3、为决定是否应该实施当前的近似最优策略布局算法,使用X来表示当前布局情况下超过容量的交换机数量;当X>0时,标志F等于1,则执行近似最优策略布局算法;
S4.4、近似最优策略布局算法使用E来表示整个网络中整个规则冲突的数量;至此,当前策略放置的好处表示为:W=F/(C×U)-E;
简单地说,该算法的搜索过程是通过转移故障制造者的语义保留来寻求更大的收益;
S4.5、如果任何转移都不会导致当前位置的W更大,则过程终止,并且只有当W>0时,当前情况才是最佳解决方案;并且,近似最优策略布局算法在右侧进行具体的演示。注意,当W≤0时,由于流表溢出,当前情况是不可接受的,这需要在交互模式下与控制器协商以获得适当的操作指令;
上述过程中,设置单跳传输函数Ts,该单跳传输函数Ts的输入参数为一个端点策略Pe个相邻的交换机sa,输出参数是一组新的策略;多个单跳传输函数组成多跳传输函数,由此存在以下三种转移情况:
若p和p的切片p′都不能转移到s,则
Figure BDA0002774180220000071
若只有p可转移到交换机s,则
Figure BDA0002774180220000072
若只有p的切片p′转移到交换机s,则
Figure BDA0002774180220000073
Figure BDA0002774180220000074
其中,符号
Figure BDA0002774180220000075
是用值v替换p.f;
Figure BDA0002774180220000081
通过上述最优策略布局来实现临界流量表的通行能力不受拥堵影响这一优化的额外目标。为了实现语义保留的传输,提出了一个单跳传输函数Ts。在这个函数中,输入参数是一个端点策略Pe个相邻的交换机sa,输出是一组新的策略。多跳传输函数由单跳传输函数组合而成。具体而言,转移存在三种情况:如果p和p的切片都不能转移到s,则
Figure BDA0002774180220000082
如果p可以完成转移到交换机s,
Figure BDA0002774180220000083
如果p的切片(表示为p′)可以转移到交换机s,则
Figure BDA0002774180220000091
符号
Figure BDA0002774180220000092
是用值v替换p.f;。有益效果:与现有技术相比,本发明的优点具体如下:
(1)本发明通过为每个策略构造简单而直观的策略图来抽象地表示网络策略。并用整数线性规划来描述修正策略冲突时最小化修改的优化问题。
(2)本发明开发了启发式算法,自动和可伸缩地进行最优策略布局,可以显著减少规则数量,从而明显避免端点策略冲突。
(3)本发明介绍了GPVC***的设计和实现,该***旨在实现安全策略违反和策略冲突的自动检测和解决,这些冲突会导致代价高昂的数据泄漏、分段违规和入侵。
附图说明
图1为本发明的整体流程图;
图2为本发明使用情境的示意图;
图3为现有技术中的SDN架构示意图;
图4为本发明中扩展的多位前缀树的示意图;
图5为本发明中策略图的示意图;
图6为本发明中步骤S1的具体流程图;
图7为本发明中步骤S2的具体流程图;
图8为本发明中步骤S3的具体流程图;
图9为本发明中步骤S4的具体流程图;
图10为实施例中网络拓扑示意图。
具体实施方式
下面对本发明技术方案进行详细说明,但是本发明的保护范围不局限于所述实施例。
如图1所示,本发明的一种SDN环境下基于图形表示的策略冲突检测及解决方法,依次包括以下步骤:
S1、构建网络模型:构建并拓展多位前缀树TRIE,根据该多为前缀树TRIE中从树根节点到叶节点的整个路径进行等价类EC分组,然后从每个EC分组中提取对应配置图,进而构建策略图形成网络模型;如图6所示。
步骤S1.1、构建多位前缀树TRIE,多位前缀树TRIE中每个子节点对应于三个可能的位值0、1和*,多位前缀树TRIE中每个层节点表示包头中相同的比特位位置;多位前缀树TRIE中每个维度的节点组合表示包头字段的信息;
步骤S1.2、扩展步骤1.1中的多位前缀树TRIE(如图4所示),即在多位前缀树TRIE中添加表示每个头字段起始位置的字段指针,通过叶指针链接所有相关的叶节点,将从树根节点到叶节点的整个路径对应于流表条目的所有匹配字段;
步骤S1.3、根据整个路径中的流规则以及VeriFlow中的命名方式,将经历相同流规则动作的包划分为一个等价类EC,每个等价类EC均由一系列具有特定值的位定义,属于同一EC的分组将被相同的流规则匹配;
步骤S1.4、将生成的ECS存储在叶子节点中,如果有更新规则,它们将定期升级;可以快速搜索出受影响的违反策略的云服务器;从每个EC中提取EC中定义的包转发行为的配置图;最后添加或删除给定的EC修复必须浏览配置图链接,查找链接添加需要检查物理拓扑中边缘定义的拓扑图
S2、冲突检测:使用冲突检测模块来检查网络模型中每个受到影响的EC是否发生策略违规,具体如图7所示
S2.1、在包头模式上定义一个策略图,该策略图上的每个节点均是基于物理或软件的设备,策略图中的边由表示不同类型可达性约束的标签标识,即用m表示从节点a到节点b的路径数,用n来限制跳数;
S2.2、通过环路检测和清除算法来修复网络中的环路,然后运行冲突检测模块;
S2.3、当验证引擎发现违反的EC时,执行算法;在拦截更新时,为每个受影响的EC构建对应网络图模型,该网络图模型捕获EC内所有数据包的配置转发行为;然后将有向配置图、拓扑图和策略图作为修复算法的输入,将修复问题描述为对应的优化问题,该优化问题的目标为增加或删除配置图上的最小边数,以便修改后的配置子图符合相关的策略子图且添加的边受到物理拓扑图的约束;
S2.4、将基本可达性策略的修复问题描述为整数线性规划ILP问题,表达式具体如下:
Figure BDA0002774180220000101
Figure BDA0002774180220000102
Figure BDA0002774180220000111
S3、冲突解决:如图8所示,压缩配置图和物理拓扑图并将其传递给违规解决模块;优化器返回要添加或删除掉的EC配置图的一组边,并将其应用于网络模型进而转化为对应OpenFlow规则;在物理设备拓扑图中删除已经断开连接的物理设备,并将拓扑图中潜在受影响的部分本地化;利用对称规则来压缩图,并保证压缩后的图与原始图符合对应的策略;
S4、布局最优策略:利用启发式算法实现规则在转发设备上的最优部署,具体如图9所示;
S4.1、通过总策略数或n(r)来计算布局的总开销C;
S4.2、为使交换机负载均衡,计算每个交换机的流表存储资源使用率的标准差U;
S4.3、为决定是否应该实施当前的近似最优策略布局算法,使用X来表示当前布局情况下超过容量的交换机数量;当X>0时,标志F等于1,则执行近似最优策略布局算法;
S4.4、近似最优策略布局算法使用E来表示整个网络中整个规则冲突的数量;至此,当前策略放置的好处表示为:W=F/(C×U)-E;
S4.5、如果任何转移都不会导致当前位置的W更大,则过程终止,并且只有当W>0时,当前情况才是最佳解决方案;并且,近似最优策略布局算法在右侧进行具体的演示。注意,当W≤0时,由于流表溢出,当前情况是不可接受的,这需要在交互模式下与控制器协商以获得适当的操作指令;
上述过程中,设置单跳传输函数Ts,该单跳传输函数Ts的输入参数为一个端点策略Pe个相邻的交换机sa,输出参数是一组新的策略;多个单跳传输函数组成多跳传输函数,由此存在以下三种转移情况:
若p和p的切片p′都不能转移到s,则
Figure BDA0002774180220000112
若只有p可转移到交换机s,则
Figure BDA0002774180220000113
若只有p的切片p′转移到交换机s,则
Figure BDA0002774180220000114
Figure BDA0002774180220000115
其中,符号
Figure BDA0002774180220000116
是用值v替换p.f。
如图1和图2所示,本实施例中,SDN环境下策略违规和规则冲突检测和解决方法可用于SDN环境中,该环境下包括内嵌策略冲突检测模块和解决模块的SDN控制器、SDN交换机、主机和服务器这四类主要角色。
实施例:
实验环境:SDN控制器采用Floodlight1.2,网络拓扑模拟Mininet2.2,网络中的策略分两个小实验不同方法生成,第一个通过脚本文件生成,第二个通过工具ClassBench进行模拟,生成特定的网络端点策略。
网络拓扑:如图10所示,Fattree拓扑,10个交换机,2个服务器,6个客户机共8台主机。
实验参数:最优策略布局模块的实验初始设置信息如下表所示。
Figure BDA0002774180220000121
实施过程:
1.首先使用mininet创建一个Fattree拓扑,然后通过编写脚本文件来创建一组流规则。使用scapy生成数据包。在本实施例的网络模型中,分别测试策略冲突检测和解决的可行性,首先随机删除一到两个拓扑通信的流规则,实现存在可达性策略违规的初始状态。
2.在k=4的Fattree拓扑中,根据拓扑中交换机的数量将网络地址划分为20个部分,每个部分对应于底层基于交换机的TCAM所连接的交换机的主机IP范围。然后,使用ClassBench工具在路径上随机安装一些规则(IPsrc、IPdst、Portrangesrc、PortRangedst、Action),作为端点意图生成的端点策略。操作字段用不同的整数表示,以区分不同的操作。
实施例的结果表明:启用本发明技术方案的策略冲突检测和解决方法后,在正常情况下不影响数据包的转发,但是当策略冲突发生时,违规检测模块会定位到受到影响的等价类,通过修复优化算法最终返回对配置图的最小的更改。上述实验结果还可以看出,本发明的最优策略布局算法可以实现对网络端点策略因冲突而产生的额外规则数量的明显缩减。
通过上述实施例可以看出,本发明通过将网络策略正确性条件表示为图形而不是传统方法的路径集合,可以处理更丰富的策略集和实现最佳修复检测到的违规行为。同时,本发明采用启发式的规则布局算法,最小化交换机中的规则数。本发明以较小的开销拒绝非法的流规则,解决了所有的策略违规问题,避免了大量端点策略的规则冲突,保证了一定的网络服务质量。

Claims (7)

1.一种SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:依次包括以下步骤:
S1、构建网络模型:构建多位前缀树TRIE并拓展该多位前缀树TRIE,根据拓展后的多位前缀树TRIE中从树根节点到叶节点的整个路径进行等价类EC分组,然后从每个EC分组中提取对应配置图,进而构建策略图形成网络模型;
S2、冲突检测:使用冲突检测模块来检查网络模型中每个受到影响的EC是否发生策略违规;
S3、冲突解决:压缩配置图和物理拓扑图并将其传递给违规解决模块;优化器返回要添加或删除掉的EC配置图的一组边,并将其应用于网络模型进而转化为对应OpenFlow规则;
S4、布局最优策略:利用启发式算法实现规则在转发设备上的最优部署。
2.根据权利要求1所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S1的具体内容是:
步骤S1.1、构建多位前缀树TRIE,多位前缀树TRIE中每个子节点均对应有相应位值,位值包括0、1和*,多位前缀树TRIE中每个层节点表示包头中相同的比特位位置;多位前缀树TRIE中每个维度的节点组合表示包头字段的信息;
步骤S1.2、扩展步骤1.1中的多位前缀树TRIE,即在多位前缀树TRIE中添加表示每个头字段起始位置的字段指针,通过叶指针链接所有相关的叶节点,将从树根节点到叶节点的整个路径对应于流表条目的所有匹配字段;
步骤S1.3、根据整个路径中的流规则,将经历相同流规则动作的包划分为一个等价类EC,每个等价类EC均由一系列具有特定值的位定义,属于同一EC的分组将被相同的流规则匹配;
步骤S1.4、将生成的ECs存储在叶子节点中,如果有更新规则则将定期升级;然后快速搜索出受影响的违反策略的云服务器;从每个EC中提取EC中定义的包转发行为的配置图;最后添加或删除给定的EC修复必须浏览配置图链接,查找链接添加需要检查物理拓扑中边缘定义的拓扑图。
3.根据权利要求2所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S1.4中快速搜索的方法为:
使用TRIE数据结构来存储网络中所有设备中存在的所有转发规则,将每个规则视为二进制字符串,并使用单个位来表示TRIE,TRIE中的每个级别代表特定规则中的一个位,TRIE中的每个节点都有三个分支:如果相应的规则位为0则采用第一个分支,如果规则位为1则采用第二个分支,如果该位不关心则采用第三个分支,TRIE中的叶子存储实际规则,实际规则由从TRIE根开始的特定叶子的路径表示:给定一个新规则,从规则的第一位开始,并从它的根开始遍历TRIE,检查每个位并采用位值指向的分支,对于*位,需要探索当前节点的所有分支,因为*位可以取任何值,对于0或1位,则探索0或1分支和*分支;一旦到达正在探索的所有路径的叶子,就会得到一个与新规则重叠的规则列表,使用这些规则来构造等价类和配置图,进而检测网络策略冲突;
上述扩展的TRIE添加有新的leaf指针和字段首地址指针。
4.根据权利要求1所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S2的具体内容是:
S2.1、基于步骤S1构建的策略图,在包头模式上定义一个策略图,该策略图上的每个节点均是基于物理或软件的设备,策略图中的边由表示不同类型可达性约束的标签标识,即用m表示从节点a到节点b的路径数,用n来限制跳数;
S2.2、通过环路检测和清除算法来修复网络中的环路,然后运行冲突检测模块;检测时,将G=(V,E,L)表示为有向图;V代表一组节点,(a,b)∈E表示从节点a到节点b的有向边,L(a)∈Γ表示节点a的标签,其中Γ是应用于V的标签集;图G=(V,E,L)的一个互模拟关系是一个二元关系
Figure FDA0002774180210000021
对于所有(a,b)∈BR具有下述关系:
1)、L(a)=L(b);
2)、
Figure FDA0002774180210000022
则(a′,b′)∈BR;
3)、
Figure FDA0002774180210000023
则(a′,b′)∈BR;
对定图ECc,p和T进行压缩后的图为:ECc′,P′,T′;
S2.3、当冲突检测模块发现违反的EC时,执行对冲突解决模块中的冲突解决算法;在拦截更新时,为每个受影响的EC构建对应网络模型,该网络模型捕获EC内所有数据包的配置转发行为;然后将有向配置图、拓扑图和策略图作为冲突解决算法的输入,将修复问题描述为对应的优化问题,该优化问题的目标为增加或删除配置图上的最小边数,以便修改后的配置子图符合相关的策略子图且添加的边受到物理拓扑图的约束;
S2.4、将基本可达性策略的修复问题描述为整数线性规划ILP问题,表达式具体如下:
Figure FDA0002774180210000031
Figure FDA0002774180210000032
Figure FDA0002774180210000033
其中,T是指物理拓扑图,P是指策略图,ECc是指等价类c的配置图,(a,b)是指所有的三种图中节点a到节点b的边,Lab表示从节点a到节点b的路径;Sc(a)表示节点a的ECc的集合Eg表示图g中所有边的集合;n(Eg)表示图g这些边的个数;SNg(a)表示图g中节点a的相邻节点的集合;变量xa,b,e,f是指物理拓扑图边和策略图边之间的映射,如果定向边(a,b)映射到当前ECc的策略边(e,f),即从e到f的流将通过边(a,b)从a转发到b;变量xa,b是指是否使用边缘(a,b)来转发此ECs流量,而不管是哪个流使用它;变量xb,a是指是否使用边缘(b,a)来转发此ECs流量。
5.根据权利要求1所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S2.2中环路检测和清除算法的具体内容为:
定义SL(c)表示ECc中发生的所有循环,n(SL(c))表示ECc中的循环数,τa是ECc的一个子图,当子图无环时,n(τa)=0;
查找并删除ECc循环中的所有相交边;对于ECc中未通过移除这些边缘修复的每个循环,接下来移除一个边缘(a,b),其中作为IP地址的目标,当τa仍有循环时,删除循环中具有最具体匹配规则的边,当计算ECs时,每条边都映射到一个特定的交换机上的特定转发规则,将转发规则替换为drop操作规则将完成对它的删除,由于交换机流表项资源有限,对所有的粗糙drop规则进行验证,以决定在响应修复过程中是否可以合并一些规则。
6.根据权利要求1所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S3的具体内容是:
在物理设备拓扑图中删除已经断开连接的物理设备,并将拓扑图中潜在受影响的部分本地化;利用对称规则来压缩策略图,物理拓扑图和EC配置图,并保证压缩后的策略图,物理拓扑图和EC配置图与原始图符合对应的策略。
7.根据权利要求1所述的SDN环境下基于图形表示的策略冲突检测及解决方法,其特征在于:所述步骤S4中布局最优策略的详细过程为:
S4.1、通过总策略数或n(r)来计算布局的总开销C;
S4.2、为使交换机负载均衡,计算每个交换机的流表存储资源使用率的标准差U;
S4.3、为决定是否应该实施当前的近似最优策略布局算法,使用X来表示当前布局情况下超过容量的交换机数量;当X>0时,标志F等于1,则执行近似最优策略布局算法;
S4.4、近似最优策略布局算法使用E来表示整个网络中整个规则冲突的数量;至此,当前策略放置的好处表示为:W=F/(C×U)-E;
S4.5、如果任何转移都不会导致当前位置的W更大,则过程终止,并且只有当W>0时,当前情况才是最佳解决方案;并且,近似最优策略布局算法在右侧进行具体的演示。注意,当W≤0时,由于流表溢出,当前情况是不可接受的,这需要在交互模式下与控制器协商以获得适当的操作指令;
上述过程中,设置单跳传输函数Ts,该单跳传输函数Ts的输入参数为一个端点策略Pe个相邻的交换机sa,输出参数是一组新的策略;多个单跳传输函数组成多跳传输函数,由此存在以下三种转移情况:
若p和p的切片p′都不能转移到s,则
Figure FDA0002774180210000041
若只有p可转移到交换机s,则
Figure FDA0002774180210000042
若只有p的切片p′转移到交换机s,则
Figure FDA0002774180210000043
Figure FDA0002774180210000044
其中,符号
Figure FDA0002774180210000045
是用值v替换p.f;
Sw是指交换机switch,cs是指当前交换机current switch;Pe[i]近似最优策略布局算法中策略集合。
CN202011259536.7A 2020-11-12 2020-11-12 Sdn环境下基于图形表示的策略冲突检测及解决方法 Active CN112437065B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011259536.7A CN112437065B (zh) 2020-11-12 2020-11-12 Sdn环境下基于图形表示的策略冲突检测及解决方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011259536.7A CN112437065B (zh) 2020-11-12 2020-11-12 Sdn环境下基于图形表示的策略冲突检测及解决方法

Publications (2)

Publication Number Publication Date
CN112437065A true CN112437065A (zh) 2021-03-02
CN112437065B CN112437065B (zh) 2022-06-21

Family

ID=74700715

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011259536.7A Active CN112437065B (zh) 2020-11-12 2020-11-12 Sdn环境下基于图形表示的策略冲突检测及解决方法

Country Status (1)

Country Link
CN (1) CN112437065B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093710A1 (zh) * 2021-11-23 2023-06-01 华为云计算技术有限公司 一种网络配置方法及装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202303A (zh) * 2014-08-11 2014-12-10 华中科技大学 一种sdn应用的策略冲突检测方法及***
CN105721297A (zh) * 2016-01-28 2016-06-29 北京国电通网络技术有限公司 基于sdn网络中路由环路的检测方法及***
CN106411568A (zh) * 2016-08-30 2017-02-15 同济大学 基于规则冲突的sdn网络状态更新方法及***
US20170288952A1 (en) * 2015-02-10 2017-10-05 Hewlett Packard Enterprise Development Lp Network policy conflict detection and resolution
US20180115470A1 (en) * 2016-10-26 2018-04-26 Arizona Board Of Regents On Behalf Of Arizona State University Security policy analysis framework for distributed software defined networking (sdn) based cloud environments
CN108881005A (zh) * 2017-05-15 2018-11-23 华为国际有限公司 检测软件定义网络(sdn)中的路由环路的***和方法
CN110225008A (zh) * 2019-05-27 2019-09-10 四川大学 一种云环境下sdn网络状态一致性验证方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104202303A (zh) * 2014-08-11 2014-12-10 华中科技大学 一种sdn应用的策略冲突检测方法及***
US20170288952A1 (en) * 2015-02-10 2017-10-05 Hewlett Packard Enterprise Development Lp Network policy conflict detection and resolution
CN105721297A (zh) * 2016-01-28 2016-06-29 北京国电通网络技术有限公司 基于sdn网络中路由环路的检测方法及***
CN106411568A (zh) * 2016-08-30 2017-02-15 同济大学 基于规则冲突的sdn网络状态更新方法及***
US20180115470A1 (en) * 2016-10-26 2018-04-26 Arizona Board Of Regents On Behalf Of Arizona State University Security policy analysis framework for distributed software defined networking (sdn) based cloud environments
CN108881005A (zh) * 2017-05-15 2018-11-23 华为国际有限公司 检测软件定义网络(sdn)中的路由环路的***和方法
CN110225008A (zh) * 2019-05-27 2019-09-10 四川大学 一种云环境下sdn网络状态一致性验证方法

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
KHURSHID, AHMED, ET AL.: ""Veriflow: Verifying network-wide invariants in real time."", 《10TH {USENIX} SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION ({NSDI} 13)》 *
KHURSHID, AHMED, ET AL.: ""Veriflow: Verifying network-wide invariants in real time."", 《10TH {USENIX} SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION ({NSDI} 13)》, 5 April 2013 (2013-04-05), pages 15 - 27 *
LI, QI, ET AL.: ""Security policy violations in SDN data plane."", 《IEEE/ACM TRANSACTIONS ON NETWORKING 》 *
LI, QI, ET AL.: ""Security policy violations in SDN data plane."", 《IEEE/ACM TRANSACTIONS ON NETWORKING 》, vol. 26, no. 4, 7 August 2018 (2018-08-07), pages 1715 - 1727, XP058416740, DOI: 10.1109/TNET.2018.2853593 *
TRAN, CUONG NGOC, AND VITALIAN DANCIU.: ""On conflict handling in software-defined networks."", 《2018 INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING AND APPLICATIONS (ACOMP)》 *
TRAN, CUONG NGOC, AND VITALIAN DANCIU.: ""On conflict handling in software-defined networks."", 《2018 INTERNATIONAL CONFERENCE ON ADVANCED COMPUTING AND APPLICATIONS (ACOMP)》, 27 December 2018 (2018-12-27), pages 50 - 57 *
ZHOU, WENXUAN, ET AL.: ""Enforcing customizable consistency properties in software-defined networks."", 《12TH {USENIX} SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION ({NSDI} 15).》 *
ZHOU, WENXUAN, ET AL.: ""Enforcing customizable consistency properties in software-defined networks."", 《12TH {USENIX} SYMPOSIUM ON NETWORKED SYSTEMS DESIGN AND IMPLEMENTATION ({NSDI} 15).》, 6 May 2015 (2015-05-06), pages 73 - 85 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023093710A1 (zh) * 2021-11-23 2023-06-01 华为云计算技术有限公司 一种网络配置方法及装置

Also Published As

Publication number Publication date
CN112437065B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
US20240146774A1 (en) Assurance of security rules in a network
Lopes et al. Checking beliefs in dynamic networks
US10305776B2 (en) Network verification
Jayaraman et al. Validating datacenters at scale
US10778545B2 (en) Network verification system
McClurg et al. Event-driven network programming
US11153167B2 (en) Validation of L3OUT configuration for communications outside a network
CN104202183B (zh) 一种解决sdn流级别配置一致性更新的方法和装置
JP2014135721A (ja) データセンタネットワークのトラフィックを分配するための装置および方法
CN104954270A (zh) 用于在多包处理器联网***中聚合硬件路由资源的技术
US20180367394A1 (en) Validation of cross logical groups in a network
US9537749B2 (en) Method of network connectivity analyses and system thereof
US9135833B2 (en) Process for selecting compressed key bits for collision resolution in hash lookup table
Yoon et al. Minimizing the maximum firewall rule set in a network with multiple firewalls
CN114827002B (zh) 多域网络安全路径计算方法、***、设备、介质及终端
CN108400922B (zh) 虚拟局域网络配置***与方法及其计算机可读存储介质
CN112437065B (zh) Sdn环境下基于图形表示的策略冲突检测及解决方法
CN106453091B (zh) 路由器转发平面的等价路由管理方法和装置
US20230344755A1 (en) Determining flow paths of packets through nodes of a network
CN113453262A (zh) 一种双向转发检测bfd方法及装置
CN114145002B (zh) 网络验证***的可达矩阵
Zhou et al. Automatically Correcting Networks with {NEAt}
US10924382B1 (en) Rapid and verifiable network configuration repair
WO2022081222A1 (en) Ghost routing
Li et al. Assisting reachability verification of network configurations updates with NUV

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