2. 泉州师范学院数学与计算机科学学院, 福建 泉州 362000;
3. 福建省大数据管理新技术与知识工程重点实验室, 福建 泉州 362000
2. College of Mathematics & Computer Science, Quanzhou Normal University, Quanzhou 362000, China;
3. Fujian Provincial Key Laboratory of Data Intensive Computing, Quanzhou 362000, China
0 引言
无线传感器网络(wireless sensor network,WSN)具有系统规模大、网络结构种类多、应用环境复杂等特性[1-2],在进行实际系统的部署之前,必须经过模拟仿真和实际网络的测试分析才能够充分证实网络运行的可行性、有效性以及可靠性[3].从微观角度看,传感器网络节点状态信息的获取难度远大于普通网络节点,从宏观角度看,其网络运行状态和性能也比一般网络难于进行评价与分析,给无线传感器网络的开发与调试带来了较大困难.目前在无线传感器网络的研发和测试工作中,一般采用理论分析、网络仿真和部署小规模节点测试的方法进行验证.但构建数学模型的计算复杂度较高,仿真工具又难以真实体现物理环境和无线通信的不稳定性,验证的效果较差.而对传感器网络进行虚拟化和重构,可在实际应用过程中动态验证测试网络的协议和算法,不仅比较全面地包含了影响网络状态的各个因素,同时节约研究成本[4].
文[5]采用多智能体结构划分网络模块,规定了一系列重构策略并提供大量API供智能体间相互调用,降低了网络控制的复杂度;文[6]从网络策略角度,将状态转移理论引入重构方法中,以提升节点和网络的动态服务能力;文[7]采用模块化的无线路由协议库对路由层进行参数配置,保证路由层的灵活性;文[8]通过分离频谱感知与数据传输,为无线传感器网络提供动态信道选择.以上网络架构或实物平台均提供了一定的动态重构能力,同时表现出对于复杂网络环境或网络拓扑的适应性,证明可重构WSN在网络各层次中的应用价值.但已有研究仍面临着诸多不足,主要体现在缺乏网络流量细粒度管理手段、控制面与数据面(转发面)耦合性较高及路由协议可配置性较差等方面.作为软件定义网络[9](software defined network,SDN)的热门实现技术之一,OpenFlow提供针对不同网络应用、协议与管理需求的简单实现[10-11]. OpenFlow通过将网络设备的转发面与控制面分离,实现了对网络流量的灵活管理,为网络及应用的创新提供了良好的平台[12].在南北向接口中,OpenFlow均提供了标准化的调用规则,使研究人员可以专注于具体网络架构与策略的开发,而不需关心其具体实现.基于OpenFlow的SDN为WSN提供了运行时重构的能力,可动态配置网络参数而无需重新加载程序或部署网络,其转发面与控制面分离的模式使路由策略独立于其他部分,提升了节点与网络的虚拟化程度[13].
1 可重构网络设计方案本节给出支持路由协议动态重构的无线传感器网络架构设计方法.该架构设计以SDN为基础,将网络分为转发面与控制面,分别处理相关网络数据流,从而实现多种协议及网络参数的运行时配置,提高网络灵活度与性能[14].考虑到网络的灵活性及可扩展性,设计一种基于SDN方式的可重构网络架构,通过网络转发面与控制面的分离,降低各模块间的耦合性.通过引入OpenFlow协议机制,将网络控制与数据转发逻辑相互分离,降低了网络的专用性和对具体协议的依赖性[15].同时结合无线传感器网络协议特征,通过OpenFlow控制面为各种协议提供包括时间同步、网络分簇、转发规则配置在内的多种网络管理手段.以流表方式重构路由协议,将多种协议参数化,使网络可根据不同场景需求对协议进行微调并在不同协议间动态切换而无需重新部署.
1.1 网络转发面设计在网络转发面,通过流表(flow table)完成网络数据包的流式处理.流表中每一行称为一条流表项,包含3个区域:匹配规则域、动作域及统计域[16](如表 1).匹配规则域提供了一组网络数据流的匹配规则,数据流内容符合规则时,则认为该数据流匹配当前表项;动作域包含一个应用于对数据流的处理动作序列,当数据流匹配成功时则对其执行该动作序列;统计域包含一组当前表项的统计信息,如匹配次数、数据流量等.匹配规则域及动作域中的内容均可在网络运行过程中通过用户手动配置或节点自动配置,通过不同的匹配规则和动作序列,可实现相应的数据转发策略.
转发面流表(flow table) | |||
一般表项 | 匹配规则域 | 动作域 | 统计域 |
规则1,规则2… | 动作1,动作2… | S1 | |
规则1,规则2… | 动作1,动作2… | Sn | |
Miss表项 | 任意规则 | 动作1,动作2… | Sm |
转发面将符合规则的数据包当作一组数据流,针对不同数据流规划相应路由策略.流表封装了多种处理动作(如缓存、转发、丢弃等),通过处理动作的组合,设计出符合路由协议要求的转发策略.流表式设计使得普通网络节点不再关心具体协议内容,从而专注于数据引流,提高了网络传输效率.
1.2 网络控制面设计在控制面,通过研究不同WSN协议的特征,本文设计了多种基本路由动作并组合成动作序列,以完成WSN中的一些特定需求(网络时间同步、能量感知、自动组网等).与转发面流表相同,基本路由动作同样可根据具体协议进行动态配置,而配合转发面流表,共同构成复杂的路由协议,如图 1.根据不同路由协议的特性,调用相应动作序列(相同协议下不同功能的网络节点路由动作序列也可不同),实现路由信息与一般数据的解耦.基本路由动作一般在网络运行初期执行或周期性执行,以实现相应的路由功能.例如,通过配置网络分簇与时间同步动作,辅以转发面流表策略,即可实现简单的分簇路由协议.基本路由动作一般在网络运行初期执行或周期性执行,以实现相应的路由功能.此外,协议运行过程中转发面无法识别的未知数据包也将被提交到控制面,最终上传至网络控制器进行处理.
2 网络数据流处理方法本节从网流数据角度出发,给出本文所述网络架构中数据流的封装格式与详细的字段匹配处理策略.网络转发策略的核心在于流表及其查找方法的实现. OpenFlow通过任意数据字段组合的匹配,可实现多种规则或数据包处理策略[17].对于路由协议而言,流表任意字段匹配可提供最大程度的灵活性,使协议数据包保持原有格式或仅做少量修改,从而在一定程度保持对非OpenFlow网络的兼容.
2.1 数据包格式图 2为网络采用的数据包格式,包括包序号、源地址、目的地址等常用信息.所有路由协议均使用相同数据包格式,即包格式与协议独立,转发面仅根据流表匹配规则判断当前数据包的处理方式.在该流表配置及数据包格式下,其他平台或协议的数据包可不经修改直接进入当前网络,极大提高了网络兼容性.同时,对于非统一格式的数据包,即其部分字段有缺失等情况,本文提供“流掩码”(图 2中第一个字段)对数据包字段进行约束.流掩码记录了所有可能进行匹配字段的有效性,当掩码对应位取值为1时,则该字段生效.加入流掩码后,用户可自由控制数据包格式,添加自定义字段或通过删除某些多于字段以减少冗余.同时只要在流表添加或删除相应字段匹配规则即可实现新的数据流处理策略.
2.2 流表匹配算法数据流进入控制面后将按照流表内容进行逐项匹配,当匹配成功时则执行对应表项的动作域,未成功则执行流表的Miss规则项.匹配具体表项时,表项匹配规则将作用于数据包对应字段,当所有字段内容均符合当前规则时,则认为匹配成功,否则移至下一表项进行匹配,算法流程如图 3所示.
3 OpenFlow原型网络搭建 3.1 物理平台设计方案为全面了解测试网络性能,需要对系统进行综合测试,从而实现完整的动态重构功能.主要测试工作包括多协议性能对比测试、协议动态切换测试等.为适应WSN网络低功耗要求,硬件节点采用基于TI公司CC2530与CC2531片上系统(System on Chip,SoC)组成.在本文所述的原型中,网络控制器节点采用CC2531,以支持其与中心服务器的高速数据传输;由于数据采集终端对上传数据的速率要求较低,故网络中其他传感器节点采用CC2530并采用UART串口连接至数据采集终端. CC2530与CC2531均可通过USB接口供电,而对于具有特殊需求的实验(如动态物理拓扑),传感器节点还可采用内部电池进行供电.
本文所述的网络包括中心服务器、OpenFlow控制器节点、网络节点编程模块、一组实际部署的传感器节点及对应的数据终端PC设备,如图 4.其中OpenFlow控制器负责接收中心服务器的指令,并完成全网路由协议的动态配置;数据终端通过有线方式连接至每个传感器节点,在网络运行时采集相关数据并提交至中心服务器.
3.2 协议配置部署模块基本路由动作在网络运行前已嵌入节点操作系统中,路由协议配置包括以下两步:基本路由动作配置及流表配置.路由协议配置模块提供了针对基本路由动作的执行顺序和参数配置,在用户完成路由协议设定后,配置模块将自动生成并下发转发面流表,如图 5.路由协议配置模块由部署在中心服务器的网络控制软件实现,在网络运行过程中,用户可通过更改网络参数实现对网络协议、行为及功能的动态重构,无需重新部署平台或干预物理网络运行.
在物理网络节点中,控制面存储接收到的路由协议配置信息并替换现有配置.基本路由动作可根据用户配置在网络任何运行阶段主动执行或被动响应;流表作为协议转发策略的主要实现方,负责对全部网络数据包进行处理(不包括测试平台控制软件的配置命令).
3.3 网络运行监测模块网络运行监测模块负责采集网络运行时的各项数据,包括传感器数据、节点参数及协议栈统计信息等.监测模块由部署在终端监测计算机上的监测软件实现,通过串口或USB接口连接网络节点,如图 6.监测模块可实时采集节点及网络数据,并保存在本地或通过以太网上传至中心服务器.相比于通过自身无线网络采集数据的方式,加入监测模块降低了无关数据对网络状态的影响,使实验结果更加精确.同时,监测计算机可添加搭载多种传感器的外置监测单元并连接至网络节点,对节点本身的运行状况进行详细分析,进一步细化了测试网络的数据粒度.
4 实验结果与分析 4.1 路由协议传输效率实验本文选取洪泛[18](Flooding)协议、低功耗自适应集簇分层[19](low energy adaptive clustering hierarchy,LEACH)协议及定向扩散(directed diffusion,DD)[20]协议对网络有效性及兼容性进行评价.实验采用10个传感器节点构成测试网络,分别测试200 s运行时间下3种协议网络的节点的数据收发情况.
图 7给出了Flooding协议下各节点的转发面数据包收发统计.实验选择节点ff02、ff04及ff05作为发送端,节点ff03、ff07及ff0a作为接收端,进行点对点数据传输.由于Flooding协议对任何数据包均采取广播方式转发,造成网络产生大量冗余数据,从图中可以看出个节点均转发或丢弃大量无效数据包.同时由于节点大量广播造成的网络拥塞,节点ff07的数据包接收量低于节点ff03和节点ff0a.
图 8中,由于LEACH协议的单跳性且每轮簇头的随机选择,网络的数据传输状况较好.同时各节点轮流担任簇头,网络流量较为平均,没有出现网络拥塞.由于簇头节点每轮均随机选择,同一时间网络内可能存在不止一个簇头,故某些簇头节点可能无子节点,导致其在运行时间内不向基站(base station,BS)转发数据,如ff01、ff07及ff08.
相比于Flooding协议,DD协议在接收数据前将发送通信请求,从而建立网络梯度从而选择最优传输路径.建立梯度的过程要求各节点广播通信请求,这一过程将造成一定程度的网络拥塞与数据包丢弃.但梯度建立后网络数据将沿最优梯度方向转发,大大提高了传输效率. 图 9中节点ff02为锚节点,在实验中锚节点随机选取其他节点发送通信请求.实验结果表明,对于未请求通信的节点(如ff01与ff08),网络将不会对其建立梯度,从而减少了冗余数据.
测试网络多协议通信测试,证明了其对不同路由协议良好的支持能力.实验中,LEACH协议属于层次型路由协议,Flooding与DD协议属于非层次型路由协议.对于两种不同体系的路由协议,通过配置基本路由动作序列和转发面流表,测试平台均能支持,体现了其良好的协议兼容性.
为进一步比较路由协议的性能,计算每种协议的网络传输效率(network transmission efficiency,NTE)及平均流表匹配长度(average matching number,AMN). NTE表示网络运行过程中,实际传输成功的有效载荷占网络总流量的比例;AMN表示运行期间控制面处理一个数据包所需匹配流表项的平均次数.设网络传输的有效数据流量为Xtrans,网络控制流量为Xctrl,则NTE可由式(1)得到:
(1) |
图 10显示了几种路由协议的NTE与AMN值.其中DD_X协议为DD协议的改进:DD_X协议在锚节点每次请求通信时都会建立梯度以选择最佳路径,即DD_X协议对动态拓扑的适应性更好.实验结果表明,DD协议取得最高的NTE值(92.03%),而同样条件下Flooding协议由于网络拥塞程度较高,NTE仅有11.01%. LEACH由于其单跳性且转发面流表易于实现,AMN取得最优(1.50);改进后的DD_X协议虽然NTE低于DD协议,但AMN也更低(2.85),表明新协议具有更好的转发面性能.
4.2 多协议能耗实验网络能耗水平可以从侧面反映协议的运行情况,不同协议由于其设计目的与运行机制的不同,对能量的要求程度也不相同.通过测量网络能耗,研究者可以很容易比较不同协议的能耗差异,甚至单一节点的能耗及运行状况情况,从而实现路由协议调优或网络故障诊断.除一般通信接口,实验中网络节点均外接传感器并连接至数据采集终端,在运行过程中采集网络能耗信息.根据路由协议各自组网及传输特点,可以预见不同协议网络能耗情况将会出现较大差异.在本实验中,采用外加电流传感器读取节点运行时的电流变化,结合节点工作电压计算节点能耗功率.传感器获取的电流信号经14位高精度模数转换器(analog-to-digital converter,ADC)变为数字信号,节点工作电压由内部引脚读出.能耗功率的计算公式如下:
(2) |
式中:Adef为网络未运行时ADC的取值,Aread为网络运行时的取值;Uref为外部参考电压,本实验中参考电压取值为2.5 V;Xacc为电流传感器精度,本实验使用的电流传感器精度为5 mV/mA;Xres为ADC分辨,14位分辨率的计算值为16 383;Urun为节点运行时电压,可在运行过程中动态读取.
实验中使Flooding、LEACH及DD协议分别运行1 000 s并采集其网络平均能耗数据制成折线图(如图 11).通过折线图可以发现,LEACH协议能耗平稳且低于Flooding协议与DD协议,这与LEACH协议的低功耗特性相吻合.在DD协议实验中,由于锚节点数据量远大于其他网络节点,故单独将其列出,即图中DD(Sink)折线.同时由于DD协议只需经历一次网路梯度建立过程,其能耗状况也相对平稳;Flooding协议由于大量广播数据包造成网络负载快速变化,故整体网络能耗水平最不稳定.
4.3 路由协议动态切换实验本文基于OpenFlow无线传感器网络通过分离转发面与控制面实现路由协议的动态配置与切换.在网络运行过程中,允许用户通过中心服务器对协议进行再配置,只需要通过控制器向网络发送流表信息与基本路由动作序列信息即可实现协议切换而无需重新部署网络.路由协议的动态切换有助于网络适应复杂应用场景和动态网络拓扑,用户可根据当前环境或网络状况动态选择最佳协议,提高了网络的灵活性与生存能力.考虑到协议切换的资源消耗,在动态配置网络前需预测可能的影响. 图 12列出了切换至对应协议时,单个节点对流表进行配置所需的开销,可以预测流表开销对协议切换过程中网络性能有较大影响.由于Flooding与DD协议流表都较为庞大,故其切换对网络性能的要求也更高.通过对动态切换协议时网络性能的研究,可以进一步考察协议的自身性能与网络的适应性.此外,协议切换时并未采用路径选择算法也是导致网络负载偏高的原因之一.考虑到OpenFlow网络的转发与控制分离的特性,进一步研究中可考虑采用一些面向动态系统的优化算法降低网络负载.
5 结论本文通过分离无线传感器网络转发面与控制面,使用户可自由配置网络路由协议与其他网络策略,实现了网络的动态重构.在转发面,流表作为全部网络流量的入口,其检索与匹配策略影响着网络整体性能,通过合理配置流表内容将提高网络性能;控制面主要针对WSN特点实现了一系列路由操作,如分簇算法、能量感知、时间同步等.本文的理论研究与实验证明,通过引入OpenFlow协议框架的无线传感器网络体系结构能够有效解耦控制流量与用户流量.为进一步验证包括路由协议在内的网络策略重构的有效性,本文实验部分选取了多种经典WSN路由协议,在真实物理场景下实现了本文所述的网络架构,并从传输效率、能耗水平及网络动态切换代价三方面进行了测试.实验结果表明,在不改变网络硬件部署、实现方式等条件下,软件定义的WSN架构较好实现了多种路由协议,同时实现了网络运行时的多协议无缝切换,并精确给出了协议重构时的网络负载.网络转发面与控制面协作,共同实现多种路由协议,且由于两部分结构的独立性,用户可根据需要随时调整全网协议甚至单一节点参数,而无须重新部署网络.基于OpenFlow的无线传感器网络提高了对环境及网络拓扑的适应性,同时为WSN路由协议提供了新的研究方法.今后将尝试将完整OpenFlow协议引入WSN,从而进一步增强网络灵活性与重构能力.
[1] | Rawat P, Singh K D, Chaouchi H, et al. Wireless sensor networks:A survey on recent developments and potential synergies[J]. The Journal of Supercomputing, 2014, 68(1): 1–48. DOI:10.1007/s11227-013-1021-9 |
[2] |
钱志鸿, 王义君.
面向物联网的无线传感器网络综述[J]. 电子与信息学报, 2013, 35(1): 215–227.
Qian Z H, Wang Y J. Internet of things-oriented wireless sensor networks review[J]. Journal of Electronics & Information Technology, 2013, 35(1): 215–227. |
[3] | Senouci M R, Mellouk A, Oukhellou L, et al. WSNs deployment framework based on the theory of belief functions[J]. Computer Networks, 2015, 88: 12–26. DOI:10.1016/j.comnet.2015.05.014 |
[4] |
周纯杰, 向纯洁, 陈辉, 等.
可重构技术及其在网络控制系统中的应用综述[J]. 控制与决策, 2007, 22(11): 1201–1207.
Zhou C J, Xiang C J, Hui C, et al. Reconfiguration and its applications in networked control systems[J]. Control & Decision, 2007, 22(11): 1201–1207. DOI:10.3321/j.issn:1001-0920.2007.11.001 |
[5] | Grichi H, Mosbahi O, Khalgui M, et al. RWiN:New methodology for the development of reconfigurable WSN[J]. IEEE Transactions on Automation Science and Engineering, 2016, 14(1): 109–125. |
[6] |
赵靓, 张校辉, 王雨.
可重构网络的可用性模型[J]. 通信学报, 2015(3): 78–85.
Zhao L, Zhang X H, Wang Y. Avaliability model for reconfigurable network[J]. Journal on Communications, 2015(3): 78–85. |
[7] |
祝林, 孟坤, 林闯, 等.
无线多跳网络性能与安全性测试平台[J]. 计算机研究与发展, 2015, 52(3): 661–670.
Zhu L, Meng K, Lin C, et al. TH-award:A performance and security test platform for wireless multi-hop networks[J]. Journal of Computer Research & Development, 2015, 52(3): 661–670. DOI:10.7544/issn1000-1239.2015.20131320 |
[8] |
许驰, 郑萌, 梁炜, 等.
认知无线传感器网络的协作频谱感知[J]. 信息与控制, 2015, 44(4): 430–435.
Xu C, Zheng M, Liang W, et al. Cooperative spectrum sensing of the cognitive wireless sensor network[J]. Information and Control, 2015, 44(4): 430–435. |
[9] | Nunes A, Mendonca M, Nguyen X N, et al. A survey of software-defined networking:Past, present, and future of programmable networks[J]. IEEE Communications Surveys & Tutorials, 2014, 16(3): 1617–1634. |
[10] | Dave T. OpenFlow:Enabling innovation in campus networks[J]. ACM Sigcomm Computer Communication Review, 2014, 38(2): 69–74. |
[11] | Hu F, Hao Q, Bao K. A survey on software-defined network and OpenFlow:From concept to implementation[J]. IEEE Communications Surveys & Tutorials, 2014, 16(4): 2181–2206. |
[12] |
董玮, 陈共龙, 曹晨红, 等.
面向软件定义架构的无线传感器网络[J]. 计算机学报, 2017, 40(24): 1–21.
Dong W, Chen G L, Cao C H, et al. Towards a software-defined architecture for wireless sensor networks[J]. Chinese Journal of Computers, 2017, 40(24): 1–21. |
[13] | Zubair K, Norsheila F, Mohd R. A survey of middleware for sensor and network virtualization[J]. Sensors, 2014, 14(12): 24046–24097. DOI:10.3390/s141224046 |
[14] |
王蒙蒙, 刘建伟, 陈杰, 等.
软件定义网络:安全模型、机制及研究进展[J]. 软件学报, 2016, 27(4): 969–992.
Wang M M, Liu J W, Chen J, et al. Software defined networking:Security model, threats and mechanism[J]. Journal of Software, 2016, 27(4): 969–992. |
[15] | Luo T, Tan H P, Quek T Q S. Sensor OpenFlow:Enabling software-defined wireless sensor networks[J]. IEEE Communications Letters, 2012, 16(11): 1896–1899. DOI:10.1109/LCOMM.2012.092812.121712 |
[16] | Bosshart P, Gibb G, Kim H S, et al. Forwarding metamorphosis:Fast programmable match-action processing in hardware for SDN[J]. ACM Sigcomm Computer Communication Review, 2013, 43(4): 99–110. DOI:10.1145/2534169 |
[17] | Mahmud A, Rahmani R, Kanter T. Deployment of flow-sensors in internet of things' virtualization via OpenFlow[C]//Proceedings of the 2012 Third FTRA International Conference on Mobile, Ubiquitous, and Intelligent Computing (MUSIC 2012). Piscataway, NJ, USA: IEEE, 2012: 195-200. |
[18] | Huang R, Zhuang Y, Cao Q. Simulation and analysis of MFlood protocol in wireless network[C]//Proceedings of the International Symposium on Computer Science and Computational Technology (ISCSCT 2008). Piscataway, NJ, USA: IEEE, 2008: 658-662. |
[19] | Heinzelman W B, Chandrakasan A P, Balakrishnan H. An application-specific protocol architecture for wireless microsensor networks[J]. IEEE Transactions on Wireless Communications, 2000, 1(4): 660–670. |
[20] | Intanagonwiwat C, Govindan R, Estrin D, et al. Directed diffusion for wireless sensor networking[J]. IEEE/ACM Transactions on Networking, 2003, 11(1): 2–16. DOI:10.1109/TNET.2002.808417 |