新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种能量感知型无线传感器网络跨层式通信协议

一种能量感知型无线传感器网络跨层式通信协议

作者:时间:2009-05-14来源:网络收藏

前向邻居(Forward Vicinage):数据传输过程中可以成为节点A下一跳节点的邻居。节点A的所有前向邻居构成它的前向邻居集;记为FVSA。
后向邻居(Backward Vicinage):如果节点A是节点B的前向邻居,那么节点B就称为节点A的后向邻居。节点A的所有后向邻居构成它的后向邻居集,记为BVSA。
目的节点(Termini Node):不需其他节点路由,可直接将数据包发送给Sink的节点。
热度:节点建立链路的频繁程度。
2.2 信道接入
信道访问机制采用IEEE802.11 CSMA/CA机制。需要使用信道的节点首先侦听信道是否空闲,如果信道空闲且经过一个DIFS时序间隔后仍为空闲状态,那么发送节点直接开始发送分组数据;否则发送节点一直侦听信道直至信道最终空闲下来并且超过DIFS时序间隔,此时发送节点将启动退避机制。图1描述了CSMA/CA机制的基本访问方式。

本文引用地址:http://www.eepw.com.cn/article/158051.htm

2.3 链路选择
当系统布设完毕进入稳定状态后,Sink节点开始广播HELL0消息,其格式如图2所示。

该数据包共16个字节,其各字段含义如下:
NOP:用来标识采用何种,包括的名称代码、版本号等信息;
TID:HELLo消息的来源,因为系统中往往不止一个节点可直接向Sink发送数据;
NOT:该数据包被转发的次数,Sink节点广播此消息时该字段为O,每转发一次,该字段值加1,终节点发送时此字段值为1;
TRID:发出该数据包的节点ID;
EREM:发出该数据包的节点的当前剩余
HELL0:消息内容;
HOT:发送该消息的节点“热度”;
0NM:用来标记每次建立路由,在一次建立路由过程中,消息编码固定,Sink节点移动位置或其他情况下需要重建路由时,修改该字段;
SP:用来填补该数据包的空余,该字段值为O。
当某个节点收到此消息后,完成下面动作:
(1)检测数据帧,检测步骤如下:
①查看数据包的消息代码字段,检查与上次接收到的编号是否相同(首次接收到判为不同);若相同转步骤③;否则转步骤②;
②清除邻居列表信息,重新建表;
③查看HELLO消息数据包的转发节点ID字段,若该节点已包括在后向邻居列表中,则丢弃该包;
④将转发节点ID添加到前向邻居列表。
(2)发送一个名为“COUNTERSIGN”的确认消息数据包,消息格式如图3所示:

该数据包共有16个字节,各字段含义如下:
NOP:与HELLO消息的相应字段相同;
TRID:产生并发送该消息的节点ID;
COUNTERSIGN:消息内容;
REIDL:该字段包含了需接收该消息的全部节点ID;
SP:与HELL0消息的相应字段相同。
(3)转发HELLO消息,其过程为:
①修改转发次数字段,给其值加1;
②将转发节点ID、“热度”、剩余替换为自己的相应值;
③发送HELLO消息。
(4)接收确认消息,修改其后向邻居表。
2.4 建立链路
当某个节点需要发送数据时,它在自己的前向邻居中选择一个节点作为接收点,其选择步骤如下:
(1)根据前向邻居表内各个邻居的“热度”,避开比较热的节点;
(2)启用功率管理算法计算最佳传输距离范围;
(3)在最佳传输距离范围内选择剩余最大的节点作为它的下一跳。
2.5 数据传输
节点产生的数据包格式如图4所示,数据包中各字段含义如下:
NOP:与HELL0消息相同;
REID:接收该数据包的节点ID;
NOT:表示该数据包被发送的次数;源节点发送时该字段值为1;
TRID:发送该数据包的节点ID;
DATE:数据包的内容;
SP:补充数据包的空余,该字段值为0。
图4数据帧格式数据包转发过程如下:
(1)当某个节点接收到该数据包时,检测接收节点ID是否与自己ID一致,若不一致丢弃该包,再检测发送节点ID是否在自己的后向邻居列表中,若发送节点ID不在自己后向邻居列表中,则丢弃该包。否则接收该包并缓存。
(2)数据包被缓存后,该节点将该数据包的接收节点ID字段替换为它的下一跳ID,将发送节点ID字段修改为自己的ID,然后将数据包发送出去。



评论


相关推荐

技术专区

关闭