论文部分内容阅读
软件定义网络(Software defined networking,SDN)的提出,为计算网络带来了新的发展方向。它将传统网络的控制层与数据转发层分离开,控制层通过北向接口为应用层提供数据平面设备的状态,通过南向接口指导数据层的分组转发。软件定义网络在简化了网络管理的同时,但也带来了新的安全威胁。当用户需求日益复杂时,网络中的应用程序会不断增加,多个应用程序为同一个网络制定转发策略时,可能会产生策略冲突,从而使得控制层出现冲突的编译流规则;当数据层设备更新不及时或者出现软硬件故障时,都可能引起数据层的具体转发行为与控制层配置不一致的情况,以上这些都是需要各界关注的安全问题。本文主要研究内容如下:(1)针对控制层流规则的冲突问题,提出了一个基于事务的控制层一致性检测模型(TCVM)。该检测模型是由应用层与数据层共同协作实现的。首先,TCVM模型为应用程序生成的每个网络功能分配事务号与优先级;其次,若应用程序的检测结果为非恶意程序,TCVM为该应用程序生成的网络功能分配公有密钥与私有密钥,用于对每个事务的签名认证。签名认证是为了确保应用层给控制层发送消息的过程中,程序制定的策略没有被恶意更改。随后,在控制层对应用程序生成的流规则集合进行冲突检测。若出现冲突,则对发生冲突的策略进行修复;若不存在冲突,将流规则集合发送到数据层进行分组转发。最后,在Mininet上进行仿真实验。实验结果表明,TCVM模型能够快速检测到网络中的冲突流规则,并对冲突流规则进行实时修复。(2)针对软件定义网络中控制平面与数据平面流规则不一致的问题,提出了VeriC一致性检测模型。首先,在入口交换机上对数据流进行采样;然后,在采样数据包上添加标签字段,对数据包的转发情况进行记录,将更新的实际标签值上传到控制平面;其次,通过验证算法确定数据包的实际转发路径是否满足一致性检查;若不满足一致性检测,通过实际标签值与正确标签值对比,定位故障交换机。最后,在NS-3模拟器进行仿真实验。实验结果表明,VeriC检测模型不仅能够进行一致性检测,而且可以对错误交换机进行精确定位。