一、无线传感网络协议栈的构成
无线传感器网络协议栈由物理层、数据链路层、网络层、传输层、应用层5 部分组成,和互联网协议栈的五层协议相对应。
无线传感网络协议栈
物理层:数据收集、采样、发送、接收,以及信号的调制解调;
数据链路层:媒体接入控制,网络节点间可靠通信链路的建立,为邻居节点提供可靠的通信通道;
网络层:发现和维护路由;
应用层:提供安全支持,实现密钥管理和安全组播;
传输层:为端到端的连接提供可靠的传输、流量控制、差错控制、QoS 等服务,即便是在OSI 模型中也只有该层是负责总体数据传输和控制的,因此非常重要。
二、传统协议的不足之处
传统IP 网络主要使用协议栈中传输层的UDP 和TCP 协议控制数据传输。UDP 协议是面向无连接的传输协议,不提供对数据包的流量控制及错误恢复;TCP 协议则提供了可靠的传输保证,如利用滑动窗口和AIMD 等机制进行拥塞控制,以及使用重传进行差错控制。但TCP 协议却不能直接用于WSN,主要原因如下:
(1) TCP 协议遵循端到端(end-to-end)的设计思想,数据包的传输控制任务被赋予网络的端节点上,中间节点只承担数据包的转发。而WSN 以数据为中心,中间节点可能会对相关数据进行在网处理(In-network Processing),即根据数据相关性对多个数据包内的信息进行综合处理,得到新的数据包发送给接收端,直接使用TCP 协议会导致将此视为丢包而引发重传。
(2) TCP 协议建立和释放连接的握手机制相对比较复杂,耗时较长,不利于传感器节点及时反馈被监测对象的相关信息。WSN 网络拓扑的动态变化也给TCP 连接状态的建立和维护带来了一定的困难。
(3) TCP协议采用基于数据包(packet-based)的可靠性度量,即尽力保证所有发出的数据包都被接收节点正确收到。在WSN 中,可能会有多个传感器节点监测同一对象,使得监测数据具有很强的冗余性和关联性。只要最终获取的监测信息能够描述对象的真实状况,具有一定的逼真度(fidelity),并不一定要求数据包传输的完全可靠,这种方式也被称为基于事件的(event-based)可靠性度量。
(4) TCP 协议中数据包重传通过端节点之间的ACK 反馈和超时机制来保证。传感器网络数据包中所含的数据量相对较小,大量ACK 包的传输会加重传输负载和能量消耗。并且,每次ACK 确认和数据包重传都要从发送端发出经历多跳传输路径到达目的端,引发整条路径上所有节点的能量消耗。
(5) WSN 中非拥塞丢包和多路传输等引起的数据包传输乱序,都会引发TCP 协议的错误响应,使得发送端频频进入拥塞控制阶段,导致传输性能下降。
(6) TCP 协议要求每个网络节点具有独一无二或全网独立的网络地址。在大规模的WSN 中,为了减少长地址位带来的传输消耗,传感器节点可能只具有局部独立的或地理位置相关的网络地址或采用无网络地址的传输方案,无法直接使用TCP 协议。
三、WSN 传输协议研究进展
当前对于无线传感器网络传输协议研究的工作还是侧重于拥塞控制和可靠保证。该研究将拥塞控制分为流量控制、多路分流、数据聚合和虚拟网关等;可靠保证则包括数据重传、冗余发送。
流量控制中,ERST、PORT 和IFRC 协议是基于报告速率调节的拥塞控制协议;Fusion、CCF 是基于转发速率调节的拥塞控制协议,适合要求数据逼真度较高的网络;Buffer-based、PCCP、CODA 则是基于综合速率调节的拥塞控制协议。ERST 考虑了可靠性和能耗的因素,通过调整报告速率来减轻拥塞;PORT 协议则将报告速率调整问题建模为优化问题,解决ERST 的不足;IFRC 则着重保证信道带宽能更公平地被相邻多个节点所分享。
Fusion 采用了令牌桶机制,节点要按照一定规则积累令牌,且发送一次数据就消耗一个令牌;CCF 用速率比较的方法,拥塞发生时节点将自身转发速率与父节点告知的转发速率比较,以其中较小的值来转发数据包。
Buffer-based 采用基于缓冲区的轻量级控制机构。发送数据包之前,要求节点监听邻居节点的缓冲区溢出否;PCCP 对数据流赋与不同的加权优先级,来保证调整公平性;CODA 结合了开环和闭环控制方式来解决拥塞。网络流量突发导致局部短暂拥塞时就启用开环控制。同时,若某被监测事件的发生频率低于设定的信道吞吐量,源节点即可自行调整报告速率,否则就启动闭环拥塞控制。
多路分流就是通过多路转发来分散流量,解决拥塞问题。其中,ARC 协议是利用网络中的冗余节点构建新的转发路径,CAR 与ARC 方法相近,BGR 则是在地理路由中增加方向偏离范围,以此来扩大转发路径的可选范围。
数据聚(融)合的必要性和重要性前文已述。协议包括CONCERT 和PREI。前者采用适应性聚合,后者将网络划分为大小相同的网络,对来自同一网格的数据进行聚合。
可靠性方面,数据重传协议包括网关向节点、节点向网关和双向可靠保证3 类;冗余发送则包括拷贝发送(AFS、Rein form、MMSPEED、GRAB)和编码冗余。
PSFQ、GARUDA 是网关向节点的。前者用缓发快取进行控制,后者则建立层次结构,进行阶段性丢包恢复。RMST、RBC 是节点向网关的。前者是基于单路由协议设计的,除了原有的由数据源到网关的方向之外,增加了后向路径,用于反馈丢包。BRTM 是双向可靠保证的。
此外还有5 种随机投递传输协议并分别对它们建模分析,在仿真对比的基础上做出了相关结论。这些协议包括:
1)逐跳可靠传输协议HHR、带应答的逐跳可靠传输协议
HHRA 后者是前者的一个变体。HHR 是最简单的该类协议。协议中,某转发节点将同一数据包向其下一跳转发节点进行多次发送。只要下一跳节点收到重发数据包一份副本,它就会继续发送。HHRA则要求转发节点等待来自接收者的应答包。若收到应答包,则终止本跳后续副本的转发。
2)逐跳广播传输协议HHB、带应答的逐跳广播传输协议
HHBA 后者是前者的一个变体。HHB 中,转发节点向其多个下一跳邻节点多次发送同一数据包。若任何一个邻节点成功接收到至少一个数据包,它就继续以一定概率转发此包。HHBA 则引入应答机制来增加传输可靠性,并减少传输时能量的消耗。
3)Rein form协议
该协议在多条随机路径上同时发送一个数据包的多个副本,以此来产生数据冗余,提高传输可靠性
4)基于分簇的协同传输协议。分析了传输效能和网络吞吐量的改善。协议分为四步:1)分簇,即确定簇头并在各簇内确定协同传输的节点;2)簇内信息传输;3)簇内协同节点向汇聚节点发送数据;4)汇聚节点接收和检测信号。该协议的主要问题是协同节点间的同步。研究者相信,这种技术可用于无线自组织网、无线局域网及无线传感器网等多种场合
5)实时传输协议。主要研究了SPEED 协议,并在TinyOS1.1.11 和Crossbow 公司的Micaz 节点搭建的平台上进行了实验。
总结:
WSN的传输控制协议在以下几个方面还有待进一步深入研究:
1) 设计跨层协作的传输控制协议。在WSN 中传输控制任务不能仅仅依靠传输层来完成, 传感器节点协议栈中的各个层次应在传输层控制机制的协调下进行充分的交互与协作,共同支持和保证数据的可靠传输。
2) 提高传输控制协议的综合控制能力。在WSN 应用过程中,网络中拥塞和丢包的现象可能会同时发生并互相影响,网关和节点之间也会频繁的进行数据交互。目前的控制协议大多只对单个数据流方向上的一种问题(拥塞或丢包)进行处理,新的传输控制协议应提供全面的综合控制机制。
3) 基于多优先级的控制策略。网络中出现不同的数据流对可靠性的要求可能会不同,需要在协议设计时考虑对优先级问题的处理。
4) 传输控制协议需要提供公平性保证。在确保传输效率的同时,网络中的多个数据流应按照事先定义的公平性原则分享无线信道进行数据传输。
5) 支持WSN 中以数据为中心的设计方案。WSN 以数据为中心的特点带来了一些新的设计方案,如无独立地址的节点设计、数据的在网处理和分簇网络结构等,新的传输控制协议需要提供对这些方案的支持。
6) 提供对节点移动性的支持。目前,WSN 传输控制协议基本都假定传感器节点和网络是静态的。但在战场、物流等应用中,节点的移动会给网络传输带来更多不可靠因素,加重丢包现象的发生,需要设计更高处理效率和更快处理速度的控制协议。