《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 基于SDN的一种云服务流量控制方法研究
基于SDN的一种云服务流量控制方法研究
2015年微型机与应用第4期
匡玉雯1,王 勇2,曾小宝3
(1.桂林电子科技大学 信息与通信学院,广西 桂林 541004; 2.桂林电子科技大学 计算机科学与工程学院,广西 桂林 541004; 3.桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)
摘要: 为了解决云服务中客户端传输流量过大或者突发流霸占服务导致的网络拥塞、服务性能降低问题,将软件定义网络(Software-Defined Networking,SDN)架构运用于云服务流量控制,并提出了一种基于SDN的云服务流量控制方法。该方法基于SDN架构中流表的特点,通过承诺速率与实际访问速率的比对关系对连接请求进行分类、修改流表、划分优先级,然后根据不同的请求优先级来处理服务,以此控制整个服务系统的流量,从而降低整个服务过程的时延。实验测试表明,该设计能够有效地降低网络服务时延,对云服务质量有显著提高。
Abstract:
Key words :

  摘  要: 为了解决云服务中客户端传输流量过大或者突发流霸占服务导致的网络拥塞、服务性能降低问题,将软件定义网络(Software-Defined Networking,SDN)架构运用于云服务流量控制,并提出了一种基于SDN的云服务流量控制方法。该方法基于SDN架构中流表的特点,通过承诺速率与实际访问速率的比对关系对连接请求进行分类、修改流表、划分优先级,然后根据不同的请求优先级来处理服务,以此控制整个服务系统的流量,从而降低整个服务过程的时延。实验测试表明,该设计能够有效地降低网络服务时延,对云服务质量有显著提高。

  关键词: 软件定义网络;云服务;流量控制;SDN控制器;流表

0 引言

  随着社会的进步及科学技术的高速发展,人类生活品质提升,人们对网络服务类型(FTP、P2P、Web等业务)要求多元化,对网络性能要求也越来越高,而云计算平台是开放并面向大众的,这意味着其用户数将极其庞大,这些用户运行的工作流数量也将极为庞大,因此云计算中网络资源被急剧消耗而出现不足现象。解决这个问题最简单直接的方法就是增加网络带宽,但是该方法需要升级网络设备,在资金有限的情况下,显得并不可取;此外该方法对网络服务质量改善较小,而且从实现上看控制平面与转发平面都运行在网络设备中,给网络功能的扩展和网络的管理带来了巨大的挑战。

  在这种情况下基于软件定义网络(SDN)的下一代网络架构诞生。而SDN是一种基于软硬件控制与分离的技术架构,支持集中化的网络控制,实现了底层网络设施对上层应用的透明,具有灵活的软件编程能力,采用软件定义网络的方式,可以灵活满足云服务中不同用户的应用需求[1]。

1 软件定义网络架构组成

001.jpg

  SDN架构如图1所示,将传统网络设备紧耦合的网络架构分成3层:基础设施层、控制层和应用层。基础设施层负责数据高效转发和状态收集,由大量OpenFlow交换机构成,而OpenFlow交换机其核心是由12元组构成的流表匹配域,如图2所示,支持定义的信息流从第1层到第4层关键信息的匹配;控制层负责数据平面资源的统筹、网络拓扑结构的维护和状态信息记录与更新等;应用层负责各服务业务应用的加载与开展[2]。

2 云计算中基于SDN架构的优势

  将SDN架构应用于云计算中心网络是由于数据流量大,交换机层次管理结构复杂,服务器和虚拟机需要快速配置和数据迁移。将OpenFlow交换机部署到云计算中心网络,可以实现网络虚拟化、流量控制和负载平衡等功能,从而进一步增加云计算中心的可控性。

  2.1 网络虚拟化及多租户支持[3]

  网络虚拟化在云计算和数据中心技术发展中起着重要作用。而SDN架构不仅具有可编程能力,而且可以随时加载用户需求的各种应用模块,识别不同租户的网络流量,同时突破虚拟网络对个数的限制,支持大量相互隔离的租户网络分配虚拟数据中心,还能根据资源需求和网络策略按需分配[4]。

  2.2 网络灵活控制

  基于SDN架构的网络架构改变了传统的网络服务大多基于尽力而为的服务方式,通过OpenFlow协议能够探测网络拓扑\感知底层网络拓扑变化、流量状况,在控制面建立并维护一个整网的拓扑视图、负载表,从而SDN控制器能够根据每个虚拟机所在的位置计算出每两个虚拟机之间的最佳路径,使流量按最佳路径转发、按需分配。

  2.3 运维简单

  SDN架构将交换机与路由器从固化且需要进行大量数据处理的传统模式中解放出来,使其功能更加专一,而应用的灵活性则不断打破了厂商的壁垒,降低了维护成本。

