论文部分内容阅读
软件定义网络(Software Defined Network,SDN)是一种把控制层和数据层相分离的新型网络管理架构。控制层上的控制器集中管理数据层的网络设备,数据层中的网络设备仅仅根据控制层下发的指令转发数据包。控制层在整个网络的管理上担当着重要的角色。SDN控制层是网络的管理者,但它也可能成为单一的故障点。当网络设备无法连接上SDN控制器时,将造成控制器管理下的整个网络崩溃。一种能使SDN控制器无法被连接的攻击方式就是DDoS攻击。因此,保护SDN控制器的安全尤为重要。所以,本文针对SDN控制器的DDoS攻击检测与防御技术开展课题研究,旨在提出一种有效的检测方法和防御方法。首先,本文深入研究了SDN的特性以及针对SDN控制器进行DDoS攻击的方式,并根据已有的SDN控制器DDoS攻击检测方法的不足之处,提出了一种基于改进信息熵的SDN控制器DDoS攻击检测方法。该检测方法通过分析时间窗口内交换机提交给控制器的Packet-in数据包的流量分布,根据泊松分布公式计算出每个时间窗口的流量概率,再根据信息熵公式计算出时间窗口内的信息熵值,最终与阈值对比检测是否有对SDN控制器的DDoS攻击。对比实验验证表明,该检测方法在三种不同的SDN控制器的DDoS攻击策略下都有比较高的检测率。为了能有效的过滤掉攻击流量,并且确保SDN控制器能够正常工作,本文结合SDN控制器的处理能力,提出了一种基于动态阈值和源IP信誉的SDN控制器DDoS攻击防御方法。该方法首先统计每个时间窗口边缘交换机提交给控制器的数据包数,通过指数平滑方法对网络历史流量建模,确定各个边缘交换机的最佳平滑参数。然后实时动态选定每个时间窗口内各边缘交换机的阈值。当边缘交换机提交的数据包数超过阈值时,采用IP信誉评估算法确定每个请求报文的源IP信誉值,信誉值高的请求报文予以提交。对比实验验证表明,当发生SDN控制器的DDoS攻击时,该防御方法能有效过滤掉攻击流量,保障控制器的服务质量。