读书频道 > 网站 > 网页设计 > 无线传感器网络:原理与实践
3.3.2 基于调度的MAC协议
15-07-27    下载编辑
收藏    我要投稿   
本书介绍了无线传感器网络的基本概念、硬件构成、网络协议栈、操作系统、中间件、定位技术、安全策略、数据管理、同步等内容,并给出了典型无线传感器网络的工作机制,通过两个案例进一步说明了无线传感器网络相立即去当当网订购

在基于调度的介质访问中,各节点根据调度共享传输介质。与基于TDMA的协议类似,通常把时间分割为一个个有固定长度的时隙(time slot)。调度以某种方式决定了时隙的分配,以使每个节点都有机会访问介质,而且避免了冲突。通常,调度会周期性地重复,节点会形成一个簇。由于节点只能在指定的时隙内访问介质,基于调度的MAC协议一般可以避免竞争、冲突和空闲侦听。不需要额外的开销,调度能轻易地让节点转入睡眠状态,88从而节省能量。此外,对QoS和优先级的支持能方便地通过基于调度的MAC协议实现。然而,在资源受限的无线传感器网络中,基于调度的MAC协议设计出现了一些挑战性问题:

1)节点间高精度的时钟同步不容易实现。

2)无线传感器网络的动态性,包括节点的增加、失效和移动,使得有效的时隙分配比较困难。

3)在多跳无线传感器网络中分配时隙较为困难。

4)调度中存在的复杂性和较差的扩展性使得网络性能明显降低。

针对以上问题,研究者对设计高效的、基于调度的MAC协议做了一些研究。典型的基于调度的MAC协议有TRAMA[Vrajendran06]、LEACH(Low?Energy Adaptive Clustering Hierarchy)[Heinzelman02]、SMACS(Self?oranizing Medium Access Control for Sensor Networks)[Ksohrabi00]、FLAMA(Flow?Aware Medium Access)[Vrajendran05]、SPARE MAC(Slot Periodic Assignment of Reception)[Lcampelli07]、μ?MAC[Abarroso05]、VTS MAC(Virtual Time Division Medium Access)[Eelopez06]、ER?MAC[Rkannan03]以及BMA MAC[Bitmap?Assisted MAC][Jli04]等。LEACH协议在无线传感器网络的数据传输中引入分级机制。FLAMA协议采用分布式选举策略,根据流量信息和两跳内的邻居信息实现了高能效的流量自适应信道访问。在SPARE MAC协议中,节点在某段时间内是接收者,可以收到接收调度(Reception Schedule, RS)并且把接收调度的信息向所有邻居广播。μ?MAC协议根据上层提供的信息将传输信道分为竞争周期和非竞争周期。VTS?MAC协议将节点分为簇,而且将时间线分成时隙,使得网络中的节点个数与时隙个数相等。BMA MAC协议提出一个簇内MAC协议,将网络中的节点分为簇,只有在重大事件发生时簇内节点才能与簇首节点通信。

接下来将详细介绍TRAMA协议[Vrajendran06]的基本思想。

TRAMA协议[Vrajendran06]

TRAMA(流量自适应介质访问)协议(Traffic Adaptive Medium Access Protocol)是一个适用于无线传感器网络的基于调度的MAC协议,它确保在数据传输时不会发生冲突,而且使不是指定接收者的节点转入低功耗状态,以达到节省能量的目的。89该协议采用自适应的选举策略选出在某个时间段内传输数据的节点,并且允许节点自行决定何时切换到睡眠状态。通过流量信息,TRAMA可以避免将时隙分配给没有流量的节点。


 

TRAMA协议的时间轴如图3-13所示,它包括随机访问和调度访问周期。随机访问周期被称为信号时隙,调度访问周期被称为传输时隙。在信号时隙内,节点以竞争的方式把单跳邻居的信息广播出去,这样它的邻居就可以获得以自己为中心两跳内的拓扑信息。在传输时隙内,节点以非竞争的方式传输数据和通告调度信息。调度信息包含了一组接收者,它们将接收源自该节点的信息。TRAMA假设时钟同步之前已经完成。在调度访问周期内,时间被分成许多小的时隙,并且调度是固定的。当调度访问周期结束,节点将转回到随机访问周期。信号时隙和传输时隙的长度取决于应用的类型。在动态场景下,节点在网络中从一个位置移动到另一个位置,信号时隙较长。而在静态场景下,节点不需要移动,信号时隙较短。在无线传感器网络中,节点不经常移动,所以信号时隙比较短。

TRAMA包含三个部分:

1)邻居协议(Neighbor Protocol, NP)

2)自适应时隙交换算法(Adaptive Election Algorithm, AEA)

3)调度交换协议(Schedule Exchange Protocol, SEP)

(1)邻居协议(NP)

TRAMA协议从信号时隙开始执行。在信号时隙,每个节点随机选择时隙,向其相邻节点广播其单跳邻居信息。90在信号时隙结束时,期望所有的节点都能发现它们的邻居。因此,信号时隙的主要目的是允许增加和删除节点,这样能够发现网络拓扑的变化。网络中连通信息由这些信号分组建立。图3?14为信号分组中头的格式,信号分组携带邻居节点的增量更新信息,即使没有邻居节点更新,信号分组也被作为“存在”信号发送。否则,如果一个节点一段时间内没有被其他节点侦听到,那么该节点将被认为已经与网络断开连接。一个节点发出的邻居增加更新包含了该节点已增加和已删除邻居的相邻信息。

 类型源地址目的地址删除邻居节点数目新增邻居节点数目删除邻居节点ID新增邻居节点ID

