定向扩散路由协议
发布时间:2012/3/29 19:44:42 访问次数:10865
定向扩散路由协议(Directed Diffusion)简称DD路由协议,是一种典型BL1117C-33C 的以数据为中心,基于查询的路由机制。汇聚节点根据不同的应用需求定义不同的兴趣(Interest)请求消息,并通过洪泛的方式将兴趣请求消息数据包发送至全网或者局部网络的传感器节点。兴趣请求消息用来表示查询内容,反应终端用户希望获得全网不同类型的数据服务,例如,监测区域中环境的温度、湿度、光照度以及流媒体应用等。在进行兴趣消息洪泛发送过程的同时,每个节点根据缓存中的兴趣列表,沿着兴趣消息发送方向的反向建立数据传输梯度( Gradient),当兴趣消息到达源节点后,源节点则将数据沿着之前建立好的传输梯度进行正向传输,直到汇聚节点。
定向扩散路由协议为了能够适应网络拓扑的动态变化,采用周期性地对网络进行路由维护与更新,其主要分为3个阶段:兴趣消息扩散、数据传输梯度建立、路径加强。图3-5所示为这3个阶段的过程。
(1)兴趣消息扩散
在兴趣消息扩散阶段,汇聚节点周期性向网络内传感器节点洪泛广播兴趣消息,其中兴趣消息数据包主要包括数据包类别、任务类型、发送节点号、兴趣、数据发送速率、数据包大小、时间戳等信息。数据包类别表示传输的是一个兴趣消息数据包还是传感数据包。任务类型表示系统预先设置的各种兴趣任务类型。发送节点号以便节点在建立正向传输梯度时知道下一跳节点号。
节点接收到兴趣消息后转发给它的每一个邻居节点,节点如果收到其发送过的一个兴趣消息,即将其丢弃,以避免同一个消息在网络中形成消息循环,否则将其转发给它的下一跳节点,直到全网内的所有节点都收到此兴趣消息为止或该兴趣消息所设定的生命期限TTL变为零为止。每个节点内部都维护着一张兴趣列表,对于每一个兴趣,兴趣列表中都为其保存着一个表项,记录这个消息的下一跳节点号,数据发送速率以及时间戳,同一个兴趣可能对应着多个表项,因为有多个邻居节点会向其发送同一个兴趣消息。每个兴趣列表的表项都对应着一个计时器,当表项在缓存中的时间超时,则删除该表项以节省存储空间。兴趣列表是第2阶段建立传输梯度的重要依据。
一个节点在接收到兴趣消息之后的操作流程如下:当接收到一个兴趣消息数据包,判断是否与刚转发的兴趣消息相同,如果是则丢弃该“兴趣”,否则检查本地兴趣列表,如果无相同“兴趣”,则增加新表项并转发“兴趣”,否则判断表项中是否有邻居节点等于兴趣消息数据包中的发送节点,如果是则更新最新时间戳,否则添加新邻居节点,转发“兴趣”。
(2)数据传输梯度建立
数据传输梯度的建立在第1阶段所得兴趣列表的基础上的,当网络中传感节点所感知到与兴趣相匹配的兴趣的监测数据,会检查本地的兴趣列表,如果没有相匹配的“兴趣”,则丢弃该监测数据包;否则检查与该“兴趣”对应的数据缓冲区,以检查是否有与检测数据相匹配的副本,若有则丢弃该监测数据,以减少网络中冗余信息的通信量,否则检查兴趣列表表项中的邻居节点信息;若发现邻居节点的数据发送速率大于或等于接收数据速率,则转发收到的监测数据包,否则按照比例转发收到的监洌数据包。对于转发的任何数据包,都必须在缓冲区保留数据包副本并记录转发时间。这里需要指出的是,由于一个节点可能收到其多个邻居节点所发送的兴趣消息数据包,因此对应于同一个“兴趣”,从源节点到汇聚节点的路径可能出现多条。
(3)路径加强
兴趣扩散阶段建立了从源节点至汇聚节点的数据传输路径,源节点以较低的速率采集和发送数据,汇聚节点在收到从源节点发来的数据后,开始建立其到源节点的加强路径,以后的数据将沿着加强路径进行传输。那么如何建立加强路径呢?不同的应用对于所选择的路径要求不同,如有些需要整条路径都以高速率的传输速率对数据进行传输,那么这种情况就应当对数据传输速率较高的路径进行加强。汇聚节点首先会选择第1个到达数据包的发送邻居节点作为加强路径的下一跳,向其发送路径加强消息。在路径加强消息中,提高了数据发送速率。当邻居节点接收到这个数据包之后,在兴趣表项中发现仅提高了数据发送速率,因此判定这是一个路径加强消息包,则将下一跳作为路径加强路径的下一跳。这个邻居节点继续发送路径增强消息包,如此直至源节点。
在加强路径上的节点如果发现下一跳节点的数据发送速率明显减小或收到来自其他节点的新位置估计,则推断加疆路径的下一跳节点失效,使用上述路径加强机制重新确定下一跳节点。
定向扩散路由协议(Directed Diffusion)简称DD路由协议,是一种典型BL1117C-33C 的以数据为中心,基于查询的路由机制。汇聚节点根据不同的应用需求定义不同的兴趣(Interest)请求消息,并通过洪泛的方式将兴趣请求消息数据包发送至全网或者局部网络的传感器节点。兴趣请求消息用来表示查询内容,反应终端用户希望获得全网不同类型的数据服务,例如,监测区域中环境的温度、湿度、光照度以及流媒体应用等。在进行兴趣消息洪泛发送过程的同时,每个节点根据缓存中的兴趣列表,沿着兴趣消息发送方向的反向建立数据传输梯度( Gradient),当兴趣消息到达源节点后,源节点则将数据沿着之前建立好的传输梯度进行正向传输,直到汇聚节点。
定向扩散路由协议为了能够适应网络拓扑的动态变化,采用周期性地对网络进行路由维护与更新,其主要分为3个阶段:兴趣消息扩散、数据传输梯度建立、路径加强。图3-5所示为这3个阶段的过程。
(1)兴趣消息扩散
在兴趣消息扩散阶段,汇聚节点周期性向网络内传感器节点洪泛广播兴趣消息,其中兴趣消息数据包主要包括数据包类别、任务类型、发送节点号、兴趣、数据发送速率、数据包大小、时间戳等信息。数据包类别表示传输的是一个兴趣消息数据包还是传感数据包。任务类型表示系统预先设置的各种兴趣任务类型。发送节点号以便节点在建立正向传输梯度时知道下一跳节点号。
节点接收到兴趣消息后转发给它的每一个邻居节点,节点如果收到其发送过的一个兴趣消息,即将其丢弃,以避免同一个消息在网络中形成消息循环,否则将其转发给它的下一跳节点,直到全网内的所有节点都收到此兴趣消息为止或该兴趣消息所设定的生命期限TTL变为零为止。每个节点内部都维护着一张兴趣列表,对于每一个兴趣,兴趣列表中都为其保存着一个表项,记录这个消息的下一跳节点号,数据发送速率以及时间戳,同一个兴趣可能对应着多个表项,因为有多个邻居节点会向其发送同一个兴趣消息。每个兴趣列表的表项都对应着一个计时器,当表项在缓存中的时间超时,则删除该表项以节省存储空间。兴趣列表是第2阶段建立传输梯度的重要依据。
一个节点在接收到兴趣消息之后的操作流程如下:当接收到一个兴趣消息数据包,判断是否与刚转发的兴趣消息相同,如果是则丢弃该“兴趣”,否则检查本地兴趣列表,如果无相同“兴趣”,则增加新表项并转发“兴趣”,否则判断表项中是否有邻居节点等于兴趣消息数据包中的发送节点,如果是则更新最新时间戳,否则添加新邻居节点,转发“兴趣”。
(2)数据传输梯度建立
数据传输梯度的建立在第1阶段所得兴趣列表的基础上的,当网络中传感节点所感知到与兴趣相匹配的兴趣的监测数据,会检查本地的兴趣列表,如果没有相匹配的“兴趣”,则丢弃该监测数据包;否则检查与该“兴趣”对应的数据缓冲区,以检查是否有与检测数据相匹配的副本,若有则丢弃该监测数据,以减少网络中冗余信息的通信量,否则检查兴趣列表表项中的邻居节点信息;若发现邻居节点的数据发送速率大于或等于接收数据速率,则转发收到的监测数据包,否则按照比例转发收到的监洌数据包。对于转发的任何数据包,都必须在缓冲区保留数据包副本并记录转发时间。这里需要指出的是,由于一个节点可能收到其多个邻居节点所发送的兴趣消息数据包,因此对应于同一个“兴趣”,从源节点到汇聚节点的路径可能出现多条。
(3)路径加强
兴趣扩散阶段建立了从源节点至汇聚节点的数据传输路径,源节点以较低的速率采集和发送数据,汇聚节点在收到从源节点发来的数据后,开始建立其到源节点的加强路径,以后的数据将沿着加强路径进行传输。那么如何建立加强路径呢?不同的应用对于所选择的路径要求不同,如有些需要整条路径都以高速率的传输速率对数据进行传输,那么这种情况就应当对数据传输速率较高的路径进行加强。汇聚节点首先会选择第1个到达数据包的发送邻居节点作为加强路径的下一跳,向其发送路径加强消息。在路径加强消息中,提高了数据发送速率。当邻居节点接收到这个数据包之后,在兴趣表项中发现仅提高了数据发送速率,因此判定这是一个路径加强消息包,则将下一跳作为路径加强路径的下一跳。这个邻居节点继续发送路径增强消息包,如此直至源节点。
在加强路径上的节点如果发现下一跳节点的数据发送速率明显减小或收到来自其他节点的新位置估计,则推断加疆路径的下一跳节点失效,使用上述路径加强机制重新确定下一跳节点。
热门点击