APP下载

基于SDN的物联网业务流路由策略模型

2023-08-23冯文超

电子制作 2023年14期
关键词:包率数据包时延

冯文超

(兰州职业技术学院 电子信息工程系,甘肃兰州,730070)

0 引言

随着物联网技术的逐渐成熟,越来越多的设备接入到物联网中,开启了自动化智能化的生活方式[1]。随着物联网中设备的不断增加,物联网中的流量也越来越大,而在物联网中不同业务流量对网络的需求各不相同,如公共安全设备的数据必须具备高可靠性和实时性,网络视频数据对实时性不敏感,但是对带宽的要求较高,因此为了满足不同应用的需求,有必要为不同的网络流量分配合理的网络资源,从而保证物联网中各种流量的服务质量。

由于传统网络在设计之初并没有考虑到网络流量的优先级,因此无法满足物联网根据流量类型实现动态路由控制从而保证用户服务质量的需求。软件定义网络(Software Defined Network,SDN)[2]的出现,为物联网解决用户服务质量提供了新的思路。在SDN网络中,网络设备的控制面和数据面是相互独立的,控制面通过Openflow等协议[3]收集和管理分布式的网络状态信息,然后使用流表下发的方式控制数据流按照预定的路由策略进行转发,从而实现对网络资源的有效管控。基于上述背景,本文提出了基于决策树的业务流分类模型,该模型设计了流量感知节点,负责通过控制面和数据面的交互获取物联网中流量分布现状,并对不同类型的业务流进行分类,并根据不同业务流量对网络需求的不同设计了基于网络状态QoS的业务流调度策略,该策略添加了网络状态感知方法,通过控制流和数据流的交互计算出不同业务流量的网络QoS参数,根据不同业务流量对网络资源的QoS参考值选择最优的传输路径,从而保障物联网中不同业务的数据服务质量,提高物联网的数据传输效率。

1 物联网业务流分类模型

物联网业务流分类是指定路由策略的前提,对不同业务流的分析,既可以为后续流量转发提供明确的目标,也是确定不同类型流量对QoS质量要求的主要方法。为了感知物联网中不同类型流量的变化,设计了处于控制层的流量感知节点,其结构如图1所示。

图1 流量感知节点结构图

流感感知节点主要包括两部分,获取数据流的数据截取模块以及分析数据流的数据分析模块。数据截取模块在数据层的数据转发模块中获取每个数据包的包头,包括数据包的源IP和端口,目的IP和端口以及数据包的长度,数据流转发的时间,数据包的流速,平均大小等。数据截取模块获取到相应的数据之后转发给数据分析模块,数据模块根据上述信息分析,获得当前网络中存在的应用类型数量以及每个应用的数据流的数量,数据流的持续时长以及数据流发生的频率,首个数据包到最后数据包到达目的的时间差等,获取到上述信息之后就可以使用数据分类模块对数据流进行分类。

在获取各种数据流的特征属性之后,可以根据特征属性值对数据流进行分类。由于在物联网中数据流量的大部分属性值是连续值,为了实现对连续值的分类,需要选择合适的分割特征值。CART算法[4]就是利用基尼系数[5]来选择训练样本中的分割特征值,然后在分割特征值将训练集分为两个子集来构建决策树。对于给定的样本D,其基尼系数定义如下:

其中:k是类别编号,Ck是k类样本的集合,表示样本集的数量,基尼系数越小表示样本之间的差别越小。基于基尼系数构建分类树的过程就是在样本中不断寻找满足将训练集合分成两部分的最小特征值的过程,也就是说当样本集D分为特征值明显区分的两部分D1和D2时有:

通过循环迭代上述方法,当出现分割点的基尼系数比当前样本集的基尼系数下降不够时停止迭代。由于物联网流量的特征值都是连续的,因此特征变量的分割点数量会很多,后果就是决策树的枝干过多,划分的类别过细,在对数据流进行分类的时间太长,因此需要对决策树进行减枝,减枝的过程就可以利用设置物联网中流量的特征值的方式,如根据流量大小阈值设置传输的优先级。在构建决策树的过程中,当物联网中流量到达某个阈值时的特征值时作为停止迭代的最小特征值。

2 基于QoS的业务流路由策略模型

■2.1 基于SDN的网络状态感知

对物联网中业务流进行分类之后,还需要获得网络中流量的状态信息,主要包括网络的时延,带宽以及数据的丢包率,从而为网络调度策略提供依据。网络时延主要包括数据处理时延,排队时延,发送时延和传播时延,其中前两者取决于网络设备的处理能力,发送时延取决于数据包的长度和链路传输速率,其计算方法:

其中:Ls指数据包的长度,Vs指的是数据包的发送速率。在SDN网络中,传播时延是由SDN控制器发送探测包的方式来计算传播时延,探测包在发送时的时间戳为T1,回复包的时间戳为T2,因此传播时延可以用:

链路带宽是链路传输数据的最大数据量,合理的分配各应用的数据流量可有效提高网络的资源利用率,SDN网络中链路带宽可以通过交换机的端口信息获取,发送数据包的数据结构中包括交换机端口发送和接收数据的字节数,分别用tx1和rx1表示T1时刻网口的计数,分别用tx2和rx2表示T2时刻网口的计数,因此链路带宽就可以表示为:

同理,网络丢包率也可以通过交换机的端口信息处获取,用rd1和td1表示在传输周期之前数据的发送量和接收量,用rd2和td2表示在传输周期之后数据的发送量和接收量,因此链路的丢包率可以表示为:

■2.2 业务流调度策略模型

传统网络数据转发采用Dijkstra算法,这种算法只考虑源和目的节点之间的跳数而没有考虑到业务数据的QoS需求。为了适应物联网中多业务流量对QoS的需求,本文在对业务流进行分类,对网络的运行状态进行探测,然后针对不同应用提出的QoS需求对物联网业务流量生成动态路由策略,业务流调度策略模型如图2所示。

