通常传感器节点的通信覆盖范围只有几十米到几百米,人们要考虑如何在有限的通信能力条件下,完成探测数据的传输。无线通信是传感器网络的关键技术之一。所以我们下面介绍WSN在物理层技术、MAC协议、路由协议、传输控制四个方面的要求与特点。这里介绍路由协议与传输控制。
目录
路由协议
路由协议概述
目的:
功能:
WSN路由与传统路由的比较:
分类:从应用角度出发的四类路由协议:
典型路由协议(重点)
泛洪路由协议:
定向扩散路由协议DD:
LEACH协议:
GEAR协议:
QOS协议:
典型的路由协议分类
总结:
传输控制
传输协议概述
目的:
造成不可靠传输的原因:
传输层主要解决的三种问题:
传统的传输控制协议(TCP)无法直接应用于WSN的原因:
传输层的挑战
典型传输层协议
可靠多段传输协议(RMST-Reliable Multi-Segment Transport)
慢存入快取出协议(PSFQ)
拥塞检测和避免协议(CODA)
可靠的事件传输协议(ESRT)
总结:
路由选择(routing)是指选择互连网络从源节点向目的节点传输信息的行为,并且信息至少通过一个中间节点。
路由协议负责将数据分组从源节点通过网络转发到目的节点,它包括两个功能:
① 寻找源节点和目的节点间的优化路径; ② 将数据分组沿着优化路径正确转发。
与传统路由相比,WSN的路由必须要具有以下特点:
(1)能量优先(能量消耗) (2)基于局部拓扑信息(资源有限) (3)以数据为中心(关注感知数据) (4)应用相关(没有统一路由机制)
在根据具体应用设计路由协议时,必须满足如下要求:
(1)能量高效(协议简单、节能能量、均匀消耗) (2)可扩展性(网络范围、节点密度) (3)稳健性(节点变化、拓扑变化) (4)快速收敛性
(1)能量感知路由协议:从数据传输的能量消耗出发,讨论最少能量消耗和最长网络生存期等问题。路由选择时可以根据转发节点的剩余能量进行路由。
(2)地理位置路由协议:把节点的位置信息作为路由选择的依据,能够完成节点的路由选择功能,并降低系统专门维护路由协议的能耗。路由选择时以节点位置为参考信息。可应用于目标跟踪
(3)基于查询的路由协议:在汇聚节点发出任务查询命令,传感器网络的终端探测节点向监控中心报告采集的数据。在这类监控和检测的应用问题中,通信流量主要是查询节点和传感器探测节点之间的命令和数据传输,同时传感器探测节点的采集信息通常要进行数据融合,通过减少通信流量来节省能量,即数据融合技术与路由协议的设计相结合。
路由选择时以数据为中心,分查询和报告两个阶段。
(4)可靠的路由协议:为满足用户的某些方面的服务质量指标,需要考虑可靠的路由协议设计技术
是以数据为中心的路由协议,每个节点收到数据后,需要转发给所有的邻居节点,所以非常消耗资源,还有可能发生信息爆炸和数据重叠,但是健壮性强、简单。
泛洪路由协议(Flooding)是传统的网络路由协议,不需要知道网络拓扑结构和使用任何路由算法。每个节点收到数据后,需要转发数据给它所有的邻居节点,除了刚刚给它数据的节点,直至找到目的节点为止。
优点:
①实现简单;
②无需保存拓扑信息、消耗计算资源;
③强鲁棒性,适用于健壮性要求高的场合。
缺点:
①存在信息爆炸(Implosion)问题,即出现一个节点可能得到一个数据多个副本的现象
②出现部分重叠(Overlap)现象,如果处于同一观测环境的两个相邻同类传感器节点同时对一个事件作出反应,二者采集的数据性质相同,数值相近。那么,这两个节点的邻居节点将收到双份数据副本。
③盲目使用资源,即扩散法不考虑各节点能量可用状况因而无法作出相应的自适应路由选择。
是以数据为中心的路由协议,分为兴趣扩散、数据传播、路径强化三个阶段。路径强化提高了数据传输的速率,周期性路由使其能量均衡消耗。但是,能量和时间的开销依旧很大,无法适用于大规模网络,节点需要维护一个兴趣消息列表,代价较大。
定向扩散协议(DD)是先将兴趣消息采用洪泛方法传播到网络,有和兴趣匹配数据的节点发送数据。最后建立源节点-Sink(汇聚节点)的强化路径,以后的数据沿着该强化路径转发
◎定向路由协议三个阶段
有三个阶段:周期性的兴趣扩散、梯度建立和路径加强
【兴趣扩散时候是汇聚节点到源节点;梯度建立时是源结点到汇聚节点】
“定向扩散路由协议(Directed Diffusion)简称DD路由协议,是一种典型BL1117C-33C 的以数据为中心,基于查询的路由机制。汇聚节点根据不同的应用需求定义不同的兴趣(Interest)请求消息,并通过洪泛的方式将兴趣请求消息数据包发送至全网或者局部网络的传感器节点。兴趣请求消息用来表示查询内容,反应终端用户希望获得全网不同类型的数据服务,例如,监测区域中环境的温度、湿度、光照度以及流媒体应用等。在进行兴趣消息洪泛发送过程的同时,每个节点根据缓存中的兴趣列表,沿着兴趣消息发送方向的反向建立数据传输梯度( Gradient),当兴趣消息到达源节点后,源节点则将数据沿着之前建立好的传输梯度进行正向传输,直到汇聚节点。”
(1)兴趣扩散阶段过程
在兴趣Cache(兴趣列表)检查是否有相同的兴趣表项
- 若没有,就创建一个新的兴趣表项,该表项记录了一个梯度域与邻居节点对应,表项记录邻居节点、数据传输率;(梯度:表示了数据的传输方向)
- 若有相同的兴趣表项,但没有兴趣来源的梯度信息,则以指定的数据率增加一个梯度域,并更新时间戳;
- 若节点有相同的兴趣表项和相同的梯度,则只是更新时间戳和持续时间。
(2)数据传播阶段:当传感器探测节点采集到与兴趣匹配的数据时,把数据发送到梯度上的邻居节点,并按照梯度上的数据传输速率,设定传感器模块采集数据的速率。
(3)路径加强阶段:Sink节点选择一个标准(如时延),作为最优路径(强化路径)。若时延为标准,则Sink节点选择最先收到的新数据的邻居节点作为强化路径的下一跳,并向该节点发送路径加强消息,路径加强消息进行转发(不是广播),建立源节点-Sink的强化路径后,以后的数据沿着该强化路径转发。
优点:
①数据中心路由,定义不同任务类型/目标区域消息;
②路径加强机制可显著提高数据传输的速率;
③周期性路由:能量的均衡消耗;
缺点:
①周期性的洪泛机制---能量和时间开销都比较大;
②Sink周期性广播,不适用于大规模网络;
③节点需要维护一个兴趣消息列表,代价较大;
是集群结构的路由协议,采用分簇方式,先建立簇头,再由簇头采集和处理簇内节点的数据,最后将处理后的数据传输出去,虽然节能且数据融合了,但是簇头需要定期选举,簇选择需要优化。
集群结构路由协议(LEACH)是最早的一种分层路由算法,先建立簇头,再数据传输。
优点:
①优化了传输数据所需能量;
②优化了网络中的数据量(簇头数据融合);
缺点:
①节点硬件需要支持射频功率自适应调整;
②无法保证簇头节点能遍及整个网络;
③分簇与簇头选举要公平
当然还有很多改进算法……
是基于地理信息的路由协议,节点知道自己的位置,利用位置找路由,避免了泛洪消息,减少了开销并且节能,但是可能存在位置空洞,也不适合移动的WSN
地理位置路由(GEAR)节点知道自己的地理位置,利用位置进行路由
S->D:源节点S选择与目标区域D距离最小的邻节点转发,若发现自己为最小距离节点,则判断存在“黑洞”,则选择自身邻节点中距离目的区域最小的节点分组转发。
D->S:1.(当区域节点密度大于阈值)递归转发机制(如S->D)2.(当区域密度较校)直接采用泛洪法转发传递分组到目标节点。
优点:
(1)利用了位置信息,避免了查询消息的Flooding;
(2)考虑了消耗的能量和节点剩余能量,均衡消息;
(3)路径选择可达到局部最优;
(4)迭代地理转发对洪泛机制的补充;
缺点:
(1)可能出现路由空洞(局部信息) ;
(2)不适合在移动WSN使用;
是基于服务质量的路由协议,考虑了QOS需求、节点剩余能量、每个分组的优先级和端到端时延等。
(1)数据为中心路由协议(相同的数据进行融合,再传输):Flooding(洪泛法), Directed Diffusion(定向扩散)
(2)集群结构的路由协议(分层路由,分为单层模式和多层模式):LEACH
(3)地理信息路由协议(节点知道自己的地理位置,利用位置进行路由):GEAR
(4)QOS路由协议(路由建立时,考虑QOS需求,节点剩余能量,每个分组的优先级和端到端时延等):QOS路由协议
泛洪路由协议(Flooding):强健壮性,可产生信息爆炸、接收多份信息,资源浪费严重
定向扩散协议(DD):强健壮性,相比泛洪更加高效,开销较大
集群结构路由协议(LEACH):节能,数据优化,但簇头选择、簇选择需要改进
地理位置路由协议(GEAR):避免泛洪
zigbee中AODV路由协议
- 源节点主动广播出路由请求帧RREQ,当邻近节点收到RREQ,首先判断目标节点是否为自己。如果是,则向发起节点发送RREP(路由回应);如果不是,则首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播RREP,否则继续转发RREQ进行查找
- 反向路由构建:从目的节点逆向路径返回到源节点,在每一个节点上,跳计数域都加1
- 正向路由构建:通过综合RREP和RREQ还有跳计数域,可以建立一条最快到达的正向路由,路由建立后,节点才发送实际的数据。
我们讲了WSN中的物理层:建立无线数据传输通路(传输数据);数据链路层:为链路(节点)分配有限的无线通信资源;网络层:解决路由问题;那么传输层是干什么的呢?
传输层是为了解决WSN的可靠传输问题的。
1.无线链路质量不稳定 2.传输节点容易试校 3.传感器节点内的存储资源极其有限
1.拥塞控制 2.可靠数据传输 3.复用和解复用(承载多种上层应用,不同应用可以再同一条通路上传输,因此传输层需要标记每个数据包属于哪个应用->端口)
(1)TCP协议建立和释放连接的握手机制相对比较复杂 ;
(2)TCP协议遵循端到端(end-to-end)的设计思想,数据包的传输控制任务被赋于网络的端节点上,中间节点只承担数据包的转发.而WSN以数据为中心,中间节点可能会对相关数据进行在网处理(in-network processing),即根据数据相关性对多个数据包内的信息进行综合处理,得到新的数据包发送给接收端,直接使用TCP协议会导致将此视为丢包而引发重传。
(3)TCP协议要求每个网络节点具有独一无二或全网独立的网络地址.在大规模的WSN中,为了减少长地址位带来的传输消耗,传感器节点可能只具有局部独立的或地理位置相关的网络地址或采用无网络地址的传输方案,无法直接使用TCP协议
◎可靠多段传输协议(RMST)的两种工作模式的区别
无缓冲模式(端到端选择请求NACK):数据包是否丢失由汇聚节点检测,如果发现丢失,则汇聚节点向源节点发送端到端的NACK以再次请求丢失的数据包。
缓冲模式(跳段之间选择请求NACK):是在路由路径上的每个节点都缓存数据,当节点发现有数据包丢失或者损坏时,直接向上一跳节点发送重传请求。
PSFQ协议用于处理从汇聚节点到传感器节点的路径。由于该路径常用于网络管理任务以及节点的重编程,因此保证它的可靠性也是十分有必要的。
慢存入快取出协议(PSFQ)的三个功能(必考)
1.存入操作:路径上的每个节点在转发数据包前都会等待一段时间。
优点:
- 节点在等待时间内可恢复报文;
- 随机的延时有利于减少同一数据包重复广播的次数
2.取出操作:为了防止数据包丢失,每个节点都使用逐步恢复的方法从邻居节点获取丢失的数据包。
- 当节点A检测到数据包丢失时,它会广播一个NACK ;
- 如果A的某个邻居的缓存中拥有NACK所请求的数据包,那么它会在1/4Tr和1/2Tr的时间间隔内发送该数据包;
PSFQ的丢包检测机制依赖于数据流中的数据包的顺序号,当数据包丢失时,该机制可以有效地检测出丢包。
然而,当数据流中的最后一个数据包丢失或者所有数据包全部丢失时,就无法检测丢包了。
使用基于定时器的取出操作
①如果节点在Tpro的时间内没有接收到数据包,那么它向邻居发送NACK
②Tpro与最后收到的顺序号Slast和最大的顺序号Smax之差成比例关系,即Tpro=α(Smax-Slast)Tmax,此处α≥1
③不管是否为最后一个报文,都提醒对方在Tpro内未收到报文
3.状态报告:状态报告操作,它允许汇聚节点向传感器节点请求回馈。
- 状态报告操作由汇聚节点发起,设置数据包头的report位。然后,该数据包通过网络发送到指定的节点。
- 当传感器节点收到这个报告请求时,它会立即回复一个状态报告消息。当这个消息向汇聚节点传输时,沿途的节点会在这个消息中捎带上自己的状态信息。
优点:
①慢存入,快取出,有效避免拥塞;
②保证了逐跳的可靠性;
缺点:
①仅保证了逐跳的可靠性,未保证端到端的可靠性;
②慢存入操作引入了不必要的延时;
③当数据包丢失时,接收节点会在接收到重传的数据包前一直保留非顺序到达的数据包,增加了节点存储空间的消耗
目标:
拥塞检测和避免协议(CODA)目标是检测和避免拥塞。
产生拥塞的原因:
- 第一种场景是源节点以较快的速率发送数据,由于多个节点竞争信道,就有可能在源节点附近发生拥塞。
- 第二种场景是单个数据流并不大,但在多个数据流交汇的地方可能临时性地发生拥塞。
拥塞检测和避免协议类型:
- 基于接收者的拥塞检测
- 开环逐跳回压信号向源节点报告拥塞
- 闭环多源调节以避免大规模和长期的拥塞
①基于接收者的拥塞检测
就是说我们认为拥塞产生的原因有以下两点:
1.缓冲区被完全占用导致只能丢弃后续数据
2.多节点环境中可能发生数据包出错、冲突
所以基于接收者的拥塞控制机制就依赖于以下亮点:
1.缓冲区的占用程度
2.信道负载:信道负载通过监听信道中是否有节点再发送数据来确定。高于阈值,认为发生拥塞
②开环逐跳回压信号向源节点报告拥塞
③闭环多源调节以避免大规模和长期的拥塞
每个源节点会检测自己的发送速率r,如果源速率超出了阈值,r≥vSmax,源节点就会进入闭环控制状态。
(1)数据包头中会设置一个调节位以便告知汇聚节点
(2)接着汇聚节点每接收到n个数据包都会发送ACK消息
(3)如果源节点没有接收到ACK消息,那么它就认为网络产生了拥塞,从而调低数据包发送速率。
WSN的密度高导致数据相关性强、冗余度大,但是用户只关注有用信息,不是单个节点信息。因此只要保证获取的信息足够描述检测对象,就可以对源的报告频率调整,减轻网络压力。
特点:
可靠的事件传输协议(ESRT)的优点
(1)节点负载轻。在 ESRT 协议中,大部分的计算都是在 sink 节点(接收端)完成的,网络中其他节点的协议维护开销比较小,从而延长了整个网络的有效生命期。
(2)拥塞控制好。当网络中因报文过多产生网络拥塞时,ESRT 协议通过降低发送节点的发送频率来减少报文的发送,从而实现拥塞控制。
(3)自适应性强。在 ESRT 协议中,网络通过自动调整网络的状态来适应动态变化的拓扑结构,最终使网络处于最佳的工作状态。
|
可靠性 |
拥塞控制 |
特点 |
RMST 可靠多段传输协议 |
是 |
否 |
端到端选择请求NACK 跳段之间选择请求NACK |
PSFQ 慢存入快取出协议 |
是 |
是 |
未保证端到端的可靠性 引入延时 |
CODA 拥塞检测和避免协议 |
否 |
是 |
为针对报文进行端到端控制 |
ESRT 可靠的事件传输协议 |
是 |
是 |
节点负载轻 拥塞控制好 自适应强 未针对报文进行端到端控制 |