定向扩散(Directed Diffusion,DD)是一种基于查询的路由协议[4]。汇聚结点通过兴趣消息(interest)发出查询任务,采用洪泛方式传播兴趣消息到整个区域或部分区域内的所有传感器结点。兴趣消息用来表示查询的任务,表达网络用户对监测区域内感兴趣的信息,例如监测区域内的温度、温度和光照等环境信息。在兴趣消息的传播过程中,协议逐跳地在每个传感器结点上建立反向的从数据源到汇聚结点的数据传输梯度(gradient)。传感器结点将采集到的数据沿着梯度方向传送到汇聚结点。
定向扩散路由协议可以分为兴趣扩散、梯度建立以及路径加强三个阶段。图3-23显示了这三个阶段的数据传播路径和方向。
图3-23 定向扩散路由协议
1)兴趣扩散阶段
在兴趣扩散阶段,汇聚结点周期性地向邻居结点广播兴趣消息。兴趣消息中含有任务类型、目标区域、数据发送速率、时间戳等参数。每个结点在本地保存一个兴趣列表,对于每一个兴趣,列表中都有一个表项记录发来该兴趣消息的邻居结点、数据发送速率和时间戳等任务相关信息,以建立该结点向汇聚结点传递数据的梯度关系。每个兴趣可能对应多个邻居结点,每个邻居结点对应一个梯度信息。通过定义不同的梯度相关参数,可以适应不同的应用需求。每个表项还有一个字段用来表示该表项的有效时间值,超过这个时间后,结点将删除这个表项。
当结点收到邻居结点的兴趣消息时,首先检查兴趣列表中是否存有参数类型与收到兴趣相同的表项,而且对应的发送结点是该邻居结点。如果有对应的表项,就更新表项的有效时间值;如果只是参数类型相同,但不包含发送该兴趣消息的邻居结点,就在相应表项中添加这个邻居结点;对于任何其他情况,都需要建立一个新表项来记录这个新的兴趣。如果收到的兴趣消息和结点刚刚转发的兴趣消息一样,为避免消息循环则丢弃该信息;否则,转发收到的兴趣消息。(www.xing528.com)
2)梯度建立阶段
当传感器结点采集到与兴趣匹配的数据时,把数据发送到梯度上的邻居结点,并按照梯度上的数据传输速率设定传感器模块采集数据的速率。由于可能从多个邻居结点收到兴趣消息,结点向多个邻居结点发送数据,汇聚结点可能收到经过多个路径的相同数据。中间结点收到其他结点转发的数据后,首先查询兴趣列表的表项,如果没有匹配的兴趣表项就丢弃数据;如果存在相应的兴趣表项,则检查与这个兴趣对应的数据缓冲池(data cache),数据缓冲池用来保存最近转发的数据。如果在数据缓冲池中有与接收到的数据匹配的副本,说明已经转发过这个数据,为避免出现传输环路而丢弃这个数据;否则,检查该兴趣表项中的邻居结点信息。如果设置的邻居结点数据发送速率大于等于数据接收速率,则全部转发接收的数据;如果记录的邻居结点数据发送速率小于数据接收速率,则按照比例转发。对于转发的数据,数据缓冲池保留一个副本并记录转发时间。
3)路径加强阶段
定向扩散路由协议通过正向加强机制来建立优化路径,并根据网络拓扑的变化修改数据转发的梯度关系。兴趣扩散阶段是为了建立源结点到汇聚结点的数据传输路径,数据源结点以较低的速率采集和发送数据,称这个阶段建立的梯度为探测梯度(probe gradient)。汇聚结点在收到从源结点发来的数据后,启动建立到源结点的加强路径,后续数据将沿着加强路径以较高的数据速率进行传输。加强后的梯度称为数据梯度(data gradient)。
假设以数据传输延迟作为路由加强的标准,汇聚结点选择首先发来最新数据的邻居结点作为加强路径的下一跳结点,向该邻居结点发送路径加强消息。路径加强消息中包含新设定的较高发送数据速率值。邻居结点收到消息后,经过分析确定该消息描述的是一个已有的兴趣,只是增加了数据发送速率,则断定这是一条路径加强消息,从而更新相应兴趣表项的到邻居结点的发送数据速率。同时,按照同样的规则选择加强路径的下一跳邻居结点。
路由加强的标准不是唯一的,可以选择在一定时间内发送数据最多的结点作为路径加强的下一跳结点,也可以选择数据传输最稳定的结点作为路径加强的下一跳结点。在加强路径上的结点如果发现下一跳结点的发送数据速率明显减小,或者收到来自其他结点的新位置估计,从而推断加强路径的下一跳结点失效,就需要使用上述的路径加强机制重新确定下一跳结点。
定向扩散路由协议是一种经典的以数据为中心的路由机制。汇聚结点根据不同应用需求定义不同的任务类型、目标区域等参数的兴趣消息,通过向网络中广播兴趣消息启动路由建立过程。中间传感器结点通过兴趣列表建立从数据源到汇聚结点的数据传输梯度,自动形成数据传输的多条路径。按照路径优化的标准,定向扩散路由协议使用路径加强机制生成一条优化的数据传输路径。为了动态适应结点失效、拓扑变化等情况,定向扩散路由协议周期性进行兴趣扩散、梯度建立和路径加强三个阶段的操作。但是,定向扩散路由协议在路由协议建立时需要一个兴趣扩散的洪泛传播,能量和时间开销都比较大,尤其是当底层MAC协议采用休眠机制时可能造成兴趣建立的不一致。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。