论文部分内容阅读
软件定义网络(SDN)给传统网络带来了巨大的变革,已经受到全球的广泛关注与重视。它实现了网络的软件化,由传统的分布式网络转向了集中控制的SDN网络。SDN网络的主要理念是从复杂的网络设备中抽取控制功能,采用中央控制器对网络进行可编程的管理,从而集中式地管理网络,增强了管控力度,并且提高了资源的利用效率。SDN作为一种新的网络架构,在网络安全、广域网、数据中心、企业网等领域都拥有广阔的应用场景。随着互联网不断超出预期的快速发展,单一的集中式控制器已经无法满足当今运营商、互联网企业以及用户的需求,大数据与云计算、虚拟机迁移、虚拟数据中心等都对网络功能虚拟化提出了越来越高的要求,并且随着网络规模的扩大和服务需求的增加,对于大量交换机的流请求和控制平面的扩展,单一的集中式控制器已无法满足整个网络的性能需求,这就需要单一的集中式控制器架构延伸为多控制器架构,然而多控制器架构在扩展性、稳定性、安全性等方面面临着很多挑战。本文首先针对分布式SDN多控制器之间的通信缺乏安全规范且交换机的访问请求在控制器集群之间分配不均衡的问题,提出了分布式多控制器协同平台SCPLBS。SCPLBS建立在控制平面上层,SCPLBS与控制器之间采用基于消息认证码的安全通信机制,防止攻击者接入到控制器窃取和修改网络数据,提高了协同平台与控制器相互通信的安全性。SCPLBS采用自适应数据波动的数据采集算法来采集各个控制器的负载信息,根据对数据采集间隔内采集到数据的波动情况进行评估,自适应的调整数据采集的时间间隔。SCPLBS存储各个控制器的路由策略,根据采集到的控制器负载信息,通过转移交换机的控制权限来保持分布式多控制器的负载均衡,同时也可避免单一控制器发生故障造成网络的瘫痪。本文在开源SDN控制器Floodlight控制器的基础上,开发出基于restlet框架的协同平台,使用Mininet来模拟网络拓扑,实验验证出本方案具有良好的可行性与有效性。然后针对分层式多控制器架构中的安全通信问题,与可能遭受的异常流量攻击,提出了分层式SDN多控制器安全通信与异常流量检测方案,利用数字签名技术,对域内控制器与全局控制器之间的传输信息进行安全认证,并且采用基于权重的多域路由算法,多域间边界交换机的路由转发不仅考虑交换机间的跳数,也考虑链路间的带宽与时延等参数,同时借助分布式系统Hadoop的并行处理优势对网络数据进行监控,监测恶意流量的产生。最后,在SDN网络仿真环境的基础上进行实验,验证了本方案的正确性与有效性。