基于SDN的网络流量管理系统

2021-09-05 11:43程维杰孔阳恒李洪贵
电子设计工程 2021年17期
关键词:网络流量数据流数据包

甘 戈,程维杰,孔阳恒,鄢 府,李洪贵

(1.成都市公安局,四川 成都 610017;2.四川省金科成地理信息技术有限公司,四川 成都 610043)

可编程网络的早期研究为SDN的诞生提供了理论支持。在2009年,Mckeown教授向外界正式展示了软件定义网络(Software Defined Network,SDN)的概念,其核心思想便是分离数据和控制。由德国电信、Facebook、谷歌、微软、Verizon和雅虎在2011年创立的开放网络基金会(Open Networking Foundation,ONF)制定的南向接口协议OpenFlow已经成为该领域通信接口的普遍标准。该标准在一定程度上促进了产品、服务、应用、客户和用户市场的发展[1]。并加速了SDN的实际应用部署。国外SDN起步较早,现已步入商业化阶段。其中,比较典型的是谷歌在其主干网络和数据库之间使用ONF构建的通信网络,提升了70%的网络利用率,表明ONF具备了进入商业化阶段的实力,并且还具有很大的挖掘潜力。目前,传统网络由于其复杂的网络设备和各种网络协议[3]而受到限制,不可避免地会造成一定的资源浪费,在当前大数据网络[2]环境下,这种浪费是不合理且可避免的。在静态操作模式下,相较于传统网络,SDN可实现可控、自主的二次开发。研究人员可以为不同网络、不同通信设备等动态调整对应的配置管理参数。

该文主要研究在SDN网络中进行流量监测和路由优化的方法。在传统网络中,因网络硬件设备的封闭性,网络协议复杂且独立,进行流量测量时往往需要配合硬件设备的部署或者采用主动发送探测包,导致测量的成本以及准确度都很难达到预期[4]。SDN网络拥有专注于逻辑功能和信息收集的控制器,能够获取整个网络环境中的流量信息,为路由优化等需求奠定基础。根据SDN应用层可编程的特点,开发流量测量应用和路由优化应用,完成基于SDN的网络流量管理。

1 系统总体设计方案

1.1 方案概述

文中设计基于SDN的网络流量管理系统,主要提高宽带利用率,减少网络链路时延。为方便研究以及测试,使用Mininet及其可视化工具构建一个SDN的虚拟网络环境,创建一个网络拓扑,该拓扑包含了若干的OpenFlow交换机、主机以及控制器。由于SDN网络的集中式控制器与分布式转发的特点[5],采用开源的Ryu作为一个远程控制器管理整个虚拟网络。路由优化[6]策略有很多,这里将整个网络环境看作有向图,测量网络性能,获取QoS[7](Quality of Service),包括可用带宽、时延、抖动这三方面,将测量结果作为网络拓扑图各个网络的链路权重。通过构建这3个性能约束,设计路由算法。总体方案设计如图1所示。

图1 总体方案设计

1.2 系统流程

基于SDN的流量管理[8]系统设计的目的是为数据流路由优化。整个流量管理系统的仿真使用Mininet来模拟数据转发层的通信设备,包括交换机和主机,交换机之间的链路也可以根据需求来模拟,控制层的Ryu控制器则是另外一个单独的程序,流量测量和路由优化的应用基于Ryu提供的API开发,流量测量应用负责获取网络性能参数,路由优化应用根据流量测量应用获取的参数设计约束、优化路由路径。系统流程如图2所示。

图2 系统流程

2 基于SDN的网络流量管理系统设计

2.1 网络流量QoS参数测量

2.1.1 网络可用带宽测量

带宽[9]是指网络链路上数据传输的速率,单位是比特率(bit per second,bps)。网络带宽资源有限,当带宽被大量消耗的时候,可用带宽会逐渐下降,极大影响网络数据传输服务[10-11]。因此,可用带宽的测量能够较为准确地反应网络资源的状况。

以时间间隔T进行周期性测量,Ui表示第i条链路的平均负载,则有:

其中,Ri(t)表示第i条链路第t时刻测量到的转发数据量,第i条链路的可用剩余带宽用Ai(t,t+T)表示,因此有:

其中,Fi是链路的传输速率,由式(1)和式(2)可计算网络链路的可用带宽。参数T的选择可以根据实际网络流量的变化选取,基本原则是如果流量变化幅度比较大,则需要降低周期T以提高测量的准确性,如果网络流量比较稳定,且变化不大,那么可以适当延长周期T,以降低测量对控制器和交换机资源的消耗。

2.1.2 网络丢包率测量

丢包率反应网络数据包的丢失情况,可用下式描述:

其中,Nri(t)表示第i条链路在t时刻已经接收的数据包数目,Δri(t+T)表示T时间段接收数据包的变化量,Nsi(t)表示第i条链路在t时刻已经发送的数据包数目,Δsi(t+T)表示T时间段发送数据包的变化量,L(t,t+T)表示第i条链路的丢包率。

2.1.3 网络抖动测量