3 基于SDN流量控制方法的提出

  网络流量控制主要方法有3种:源端控制、目的端控制和数据传输过程中控制。传统的网络架构要实现以上控制需要添加大量协议,而且配置复杂,而基于SDN的架构网络支持定义的信息流从第1层到第4层关键信息的匹配,可以轻松实现网络流量的灵活控制。

  本文鉴于SDN架构中流表的特性,并借鉴传统的单速率双色标记令牌桶算法[5-6],将流表当作令牌桶中的令牌,通过对流表的控制来实现对网络中流量的控制,根据这个思想,提出基于SDN流量控制方法。

  3.1 基于SDN的云服务流量控制方案设计

002.jpg


  如图3所示,基于SDN的云服务流量控制方案包括三大部分:第一部分是由服务器和客户端组成的各个底层对象;第二部分是由OpenFlow交换机组成的OpenFlow数据转发网络;第三部分是由SDN控制器组成的数据决策平台。

  图3中控制器主要功能模块由三个单元组成:流量检测、流量计算和流量管理(数据转发)

  (1)端到端的流量检测模块

  在传统的数据中心网络中,只能通过端口镜像的方式复制某条链路的全部流量,这种手段的弊端之一是检测流量极大[7]。然而SDN架构可以对流量做到端到端的准确监控,可以根据定位想要检测的端口以及相对应的流将其复制出来后发送给控制器相对应的流量计算模块。

  (2)快速流量计算模块

  快速流量计算模块在该设计中比传统的网络架构有着明显的优势,可以直接接收流量监测模块的数据,快速统计出各个网络的流量状况;再根据服务的状态和各处流量状况全局化合理分配网络资源,同时为数据转发模块提供判断依据。

  定义1 实际平均服务速率V(t),公式如下:

  _TQ~SM$1L2)Y5~8W1~M84_Q.png

  其中,Loadi(t)代表在t时间间隔内流表i上的已经被转发的数据量,N是OpenFlow交换机中处理该客户端服务的所有的流表数目。

  (3)灵活的数据转发模块

  数据转发模块是整个流量控制系统的核心,它通过前面的计算模块得到了流量控制决策,该模块就是由OpenFlow交换机流表匹配状态执行流量控制实体。

  定义2 承诺服务速率δ(t),数据转发判断决策为:当V(t)≤δ(t),不进行流控,执行正常的服务流量转发;当V(t)>δ(t),超过的流量都会采取已经设定的动作,即执行标记流表转发决策。

  3.2 基于SDN的云服务流量控制流程

  基于SDN的云服务流量控制方法流程如图4所示。

003.jpg

4 对比测试及结果分析

  测试环境为:Ubuntu11.04(Linux 2.6.38内核),Inter Pentium Dual E2180处理器、512 MB内存的主机,100 M以太网卡及Pox1.0控制器,在Linux系统下的OpenFlow Vswitch上实现了该流量控制方法,并对其性能进行了测试。

  为了模拟真实环境,本实验采用两台主机做客户端、一台主机做服务器的测试结构,并改变发送数据的大小,记录服务时延,结果如图5所示。

004.jpg

  由图5可知,加入SDN架构及算法后时延明显优于传统架构,而时延在100 Mbit之前一直比较稳定,并维持在非常良好效果。在服务器负载量大于100 Mbit之后服务器性能开始下降,特别是在500 Mbit之后,性能下降明显,在传统架构中服务器时延急剧上升,而基于SDN架构的服务流量控制方法对流量起到了有效的控制,时延曲线比较缓和,算法开始体现出明显的优势。

参考文献

  [1] 高浪.软件定义网络架构和应用分析[J].电脑知识与技术,2013,13(5):3071-3073.

  [2] 李万予.编译上层应用:部署SDN的关键[N].中国计算学报,2013-07-08:021.

  [3] ERICKSON D, HELLER B, YANG S, et al. Optimizing a virtualized data center[C]. Proceedings of the SIGCOMM 2011 (Demo), Toronto: ACM Press, 2011:478-479.

  [4] SHERWOOD R, GIBB G, YAP K, et al. Flowvisor: a network virtualization layer[R]. 2009.

  [5] 刘振宇.基于令牌桶算法的网络流量控制技术的研究与实现[D].呼和浩特:内蒙古大学,2012.

  [6] 张国清.QoS在IOS中的实现与应用[M].北京:电子工业出版社,2010.

  [7] 于华.网络流量监控中的若干基本问题研究与分析[D].北京:北京邮电大学,2011.


此内容为AET网站原创,未经授权禁止转载。