3.4.5 基于QoS的路由协议
1.SAR协议
SAR(Sequential Assignment Routing,顺序分配路由)协议是路由协议中最早考虑QoS需求的基于多路径的路由协议之一。SAR协议以汇聚节点的每个单跳邻居节点作为根节点,依次扩展建立了一个多树结构。每一棵树从汇聚节点开始向外延拓,尽可能地考虑那些满足QoS和剩余能量多的节点。这样,就能产生能使任意节点与汇聚节点相连的路径。同时,由于汇聚节点的邻居节点是树的根节点,从而形成的多条路径针对汇聚节点周围的邻居节点是不相交的,如图3-14所示。
图3-14 SAR路由拓扑结构
任何一个连接汇聚节点的节点都有两个特殊参数:
①能源资源。如果一个节点独占一条专用的传输路径,那么节点的能量资源将通过发送数据包的最大数量进行估算,无需等到能量资源的耗尽。
②附加QoS标准。每一条路径都有一个附加标准,它和链路的能量和时延有关。
由于每个节点有多条路径到达汇聚节点,SAR协议将根据每条路径的能量资源、QoS(如时延、带宽、丢包率等)和数据包的优先级来选择传输路径。SAR路由协议的设计目标就是寻找一条满足QoS要求的路径并且同时延长网络寿命。
虽然SAR路由协议考虑到了能量消耗,但是该算法使得节点需要大量的冗余路由信息以建立路由,耗费了存储资源,更新信息开销较大,因此SAR路由协议并不适合大型网络和拓扑频繁变化的网络。
2.SPEED协议
在一些传感器网络应用中,汇聚节点需要根据采集数据实时性做出反应,因此传感器节点到汇聚节点的数据通道要保持一定的传输速率。SPEED协议是一个实时QoS路由协议,它提供了端到端的传输速率保证、网络拥塞控制以及负载平衡机制。为达到要求,SPEED协议首先交换节点的传输延迟,以得到网络负载情况;然后节点利用局部地理位置信息和传输速率信息做出路由决定,同时通过邻居反馈机制保证网络传输速率在一个全局定义的传输速率阈值之上。节点还通过反向压力路由变更机制避开延迟太大的链路和路由空洞。
SPEED协议主要由以下部分组成,各部分的关系如图3-15所示:
①延迟估计机制,即节点记录到邻居节点的通信延迟,用来获得网络局部的负载情况,判断网络是否发生拥塞。
②无状态非决定地理前向算法(Stateless Non-deterministic Geographic Forwarding,SNGF),用来选择满足传输速率要求的下一跳节点。
③邻居反馈策略(Neighborhood Feedback Loop,NFL),是当SNGF路由算法中找不到满足传输速率的下一跳节点时采取的补偿机制。
④反向压力路由变更机制,用来避免拥塞和路由空洞(Routing Hole)。当网络中的某个区域发生事件时,节点不再能满足传输速率要求,体现在数据量会突然增多,传输负载会突然加大。此时,节点便会使用反向压力信标消息向上一跳节点报告拥塞,并表明拥塞后的传输延迟。
图3-15 SPEED协议架构
SPEED协议采用分布式路由协议,由多个节点协同完成路径建立过程,每个节点仅需确定下一跳,具有良好的可扩展性。SPEED协议实现了端到端的传输保证、网络拥塞控制以及负载平衡机制,提供了一定的QoS需求,但它没有考虑在多条路径上传输以提高平均寿命,节能效果较差,传输的报文也没有优先机制,不能满足高实时性要求的应用。