基于SDN的大规模流量调度技术研究
【摘要】:随着互联网应用和云计算、大数据、人工智能等新型计算模式快速发展,作为现代信息服务基础设施核心的数据中心规模和流量均呈指数级规模增长的趋势,其提供的网络服务种类也复杂多样,因此新架构下的网络流量管理主要面临两方面的问题。一方面,数据中心网络节点之间的多路径特性和数据流的局部性、动态性使得传统的基于等价多路径路由的流量调度机制容易导致链路负载不均衡,大流冲突过多导致网络性能不佳等问题;另一方面,由于传统负载均衡机制的高成本、低扩展性、低灵活性等缺点,导致其在数据中心的底层服务器集群上的应用无法取得很好的流量请求分发效果。本文针对这两方面问题,以提高网络整体服务质量为目标,利用软件定义网络控制平面与数据平面分离、具有全网视图和开放接口以便集中化控制的优势,以基于软件定义网络的数据中心网络数据层的流量调度:路径流量负载均衡、服务请求流量负载均衡这两个方面为核心研究对象,主要包括以下三个方面的内容:(1)针对路径流量负载均衡问题,提出了基于混合遗传模拟退火算法的流量调度机制。首先,引入端服务器处检测机制探测并标记大流,提出利用端服务器网卡带宽的限制设计大流真实带宽需求预测算法,将大流调度问题归约为多背包问题,利用改进的混合遗传模拟退火算法为大流搜索全局最优路径,最后OpenFlow交换机采用分段路由的方式对重路由的大流进行传输。仿真结果表明,该机制在大流较多,流冲突更频繁的网络环境中能够获得更好的调度效果,网络的平均对分带宽、延迟、吞吐量更优。(2)针对服务请求流量负载均衡问题,提出了基于SDN的服务器集群动态负载均衡机制SBDLB。一方面,SBDLB机制通过对传入的流量请求进行流表规则匹配,能够预先匹配下发客户端在未来一段时间所产生的流量请求,减少流表数量,降低控制器和交换机负载;另一方面,SBDLB机制对传入的流量请求依据服务类型进行分类,利用sFlow协议收集服务器集群负载信息,最后设计带动态权值的负载均衡算法进行负载分发。仿真实验结果表明,该机制有利于增加网络吞吐量,降低平均响应时间,加快流量请求的处理速度,并且服务器之间的负载更加均衡,资源利用率更高,最终达到优化网络服务质量的目的。(3)最后,针对以上所提出的流量调度问题解决方案进行了原型系统设计,将二者结合,在开源SDN控制器Floodlight v1.2上进行模块的二次开发,并利用Flask Web框架编写了可视化调度分析系统,实现了一种基于SDN的数据中心网络流量调度原型系统,结合Mininet仿真平台进行实验,证明其能够获得更好的网络性能指标,改善网络服务质量。