如果一个节点B的所有邻居向节点B发送了其相应的单跳邻居信息,那么节点B就可以获得它邻居的相邻信息。也就是说,节点B最终会有其两跳范围内相邻节点的信息,就可以形成以其为中心的两跳内的本地拓扑结构。

应该注意的是,在随机访问周期内,可能发生的冲突会导致信号分组的丢失,从而导致网络中相邻信息的不一致。为了确保相邻信息的一致性,随机访问周期的长度和信号分组重传的次数应该根据实际网络或应用场景确定。

(2)自适应时隙选择算法(AEA)

在发现邻居后,TRAMA协议采用自适应时隙选择算法(AEA)建立调度。节点根据式3?5在本地计算出两跳邻居内的优先度,再根据优先度确定哪一个节点是某一时隙的胜者:


 

其中,u是节点编号,t是时隙编号,91hash(u⊕t)为hash函数。

根据上式优先度的计算结果,时隙会分配给胜者(即优先度最高的节点)。为了提高能效,TRAMA尽可能地把节点切换到睡眠状态,而且可以重用胜者不使用的时隙。比如,如果一个节点没有数据需要发送,它可能会放弃自己的传输时隙,那么该时隙就可以由其他节点使用。

在一个给定的时隙t上,在传输期间,节点u的状态是由两跳内相邻信息以及u的单跳邻居通告的调度信息决定的。每个节点有以下三种可能的状态:

1)睡眠状态

2)接收状态

3)传输状态

如果一个节点需要发送数据并且它是胜者(即根据式3?5计算出它有最高的优先度),那么它处于传输状态(transmit state);如果一个节点现在是其他节点指定的接收者,那么它处于接收状态(receive state);否则这个节点处于睡眠状态(sleep state),关闭通信系统,不参与任何数据交换。

(3)调度交换协议(SEP)

基于流量的调度信息由调度交换协议(SEP)建立和维护,它在传输时隙内周期性地向邻居广播调度信息。调度按以下步骤生成:

步骤1:每个节点根据上层应用数据包产生的速率计算通过介质传输数据所需的时隙个数、SCHEDULE_INTERVAL表示调度间隔。

步骤2:节点计算在时隙[t,t + SCHEDULE_INTERVAL]间它能够成为发送者的时隙个数,即它能在两跳邻居内赢得的时隙个数(根据式3-5)。

步骤3:节点将这些将发送数据的时隙通告给指定接收者。由于该节点的所有邻居都会收到有关于其传输调度的所有信息,这样就不会发生冲突。

但是如果该节点没有数据需要发送,它将把这些时隙标记为空(VACANT),并且将该信息发送给相邻节点,让其他节点能够充分利用空时隙。节点作为发送者的最后一个时隙用于广播该节点下一调度间隔的调度信息。

节点通过调度分组向邻居通告调度信息。如图3-15所示,调度分组由源地址(source address)、时限(time?out)、宽度(width)、时隙数(number of slots)和位图(bitmap)92等字段构成。源地址表示发出调度通告的节点编号,时限表示该调度的有效期,宽度表示位图的长度,时隙数表示该节点能够成为胜者的时隙个数,位图标识指定的接收者。由于MAC层控制的数据传输目标是发送者单跳的邻居,并且从邻居协议(NP)已经获得了相邻信息,因此没有必要在调度分组中指定接收者的地址。TRAMA采用位图模式标识出指定接收者。位图的长度等于单跳邻居的个数。位图中每一位代表一个单跳邻居,并且是按邻居的编号排序的。如果发送者想向某一相邻节点发送数据,那么位图中相应的位将被置1。如果某节点不是指定接收者,那么相应位置0。所以,当位图中所有位被置1时,该调度分组就是广播分组,这是因为所有的单跳邻居都是指定接收者。类似地,多播也很容易实现,只要在多播组节点对应位上置1即可。


 

节点采用捎带技术,在发送的数据分组内携带节点的调度摘要,尽可能减小了调度分组在广播过程中丢失所造成的影响。节点会维护单跳邻居的调度信息。当节点需要决定向哪里传输或者放弃时隙时, 将查询这些信息。更新后的调度表将以摘要的形式被数据分组携带发送。

(4)TRAMA协议性能

TRAMA协议将时间分成连续时隙,根据两跳内节点流量信息,采用分布式选举机制确定在每个时隙上的发送者。同时根据流量信息,TRAMA避免将时隙分配给没有流量的节点,还允许节点自行决定进入睡眠状态的时间。TRAMA协议保证了相隔三跳以上距离的节点可以同时发送数据。与S?MAC协议的性能靠占空比决定不同,TRAMA协议的性能主要依靠流量模式决定。文献[Vrajendran06]中的模拟试验说明了在能耗和吞吐量方面,TRAMA协议的性能远优于基于竞争的协议(如CSMA、802?11以及S?MAC)。93但是,TRAMA协议由于调度开销,其延迟大于静态调度MAC协议(如文献[Bao01])。与基于TDMA的协议类似,TRAMA协议适用于周期性的数据收集或监测传感器网络,这些网络对延迟不敏感,但是对传输可靠性以及能效要求较高。

点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站