抖动H是网络中关于时延变化程度的度量。在网络流量管理系统中,将其定义为数据包在通信网络收发设备中流转所消耗时间的相对偏差。两个数据包之间的时延差值用D表示,则有如下公式:

其中,MRi表示第i个数据包接收时间,Msi表示第i个数据包发送时间。

将N个Di扩展到一个样本数据集,X=(x1,x2,…,xn)中,X是一个时延数据的集合,采用该样本空间X的标准差表示抖动H,则有:

根据式(7)和式(8),采用标准差的方式描述网络链路的抖动情况,H值越大,表示抖动剧烈,反之抖动平缓。

通过测量应用测量可用带宽、丢包率、抖动这3个参数,将测量结果作为下部分算法每条网络链路的权重,进行多QoS约束的路由优化。

2.2 路由优化算法

路由算法[12-13]是为了在网络拓扑中寻找代价最小的路由策略,通过计算网络流量路径获得在同等网络情况下更好的网络体验。路径计算[14-15]是一个寻优问题,网络节点较少时可以直接对可选链路进行详细分析,选择最优路径,但是当节点个数增加时,所选链路总个数也会增加,如果分析全部链路,会消耗大量的时间,造成硬件资源的浪费[16],不满足实际网络运行的情况,所以考虑优化算法,在允许的时间复杂度和空间复杂度内进行路径计算[17]。

计算机网络的拓扑是一张无向图G(Y,E),Y是拓扑图的点集合,E是边的集合,基于第三部分计算的QoS网络质量参数,设W=(WB,WL,WD)是三维的QoS约束向量,即要求在带宽、丢包率、抖动这3个参数约束下进行路由策略的优化。

算法步骤如下:

1)在测量周期T内测量三维的网络链路权重Wi=(Bi,Li,Di)。

2)输入QoS约束条件W1=(B1,L1,D1)。

3)根据式(9),计算新的权重:

4)从图G中删除>1或>1的所有链路,得到新的图G′,如果G′无法连通,直接返回,此次优化无解,如果G′连通,跳转至步骤5)。

5)从G′中删除<1的链路,记为G″,若G″连通,跳转至步骤6),否则跳转至步骤7)。

6)按照前K条最短路径算法,筛选出一条链路。

7)恢复步骤5)删除的链路,将图恢复到G′。按照前K条最短路径算法[18],将最短路径排序,选多条链路以满足带宽需求。

3 仿真与测试

3.1 性能评估指标

利用Mininet网络模拟仿真平台进行性能评估,所需评估参数如下:

1)平均带宽利用率p

平均带宽利用率p是当前N条通信链路带宽比值和的平均值,理想情况下[19],N条通信链路的比值和为N,在实际网络环境中,N的值受限于流量负载、设备控制等因素,实际值远小于N。根据式(10)判断网络状态的优劣。

p越大,网络的状态和整体性能越好,反之,p越小,网络的状态和整体性能越差。

2)平均传输时延τ

平均传输时延τ是指网络链路数据包从发送端主机发出到接收的平均时间差,其评估公式如下:

通过式(11)计算数据流的平均传输时延,将获得的参数作为评估仿真系统的性能评估指标。传输时延τ越小,表明网络的性能和状态好;反之,表明网络的性能和状态差。

3.2 测试参数

为了更好地在虚拟环境里模拟实际环境,设置3种不同的流量,对文中流量管理系统进行测试[20-21]。并且3种数据流均按照概率模式设定3种概率,分别为p1、p2、p3。

按照表1的方式设置3种数据流进行仿真,数据流的总数分别为64条、96条、128条。

表1 数据流的数目和带宽分配比例

4 结果分析

使用Mininet网络仿真环境对设计的流量管理系统进行测试。

1)不同情况的平均带宽利用率

经过实际仿真测试,数据流大小可以影响该系统的平均带宽利用率,不同的概率模式下平均带宽利用率基本随数据流增加而减少。但是当数据流满足p2概率模式时,其带宽利用率最高。平均带宽率具体如图3所示。

图3 平均带宽利用率比较

2)平均传输时延

经过实测,不同的流量负载对传输延时影响巨大,但是,传输造成的延时最大不超过30 ms。

5 结论

图4 不同流量负载下的传输延时

该文以SDN架构为背景,设计了基于SDN的网络流量管理系统,包括流量测量应用和路由优化应用。路由测量应用测量可用带宽、丢包率、抖动3个网络性能参数,基于这3个参数约束进行路由优化,使用两个性能评估指标测试流量管理,利用Mininet虚拟网络仿真器进行数据流量管理模拟,在3种不同的数据流情况下,基于SDN的数据流量管理系统可以均衡地实现流量路由,为接下来的研究提供了一定的研究方向。

猜你喜欢
网络流量数据流数据包
基于多元高斯分布的网络流量异常识别方法
基于Jpcap的网络数据包的监听与分析
基于神经网络的P2P流量识别方法
汽车维修数据流基础(上)
汽车维修数据流基础(下)
SmartSniff
AVB网络流量整形帧模型端到端延迟计算
基于数据流聚类的多目标跟踪算法
北医三院 数据流疏通就诊量
网络流量监控对网络安全治理的重要性