论文部分内容阅读
中图分类号:TP 文献标识码:A 文章编号:1008—925X(2012)O9—0133—01
摘要:随着无线通信,微机技术和传感器技术的发展,无线传感器网络(Wireless sensor net—works,WSNs)引起了人们的广泛关注。本文提出了一种在MAC层协议——S—AMC协议基础上改进的协议SS—MAC,最后通过NS2仿真平台,分别对S—MAC协议和SS—MAC协议的网络能量消耗、延时2个网络性能指标进行了仿真分析对比。
关键词:MAC 层协议 NS2 SS—MAC 协议
随着无线通信,集成电路,传感器及机电系统等技术的飞速发展和日益成熟,传感器网络逐渐成为一个涉及多个学科的研究热点。在无线传感器网络中,MAC协议决定了无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构。MAC协议处于传感器网络协议的底层部分,对传感器网络的性能有较大的影响,是保证无线传感器网络高效通信的关键网络协议之一。
一、S—MAC协议简介
S—MAC协议是较早提出的适用于无限传感器网络的MAC协议之一。它是由美国南加利福尼亚大学的WeiYe等人在总结传统无线网络的MAC协议的基础上根据无线传感器网络传输量少,对通信延迟及节点间的公平性要求相对较低等特点提出的,其主要设计目标是降低能耗和提供大规模分布式网络所需要的可扩展性。S—MAC协议设计参考了IEEE802.11的MAC协议以及PAMAS等MAC协议。
针对碰撞重传、串音、空闲侦听和控制消息等可能造成传感器网络消耗更多能量的主要因素,S—MAC协议采用以下机制:周期性侦听/睡眠的低占空比工作方式,控制节点尽可能处于睡眠状态来降低节点能量的消耗;邻居节点通过协商的一致性睡眠调度机制形成虚拟簇,减少节点的空闲侦听时间;通过流量自适应的侦听机制,较少信息在网络中的传输延迟;采用带内信令来减少重传和避免监听不必要的数据;通过消息分割和突发传输机制来减少控制消息的开销和消息的传递延迟。
二、一种基于S—MAC的能量高效MAC协议—SS—MAC
S—MAC主要通过周期性休眠解决能量消耗问题,通过虚拟簇实现节点间工作状态的同步。但是仍然没有很好的解决网络没有负载时空闲监听能量消耗过多的问题。考虑到无线传感器网络工作的特性和设计的追求目标,下面对S—MAC进行了改进,新的协议的主要特征是相对于原来的S—MAC给节点安排更多的睡眠时间,所以将它命名为SS—MAC (第一个S是Sleep的意思)。机制主要包括三点,第一,随机唤醒:第二,为了不耽误数据的传输,每隔一定周期同一虚拟簇中的节点全部被唤醒,此时的状态和S—MAC完全一样;第三,一旦有数据传输的事件发生,所有节点按照CTS的安排,进行休眠和等待,不再使用随机唤醒的机制,直到数据传输完毕,继续随机唤醒。
(一)随机唤醒的机制的改进。对于传输数据量少的传感器网络应用来说,网络要完成的任务其实分为两部分,第一部分是监控网络布置的区域是否有关心的事件发生,对于数据稀疏的应用来说,绝大部分时间都不会有关心的事件发生,也就是说好多能量都消耗在了等待数据传输事件的监听过程中;第二部分是要在其关心的事件发生时,及时地将消息传递出去,这对网络传输的实时性有要求。
(二)保证数据及时传输的机制的改进。对于数据稀疏型的应用,信道监听消耗了90%的能量,为了降低无谓的能量消耗,可以考虑降低监听的次数,因此上一小节中我们在S—MAC周期性睡眠/唤醒的基础上设计了随机唤醒的机制,对于节省能量有很大的作用。
三、SS—MAC仿真及结果分析
(一)应用NS2进行仿真的步骤。进行仿真之前首先要分析仿真涉及哪个层次,NS2仿真分两个层次:一个是基于OTcl编程的层次,即利用NS2已有的网络元素实现仿真,无需对NS2本身进行任何修改,只要编写OTcl脚本;另一个层次是基于C++和OTcl编程的层次,如果NS2中没有所需的网络元素,就需要首先对NS2扩展,添加你所需要的网络元素。这就需要利用分裂对象模型,添加新的C++类和OTcl类,然后再编写OTcl脚本。本文即采用了第二种形式,即通过对NS2进行扩展对提出的新机制进行仿真分析。假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:
(1)开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。
(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。
(3)配置业务量模型的参数,从而确定网络上的业务量分布。
(4)设置Trace对象。NS通过Trace文件来保存整个模拟过程,仿真完后,用户可以对Trace文件进行分析研究。
(5)编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。
(6)用NS解释执行刚才编写的OTcl脚本。
(7)对Trace文件进行分析,得出有用的数据。
(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程。
(二)性能仿真。
(三) 结论。通过上面的仿真结果可以看出,与S—MAC相比,改进后的SS—MACMA协议在延迟和长期运行能量节省方面更有优势,在不同的网络负载情况下,均具有良好的适应性和不错的性能。SS—MAC通过牺牲数据包传递的时间性能换取了整个网络存活生命的延长。可以预见到的是,如果网络的数据分布更加稀疏,那么SS—MAC的性能将更加优异。
本文对详细介绍了无线传感器网络中被广泛采用的S—MAC协议,针对无线传感器网络经常应用于数据稀疏场合的特点,在S—MAC协议的基础上设计了SS—MAC协议。仿真得知,在数据稀疏场合,SS—MAC协议在延迟和长期运行能量节省方面更有优势,但传感器网络的协议设计没有绝对的优劣,协议的优劣都是与应用相关的,SS—MAC只是比S—MAC更适用于负载很轻的应用环境而己。
参考文献:
[1]马租长,孙怡宁,梅涛.无线传感器网络综述[J].通信学报,2004:114—124.
[2]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005:45—60.
摘要:随着无线通信,微机技术和传感器技术的发展,无线传感器网络(Wireless sensor net—works,WSNs)引起了人们的广泛关注。本文提出了一种在MAC层协议——S—AMC协议基础上改进的协议SS—MAC,最后通过NS2仿真平台,分别对S—MAC协议和SS—MAC协议的网络能量消耗、延时2个网络性能指标进行了仿真分析对比。
关键词:MAC 层协议 NS2 SS—MAC 协议
随着无线通信,集成电路,传感器及机电系统等技术的飞速发展和日益成熟,传感器网络逐渐成为一个涉及多个学科的研究热点。在无线传感器网络中,MAC协议决定了无线信道的使用方式,在传感器节点之间分配有限的无线通信资源,用来构建传感器网络系统的底层基础结构。MAC协议处于传感器网络协议的底层部分,对传感器网络的性能有较大的影响,是保证无线传感器网络高效通信的关键网络协议之一。
一、S—MAC协议简介
S—MAC协议是较早提出的适用于无限传感器网络的MAC协议之一。它是由美国南加利福尼亚大学的WeiYe等人在总结传统无线网络的MAC协议的基础上根据无线传感器网络传输量少,对通信延迟及节点间的公平性要求相对较低等特点提出的,其主要设计目标是降低能耗和提供大规模分布式网络所需要的可扩展性。S—MAC协议设计参考了IEEE802.11的MAC协议以及PAMAS等MAC协议。
针对碰撞重传、串音、空闲侦听和控制消息等可能造成传感器网络消耗更多能量的主要因素,S—MAC协议采用以下机制:周期性侦听/睡眠的低占空比工作方式,控制节点尽可能处于睡眠状态来降低节点能量的消耗;邻居节点通过协商的一致性睡眠调度机制形成虚拟簇,减少节点的空闲侦听时间;通过流量自适应的侦听机制,较少信息在网络中的传输延迟;采用带内信令来减少重传和避免监听不必要的数据;通过消息分割和突发传输机制来减少控制消息的开销和消息的传递延迟。
二、一种基于S—MAC的能量高效MAC协议—SS—MAC
S—MAC主要通过周期性休眠解决能量消耗问题,通过虚拟簇实现节点间工作状态的同步。但是仍然没有很好的解决网络没有负载时空闲监听能量消耗过多的问题。考虑到无线传感器网络工作的特性和设计的追求目标,下面对S—MAC进行了改进,新的协议的主要特征是相对于原来的S—MAC给节点安排更多的睡眠时间,所以将它命名为SS—MAC (第一个S是Sleep的意思)。机制主要包括三点,第一,随机唤醒:第二,为了不耽误数据的传输,每隔一定周期同一虚拟簇中的节点全部被唤醒,此时的状态和S—MAC完全一样;第三,一旦有数据传输的事件发生,所有节点按照CTS的安排,进行休眠和等待,不再使用随机唤醒的机制,直到数据传输完毕,继续随机唤醒。
(一)随机唤醒的机制的改进。对于传输数据量少的传感器网络应用来说,网络要完成的任务其实分为两部分,第一部分是监控网络布置的区域是否有关心的事件发生,对于数据稀疏的应用来说,绝大部分时间都不会有关心的事件发生,也就是说好多能量都消耗在了等待数据传输事件的监听过程中;第二部分是要在其关心的事件发生时,及时地将消息传递出去,这对网络传输的实时性有要求。
(二)保证数据及时传输的机制的改进。对于数据稀疏型的应用,信道监听消耗了90%的能量,为了降低无谓的能量消耗,可以考虑降低监听的次数,因此上一小节中我们在S—MAC周期性睡眠/唤醒的基础上设计了随机唤醒的机制,对于节省能量有很大的作用。
三、SS—MAC仿真及结果分析
(一)应用NS2进行仿真的步骤。进行仿真之前首先要分析仿真涉及哪个层次,NS2仿真分两个层次:一个是基于OTcl编程的层次,即利用NS2已有的网络元素实现仿真,无需对NS2本身进行任何修改,只要编写OTcl脚本;另一个层次是基于C++和OTcl编程的层次,如果NS2中没有所需的网络元素,就需要首先对NS2扩展,添加你所需要的网络元素。这就需要利用分裂对象模型,添加新的C++类和OTcl类,然后再编写OTcl脚本。本文即采用了第二种形式,即通过对NS2进行扩展对提出的新机制进行仿真分析。假设用户已经完成了对NS的扩展,或者NS所包含的构件已经满足了要求,那么进行一次仿真的步骤大致如下:
(1)开始编写OTcl脚本。首先配置模拟网络拓扑结构,此时可以确定链路的基本特性,如延迟、带宽和丢失策略等。
(2)建立协议代理,包括端设备的协议绑定和通信业务量模型的建立。
(3)配置业务量模型的参数,从而确定网络上的业务量分布。
(4)设置Trace对象。NS通过Trace文件来保存整个模拟过程,仿真完后,用户可以对Trace文件进行分析研究。
(5)编写其他的辅助过程,设定模拟结束时间,至此OTcl脚本编写完成。
(6)用NS解释执行刚才编写的OTcl脚本。
(7)对Trace文件进行分析,得出有用的数据。
(8)调整配置拓扑结构和业务量模型,重新进行上述模拟过程。
(二)性能仿真。
(三) 结论。通过上面的仿真结果可以看出,与S—MAC相比,改进后的SS—MACMA协议在延迟和长期运行能量节省方面更有优势,在不同的网络负载情况下,均具有良好的适应性和不错的性能。SS—MAC通过牺牲数据包传递的时间性能换取了整个网络存活生命的延长。可以预见到的是,如果网络的数据分布更加稀疏,那么SS—MAC的性能将更加优异。
本文对详细介绍了无线传感器网络中被广泛采用的S—MAC协议,针对无线传感器网络经常应用于数据稀疏场合的特点,在S—MAC协议的基础上设计了SS—MAC协议。仿真得知,在数据稀疏场合,SS—MAC协议在延迟和长期运行能量节省方面更有优势,但传感器网络的协议设计没有绝对的优劣,协议的优劣都是与应用相关的,SS—MAC只是比S—MAC更适用于负载很轻的应用环境而己。
参考文献:
[1]马租长,孙怡宁,梅涛.无线传感器网络综述[J].通信学报,2004:114—124.
[2]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005:45—60.