1、104|电子制作2023 年 7 月科技论坛基于 SDN 的物联网业务流路由策略模型冯文超(兰州职业技术学院 电子信息工程系,甘肃兰州,730070)摘要:随着物联网技术广泛地应用在各个领域,物联网中业务种类及其流量也愈发丰富,业务流量的增加为物联网的管理和质量保证带来了巨大的挑战。针对物联网中流量大,特征属性多,业务繁杂等特点,提出了基于决策树的业务流分类模型,通过SDN控制平面将物联网中的业务流进行分类,然后根据不同业务流量对网络需求的不同设计了基于网络状态QoS的业务流调度策略,通过该策略为业务流量选择最优的传输路径,从而保障物联网中不同业务的数据服务质量,提高物联网的数据传输效率。关键
2、词:软件定义网络;决策树;业务流;QoS0 引言随着物联网技术的逐渐成熟,越来越多的设备接入到物联网中,开启了自动化智能化的生活方式1。随着物联网中设备的不断增加,物联网中的流量也越来越大,而在物联网中不同业务流量对网络的需求各不相同,如公共安全设备的数据必须具备高可靠性和实时性,网络视频数据对实时性不敏感,但是对带宽的要求较高,因此为了满足不同应用的需求,有必要为不同的网络流量分配合理的网络资源,从而保证物联网中各种流量的服务质量。由于传统网络在设计之初并没有考虑到网络流量的优先级,因此无法满足物联网根据流量类型实现动态路由控制从而保证用户服务质量的需求。软件定义网络(SoftwareDef
3、inedNetwork,SDN)2的出现,为物联网解决用户服务质量提供了新的思路。在 SDN 网络中,网络设备的控制面和数据面是相互独立的,控制面通过 Openflow 等协议3收集和管理分布式的网络状态信息,然后使用流表下发的方式控制数据流按照预定的路由策略进行转发,从而实现对网络资源的有效管控。基于上述背景,本文提出了基于决策树的业务流分类模型,该模型设计了流量感知节点,负责通过控制面和数据面的交互获取物联网中流量分布现状,并对不同类型的业务流进行分类,并根据不同业务流量对网络需求的不同设计了基于网络状态 QoS 的业务流调度策略,该策略添加了网络状态感知方法,通过控制流和数据流的交互计算
4、出不同业务流量的网络 QoS 参数,根据不同业务流量对网络资源的 QoS 参考值选择最优的传输路径,从而保障物联网中不同业务的数据服务质量,提高物联网的数据传输效率。1 物联网业务流分类模型物联网业务流分类是指定路由策略的前提,对不同业务流的分析,既可以为后续流量转发提供明确的目标,也是确定不同类型流量对 QoS 质量要求的主要方法。为了感知物联网中不同类型流量的变化,设计了处于控制层的流量感知节点,其结构如图 1 所示。图 1流量感知节点结构图流感感知节点主要包括两部分,获取数据流的数据截取模块以及分析数据流的数据分析模块。数据截取模块在数据层的数据转发模块中获取每个数据包的包头,包括数据包
5、的源 IP 和端口,目的 IP 和端口以及数据包的长度,数据流转发的时间,数据包的流速,平均大小等。数据截取模块获取到相应的数据之后转发给数据分析模块,数据模块根据上述信息分析,获得当前网络中存在的应用类型数量以及每个应用的数据流的数量,数据流的持续时长以及数据流发生的频率,首个数据包到最后数据包到达目的的时间差等,获取到上述信息之后就可以使用数据分类模块对数据流进行分类。在获取各种数据流的特征属性之后,可以根据特征属性值对数据流进行分类。由于在物联网中数据流量的大部分属性值是连续值,为了实现对连续值的分类,需要选择合适的分割特征值。CART 算法4就是利用基尼系数5来选择训练样本中的分割特征
6、值,然后在分割特征值将训练集分为两个子集来构建决策树。对于给定的样本 D,其基尼系数定义如下:()211nkkCGini DD=式(1)其中:k 是类别编号,kC 是 k 类样本的集合,D 表示样本集的数量,基尼系数越小表示样本之间的差别越小。基于基尼系数构建分类树的过程就是在样本中不断寻找满足将训练集合分成两部分的最小特征值的过程,也就是说当样wwwele169com|105科技论坛本集 D 分为特征值明显区分的两部分1D 和2D 时有:()()()1212,DDGini D AGini DGini DDD=+式(2)通过循环迭代上述方法,当出现分割点的基尼系数比当前样本集的基尼系数下降不够
7、时停止迭代。由于物联网流量的特征值都是连续的,因此特征变量的分割点数量会很多,后果就是决策树的枝干过多,划分的类别过细,在对数据流进行分类的时间太长,因此需要对决策树进行减枝,减枝的过程就可以利用设置物联网中流量的特征值的方式,如根据流量大小阈值设置传输的优先级。在构建决策树的过程中,当物联网中流量到达某个阈值时的特征值时作为停止迭代的最小特征值。2 基于 QoS 的业务流路由策略模型 2.1 基于 SDN 的网络状态感知对物联网中业务流进行分类之后,还需要获得网络中流量的状态信息,主要包括网络的时延,带宽以及数据的丢包率,从而为网络调度策略提供依据。网络时延主要包括数据处理时延,排队时延,发
8、送时延和传播时延,其中前两者取决于网络设备的处理能力,发送时延取决于数据包的长度和链路传输速率,其计算方法:sssLDV=式(3)其中:sL 指数据包的长度,sV 指的是数据包的发送速率。在 SDN 网络中,传播时延是由 SDN 控制器发送探测包的方式来计算传播时延,探测包在发送时的时间戳为1T,回复包的时间戳为2T,因此传播时延可以用:21sTTT=式(4)链路带宽是链路传输数据的最大数据量,合理的分配各应用的数据流量可有效提高网络的资源利用率,SDN 网络中链路带宽可以通过交换机的端口信息获取,发送数据包的数据结构中包括交换机端口发送和接收数据的字节数,分别用 tx1 和 rx1 表示1T
9、 时刻网口的计数,分别用 tx2 和 rx2 表示2T 时刻网口的计数,因此链路带宽就可以表示为:()()212211txrxtxrxBTT+=式(5)同理,网络丢包率也可以通过交换机的端口信息处获取,用1rd 和1td 表示在传输周期之前数据的发送量和接收量,用2rd 和2td 表示在传输周期之后数据的发送量和接收量,因此链路的丢包率可以表示为:()()212121(tdtdrdrddroptdtd=式(6)2.2 业务流调度策略模型传统网络数据转发采用 Dijkstra 算法,这种算法只考虑源和目的节点之间的跳数而没有考虑到业务数据的 QoS 需求。为了适应物联网中多业务流量对 QoS 的
10、需求,本文在对业务流进行分类,对网络的运行状态进行探测,然后针对不同应用提出的 QoS 需求对物联网业务流量生成动态路由策略,业务流调度策略模型如图 2 所示。图 2业务流动态调度策略业务流动态调度策略的步骤如下:(1)当业务流进入到物联网中,处于物联网控制层之中的流量感知节点收集该网络中业务流量的基本信息,同时对业务流量进行分类,然后将分类结果交给 QoS 需求分析模块;(2)QoS 需求分析模块收到业务流分类结果之后,会根据不同业务对 QoS 需求的不同给出相应的 QoS 参数的参考值,然后将参考值提交给业务流动态调度模块;(3)网络状态感知模块会计算出各链路实时的时延,带宽和丢包率等参数
11、,这些数据是动态调度的重要参数,设QoS 参考值如下:()()()()1,2,3ccccQqqq=式(7)其中:()()()1,2,3cccqqq分别表示链路时延,带宽和丢包率的参考值,而链路的实际参考值为:()()()()1,2,3iiiiQqqq=式(8)链路带宽与链路传输性能呈正相关关系,为了体现这种相关关系,需要对这种结果进行归一化处理,将所有的结果都转化在(0,1)之间,因此有:()()()()()22222iimaxiiimaxminqqxqq=式(9)而链路时延和丢包率与链路传输性能负相关,因此有:()()()()()11111iimaxiiimaxminqqxqq=式(10)1
12、06|电子制作2023 年 7 月科技论坛为了得到不同变量与参考值之间的关联度6,本文采用了灰色关联度分析7的方法,计算量化序列和参考序列之间的灰色关联度。()()()()()()()()1minminmaxmax1maxmaxnicicininikicicinx nxnpx nxnrnx nxnpx nxn=+=+式(11)其中:n 表示 QoS 参数的个数。当业务调度模块获得相应的关联度之后,就可以将该值作为Dijkstra算法的权值,SDN 控制器就可以使用带权重路径的生成调度策略。SDN网络中数据包调度算法的工作流程如下:(1)使用网络控制器向周围的交换机发送 LLDP 数据包,同时收
13、到 LLDP 数据包的交换机发起泛洪数据包,任何交换机收到该数据包之后,将流表中不存在的表项返回给控制器,控制器解析相应的数据包就可以获得源和目标交换机之间的网络拓扑;(2)利用拓扑发现功能获取网络中的所有节点和边,并以此生成全网拓扑图;(3)将灰色关联度作为边的权重赋给相应的边;(4)使用带权重的 Dijkstra 算法计算关联度最优路径;(5)控制器根据最优路径中的链路对相应的数据包进行转发。3 实验和分析为了验证物联网业务流路由策略模型,本文使用了北京虚网互联科技公司的网络仿真器的网络仿真器来验证模型的有效性,该网络仿真器具有还原度高,定制化性能强,能够设置网络时延,网络带宽和丢包率等,
14、且具备网络数据审计功能,对于网络功能和性能测试具有很强的参考意义。本文的网络环境如图 3 所示。图 3实验网络拓扑在实验中采用 Iperf 工具模拟网络中的实时业务,使用飞鸽传书来仿真网络中的文件传输和实时通信业务,同时使用 DarwinStreamingServer 验证流媒体业务。实验设备是一台 DellR730 服务器,双 CPU(Intel(R)Xeon(R)CPUE5-266002.20GHz)16 核 32 线程,DDR3 内存 128G,使用的 SDN 控制器为 Ryu4.34。为了验证网络业务流路由策略模型,本文选用业务流从源到目的的总时延,带宽和丢包率三个指标来验证本文方法(
15、策略 1),为了直观体现算法的性能,采用了传统的Dijkstra 算法(策略 2)以及自适应路由与队列调度策略(策略 3)8做对比实验,实验结果如图 4 所示。图 4网络时延对比对比了三种调度策略的网络时延,从结果中可以看出,本文策略的实时业务在时延方面更具优势,而对于文件业务和流媒体业务等对时延不是特别敏感的应用上,本文策略和其他两种策略的结果相差不大,而对于连通性业务来说,由于本文在计算路由时花费了一些时间因此在连通性业务的时延方面处于劣势。图 5网络带宽对比对比三种调度策略的带宽,可以发现在实施业务方面三者的带宽相差不大,一般来说是因为实时业务的网络流量一般较小,因此很大程度上受限于网络
16、设备硬件的性能,而仿真环境处于相同的硬件设备下,因此营销较小,而对于文件业务和自媒体业务来说,本文算法具有相当优势,在路由调度时满足了两者对网络带宽需求,而其他两者并没有考虑到这一点。wwwele169com|107科技论坛 图 6网络丢包率对比对比三种策略的丢包率,可以发现在满足 QoS 的基础之上,本文策略在实时业务和连通性业务上的丢包率和其他两种策略相差不大,而对于文件传输以及流媒体业务丢包率较高,这是因为文件传输业务使用了 TCP 连接,本身具备了重传功能,可以在一定程度上弥补丢包的问题,而流媒体业务使用 UDP 传输,对丢包率的要求不高,因此调度策略根据 QoS 的需求,对这两者的优
17、化程度较低,因此在丢包率上不如其他两种策略。4 结束语随着网络应用进入多元化阶段,传统的网络设计目标已经不能满足物联网中多业务对网络性能的需求。针对不同业务对物联网资源需求的差异,在 SDN 网络框架下设计了动态业务流路由策略,首先通过网络动态感知方法,获取了网络中时延带宽和丢包率等现状,然后根据不同业务类型对网络提出的 QoS 需求,设计了基于网络状态 QoS 的业务流调度策略,根据不同业务流量对网络资源的 QoS 参考值选择最优的传输路径,从而保障物联网中不同业务的数据服务质量,提高物联网的数据传输效率。参考文献 1 张玺,程志会.“零碳”绿港迈向万物智联 N.工人日报,2023-01-3
18、1(006).2 曾彬,王雷,文吉刚,苏亮源.智能物联终端安全可信接入关键技术研究 J.长沙大学学报,2022,36(05):9-14+23.3 孙瑞娜,廖彬.面向 SDN 网络的 QoS 优化解决方案综述 J.计算机应用与软件,2021,38(11):1-10+55.4 王尊.基于 SDN 的物联网数据传输优化研究 D.大连理工大学,2020.5 熊亮.基于超级账本的物联网异构标识解析 D.重庆邮电大学,2020.6 雷儒杰.物联网终端多源数据融合研究与实现 D.重庆邮电大学,2021.7 路明明.基于相似性的复杂网络链路预测算法研究 D.东北电力大学,2022 8 黄丹莉.喷射等待路由协议
19、的消息副本优化策略 D.北京邮电大学,2017.如果使用的是简易紫外灯,则可以利用重物压在胶片四周,一定程度上解决这个问题。(4)对曝光好的覆铜板进行显影处理。应严格按照显影剂使用说明书进行显影液的配制,使用橡胶手套、毛刷、镊子等辅助工具,将覆铜板上被显影剂溶解的部分清理干净,并做干燥。(5)接下来是腐蚀、脱膜、干燥,完成。按照以上步骤,以底层信号层为例,打印胶片如图 8所示,显影之后的效果如图 9 所示。曝光法制作 PCB 的流程包括菲林胶片的打印、覆铜板的处理、贴膜、曝光、显影、腐蚀及脱膜,流程较热转印法多,且需要曝光设备的支持,但是在调试好曝光时间以及显影溶液配比的前提下,所制作的 PC
20、B 具有精度高,一次制作成功率高等显著优点。4 结语PCB 设计作为一项专业技能,广泛应用于电子信息类专业学生的课程设计、毕业设计和电子设计大赛等实践环节和比赛环节。文中以火灾预警系统为例,给出了利用AltiumDesigner 进行了 PCB 设计的方法和步骤。设计过程不依赖于软件版本,不要求特殊的实验器材,具有较强的可操作性,可以为PCB设计爱好者和学习者提供一定参考。参考文献 1 何丽梅.SMT 工艺与 PCB 制造 M.电子工业出版社,2013.2 崔羊威,李宏伟.Altium Designer 电路设计探究 J.电子世界,2021(08):41-42.3 王秀艳、姜航、谷树忠.Altium Designer 教程原理图、PCB 设计(第 3 版).电子工业出版社,2019.4 李金成,刘楠.基于 STM32 的人体红外测温及火灾预警系统的设计 J.工业控制计算机,2021,34(09):134-136.5 何惠彬.Altium Designer 19 的高效率绘图技巧 J.福建农机,2020(02):48-52.6 陈见辉.基于 AltiumDesigner 环境下 PCB 工艺的设计与应用 J.电子测试,2019(08):124-125+121.(上接第 99 页)