基于SDN的数据中心动态优先级多路径调度算法概论

2020-10-09 11:13黄浩
科学与信息化 2020年27期
关键词:软件定义网络

黄浩

摘 要 云计算的发展使得越来越多的服务选择部署在大型的数据中心,而不是部署在本地服务器上。传统的数据中心流量主要是来自数据中外部客户端请求访问数据中心内部服务器的流量,近年来随着分布式业务的发展,数据中心内部服务器之间的流量大幅增加,例如主从备份、设备动态迁移等。这些流量称为“东西向”流量,现在数据中心中“东西向”流量占总流量的80%,即数据中心内部服务器之间的通信流量占绝大多数。数据中心网络的特点是服务器之间的流量大、突发流量大等,通常数据中心是通过增加冗余链路来达到增加带宽的目的,如何调度多个链路成为提高网络性能的关键,所以需要为数据中心制定高效可行的流量调度方法,来缓解网络流量压力。

关键词 流量调度;多路径传输;软件定义网络;数据中心网络

引言

随着网络的不断发展,伴随着云服务和网络服务器虚拟化的出现,网络中流量的大量增长。数据中心网络(DCN,DataCenterNetwork)[1]提供非常高的聚合带宽,使得网络中心的数十万台服务器承载的各种各样的应用程序,包含有Web服务、电子商务、网络游戏等。DCN中的流量[2]主要可分为两类:批量数据传输(俗称大象流,由数据备份和虚拟机迁移等进程产生),对带宽需求较高和短期数据交换(也称为老鼠流,由Web服务和分布式计算等应用进程)。延迟对于用户的服务质量有重大影响。数据中心流量研究报告[3]显示,网络中大象流承载了整个网络80%的流量。因此,解决数据中心网络中流量冲突造成的拥塞,必须对网络中的大象流进行合理调控。

1SDN的发展及体系架构

SDN技术主要由一个分布式转发功能与集中控制平面两部分网络框架构成,采用软件技术编程的思想将不同的功能分离运行,以达到对数据进行集中式控制管理的目的,并与开放式的网络进行对接,达到灵活利用资源的目的。SDN技术是一种新式的网络架构技术,具有控制与转发分离功能,实现网络数据的集中控制与优化的功能,并能通过网络实现数据业务的编程,在网络架构上具有开放的接口,实现网络数据分布式转发与控制。

2多路径调度算法设计

2.1 大象流检测模型

本文使用sFlowagent统计交换机中的流量,使用sFlowrt作为收集器。整个过程中sFlowagent过滤掉已经被认定为大象流的流量不必全量采样,且对数据包的处理过程发生在数据平面,这样有效地减少了控制平面的额外负担。采样率设置为1/z,表示每z个数据包采样一个数据包,采样率必须设置合理,过大会导致大象流的丢失,影响准确性,过小会增加内存和计算负担。整个过程中,采样的数据包需要实时计算自适应阈值σ来判断是否是大象流。数据中心的流量服从重尾分布,大象流的数量很少,但却占据了大部分的网络流量,老鼠流的数量很多,却只占有很少的流量,数据中心经常使用这一特性改善网络链路。

2.2 拓扑发现与K最短路径算法

不失一般性,本文使用的网络拓扑为Fat-Tree拓扑,用G(V,L)表示网络,其中V表示网络链路所有节点,L表示网络链路集合Fat-Tree网络结构分为Core、Aggregation和Edge三层,主机连接在Edge层交换机,Core层交换机与控制器相连接。K元Fat-Tree的任意两个Pod主机之间的拓扑存在K条路径,在网络中两个主机通信具有多条路径选择,某一链路失效可切换到其他路径,所以该网络拓扑具有一定的网络容错功能,还可实现网络流量的负载均衡。根据Fat-tree网络拓扑的特点,发现在不同端主机之间存在多条基于跳数的最短路径,K元Fat-tree拓扑中,不同Pod内的通信源目的主机之间有k2/4个等价路径,所以对于大象流的调度方案是根据一种K最短路径算法(KShortestPaths,KSP) 求出最短偏離路径合集{L1,L2,L3…Ln}之后,对网络中OpenFlow交换机的工作状态与链路剩余带宽进行度量,最后选择一条负载较轻的路径。

2.3 可行路径计算

K-podFattree网络分为3个层次:自上而下分别为边缘层、汇聚层和核心层,图2给出了一个4-podFattree网络架构的示例。拓扑含有(k/2)2个核心交换机,其中汇聚层交换机与边缘层交换机构成一个pod,每个pod有k/2个汇聚层交换机。在此网络拓扑中,pod间任何主机对之间都存在(k/2)2条相同的最短路径。pod内流分为2种情况:如果2个主机连接在一个交换机上,那么就只有一条最短路径可选,如果不在同一个交换机上则有k/2条最短路径。本文采用K短路径算法(KSP)来得到跳数最少的k条路径,并计算链路代价作为每条路径的优先级,最后下发组表和流表。本文将此算法称为动态优先级多路径调度算法(DPMS)。

2.4 网络链路负载计算

网络链路的使用状况对于大象流路径的转发具有特别大的影响,对于给定的网络拓扑G(V,L),Pi表示在源目的节点之间的第i条路径。对于网络中流用集合F表示,表示Wl链路l上的流量带宽之和,链路l的容量用C表示,由此可得链路l的带宽使用率根据网络中OpenFlow交换机的度量值M与网络链路带宽使用率Ul两方面对网络负载进行评估,得到网络负载度量值E。上述网络度量值描述的是网络中一条链路的综合负载(包括链路带宽利用率,交换机负载),在公式中M1,M2表示链路两端交换机的负载度量值,E值越小说明网络链路负载越低,反之亦然。

3结束语

SDN技术在网络通信中的应用,对实现网络智能控制具有十分重要的作用,作为一种灵活的技术架构方式,SDN技术在可持续演进网络中,可以让网络系统的架构更加灵活,更加智能化,特别是SDN技术在网络中的应用,可提高网络的新架构与新的运营模式,实现网络系统架构的集约化发展,实现网络管理的智能化与自动化,以及网络数据的快速处理。

参考文献

[1] 徐俭.SDN叠加虚拟化网络技术探究[J].电视工程,2018(4):14-17.

[2] 高平,张帆,张东,等.基于SDN的云架构网络高确定性流量控制方法[J].计算机工程,2018,44(12):74-78,84.

[3] 朱晓荣,张倩.面向多业务需求的NFV和SDN融合的资源优化算法[J].通信学报,2018,39(11):54-62.

猜你喜欢
软件定义网络
面向未来的传输综合网管系统演进研究
基于队列树的SDN控制器高效消息处理机制
中国联通SDN的思考和应用实例
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
超高吞吐率Wi—Fi融合应用新技术分析