论文部分内容阅读
随着云计算的迅速发展,数据中心内的流量呈指数级增长,网络中的负载分布极不均衡,导致网络产生拥塞。但是用户对服务质量的要求不断提高,因此数据中心的负载均衡以及拥塞控制机制越来越受到人们的关注。当前数据中心网络负载均衡算法更倾向于在不同路径上分配相同数量的流,没有考虑流量大小等属性,随着流量的增加会出现链路负载分布不均匀等问题,导致数据流的时延增加和产生丢包。本文主要研究软件定义网络下数据中心负载均衡及拥塞控制机制。本文首先研究了数据中心网络通常采用的负载均衡方案,并将其分为两类:基于服务器的负载均衡和基于链路的负载均衡。针对目前已有方案中存在的数据流映射冲突、没有考虑链路状态以及流量属性等问题,提出了一种基于流分类的负载均衡方案LBFC(Load Balancing Based on flow Classification)。LBFC采用动态阈值来区分大、小流,对不同的流采取不同的方式进行处理,以解决固定阈值导致控制器处理小流开销更大的问题,以及无法适应数据中心流量动态变化的问题。同时采用基于概率的自适应选路算法来为大流选择转发路径,降低了因路径权重值更新不及时而将多条大流分配到同一条路径的可能性。仿真结果显示,LBFC方案提高了网络吞吐量,并降低了传输时延。当一台主机向一组节点发起请求时,集群中的节点几乎同时做出响应,这些节点同时向一台主机发送数据流,从而产生大量突发流,即TCP Incast现象。为了解决TCP Incast问题,对目前存在的基于显式拥塞通告机制(Explicit Congestion Notification,ECN)以及基于往返时间(Round-Trip Time,RTT)的两种类型的拥塞控制机制进行了研究。但是,基于ECN的方案中ECN标记阈值通常是固定的,同时它只能反映交换机队列情况,不能反映出延迟等信息,而基于RTT的方案需要更加精确的RTT测量,需要特定硬件的支持。因此,本文将ECN和RTT结合,提出一种拥塞控制机制TDCTCP(TIMELY and DCTCP),根据被标记数据包比例和RTT来判断拥塞程度,针对不同的拥塞程度采取不同的方式来调整发送窗口大小。TDCTCP可以解决拥塞控制信号不准确的问题,并且能够和TCP流共存。仿真实验结果表明,与其他方案相比,能够降低RTT以及小流的平均流完成时间。