图2 业务流动态调度策略

业务流动态调度策略的步骤如下:

(1)当业务流进入到物联网中,处于物联网控制层之中的流量感知节点收集该网络中业务流量的基本信息,同时对业务流量进行分类,然后将分类结果交给QoS需求分析模块;

(2)QoS需求分析模块收到业务流分类结果之后,会根据不同业务对QoS需求的不同给出相应的QoS参数的参考值,然后将参考值提交给业务流动态调度模块;

(3)网络状态感知模块会计算出各链路实时的时延,带宽和丢包率等参数,这些数据是动态调度的重要参数,设QoS参考值如下:

其中:qc(1),qc(2),qc(3)分别表示链路时延,带宽和丢包率的参考值,而链路的实际参考值为:

链路带宽与链路传输性能呈正相关关系,为了体现这种相关关系,需要对这种结果进行归一化处理,将所有的结果都转化在(0,1)之间,因此有:

而链路时延和丢包率与链路传输性能负相关,因此有:

为了得到不同变量与参考值之间的关联度[6],本文采用了灰色关联度分析[7]的方法,计算量化序列和参考序列之间的灰色关联度。

其中:n表示QoS参数的个数。当业务调度模块获得相应的关联度之后,就可以将该值作为Dijkstra算法的权值,SDN控制器就可以使用带权重路径的生成调度策略。SDN网络中数据包调度算法的工作流程如下:

(1)使用网络控制器向周围的交换机发送LLDP数据包,同时收到LLDP数据包的交换机发起泛洪数据包,任何交换机收到该数据包之后,将流表中不存在的表项返回给控制器,控制器解析相应的数据包就可以获得源和目标交换机之间的网络拓扑;

(2)利用拓扑发现功能获取网络中的所有节点和边,并以此生成全网拓扑图;

(3)将灰色关联度作为边的权重赋给相应的边;

(4)使用带权重的Dijkstra算法计算关联度最优路径;

(5)控制器根据最优路径中的链路对相应的数据包进行转发。

3 实验和分析

为了验证物联网业务流路由策略模型,本文使用了北京虚网互联科技公司的网络仿真器的网络仿真器来验证模型的有效性,该网络仿真器具有还原度高,定制化性能强,能够设置网络时延,网络带宽和丢包率等,且具备网络数据审计功能,对于网络功能和性能测试具有很强的参考意义。本文的网络环境如图3所示。

图3 实验网络拓扑

在实验中采用Iperf工具模拟网络中的实时业务,使用飞鸽传书来仿真网络中的文件传输和实时通信业务,同时使用DarwinStreamingServer验证流媒体业务。实验设备是一台Dell R730服务器,双CPU(Intel(R) Xeon(R) CPU E5-2660 0 @ 2.20GHz)16核32线程,DDR3内存128G,使用的SDN控制器为Ryu 4.34。

为了验证网络业务流路由策略模型,本文选用业务流从源到目的的总时延,带宽和丢包率三个指标来验证本文方法(策略1),为了直观体现算法的性能,采用了传统的Dijkstra算法(策略2)以及自适应路由与队列调度策略(策略3)[8]做对比实验,实验结果如图4所示。

图4 网络时延对比

对比了三种调度策略的网络时延,从结果中可以看出,本文策略的实时业务在时延方面更具优势,而对于文件业务和流媒体业务等对时延不是特别敏感的应用上,本文策略和其他两种策略的结果相差不大,而对于连通性业务来说,由于本文在计算路由时花费了一些时间因此在连通性业务的时延方面处于劣势。

图5 网络带宽对比

对比三种调度策略的带宽,可以发现在实施业务方面三者的带宽相差不大,一般来说是因为实时业务的网络流量一般较小,因此很大程度上受限于网络设备硬件的性能,而仿真环境处于相同的硬件设备下,因此营销较小,而对于文件业务和自媒体业务来说,本文算法具有相当优势,在路由调度时满足了两者对网络带宽需求,而其他两者并没有考虑到这一点。

图6 网络丢包率对比

对比三种策略的丢包率,可以发现在满足QoS的基础之上,本文策略在实时业务和连通性业务上的丢包率和其他两种策略相差不大,而对于文件传输以及流媒体业务丢包率较高,这是因为文件传输业务使用了TCP连接,本身具备了重传功能,可以在一定程度上弥补丢包的问题,而流媒体业务使用UDP传输,对丢包率的要求不高,因此调度策略根据QoS的需求,对这两者的优化程度较低,因此在丢包率上不如其他两种策略。

4 结束语

随着网络应用进入多元化阶段,传统的网络设计目标已经不能满足物联网中多业务对网络性能的需求。针对不同业务对物联网资源需求的差异,在SDN网络框架下设计了动态业务流路由策略,首先通过网络动态感知方法,获取了网络中时延带宽和丢包率等现状,然后根据不同业务类型对网络提出的QoS需求,设计了基于网络状态QoS的业务流调度策略,根据不同业务流量对网络资源的QoS参考值选择最优的传输路径,从而保障物联网中不同业务的数据服务质量,提高物联网的数据传输效率。

猜你喜欢

包率数据包时延
支持向量机的船舶网络丢包率预测数学模型
一种基于喷泉码的异构网络发包算法*
基于GCC-nearest时延估计的室内声源定位
基于改进二次相关算法的TDOA时延估计
SmartSniff
一种新的VANET网络链路丢包率估计算法
FRFT在水声信道时延频移联合估计中的应用
基于分段CEEMD降噪的时延估计研究
TCN 协议分析装置丢包率研究
视觉注意的数据包优先级排序策略研究