1、2023 年 10 月 Journal on Communications October 2023 第 44 卷第 10 期 通 信 学 报 Vol.44 No.10 MgdFlow:微电网场景下的多粒度数据流管理算法 荆有波1,2,曹清越1,朱瑞1(1.郑州大学河南先进技术研究院,河南 郑州 450003;2.中国科学院微电子研究所,北京 100029)摘 要:针对软件定义网络(SDN)设备被动响应式插入流表项导致表项空间占用和资源调度频繁的问题,提出了一种 基于 业 务功能 的多 粒 度数据 流管 理 算法(MgdFlow)。通 过延 迟 排序和 多重 聚 合与分 流,减 少了流 表项
2、插入的数目和调度指令的次数。实验数据表明,所提算法在负载均衡性能方面比自适应两级流表提升 18%,在平均表项占用方面比传统 OpenFlow 方案提升 9%,在定义的控制器调度资源比率 ImproveQoS 方面比 2 种 对比方案提升 24%和 12%。关键词:软件定义网络;流表管理;负载均衡;服务质量 中图分类号:TP393.02 文献标志码:A DOI:10.11959/j.issn.1000 436x.2023175 MgdFlow:multi-granularity data flow management algorithm in microgrid scenario JING Y
3、oubo1,2,CAO Qingyue1,ZHU Rui1 1.Henan Institutes of Advanced Technology,Zhengzhou University,Zhengzhou 450003,China 2.Institute of Microelectronics,Chinese Academy of Sciences,Beijing 100029,China Abstract:Aiming at the problem of frequent entry space occupation and resource scheduling caused by pas
4、sive response insertion of flow entries by software defined network(SDN)devices,a operational function-based multi-granularity data flow management algorithm(MgdFlow)was proposed.Through delayed sorting and multiple aggregation and splitting,the number of flow entry insertions and scheduling instruc
5、tions were reduced.Experimental data shows that the load ba-lancing performance is 18%higher than the adaptive two-stage flow,and the average entry occupation is 9%lower than the traditional OpenFlow scheme.There are also 24%and 12%improvements in the defined controller scheduling re-source ratio Im
6、proveQoS compared to other schemes.Keywords:software defined network,flow table management,load balancing,QoS 0 引言 微电网是指由分布式电源、储能装置、能量转换装置等组成的小型配电系统,它以分布式电源为主,利用储能和控制装置进行调节,实现网络内部的电力平衡。微电网的出现丰富了传统电网的运行模式,提高 了供电系统 的灵活性和 可靠性1。由于其发电设备 多为分布式2,具有分布 稀疏、发电 不连续且不确定、运行随机性大等缺陷,传统的集中式优化方式 难以揭示多 主体之间的 交互行为3,因此对
7、微电网运行情况的调度控制需要全局动态信息,同时还要保证在电网灾变等特殊情况下供电不受影响。软件定义网络(SDN,software defined net-work)是一种网络虚拟化方法,被誉为下一代网络的关键技术4,其通过 OpenFlow 分离网络的控收稿日期:20230217;修回日期:20230831 通信作者:曹清越,基金项目:国家重点研发计划基金资助项目(No.2018YFC0823900)Foundation Item:The National Key Research and Development Program of China(No.2018YFC0823900)第 10
8、期 荆有波等:MgdFlow:微电网场景下的多粒度数据流管理算法 95 制平面和数据平面,从而实现对网络的可编程性。近年来,随着网络应用的迅速发展,SDN 逐渐在学术界和工业界备受关注4-6。SDN 通过将网络设备的控制平面与数据平面分离,以及逻辑上的集中控制,可以实现对网络流量的灵活控制,促使网络资源得到更充分的利用,推动网络创新的进一步发展。SDN 的控制转发分离技术能很好地满足微电网全局调度、及时处置突发情况的需求,通过集中控制特性,能够感知全局网络拓扑结构及通信资源使用情况,具有合理分配带宽、灵活调度业务、改善服务质量(QoS,quality of service)的 功能7,突发的、
9、不在预设方案内的网络情况会触发 packet-in 消息,从而通过控制器下发流表解决实际网络问题,但在 SDN 应用中这种 OpenFlow被动式插入流表项6的控制方式容易导致存储占用和调度资源过频,从而影响微电网中网络的健康状况。在 SDN 中,通常在网络的初始化阶段采用主动式放置流表项以满足对网络带宽和网络时延方面有要求的应用,而被动式放置流表项的方式通常被侧重负载均衡的应用所采用,2 种方式结合起来能够让 SDN 充分调整网络中的负载压力,让拥挤的路由得到及时的缓解,让空闲的设备得到更充分的利用。然而,每台 OpenFlow 交换 机所能存储的流表项数目 和流条目处 理能力有限8,导致现
10、有 的流量调度方案存在以下问题。1)负 载均衡得不到保证:目前商用 OpenFlow 交换机至 多能支持存储数万条流表项,突发流量的激增、流处理能力的不足和流表溢出9会导致活动 路由的流量 分布不均,部分路由过分拥挤甚至堵塞,影响负载均衡的实现。2)服务质量 产生波动:随着涌入网络的流量增加,丢包率也不断提升,那些没有主动式配置流表项的流量会促发 packet-in 消息 风暴,导致控制器不得不做出大量响应处理这些携带流信息的数据包,与此同时,交换机设备的流表项也无法及时进行增删改操作,进一步延缓了后续流量的处理,恶化了网络服务质量。为了解决以上问题,实现微电网中活动路由的负载均衡和服务质量,
11、SDN 控制器需要考虑每条路由的链路负载和每个流带来的负载,并且主动式地插入引导式流表项使瞬间大量涌入的流量可以按照网络中的已有路由均匀分发,在多个节点对这些流量进行引导将极大提升网络的负载均衡性能以及网络服务质量,最后阶段利用细粒度的被动式调度插入相应流表项完成流的运输任务。1 相关工作 为研究在保持网络设备正常负载的情况下,减少各设备的存储占用和冗余损耗,国内外的诸多学者已经做了大量的研究。Shirali-Shahreza 等10提出了延迟安装与加速驱逐 2 种技术,通过使用TCP RST/FIN 数据包预测 TCP 流何时终止来模拟及时驱逐流表规则以及利用延迟安装来弥补针对非 TCP 流
12、方案的缺陷,从而极大地减少了流表项占用率。Guo 等11提出了动态流调度方案(AggreFlow),通过流集路由、延迟重路由和自适应重路由 3 种技术灵活地对流进行调度,并且将大量同时进行的重路由操作分摊在一段相对较长的时间内,实现了在较低开销内活动路由的负载均衡和较低功耗与延迟。Soliman 等12提出了一种基于多协议标签交换(MPLS)标签的转发方案,交换机根据这些携带路由信息的 MPLS 标签来转发数据包,从而降低了对流表项的占用,但也带来了额外的损耗,尤其在小数据流情况下更加明显。文献13提出利用数据包包头的可用 VLAN 标识符(VID)来携带路由信息,并且在指定的交换机上放置流表
13、项减少了 SDN 中流表的使用,在不同新流量到达的单播和多播场景,降低了流拒绝率,极大地推迟了第一次流量拒绝时间。李佳14提出的自适应两级流表超时机制,采用了两级流表架构,根据流的到达时间特征不断修改流表项中主流表的空闲超时与次级流表的硬超时,从而减少了 packet-in 消息的产生,并且提高了流表空间的利用率。刘振鹏等15提出了基于时序与集合的 SDN 流表更新策略,将网络中的交换机按照新旧路由分类,分类集合按次序分别更新流表,保证了流表更新的一致性,并且减少了流表空间的占用。曾友雯等16采用 OpenFlow 交换机的服务器负载均衡策略,利用多地址定向流表对服务请求进行分类,通过蚁群算法
14、求解最佳负载重定向方案,降低了流表项数目规模,比传统负载策略的性能更优越。马晓航17通过动态调节流表项的超时时间和超时方式,对控制通道占用率、流表项存活数、大象流侦测精度 3个目标进行联立优化,其设计的混合超时机制的优化效果优于硬超时和空闲超时。严可意18提出的96 通 信 学 报 第 44 卷 区分大象流和老鼠流的检测算法以及动态预测并设置流表项超时时间,不仅减少了交换机与控制器的频繁通信开销,还提升了流表利用率。齐婵等19针对 SDN 配置更新所引起的数据包处理不一致问题,提出一种基于分类和时序的 SDN 流表更新一致性方案,有效控制了交换机存储空间的占用率并降低了控制器的负载。以上方案在
15、微电网场景下的应用中都存在不足。Shirali-Shahreza 等10提出的方案针对 TCP 流具有良好的节省表项占用效率,但对于非 TCP 流的处理方案不能满足微电网设备运行间歇性大、具有随机性的需求。Guo 等11提出的 AggreFlow对微电网设备出现的随机性流进行聚合不够高效。Soliman 等12提出的方案处理分布稀疏的设备产生的小流量时会导致更大的资源损耗。李佳14提出的方案能够减少重定向流的调度资源,但比传统 OpenFlow 方式又增加了流表项数量。刘振鹏等15提出的流表更新一致性策略减少了控制负载和流表项占用,但不适于微电网场景下复杂的网络环境。曾友雯等16提出的负载均衡
16、策略较传统算法有更优的性能,但是要求预先部署多地址定向流表;文献17-19分别提出的动态优化机制和流表更新一致性能够提升流表的利用率,但对具备相同特征的流表项没有聚合利用。针对微电网设备容易带来的调度指令过频和 存储 占用 问题,本文 提出了 一种 通过延 迟排 序和多 重聚合分流的数据流(MgdFlow,multi-granularity data flow)管理算法,在保证良好网络通畅的情况下,比传统 OpenFlow 方案6和自适应两级流表方案14减少了交换机中 平均流表项 的安装数目 和调度指令 下 发次数,在负载均衡和降低流表项占有率方面的性能更优越。2 系统模型 2.1 目标函数
17、1)负载均衡。负载均衡主要考虑 2 个指标:交换机的平均负载情况和交换机的平均表项占有率20-22。交换机的最大负载均衡路由决定了自身负载均衡表项的上限,而通过粗粒度聚合的流表划分,将路由尽可能均匀地发送到网络中的各台交换机,避免极端情况下交换机超出最大负载利用率。由网络平均负载与各交换机负载的均方根误差(RMSE)来评估网络中整体负载均衡,计算式为 2avg1rate ratefunsh(1)交换机的硬件条件限制了其存储空间的大小,因而对流表项的存储存在着严重的限制8-9,23。通 过聚合与分流可以极大限度地减少交换机中流表项的插入,以交换机平均表项占有率衡量该算法的效果,计算式为 112s
18、o sofunj kj kh(2)2)ImproveQoS。通常 QoS 考虑的指 标为可用性、吞吐量、时延变化等,在本文 SDN 应用场 景下,主要考虑 2 个指标:丢包率、控制器下发消息总数量。一是因为控制器下发控制新流消息的开销会带来路由开销,在聚合与分流策略的作用下,可以尽可能减少新流加入时控制器的相应消息,在入口交换机中用于粗粒度聚合的流表项增多时效果更明显。二是因为丢包率与流集匹配路由有关,更多的流能够直接匹配流集路由进入网络中,而不需要等待控制器下发指令,网络的处理能力更好。因此本文提出一种新的考量指标 ImproveQoS,即需 要重路由的流占所有流的比例为 FS3fsfunn
19、fff(3)其中,f 表示进入网络中的任意一个流,fsn表示对网络中的流聚合成的第 n 个流集。f表示进入网络的所有流,用其减去在流集中匹配处理的流后得到需要控制器指令下发调度的流数量。2.2 限制条件 1)交换机负载限制。S 表示交换机的集合,is S 表示每台交换机,Routei表示在时间 t 经过交换机 si的路 由,每台交换机处理流的总速率不能超过上限v,则有 rate(Route,)itv(4)2)交换机存 储空间限制。SO 表示所有交换机流表项的集 合,每台交 换机存储的 流表项 soiSO 不能超过上限r,则有 soir(5)3)交换机数 量限制。粗粒度聚合阶段交换机总数和细粒度
20、分流阶段交换机总数之和等于网络总交换机数,则有 j kh(6)第 10 期 荆有波等:MgdFlow:微电网场景下的多粒度数据流管理算法 97 2.3 问题描述 针对当前微电网场景下的实际问题,通过减少交换机平均流表项占有率和减小交换机的平均负载,从而达到网络整体负载均衡;同时还需要减少丢包率和控制消息的下发数目,从而提高ImproveQos 整体表现。因此,针对这 3 个优化目标,问题可以被量化为 min(112233fun fun fun www)(7)其中,123,www 为赋予该 3 个优化 目标的权重常量,且1231 www。当11 w 且2w,3w 为 0 时,表 示仅考虑网络的平
21、均负载能力;当21 w 且1w,3w 为 0时,表示仅考虑交换机的存储占用空间;当31 w 且1w,2w 为 0 时,表 示仅考虑控制器调度资源的损耗。在本文实验中,设12313www,即 网络平均负载,交换机存储空间和控制器调度资源损耗具有相同的优先级。3 MgdFlow算法设计 3.1 主要思想 以单个数据包为粒度,将进入网络的流先重定向加入一个 200 s 的缓冲 队列,设置队列中可以缓冲的最大数据包个数为 16 个,在该 缓冲时间内对队列中的数据包进行排序,初步聚合属于同一流的数据包,从而降低同一流的数据包中交换机中匹配表项的 miss 概率,减少 CPU 调度指 令的数量进而增加吞吐
22、量、提高网络的负载均衡性能。针对加入一段时延缓冲队列排序是否会对整体时延造成更大影响的问题,Hamid 等24所构建 的 reframer 工具中已经充分验证了数据包排序能够极大地提高服务器内存层次的利用率,从而提升了时延、CPU 利用率等性能指标,因此在后续的求解算法中不再考虑这一问题。图 1 展示了 一个延时排序的简单示例。在设定的 200 s 的 缓冲队列中,充斥着属于不同流 A、B、C 的数据包,通过对乱序数据包打上不同的标签进行分类,随后将这三类标签对于流的处理规则写入入口交换机中,从而完成了不同流中交织的乱序数据包的处理。以主要业务功能为条件,将经过初步时延排序的不同流再次进行基于
23、流的粗粒度聚合和细粒度分流。在粗粒度聚合阶段,以目的 IP 地址为分流依据,将不同的流分为 N 个 流集,分别指向 N 个中转交换机,同时在入口边缘交换机处插入 N 个用作 粗粒度聚合流的流表项,从入口交换机到 N 个不同 的交换机之间共存在 M 条路 由,并在这些路由经过的交换机上插入指向相应中转交换机的流表项,从而实现粗粒度聚合阶段流到达中转交换机的功能。在细粒度分流阶段,以源 IP 地址为分流依据,将所需大业务下的不同小业务流进行分发,在中转交换机处插入细粒度分流的流表项;同时,对于中转交换机可能存在的流表项占用率高以及网络中 mice flow 占据了 绝大多数的流表项的情况18,25
24、,将 所 有中转交换机的流表项的 idle_time 从一般的 5 s 修改为 1 s,达到 快速淘汰 mice flow 对应表 项。图 2 展示了聚合与分流示例,在经过初步时延排序处理后,当前网络的处理对象由有各种具备不同属性(如源 IP 地址、目的 IP 地址、源 MAC 图1 延时排序示 例 98 通 信 学 报 第 44 卷 地址、目的 MAC 地址等)的属于不同流 A、B、C、D、E、F 的数据包组成,通过主动式放置在入口交换机的流表项粗粒度聚合成流集,在本例中,流集 a 包括流 A、C、D,流集 b 包括流 B、E、F,在第一步的粗粒度聚合中,根据流集分成两大类;在第二步的细粒度
25、分流中,由交换机响应式细粒度地插入流表项完成转发到终端的任务,经过N 次粗粒度聚合的筛选,最终流集中的其他流也发送到了终端。本文将微电网场景下的负载、存储占用和指令调度抽象为一个多目标优化问题,MgdFlow 模型的符号及含义如表 1 所示。使用(,)NS L 来描述网络,其中,S 表示交换机集合包含h 台交换机,并将其分别划 分给 j 个粗粒 度阶段网络 和k 个细粒度阶段网络,故12,j hSssss;L 表示S 中交换机之间的 q 条链路,故12,qLlll。表 1 MgdFlow 模型的符号及含义 符号 含义 hs 第 h 台交换机 ql 交换机之间的第 q 条链路 Ratef 流 f
26、 的速率 fsn 对网络中的流聚合成的第 n 个流集 routem 网络设备和链路组成的第 m 条路由 soj 粗粒度网络中第 j 台交换机的表项 sok 细粒度网络中第 k 台交换机的表项 fsroutea 若流集 fsn要通过路由 Route,则为 1,否则为 0 fsfsroutemb 若流集 fsg 要经过路由 Route,则为 1,否则为 0 3.2 算法描述 在网络运行时间t 中,流 f 具有以下属性:流速率 Ratef、源 IP 地址srcfA、目的 IP 地址desfA、开始时间startfT、结束时间endfT。因此,流 f 可以表示为src des start endRat
27、e,ffffffA A T T。在粗粒度聚合流阶段,在入口交换机处,对所有流 f 进行聚合后形成n 个流集,即 12FS fs,fs s,f,n。将 n 个用来分类聚合的流表项插入入口交换机,网络中所有设备和链路共同组成了 m 条传输路由,即 12Route route,ro,ute routem。一条路由上的一台交换机可能会有多个流集经过,因此,在粗粒度聚合阶段的所有交换机流表项数12,SO=so,so s,oj,任一台交换机中流表项数量表示为 Route fsso routenjmsfx(8)其中,1 x 表示流集被分配给 routem,0 x 表示流集没有被分配给 routem。使用 A
28、Fn表示经过某一流集 fsn的所有流,若流集 fsn要通过路由 Route,则设fsroutea=1,否则fsroutea=0;则在时 间t,并且满足startfT tendfT 时,令条件参数=1,否 则=0;交 换 机 Route s,通过的流的总速率表示为 fsrouteRoute AFrate(Route,route R te)anmfs fita(9)在细粒度 分 流阶段,在n 台中转交 换 机处,对已经粗粒度过滤的流集再进行细粒度的划分,将其分为g 个流集,并在每台 中转交换机 处将g 个用于进一步分流的流表项插入,此时将有ng 个流表项插入;网络中所有设备和链路组成了m 条传输路
29、由,即12Route=route,route,route m。对流集 fsn进行再次划分,则有12fs=fs,fs,fs ng。图2 聚合与分流 示例 第 10 期 荆有波等:MgdFlow:微电网场景下的多粒度数据流管理算法 99 细粒度分流阶段的所有交换机流表项数量 12SO=so,so,sok,任一台交换机中流表项数量表示为 Route fsso routegkms fx(10)其中,1 x 表示流集被分配给 routem,0 x 表示流集没有被分配给 routem。采用 AFn 表示经过某一流集 fsg 的所有流,若流集 fsg 要经过路由 Route,则 设fsfsroutemb=1
30、,反 之 则 为0;同理,在时间t,并且满足startfT tendfT 时,令条件参数 1,否则 0;交换机 s Route,通过的流的总速率表示为 fsfsrouteRoute AFrate Route,=rout a(e R t e)mnmfsftb(11)3.3 算法求解 根据微电网场景下整体路由建立的过程,可以概括如下。1)SDN 控制器根据流表项占用和网络链路负载更新粗粒度聚合节点的表项和整体动态视图拓扑。2)粗粒度聚合节点发出路由请求,转到步骤 3),否 则转到步 骤 1)。3)SDN 控制器依次响应插入流表项引导达到每一跳的节点并记录该条路由的表项数量。4)重复步骤 1)步骤
31、3),直至获取所有链路和路由的流表项占用和负载情况。5)更新粗粒度聚合节点的流表项并生成新的流集。6)当表项空 间不足或负载指标达到阈值时,增大粗粒度聚合节点的范围并在损耗多的链路路由进行再次聚合与分流。7)网络节点 根据插入的表项完成路由。4 实验仿真及分析 4.1 实验环境与配置 为模拟微电网场景下的 SDN 设备情 况,研究在 ubuntu 环境 下 利 用 2.3.0 版本的 Mininet 网络仿真器搭建 SDN 仿真环境,并且 采用 基于 Java 的15.0.0 版本 的 OpenDayLight(ODL)作为 SDN 控制器,Open vSwitch 作为 虚拟交换机,软件版本
32、和硬件配置如表 2 和表 3 所示。表 2 软件版本 软件名称 版本号 Mininet 2.3.0 OpenDayLight 15.0.0 Open vSwitch 2.10.0 Apache Maven 3.6.3 表 3 硬件配置 硬件名称 型号 主机 CPU Intel(R)Core(TM)i5-7200U 2.5 GHz 主机内存 16GB DDR4 2133 MHz 主机系统 Windows10 专业版 虚拟机内存 4 GB 虚拟机硬盘 100 GB 虚拟机系统 Ubuntu16.04 构建实验网络拓扑如图 3 所示。实验网络由18 个 节点组 成,其中包含 9 台交换 机、8 台终
33、端 主机和一台控制器 c0。网络 拓扑中的 s1为入口交换机,插入了不同粗粒度的聚合流集的流表项,用来对进入流量进行初步聚合发送;s4、s5、s6为中转交换机,插入了进行第二次聚合的粗粒度的流表项,用来对进入的流量进行二次分流发送;s7、s8、s9为出口 交换机,插入了精确的细粒度流表项,完成最后的传输任务。h8主机以固定速率向 h1h7主机发送数 据包,网络的传输速率控制在 500800 Mbit/s,对实验节点进行 10 次仿真测试,并利用 Wireshark 在各个节点进行抓包分析与记录。4.2 评估指标 1)交换机平 均负载 RMSE。交换机与链路的负载决定了整个网络的最大流量的容载上
34、限,每条链路和交换机的负载都影响到整体的最大容载率,某条链路的过载可能导致某条路由甚至几条路由的拥塞和崩溃,因此针对已有网络中的交换机负载和链路承载上限,本文通过计算每条路由上的交换机平均负载情况,并计算整体的 RMSE 来评估网络中整体链路的承载状态。2)交换机平 均流表项占有率。在具备一定规模的 SDN 中,OpenFlow 交换机需要通过存储大量的流表项来应对处理进入网络的流量,受限于三态内容寻址存储器(TCAM,ternary content addressable memory)内 存容量,流表所能存储的流表项数目也是有限的,而 TCAM 造 价昂贵且耗能,所以通过增100 通 信
35、学 报 第 44 卷 加 TCAM 容量来应对大流量的流表项数目是不现实的8-9,26,因此针对一台 OpenFlow 交换机的存储空间十 分有 限的现 状,聚焦于 通过 尽可能 减少 流表项 占用,以最 精 简的 存储 策 略来 完成 网 络流 量的 处 理。交换 机流 表 项的 占用 空 间反 映了 维 持一 个网 络 正常运行 下该 节 点所 需要 占 用的 空间 代 价,平均 流 表项占用 率则 反 映了 整个 网 络设 备中 所 有节 点的 平 均存储 空间 占用情 况,这一指 标不 同于最 大流 表项占 用率和 中位 数 流表 项占 用 率可 能受 制 于极 大值 或 者极小 值存
36、 储占用 的影 响,而 是由 整体设 备的 存储占 用所决定,能够真实地反映出网络各设备的存储情况。3)ImproveQoS。随着网络 负载的增加,涌入的流量逐渐增多,超过了原本设定的阈值,导致丢包率增大,流量因得不到及时的处理而阻塞在各个节点。同时,没 有匹配流表项的流量会激发 table-miss表项,使交换机向控制器发送 packet-in 消息并将这种类型的数据包发给控制器处理,导致控制器调度信息的下发27,增加了资 源的损耗与负载。通过关注丢包率与控制器下发消息的数目,并将其归结为需要重定向处理消息的流占总流的比例,从而衡量在不同策略下网络的服务质量。4.3 多目标优化结果与分析 1
37、)负载均衡 性能 通过对比传统 OpenFlow 方案6、自适应两级流表方案14以及本文提出的 MgdFlow,得到 3 种方案下网络链路负载情况,如图 4 所示。其中,RMSE 越小则性能越好。箱线图的上横线和下横线分别代表第三四分位数(Q3)和第一四分位数(Q1),也就是数据的上下14分位,箱线图的高度表示数据的12分位;同时,每个箱线图数据的平均数用三角形标出,可以看出不同方案下得出的指标数据的总体分布。图4 3 种方案不同方案下网络链路负载情况 2)平均流表 项占有率 通过对比传统 OpenFlow 方案、自 适应两级流表方案以及 MgdFlow,得到 3 种方案 在不同路由节点数量下
38、的网络所需流表项,如图 5 所示。从图 5可知,随着网络规模逐渐扩大,路由节点数量逐渐增多,被添加到各台交换机中的流表项数量不断增加,自适应两级流表方案对流表项的损耗最多,传 图3 ODL 控制器 下的网络拓扑 第 10 期 荆有波等:MgdFlow:微电网场景下的多粒度数据流管理算法 101 统 OpenFlow 方案其次,MgdFlow 方 案损耗的流表项数始终低于这 2 种方 案。图5 3 种方案在不同路由节点数量下的网络所需流表项 3)ImproveQoS 通过对比传统 OpenFlow 方案、自 适应两级流表方案以及 MgdFlow,得到 3 种方案 在不同路由节点数量下出现网络拥塞
39、时需要重定向流量占比,如图 6 所示。从图 6 可知,MgdFlow 的 ImproveQoS指标始终低于另外 2 种 方案。当流量激增时,网络的丢包率增加,对交织在不同流中的数据包进行访问就会反复调用线程,此时会增加对调度信息的需求,在需要重定向的流中,大象流占比越少、老鼠流占比越多,则同一丢包率下的 ImproveQoS 越高。图6 3 种方案在不同路由节点数量下出现网络拥塞时 需要重定向流量占比 3 种方案对比如表 4 所示。从表 4 可以看出,与传统 OpenFlow 方案和自适应两级流表方案相比,在负载均衡方面,MgdFlow 分别提升了 25%和18%;在平均 流表项占有率方面,M
40、gdFlow 分别提升了 9%和 16%;在 ImproveQoS 方面,MgdFlow分别提升了 24%和 12%。表 4 3 种方案对比 方案 负载均衡 平均流表项占有率 ImproveQoS 传统 OpenFlow 方案 53%36%47%自适应两级流表方案 46%43%35%MgdFlow 28%27%23%5 结束语 针对微电网需要全局调度、及时处理突发情况的需求,结合 SDN 的控制转发分离技术,提出了针对微电网业务场景下的多粒度数据管理算法 MgdFlow,通过对数据 包进行延时 排序和对数 据流完成聚 合与分流,在 SDN 中有效提高负载均衡性能和服务质量,降低平均交 换机流表
41、项 的占有率和 调度指令的 下发次数,提高整体网络对于流量的处理能力。对比传统OpenFlow 方案和自适应两级流表方案,本文方案在负载均衡性能、存储表项利用和调度指令占用方面都有明显的改进和较高的可用性。虽然延时缓冲队列排序会增加一段时延,但对整体网络性能的提升却是巨大的,本文中加入的缓冲队列是静态设置的,未来的工作将研究 在微电网场 景下的自适 应延时缓冲 队列排序,从而进一步提升性能。参考文献:1 郭金 明,李欣然,邓威,等.基于 2 层规划的间歇性分布式电源及无功补偿综合优化配置J.中国电机工程学报,2013,33(28):25-33,6.GUO J M,LI X R,DENG W,e
42、t al.Comprehensive optimal allocation of intermittent distributed generation and reactive power compensation based on bilevel planningJ.Proceedings of the CSEE,2013,33(28):25-33,6.2 陈其森,汪湘晋,池伟,等.多微电网互联系统能量管理方法研究J.电力系统保护与控制,2018,46(11):83-91.CHEN Q S,WANG X J,CHI W,et al.Research on energy manage-men
43、t method of multi-microgridsJ.Power System Protection and Control,2018,46(11):83-91.3 曹正斐,张忠辉,董治成,等.基于区块链的多互联微电网分布式协调优化调度J.电力系统及其自动化学报,2022,34(9):138-145.CAO Z F,ZHANG Z H,DONG Z C,et al.Distributed coordination and optimization scheduling of multi-interconnected microgrids based on block chainJ.Pro
44、ceedings of the CSU-EPSA,2022,34(9):138-145.4 郭泽华,窦松石,齐力,等.面向软件定义广域网的路径可编程性保障研究综述J.电子与信息学报,2023,45(5):1899-1910.GUO Z H,DOU S S,QI L,et al.A survey of maintaining the path programmability in software-defined wide area networksJ.Journal of Electronics&Information Technology,2023,45(5):1899-1910.5 张朝昆
45、,崔勇,唐翯 祎,等.软件定 义网络(SDN)研究 进展J.软件学报,2015,26(1):62-81.ZHANG C K,CUI Y,TANG H Y,et al.State-of-the-art survey on software-defined networking(SDN)J.Journal of Software,2015,26(1):62-81.102 通 信 学 报 第 44 卷 朱瑞(1998),男,江西赣州人,郑州大学硕士生,主要研究方向为边缘计算。曹清越(2000),男,湖南益阳人,郑州大学硕士生,主要研究方向为计算机网络。荆有波(1982),男,山东潍坊人,郑州大学高级
46、工程师,主要研究方向为无线通信。6 左青云,陈鸣,赵广 松,等.基于 OpenFlow 的 SDN 技术研究J.软件学报,2013,24(5):1078-1097.ZUO Q Y,CHEN M,ZHAO G S,et al.Research on OpenFlow-based SDN technologiesJ.Journal of Software,2013,24(5):1078-1097.7 张进进.基于 SDN 的电力通信网 QoS 技术研究D.重庆:重庆邮电大学,2020.ZHANG J J.Research on QoS technology of power communicati
47、on network based on SDND.Chongqing:Chongqing University of Posts and Telecommunications,2020.8 陈志鹏,徐明伟,杨芫.SDN 交换机转发规则 TCAM 存储优化综述J.计算机学报,2021,44(7):1341-1362.CHEN Z P,XU M W,YANG Y.A survey on TCAM storage optimiza-tion for SDN switch forwarding rulesJ.Chinese Journal of Comput-ers,2021,44(7):1341-1
48、362.9 谢升旭,邢长友,张国敏,等.OpenFlow 交换机流表 溢出缓解技术研究综述J.计算 机研究与发展,2021,58(7):1544-1562.XIE S X,XING C Y,ZHANG G M,et al.Survey of OpenFlow switch flow table overflow mitigation techniquesJ.Journal of Computer Research and Development,2021,58(7):1544-1562.10 SHIRALI-SHAHREZA S,GANJALI Y.Delayed installation a
49、nd expedited eviction:an alternative approach to reduce flow table occu-pancy in SDN switchesJ.IEEE/ACM Transactions on Networking,2018,26(4):1547-1561.11 GUO Z H,XU Y,LIU Y F,et al.AggreFlow:achieving power efficiency,load balancing,and quality of service in data center networksJ.IEEE/ACM Transacti
50、ons on Networking,2021,29(1):17-33.12 SOLIMAN M,NANDY B,LAMBADARIS I,et al.Exploring source routed forwarding in SDN-based WANsC/Proceedings of 2014 IEEE International Conference on Communications(ICC).Piscataway:IEEE Press,2014:3070-3075.13 GUO Z H,XU Y,CELLO M,et al.JumpFlow:reducing flow table us