利用强化学习改进软件定义无线传感器网络的路由性能
摘要
软件定义网络(SDN)由于其灵活架构,已成为许多应用中的新兴架构。它有望成为物联网(IoT)的关键使能技术。SDN将控制平面与数据平面分离,由控制器管理整个底层网络。SDN已被应用于无线传感器网络(WSN)的路由中。SDN控制器使用某些算法来计算路由路径;然而,这些算法均无法充分获得优化的路由路径。因此,强化学习(RL)是一种有助于选择最佳路由路径的有效技术。在本文中,我们通过强化学习(RL)对软件定义无线传感器网络(SDWSN)的路由路径进行优化。提出了一种奖励函数,该函数包含了与能效和网络服务质量(QoS)相关的所有必要指标。智能体根据接收到的奖励决定下一步操作,而SDWSN控制器则基于先前经验不断改进路由路径。同时,整个网络也可通过网页远程进行控制。本文将基于强化学习的SDWSN性能与基于SDN的技术(包括传统 SDN、能量感知软件定义网络(EASDN)、QR‐SDN、 TIDE)以及非基于SDN的技术(如Q学习和基于强化学习的路由(RLBR))进行了比较。实验结果表明,所提出的基于强化学习的SDWSN在网络寿命方面提升了8%至33%,分组投递率(PDR)提升了2%至24%。预计本研究将有助于工程师通过高效路由实现所需的无线传感器网络性能。
关键词 :强化学习,无线传感器网络,物联网,软件定义无线传感器网络,基于强化学习的无线传感器网络,能量优化,路由
一、引言
无线传感器网络(WSN)中存在微小的传感器节点,这些节点可能是部署在动态环境中的静态或移动节点。每个传感器节点由小型电源、传输单元和处理单元[1]组成。无线传感器网络是一种面向应用的信息中心网络,广泛应用于国防、环境监测(如光、温度、湿度和振动)、军事和医疗等领域[2],[3]。
近年来,无线传感器网络(WSN)领域的大量研究工作集中在低成本低功耗网络解决方案上,以在严格的计算和能量约束下执行协同与协作任务。因此,在许多应用中,无线传感器节点在无需更换电池的情况下可长期运行[4]。因此,传感器节点的能耗在无线网络设计中被认为极为关键。路由是无线传感器网络中的核心网络活动,负责将感知数据从源(传感器节点)传输到目的地(汇聚节点),它显著影响着网络性能,如能耗、延迟、时延和分组投递率(PDR)。为了提高无线传感器网络的效率,采用软件定义网络(SDN)[5],[6]和强化学习(RL)[7],等路由策略,可以成为获取优化路由路径的良好选择。
SDN是一种能够高效管理网络的新兴架构。它包含三个平面:数据平面、控制平面和应用平面。SDN将控制平面与可编程数据平面解耦,其核心思想是高效地管理和利用网络资源。在SDN中,网络通过一个集中式控制器(控制平面)进行控制,该控制器能够全局地观察整个底层网络以及数据平面上的数据包转发设备。控制平面负责路由、流量管理和故障恢复,而数据平面则负责数据包的传输。SDN使用各平面之间明确定义的接口,例如数据平面与控制平面之间的南向接口,以及控制平面与应用平面之间的北向接口。它还使用OpenFlow通信协议,供SDN控制器与数据平面设备(如传感器、交换机和路由器)进行通信。由于其高效结构能够有效管理和控制数十亿网络设备[8],SDN在物联网(IoT)中的应用正日益增加。软件定义物联网应用于多种网络环境,如边缘网络、接入网络、核心网络和数据中心网络。物联网也包含大量通过SDN管理的无线设备,但物联网网络在安全性和可扩展性方面仍面临一些问题和挑战[9]。SDN也被应用于无线传感器网络(WSN),称为软件定义无线传感器网络(SDWSN),使其更加鲁棒且组织有序。然而,SDWSN仍然存在一些局限性,例如寻找最佳路由路径的问题。该问题可以通过一种称为强化学习(RL)的学习技术来解决。RL是一种实现实时路径选择的有效方法。
最优路径在降低能耗和延迟以及提高PDR方面的作用。强化学习(RL)是一种机器学习(ML),其中学习器被称为智能体,它根据奖励和经验学习最优策略(π)。它满足马尔可夫性质,称为马尔可夫决策过程(MDP)[7],[10],,该过程给出了强化学习的概念。环境中的强化学习智能体可以表示为(S, A, P, R),其中S是状态集合{s1, s2, s3,… sm}, A是动作集合{a1, a2, a3,…, am},智能体通过该动作集合从一个状态转移到另一个状态,而 P是状态转移概率。智能体 A在每一轮后会获得正或负反馈,称为奖励 R(s′|s, a),并根据接收到的奖励选择下一步操作,如图3所示。通过优化策略 π: A← S,可以使奖励最大化。
SDWSN与RL的结合能够高效地管理网络并提升网络性能。基于强化学习的SDWSN架构如图1所示。在SDN中使用了一些人工智能(AI)技术(深度强化学习),用于网络自主学习,从而高效地控制网络[11]。然而,WSN网络可以通过物联网设备远程控制[12],[13]。这是一种新范式,使得任何设备都能通过互联网与其他设备连接。物联网架构由称为节点的低处理能力设备、从节点收集数据的本地控制器以及远程监控和控制节点的云层组成,后者被称为全局控制机制。物联网应用的无线传感器网络框架如图2所示。对于本地控制与优化,我们采用SDN架构和强化学习来优化路由路径。此外,如第六节所示,我们还通过Web(互联网)对传感器节点进行全局控制。本文的贡献总结如下:
- 我们提出了一种奖励函数,用于优化从路由列表中选择最佳路径的路由。该方法有助于降低网络能耗,提高网络生命周期和分组投递率(PDR)。
- 我们还提出了两种算法来提升网络性能(即能效、PDR等)。这些算法应用于智能SDN控制器,能够高效地控制数据平面设备。
- 通过生成树协议(STP)建立无环通信。
- 使用树莓派开发了一个实时实验平台,用于开展基于强化学习的软件定义无线传感器网络路由实验。
- 还开发了一个基于Web的仪表板,用于远程控制和分析传感器节点的数据。
- 提出的基于强化学习的SDWSN技术在真实测试平台上与基于强化学习及非基于强化学习的技术/算法进行了比较。
本文的其余部分组织如下:第二节介绍与基于强化学习的SDWSN及非基于强化学习的路由技术相关的文献综述。第三节阐述了强化学习,同时还详细解释了奖励函数。第四节提供了细节内容用于实验工作的能耗模型。在第五节中,解释了SDN控制器和传感器节点所提出的方案和算法。第六节详细介绍了实验测试平台,并将提出的基于强化学习的SDWSN算法与不同的路由协议进行了比较。最后,第七节对论文进行了总结。
II. 相关工作
路由可以优化无线传感器网络(WSN)的性能,例如能效和服务质量(QoS)参数。在最优路由中,我们采用SDN架构,并提出一些算法以通过路由来提升基于SDN的网络性能。然而,有时基于SDN的网络实时性能较差。为解决此问题,强化学习(RL)可在优化网络性能方面发挥重要作用。本节将路由方法分为两类:基于SDN的路由方法和基于强化学习的SDN路由方法。
A. 基于非强化学习的路由技术
在[14],中,作者提出了一种基于SDN的无线传感器网络(WSN)的能量感知路由算法。该实现采用了极端假设,即SDN控制器知晓所有传感器节点的初始状态数据(如位置、能量和邻近节点),并且控制器能够直接访问所有节点(例如,控制器可直接向每个节点发送路由表),这在实际中是不可能的。通过使用Dijkstra算法建立基于距离的路由路径,并在任一节点能量耗尽时进行更新。为SDN网络提出了一种能量感知路由协议,称为EASDN[15]。该论文提出了三种算法,包括邻近节点发现算法、状态数据收集算法以及控制器操作阶段算法。在EASDN中,控制器利用距离和剩余能量两个参数来计算路由路径。当控制器检测到任何节点能量耗尽或低于用户阈值时,便会发送新的路由表。实验中采用树莓派作为传感器节点进行实时测试。然而,在[16],中,作者提出了一种流量控制方案,通过深度包检测(DPI)监控流量行为并防止网络拥塞。在另一项研究[17]中,提出了一种新颖的绿色数据路径框架,旨在通过为基于TCAM的SDN寻找节能型路由路径来降低能耗。TCAM为数据包交换网络提供搜索操作,被网络设备用于加速网络任务,例如数据包分类。该绿色数据路径研究通过引入动态电压频率调节(DVFS)电源管理技术,聚焦于混合SDN网络中的TCAM使用。因此,TCAM内存不仅支持增强的路由功能,还提供了交换机与控制器之间的快速交互。然而,在[18],中,提出了一种面向软件定义无线传感器网络(SDWSN)的节能架构。该架构通过内容感知和缓存数据的自适应数据广播减少数据包生成。同时,为多跳无线网络开发了一种基于SDN的路由协议
网络[19]。路由路径通过剩余能量和最少跳数来确定最短路径。该模型使用OPNET开发。仿真结果与传统的路由协议(如优化链路状态路由协议(OLSR)和按需距离向量路由协议(AODV))进行了比较。文献[20]中提出了一种软件定义的节能路由(SD‐EAR),以降低网络的能耗。网络被划分为不同的区域或簇,每个区域由SDN控制器进行控制。SDN控制器掌握每个区域的拓扑结构,基于全局视图选择节能路径,并了解每个节点的剩余能量。而在[21],中,为软件定义无线传感器网络(SDWSNs)开发了一种节能路由算法。所提出的算法选择控制节点以动态分配不同的任务。使用NP难定义来选择控制节点。为了解决NP难问题,提出了一种改进的粒子群优化(PSO)算法。然而,PSO在解决此类问题时通常会变得更加复杂。
基于SDN的光网络以高能效支持巨大的IP流量。因此,文献[22]中提出了一种基于SDN的跨网络架构,旨在实现从有线到无线网络的联合能效设计,有望促进大规模部署。该方法利用SDN专注于改进通信协议的设计,前提是传感器不受电池供电的限制。由于能效一直是蜂窝无线通信的重要目标之一。一项重要工作得以完成
一些作者在[23],中专注于通过联合考虑远程射频头(RRH)和传输网络的功耗来设计绿色云无线接入网络(C‐RAN)。在[24],中,作者提出了一种将能量无线传输至软件定义无线传感器网络(SDWSN)的高效节能机制。该提议的过程确定了所需能量发射器的最小数量。优化问题被建模为寻找能够降低网络能耗的能量发射器最小数量。然而,SDN也可以改善无线传感器网络(WSN)的管理。在[25],中,作者讨论了多种传统协议和基于SDN的协议。本文详细介绍了针对无线传感器网络的基于SDN的管理技术,探讨了基于SDN的网络管理的优势,并解释了SDN面临的一些挑战。对于多协议标签交换(MPLS),在[26],中利用SDN开发了能量感知的路由和资源管理模型。首先,SDN控制器建立多路径,然后使用这些预多路径(PMP)进行路由。然而,根据流量状况,SDN控制器通过开启或关闭PMP来节省能量。负载均衡和路径调整常用于充分利用网络资源并有效降低网络能耗。然而,在[27]中通过SDN实现了全局电源管理。在所提出的方案中,流量被重新路由,并调整不同链路上的网络工作负载。根据路由器的连接关系构建网络拓扑结构。采用0‐1整数线性规划模型来最小化集成机箱和线卡功耗。提出了两种算法(替代贪婪算法和全局贪婪算法),以实现高效的链路利用率和降低数据包延迟。
无线传感器网络可靠性和流量负载管理也是[28],[29]中讨论的一个关键问题。提出了一种称为改进的软件定义无线传感器网络(Improved SD‐WSN)的系统,以解决无线传感器网络可靠性问题。所提出的结构解决了异构网络管理和网络覆盖问题,从而可以提高网络可靠性。其中,软件定义无线传感器网络中的流量负载最小化(TLM)问题通过流量分流优化(FSO)算法得以解决。在[29],中采用了两种方法来减少流量负载问题;第一种用于选择最优中继传感器节点,第二种负责传输最优分流。
最近一项研究[30]证实了信息和通信技术(ICTs)在实现社会和环境优势方面的巨大潜力。此类系统通过部署新框架,显著满足了用户的连接需求,并确保了理想的用户体验。尽管节能技术丰富多样,但ICTs系统对于当前和未来的电信网络能耗而言至关重要。大多数证据表明,ICT的功耗并未趋于平稳或下降。人们已做出巨大努力,以改进基于能效系统的某一个或多个特定特性。在绿色领域中,能效已变得极为重要。绿色主题本质上是多学科交叉的,涵盖了与能量相关的问题以及物联网设备对环境影响的更广泛背景。绿色物联网可以集成到独立的照明系统[31],中,从绿色能源采集到智能能量管理,这意味着显著的节能效果。在机器对机器(M2M)系统中,一些机器节点由电池供电,需要在不更换电池的情况下长时间运行。因此,这些节点的能效至关重要。为此,研究人员提出了多种技术以提高这些节点的能效。为了降低能耗,文献[32]中提出了一种唤醒/寻呼策略,仅激活准备发送和接收数据的节点。通过使用更高效的XML接口、核心链路和协议缓冲区,采用一种安全技术来防止攻击者控制休眠设备。
B. 基于强化学习的软件定义无线传感器网络路由技术
基于强化学习的路由协议被用于提升网络性能。一种基于强化学习的路由协议在[33],中被定义,称为基于强化学习的路由(RLBR)。作者在RLBR中提出了奖励函数,该函数利用邻居节点到汇聚节点的距离、剩余能量和跳数来衡量奖励。它优化了无线传感器网络的路由,有助于延长网络生命周期。沃特金斯首次在[34]中提出了一种称为Q函数的动作估计函数,以减少网络中的时间延迟。每次迭代后,Q函数都会被更新,并在若干次迭代后收敛至最优值。然而,强化学习与软件定义网络的结合提供了更强大的解决方案。提出了一种原型,通过使用强化学习[35]来提高软件定义无线传感器网络的能效和适应性。针对环境监测类应用,该原型考虑了能量、计算能力和无线资源,以优化WSN性能。目前强化学习尚未被充分应用于优化SDWSN性能。然而,在基于SDN的网络中,SDN交换机会面临服务放置问题,从而增加终端用户的服务成本。一种名为Q‐放置[36]的算法被提出,通过强化学习降低终端用户的开销。该算法保证了网络效率并提高了其收敛速度,但并未关注网络的能量优化问题。针对多媒体型SDN,文献[37]提出了一种基于强化学习的LearnQoS系统。基于视频的服务至关重要,因为视频已成为终端用户生活中不可或缺的一部分。通过采用基于策略的网络管理(PBNM),所提出的LearnQoS框架提升了视频服务质量。同时提出了一种基于SDN的视频流框架,利用强化学习来管理网络流量[38]。该方法学习优化的路由路径,力求在保持视频质量的同时最小化控制器成本和数据包丢失率。在[39],中提出了一种服务质量感知自适应路由方案,以增强基于SDN的网络吞吐量,并降低延迟和数据包丢失率。所提出的路由协议采用多层分级架构,包含三种类型的控制器:超级控制器、域控制器和从控制器。网络性能因此得到提升
通过强化学习。所设计的奖励函数优化了服务质量(QoS),并实现了某些指标,如提供QoS保障的数据包转发、时间效率和快速收敛率。时间相关深度强化学习(TIDE)是另一种在[40]中提出的技术,用于提升网络服务质量(QoS)。引入了一种基于人工智能(AI)的层来控制与SDN控制器相关的网络。在TIDE中,仅考虑QoS参数来进行路由决策。然而,在[41],中,QR‐SDN路由方法在保持流完整性的前提下提供了多条路由路径。另一种基于Q学习的算法[42],建立了Q表。该算法的目标是为数据转发找到最佳链路。但主要关注的是QoS。奖励值根据每条链路的QoS表现固定设定:如果链路的QoS性能在0%到30%之间,则奖励值为50;如果在31%到60%之间,则奖励值为100;否则为150。未来,深度学习将与Q学习结合,称为深度Q学习。在现代信息技术时代,大多数服务主要依赖于云基础设施。网络流包括云环境中的小流量(mice flows)和大流量(elephant flows)。为了管理这些流量,采用基于SDN的方法高效分配网络资源。然而,由于OpenFlow交换机中的三态内容可寻址存储器(TCAM)容量有限,流量管理成为一个重大问题。仍然难以在流表中找到有用的转发规则,这些规则需要由SDN控制器处理。因此有必要研究流表中有用的流量项,并排除其余流量项。通过这样做,可以降低控制平面开销。为此,在[43]中使用强化学习是有帮助的。为了最小化SDN控制器与交换机之间的开销,作者提出了一种基于RL的算法和一种基于深度强化学习的算法。
SDN网络安全也成为一个关键问题。利用强化学习研究了不同形式的因果攻击,以学习如何应对。在[44]中提出了一种基于强化学习的算法来保护SDN网络。然而,该算法的基本目的是构建SDN平台的自主防御系统。物联网(IoT)是一种互联大规模无线设备的新范式,具有广泛的应用前景。在[45],中,已针对频谱接入和随机接入提出了基于人工智能的解决方案。此外,深度学习算法可使物联网更加智能和友好,因为人工智能的发展对物联网至关重要,可以在不同方面给予强有力支持。同时通过提出一种深度Q网络(DQN)用于强化学习的高效在线训练,促进了人工智能的发展方向。一种基于学习的算法在[44]中保护无线传感器网络(WSN)免受任何外部攻击。每个传感器节点在无线传感器网络中都起着关键作用,应受到保护以防外部攻击。[44]的作者提出了一种自保护学习算法(SPLA),能够抵抗外部攻击。在该算法中,使用感知图(SG)对问题进行建模,以确定可被保护的最少节点数量。每个节点都配备了一个学习自动机。SPLA试图找出可被激活以保护网络的最少节点数量
III. Q学习
Q学习是一种由沃特金斯首次提出的无模型学习方法[34]。它用于估计 Q ′(st, at),称为Q函数,其学习技术被称为Q学习。在Q学习中,学习器被称为智能体,该智能体通过与环境交互,根据当前状态选择动作,并基于该动作获得正向或负向的反馈,即奖励,并计算Q值。在下一个状态 st+1中,智能体根据之前的奖励选择一个动作。经过若干轮后,智能体被训练并收敛到最优解。在Q学习中,Q值在每次迭代后都会更新,如图4所示。更新后的Q值在公式1中定义。
$$ Q(st , a t)←(1−α)Q(st , a t) + α[Rt + γmaxQ ′(st+1 , a t+1)] $$ (1)
Q(st , a t)是智能体在状态st下采取动作所获得的Q值以及即时奖励 R t ,其中maxQ ′(st+1 , a t+1) 是在下一个状态 s t+1 中可以获得的最大值。 α是学习率,用于确定新获取的信息对旧信息的更新程度,其范围为(0< α ≤ 1)。其中 γ是折扣因子,用于确定未来奖励的重要性,其范围为(0< γ ≤ 1)。
A. Q路由协议
它来自Q表,该表使用Q学习方法来路由数据包[34]。在Q路由中,节点 i的初始Q矩阵被初始化。Q矩阵的初始化可能是随机的。然后节点 i将一个数据包 P发送到邻居节点 j。节点 i选择到目的地 d距离最短且Q值最低的转发节点 j,因为较短的距离意味着较低的传输延迟(端到端延迟),即路由成本。 Qi(d, j)是根据公式3计算出的传输延迟,而 tj是行程中的预计剩余时间,节点 i立即获取 j′s,可通过公式2求得。
$$ tj= min_{k∈Ng(j)} Qj(d, k) $$ (2)
设 Qi(d, j)为节点 i利用距离将数据包 P传输到节点 j的估计时间,可通过公式3计算。
$$ Qi(d, j)=(1 − α) ∗ Qi(d, j)+ α ∗(qi+ T x+ tj) $$ (3)
qi是数据包 P在节点 i队列中花费的时间, α表示学习周期, T x表示从节点 i到节点 j之间传输所用的时间。Q路由算法如下所示,见算法1。
算法1 Q路由算法
begin
初始化Q矩阵(Q(x,y)))
while(直到达到终止状态) do
如果 数据包已准备发送 那么
计算Q值
选择具有最低Q值的下一跳 j。
将数据包发送到选定的转发节点 j。
使用公式(2)和(3)计算传输延迟时间。
更新节点 i 的传输延迟时间。
end
end
B. 基于Q学习的路由在软件定义无线传感器网络中的应用
考虑一个包含 n个传感器节点的网络,每个传感器感知环境并选择一个邻近节点 j将数据包发送至目的地 d。为了选择最佳最优路径,Q学习利用先前经验来选择路由路径。在下一个周期,传感器节点 i选择最佳路径以发送目的地的数据包。我们在软件定义无线传感器网络中使用Q学习进行路由选择。在基于SDN的网络中,控制器控制整个网络,并根据所实现的算法选择最佳路径。我们使用生成树协议(STP)在控制器处获取所有可能的路由路径。SDN控制器使用Q学习从路径列表中选择一个路由表,并发送到最近的邻近节点。Q学习包括状态、动作、奖励和Q值,定义如下:
1) 状态 :设 S 为状态集合 S={si , s j , s k ,…, s n} ,这意味着每一轮之后,控制器从路由表列表中选择另一个路由表。
2) 动作 :动作是指智能体从路由路径集合{p1,p2,p3,…,pn}中选择任意一条路由路径并将其发送至邻近节点的行为。
3) 奖励函数 :奖励 Rt是智能体执行动作 ai后获得的反馈,可以是正或负。在Q学习中具有重要意义,因为下一步操作将基于Q值,而Q值会根据接收到的奖励发生变化。每次迭代后都将得到最优策略。该奖励函数使用不同的指标来计算奖励。在[34],沃特金斯的方法中,奖励函数仅使用了数据包延迟,这对于能量高效网络来说是不够的。本文采用了多种奖励函数指标,包括到汇聚节点的距离、邻近节点到目的地/汇聚节点的跳数、节点剩余能量以及数据包成功比率。所提出的奖励函数考虑了每个指标的权重,并对公式4中定义的所有节点的奖励进行加权求和。
$$ Rt= \sum_{i=0}^{N}(w1 ∗d(si)+w2 ∗H(si)+w3 ∗E(si)+w4 ∗p(si)) $$ (4)
$$ d(si)= \frac{Dist to Negb(si)}{Dist to Sink(si)} $$ (5)
其中, Dist to Negb 是邻近节点到目的地/控制器的距离,而 Dist to Sink(si) 是到汇聚节点的最大距离。
$$ H(si)= \frac{Hj(si)}{Hmax(si)} $$ (6)
H(si) 是邻近节点到目的地的跳数与最大可能跳数之比。
$$ E(si)= \frac{ER(si)}{Etotal(si)} $$ (7)
E(si) 是剩余能量 ER(si) 与总能量 Etotal(si) 的比值。
$$ p(si)= \frac{pack(si)}{psend(si)} $$ (8)
p(si) 是邻近节点接收到的数据包确认 pack( s i) 与发送的总数据包 psend( s i) 的比率。
所有这些因素都被用于奖励函数中以计算奖励,如公式 (5)到(8)所示。智能SDN控制器在每一轮之后计算奖励。获得奖励后,Q值将被更新。状态‐动作对(st , at) 的新Q值由以下公式确定:
$$ Q(st , a t) =(1 − α)Q(st , a t) + α[Rt + γmaxQ(st+1 , a t+1)] $$ (9)
四、能耗模型
每个传感器节点都包含用于传输和接收的小型电源。每个节点在传输和接收过程中都会消耗能量。为了计算数据通信过程中的能耗,我们采用一阶能量模型[47]。在此模型中,使用两种类型的信道来计算路径损耗:一种是自由空间模型,另一种是多径衰落[15],[21]。模型的选择基于发射器与接收器之间的距离。如果发射器与接收器之间的距离小于或等于阈值 d0,则选择自由空间模型;否则选择多路径模型。以下公式用于测量每个数据包传输过程中的能耗:
$$ Etx(bl, d)= \begin{cases}
bl ∗ Efs ∗ d^2+ bl ∗ Eelec & d ≤ d0 \
bl ∗ Emp ∗ d^4+ bl ∗ Eelec & d> d0
\end{cases} $$ (10)
Etx是由于传输产生的能耗, bl是数据包总长度(单位为字节), d是发送方与接收器之间的距离。其中, Efs表示自由空间模式下的能耗, Emp是多路径传播的能耗。而 Eelec指的是在数据包传输前和接收后由于电路处理所产生的能耗。 d0是距离阈值,可通过以下公式求得。
$$ d0= \sqrt{(Efs/Emp)} $$ (11)
数据包接收能耗的计算公式为:
$$ Erx(bl)= bl ∗ Eelec $$ (12)
Erx是由于接收字节所产生的能耗。
五、提出的方法
在无线传感器网络(WSN)中,每个传感器节点根据网络设计和通信范围从环境中收集数据,并通过单跳/多跳方式将其发送到汇聚节点。在传统的WSN中,每个节点广播控制包以获取邻近节点信息。由于广播行为,网络消耗大量能量,同时通用算法无法实现路径优化。软件定义网络(SDN)是一种新兴架构,其数据平面与控制平面相分离,通过能够全局查看网络的集中式控制器来管理网络。然而,SDN控制器算法在实时路由路径优化方面效率较低。强化学习(RL)是一种高效的学习技术,可用于优化实时路由。优化WSN路由路径的最佳选择是将SDN与RL相结合。本文在SDN控制器上使用强化学习,以选择路由列表中的最佳路由路径,并在发现路径不佳时更改路由路径。
在我们的能量优化方法中,我们提出了一种奖励函数,该函数包含与网络性能相关的所有参数。该奖励函数由到汇聚节点的距离、到汇聚节点的跳数、剩余能量以及hop数和数据包成功率。为了优化无线传感器网络的路由路径,该算法分为两部分:一部分用于智能SDN控制器,另一部分用于传感器节点。在控制器端,首先初始化控制器节点以收集整个网络的状态数据,然后发现邻近节点,如图5第一阶段所示。控制器通过STP[48],[49]生成所有可能的路由路径,并使用Q学习从列表中选择一个路由表发送给邻近节点,如图5第二阶段所示。每个训练周期结束后,控制器获取传感器节点的状态数据并计算奖励值。智能SDN控制器根据系统反馈中的奖励值调整路由路径,如图5第三阶段所示。如果奖励为负,则说明网络性能下降,需更换路径;否则保持当前路径不变。控制器还持续监控每个节点的剩余能量。若任何节点的能量低于阈值,则将其从节点列表中移除,重新使用STP计算路由路径列表,从列表中选择路由表并发送给邻近节点。SDWSN控制器的算法如算法1所示。
然而,在节点侧,第一个邻居发现阶段开始,每个节点广播Hello数据包以发现邻居,如算法2所示。此过程持续到特定时间以及可接受邻居数量的最大阈值。在邻居发现阶段之后,每个节点与其邻近节点共享状态数据。每个节点的状态数据通过多跳通信到达其目的地(控制器)。每个节点接收来自SDN控制器的路由表,并根据智能SDN控制器提供的路由表发送数据包。传感器节点在每轮结束时使用数学模型计算能耗;并通过数据包将剩余能量状态发送给控制器。对于中继节点,它首先检查节点的剩余能量;如果大于阈值,则接受,否则向控制器发送低能量消息并从网络中断开连接。同时,还考察了控制器和节点侧节能算法的计算复杂度,控制器侧的操作运行n次直到最后一个节点死亡,整个控制器侧操作的复杂度为 O(n)。而在节点侧,第一个操作有效持续到两个阈值方法 tnbr和 NBRmax。该操作运行 n次,而其中两次内部操作耗时 n次以接收邻近节点的状态数据,其他操作则计算节点的能耗直至“Tx负载所需的能量”。整个操作包含n(n+ n)次迭代。因此,节点侧的整体复杂度为O(n2)。该全局优化问题是NP难的,而大多数先前的解决方案都是启发式算法,比所提出的算法更慢。
VI. 实验结果与讨论
本节将讨论所提出的路由技术RL‐SDWSN在寿命和PDR方面的性能。RL‐SDWSN的性能与之前的方案进行了比较协议,例如Q路由、基于强化学习的路由(RLBR)、T SDWSN、EASDN、QR‐SDN以及TIDE的实现将在下一小节中给出。Q学习和RLBR基于强化学习,但T SDWSN和EASDN依赖于SDN架构。然而,QR‐SDN和TIDE使用强化学习来控制基于SDN的网络中的流量。Q路由、RLBR、T SDWSN和EASDN路由协议用于优化无线传感器网络的能耗;而QR‐SDN和TIDE则用于优化网络服务质量。在我们的实验设置中,我们使用树莓派进行实时实验工作,并创建一个无线自组织网络。每个树莓派(节点)包含一个采用IEEE 802.11ac标准的无线网卡。实验工作所使用的拓扑结构如图6所示。所有节点位于同一位置,通过逻辑距离进行通信,并基于距离阈值访问邻近节点。
算法2 SDN控制器算法
输入 网络状态数据,包括边的总数、顶点、G=(V, E)、最短路径树、奖励函数、学习率。
输出 路由路径集合。
初始化控制器。
为控制器分配IP地址。
控制器发现邻近节点。
在阈值和 Nmax内从所有传感器节点收集状态数据。Nmax是可能的邻近节点的最大数量;然而,该阈值是时间阈值。
使用最短路径树计算路由表。
路由表 ←{x1, x2, x3,…, xn}.SDN控制器← RT.
最初,Q值被视为最坏情况,即所有节点在未发送任何数据的情况下失效。
从路由表列表中随机选择一个路由表。
使用公式4计算奖励。
使用公式9计算Q值。
更新Q值。
当 (接收到节点数据直到最后一个节点失效)执行
if (Eresidual node<TH) 则将该节点从列表中排除。
使用最短路径树重新计算路由表。
RT←{x1, x2, x3,…, xm}.
从列表中选择一条路由路径并发送给邻近节点。
否则
结束
路由表 ←{x1, x2, x3,…, xn}.SDN控制器← RT.
估计PELT。
使用公式4计算奖励。
使用公式9计算Q值。
选择具有最高Q值的路由表。
更新Q值。
结束
结束
表I 实验参数表
| 参数 | 值 |
|---|---|
| 初始能量 | 5J |
| Eelc | 50 nJ/bit/m² |
| Efs | 100 pJ/比特/m² |
| Emp | 0.0013 pJ/比特/m⁴ |
| 数据包大小 | 100字节 |
| α | 0.3,0.5 |
| γ | 0.5 |
算法3 传感器节点算法
输入 从控制器接收的路由路径。
输出 每个节点 {S1, S2,…, Sn}向控制器发送与能量和QoS相关的收集的信息。
初始化节点 S={S1, S2,…, Sn}.
为控制器分配IP地址。
如果(RE >EThreshold),则
S←来自控制器的参数设置
搜索邻近节点
当(时间 <tnbr)且 len(我的邻近节点列表) <NBRmax时
如果 ttbt<tmax allowed,则
广播 Hello 数据包
结束
当(接收到邻近节点的 Hello 数据包)时
如果(邻近节点ID 不存在于“邻近节点列表”中),则将其添加到邻近节点列表中。
++状态数据响应次数。
结束
结束
计算每次发送和接收控制及数据流量后节点的能耗。
当(t <tthreshold)且(响应次数<Nmax) 时
向邻近节点发送状态数据。
当接收到状态数据包时
如果 (源地址不存在于“节点列表”中),则将发送节点地址添加到列表中。
++状态数据响应次数。
结束
结束
当(RE< 发送负载所需能量)时
发送和接收控制及数据流量。
计算每次发送和接收控制及数据流量后节点的能耗。
结束
通过邻近节点向控制器发送低能量通知并断开连接。
结束
在我们的实验工作中,节点间通信是实时的,但能耗是通过仿真计算的。使用仿真来计算能耗的原因是树莓派无法直接计算能耗,它需要一个外部模块来计算能耗(即,MoPi)。然而,此处未考虑SDN控制器的能耗,并假设控制器具有无限能量。仿真参数如表I所示。在参数设置中,我们采用了两种不同的 α学习率来观察其对网络性能的影响。在每次 α实验中,我们考虑了三种寿命定义(第一个节点死亡、50%节点死亡和最后一个节点死亡)以及两种不同的部署区域(100米×150米和200米*300米)。实验设置、平台和性能指标将在以下小节中进行说明。
A. 实验平台
我们在一个使用树莓派的真实测试平台上进行了实验工作,并使用Python 3.0开发了程序。树莓派是一种低功耗、低成本且小型的单板计算机。它被用作传感器节点,将数据传输到控制器/汇聚节点,同时也作为控制器来控制底层网络,收集SDWSN网络中传感器节点的数据。由于其体积小,树莓派在许多实时应用中变得越来越受欢迎,例如无线传感器网络、云计算应用、机器人项目等。在我们的实验中,我们使用了树莓派B+型号,该型号配备了强大的1.4GHz x Cortex‐A53 CPU和ARMv8微控制器,以及1GB内存。在软件方面,它支持多种操作系统,包括树莓派基金会推荐的基于Debian的Linux操作系统,并且能够优化树莓派硬件性能。与其他型号相比,Pi B+的规格非常出色。它还包含具有IEEE 802.11ac的无线局域网卡,用于无线通信。在我们的实验工作中,我们使用树莓派WLAN创建无线自组织连接。树莓派的另一个优点是它具有二级存储,可在微型SD卡上存储大量数据。虽然它已被部署为智能传感器节点,但在我们的实验工作中,我们将其用作智能SDN控制器,其余节点则被视为普通节点,负责从环境中收集数据并将其发送到SDN控制器。
B. 性能指标
在本论文中,我们考虑了以下两个用于结果评估的指标:
1)
网络生命周期(LT)
:
- 第一个节点耗尽能量的时间。
- X% 的节点耗尽能量所需的时间。
- 最后一个节点耗尽能量所需的时间。
2)
分组投递率(PDR)
:成功传递到目的地的数据包所占的百分比称为PDR。可以表示为:
$$ PDR=[\frac{PT DP}{PT SP}] ∗ 100 $$ (13)
PT DP是从源到目的地成功传输的数据包总数,而 PT SP是从源到目的地发送的数据包总数。
3) 寿命 :我们在两个不同场景中进行了实验工作。在第一个场景中,部署区域为100米×150米,在第二个场景中,部署区域为200米*300米。我们考虑了三种不同的寿命定义:第一个节点死亡、50%节点死亡和最后一个节点死亡。针对寿命的实验工作也在两种不同参数(例如 α=0.3和0.5)下进行。在实验工作的第一部分,我们通过考虑两个不同区域(100米×150米和200米*300米),比较了五种不同先前方法在三种不同寿命定义下的寿命表现。提出的基于强化学习的SDWSN技术与四种已有技术进行了对比。在寿命描述的第二部分场景中,我们将所有已有技术与我们提出的技术在不同学习率(α)下进行比较。
首先,我们使用两个维度来计算网络的寿命,如图7所示。在图7(a)中,考虑了所有三种寿命定义,并且实验采用了100米×150米区域。提出的基于强化学习的SDWSN技术在所有定义下均提供了更长的寿命。在“第一个节点死亡”这一定义下,提出的基于强化学习的SDWSN技术比Q学习、RLBR、传统SDWSN、EASDN、QR‐SDN和TIDE具有更长的寿命。基于强化学习的SDWSN优于Q学习,是因为它考虑了与能量优化相关的所有参数(源到目的地的距离、到目的地的跳数、剩余能量和服务质量)。而Q学习仅考虑延迟参数,在路径寻找过程中浪费了大量的网络能量。此外,Q学习还使用控制包来获取邻近节点的新信息。通常情况下,控制包频率高于数据包频率,导致网络生命周期缩短。然而,在RLBR中,其寿命也比基于强化学习的SDWSN更短。在RLBR中,大量控制包用于更新邻居表,且在能量优化中寻找最优路径时,并未考虑所有必需的参数。传统SDN和EASDN由于SDN控制器算法效率不高,其寿命均低于基于强化学习的SDWSN。在传统SDN中,仅以距离作为计算路由路径的依据,并假设在实时网络中控制器能够访问所有一跳范围内的节点,并知晓所有节点的初始状态数据(如节点能量、位置和邻近节点列表),但这些假设在现实中无法实现。仅依靠距离,SDN控制器难以找到最优路径;因此,传统SDN的寿命比基于强化学习的SDWSN更短。EASDN在计算路由路径时考虑了两个参数(即距离和剩余能量),但在计算路由路径时未考虑网络质量。相比之下,QR‐SDN和TIDE网络均基于由强化学习控制的SDN架构,但这些技术并未关注网络能耗问题,其奖励函数中也未考虑任何能量度量参数。而基于强化学习的SDWSN在其奖励函数中综合考虑了所有必要参数,以寻找最佳最优路径,并在SDN控制器发现另一条更优路径时及时进行路径切换。因此,基于强化学习的SDWSN相比Q学习、RLBR、传统SDN、EASDN、QR‐SDN和TIDE具有更高的网络生命周期,分别约高出25%、20%、13%、8%、6%和5.5%。
在第二种寿命定义(50%节点死亡)下,所提出的基于强化学习的SDWSN技术相比SDN和基于强化学习的技术仍表现出更优性能,如前所述。基于强化学习的SDWSN相比Q学习、RLBR、传统SDWSN和EASDN的寿命分别约高出25%、24%、17%和11%,如图7(a)所示。然而,在第三种寿命定义下,所提出的基于强化学习的SDWSN与SDN和基于强化学习的技术相比,该技术也具有更长的寿命。基于强化学习的SDWSN比Q学习、RLBR、传统SDWSN、EASDN、QR‐SDN和TIDE的寿命分别高出约33%、28%、23%、14%、12%和11%。
在第二种场景中,我们将部署区域从100米×150米扩大到200米*300米,并观察了网络的寿命性能。与小区域场景相比,此场景下的寿命有所下降,因为节点间距离增加导致能耗更高。节点的能耗取决于数据包长度和节点间距离,这在能耗模型部分已有讨论。然而,与SDN和基于强化学习的技术相比,所提出的技术改善了网络寿命,如图7(b)所示。除了在第二个生命周期定义(半数节点死亡)中RLBR表现不同外,所有技术的行为均与第一种场景相似。在所有定义中,基于强化学习的SDWSN的寿命比Q‐learning、RLBR、传统SDWSN、EASDN、QR‐SDN和TIDE高出约8%至33%。
4) 不同学习率下寿命的比较 :在基于强化学习的网络中,学习率对网络性能有显著影响。本节比较了两种学习率,并分析它们对网络寿命的影响。在本次实验工作中,我们还考虑了生命周期的三种定义和两个不同区域。在第一种场景中,选择了100米×150米区域。从图8可以看出,学习率影响了网络的寿命。它提高了基于强化学习的网络的网络生命周期,而基于SDN的网络由于缺乏学习能力保持不变。所有基于强化学习的技术(即Q‐learning、RLBR和RL‐SDWSN)随着学习率的增加而改善了网络寿命。从图8(a)、8(b)和8(c)可以看出,α= 0.5提供了更长的寿命,因为它能快速学习网络并迅速优化路由路径。在所有寿命定义中,当α从0.3变为0.5时,网络生命周期增加了3%到5%。
在第二种场景中,我们将部署区域从100米×150米更改为200米*300米,以观察其对网络寿命的影响。从图9(a),9(b)和9(c)可以看出,随着区域的增加,网络的寿命也随之减少,因为随着节点之间距离的增加,网络能耗也随之增加。然而,从这些结果中我们还可以看到,学习率也会影响网络生命周期。当α从0.3增加到0.5时,基于强化学习的技术的寿命提高了3%。我们还观察到,提出的基于强化学习的SDWSN技术相比SDN和基于强化学习的网络具有更长的寿命。
5) 分组投递率(PDR) :本节讨论数据包成功率,即有多少数据包到达目的地,以及在传输过程中丢失了多少。为了测试PDR,我们也使用了两个不同区域。在图10(a)中,使用了100米×150米区域。可以看出,RL‐SDWSN的PDR高于Q学习、RLBR、传统SDN、EASDN、QR‐SND和TIDE。在Q学习中,每个节点都试图自行学习最佳路径。在通信开始时,由于网络需要时间建立从源到目的地的路径,因此会丢失大量数据包。在此期间,每个节点广播控制数据包以获取邻居信息,从而估计可能的最佳路径。然而,在这种情况下,网络变得拥塞,且大量数据包因拥塞而丢失。
同样,在RLBR中,网络是去中心化的,每个节点都试图学习最优路径,但为了进行学习,每个节点会广播控制数据包以获取邻近节点的状态信息。在基于强化学习的网络中,必须获得邻近节点的最新状态数据。由于交换了大量的控制数据包,网络变得拥塞,导致大量数据包丢失。然而,在基于SDN的网络中,其PDR优于基于强化学习的网络,但基于强化学习的SDWSN性能优于传统SDWSN和EASDN。在基于SDN的网络中,控制器可以全局地查看底层网络并对其进行控制。然而,QR‐SND和TIDE也都是基于SDN的网络。在QR‐SDN中,奖励函数的设计对网络数据流控制影响不大,导致通信过程中丢失更多数据包,PDR低于提出的基于强化学习的SDWSN。相比之下,TIDE的性能接近基于强化学习的SDN性能,因为它已考虑了相关因素在奖励函数中提升网络性能,以提高PDR。SDN控制器管理网络流量以避免拥塞;因此,基于SDN的网络比基于强化学习的网络提供更好的PDR。然而,SDN控制器算法有时表现不佳,因为控制器未考虑所有必要因素来避免拥塞。在基于强化学习的SDWSN中,智能体在选择路由路径时会综合考虑所有因素(即两个节点之间的数据包丢失率、到目的地的跳数以及到汇聚节点的距离)。这些因素会影响网络的数据包成功率性能。在基于强化学习的SDWSN中,智能体能够选择最佳路由路径,从而实现低拥塞和高PRR。在第二个场景中,节点部署区域为200米*300米。在图10(b)中,可以观察到可以看出,基于强化学习的SDWSN与其他所有技术相比也具有更高的PDR,其表现趋势也类似。然而,RLBR的性能相较于Q学习略低。在投递率方面,由于节点间距离增加,导致丢包率随距离上升,因此在该场景(200米*300米)下,所有方法的PDR均低于第一种场景(100米×150米)。从图10(b)可以看出,基于强化学习的SDWSN相比其他技术影响较小。然而,基于强化学习的技术在PDR方面更为有效。
)
C. 基于网页的传感器节点监控系统
基于物联网的网络通过网页远程控制网络设备(即传感器节点)。我们还开发了一个基于网页的仪表板来控制传感器节点。在我们的网络中部署了八个传感器节点用于测量温度。仪表板如图11和12所示。在图11中,通过网页监控四个月温度。在图11(a)中显示了两个不同窗口,第一个窗口显示所有部署传感器节点的温度,第二个窗口显示所有传感器节点的平均温度。然而,图11(b)显示传感器节点1至4的单独温度,图11(c)显示传感器节点5至8的温度。
在图12中,一些传感器节点关闭(即3、4、5和6),以红色显示;然而,传感器节点1、2和8开启,这些传感器节点的数据(温度)显示在图12(a)中。而图12(b)和12(c)显示了所有传感器节点的单独数据。在图12(b)中,我们可以看到只有传感器节点1和2处于活动状态,且数据也在仪表板上显示,类似地,传感器节点5、6和7处于非活动状态,这些传感器节点的窗口为空。从图11和图12中可以看出,网络设备可以通过网络远程轻松地进行管理、观察和控制。
七、结论
无线传感器网络(WSN)在我们的日常生活中正被越来越多地使用。本文详细阐述了构建高效基于物联网的WSN框架的需求,因其在各种应用环境中具有重要意义。通过高效路由实现理想的WSN性能是一项具有挑战性的任务。因此,我们采用强化学习与软件定义网络结合的方法来实现高效的WSN路由,从而获得改进的路由决策。SDN控制器通过强化学习学习路由路径,并根据先前收到的奖励决定下一步操作。我们使用强化学习从通过STP获得的路由列表中选择最佳路由路径。基于强化学习的SDWSN性能与现有的基于SDN的技术进行了比较,包括传统SDN和节能技术。路由。在所有场景中,提出的基于强化学习的SDWSN技术平均寿命提高8‐33%。我们还比较了两种不同的学习率的结果。我们提出的基于强化学习的SDWSN方法在所有场景中将平均网络生命周期提高了8%到12%。此外,我们比较了PDR性能,结果表明其投递率高于SDN和基于强化学习的技术。其他一些指标,如时延、延迟和吞吐量,也对网络性能产生重大影响。未来,我们计划通过提出一些新算法并实现大规模网络来优化上述参数。同时,我们还打算将实时网络的性能与仿真工作进行比较。此外,我们还计划使用强化学习来检测网络异常流量。
3136

被折叠的 条评论
为什么被折叠?



