论文部分内容阅读
软件定义网络(Software Defined Network,SDN)是一种新型的网络架构。其特点是采用控制和转发相分离的思想,将网络设备的控制逻辑抽取出来,方便网络管理和提升网络灵活性。而随着SDN网络规模的扩大,当有多个用户进行路由策略和安全策略更新时,这些来源不同的策略极有可能互相冲突。甚至当网络调度较为复杂时,由同一用户制定的路由策略之间、安全策略之间、路由策略和安全策略的配合使用都会产生冲突,导致网络中出现转发环和防火墙冲突等,进而无法达到用户对于相应网络调度的要求,甚至可能导致网络瘫痪。因此,本文通过对比现有SDN下的策略冲突问题以及相应解决方案,分析冲突的产生过程及机理,将SDN下的冲突分为单交换机流表冲突和策略冲突两大类型。针对单交换机流表冲突,建立了规则形式化模型和规则关系模型,设计了基于EnhanceTree的冲突检测算法。相较于其它解决方案,基于EnhanceTree的冲突检测算法更适应于流表规模较大的情况,检测耗时减少近17%。针对SDN下的策略冲突问题,考虑了“Set”动作带来的检测有效性问题,提出了基于转发图的策略冲突检测算法。在处理较大规模流表情况下,基于转发图的策略冲突检测算法只比原生Floodlight处理耗时增加19%;而在复杂网络条件下,基于转发图的策略冲突检测算法只比简单网络下的平均处理延时多1ms。说明基于转发图的策略冲突检测算法具备较为良好的性能,以及可以适用于较为复杂的网络条件。基于以上理论研究,本文设计并实现了策略冲突检测系统,并对该系统进行了测试,证明了本文提出的策略冲突检测方法的有效性。