已阅读5页,还剩56页未读, 继续免费阅读
(通信与信息系统专业论文)基于smac的无线传感器网络mac协议的改进及仿真实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文摘要 摘要 s m a c 是针对传感器网络的节能需求和自组织性而提出的,主要通过周期性休 眠获得低占空比。但s m a c 的固定占空比不能很好的适应网络流量的变化,因此, 本文设计了能够在网络流量突发状况时对节点的占空比及时做出调整的动态占空 比调整机制。由于该机制利用一个工作周期传送多个数据分组,从而节省了同步帧 的开销,能量消耗相对要低。 本文在n s 网络模拟平台上对所设计的m a c 协议进行了具体实现,并设计了 无线传感器网络的仿真实验以及进行了仿真验证。采用a w k 程序处理的方法,完 成了对跟踪文件数据的抽取和对网络的能量消耗性能的统计分析。研究结果表明, 改进后的协议在能量方面具有一定的性能改善,这对于网络通信协议的进一步研究 具有较强的实用价值。 关键词:s m a c ,动态占空比,n s a b s t r a c t s m a cp r o t o c o lp r e s e n t e da c c o r d i n gt 0t h ee n e r g yr e q u i r e m e n ta n ds e l f - o r g a n i z a t i o n o fs e n s o rn e t 、o i kc a na c h i e v el o wd u t yc y c i et h r o u g hp e r i o d i c a ls l e e p b u tt h ef i x e d d u t yc y c l e0 fs m a cf a i l st oa d a p tt 0t h ec h 姐g co fn e 锕o r k 仃a f f i cv c r yw e l l s 0t h e t h e s i sd e s i g n sam e c h a n i s mo fd y n a m i cd u t yc y c l ew h i c hc a na d j u s td u t yc y c l ei nt i m e w i t hl e s se n e f g yc o n s u m p t i o nc o m p a r e dw i t hs - m a cb e c a u s et h em e c h a n i s ma 1 1 0 w s s e v e r a ld a t ap a c k e t st 0b es e n td u r i n go n ew o r kp e r i o d , s a v i n gt h eo v e r h e a do f s y n c h r o n o u sf r a m e t h ep a p e rc a r r i e so nt h ei m p l e m e n t a t i o n0 ft h ei m p f o v e dm a c p r o t o c o lu n d e rn s p l a t f o n n ,d e s i g n sas i m u l a t i o n v e r i f i c a t i o n e x p e r i m e n ta n df i n a l l ya n a l y z e se n e r g y c o n s u m p t i o np e r f o r m a n c ea c c o r d i n gt ot h ed a t ae x t r a c t e df r o mt r a c i n gf i l e sw h i c ha f e d e a l tw i t hb yak i n d0 fp r o g r a m m i n gl a n g u a g eo fa w k t h er e s u l ts h o w st h a tt h e i m p r o v e dm a cp r o t o c o lh a sb e t t e rp e r f o r m a n c ei nt e r m so fe n e r g yi n c o n t r a s tw i t h s m a c ,w h i c hh a sap r a c t i c a lv a l u ef o r t h ef u r t h e rf e s e a r c ho nc o m m u n i c a t j o np f o t o c o l 0 fn e t w o r k “u y a n m i n g ( c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m ) d i r e c t e db yp r o f z h a n gs h u e k e yw o r d s :s - m a c ,d y n a m i c d u t yc y c i e ,n s 华北电力大学硕士学位论文摘要 摘要 s m a c 是针对传感器网络的节能需求和自组织性而提出的,主要通过周期性休 眠获得低占空比。但s m a c 的固定占空比不能很好的适应网络流量的变化,因此, 本文设计了能够在网络流量突发状况时对节点的占空比及时做出调整的动态占空 比调整机制。由于该机制利用一个工作周期传送多个数据分组,从而节省了同步帧 的开销,能量消耗相对要低。 本文在n s 网络模拟平台上对所设计的m a c 协议进行了具体实现,并设计了 无线传感器网络的仿真实验以及进行了仿真验证。采用a w k 程序处理的方法,完 成了对跟踪文件数据的抽取和对网络的能量消耗性能的统计分析。研究结果表明, 改进后的协议在能量方面具有一定的性能改善,这对于网络通信协议的进一步研究 具有较强的实用价值。 关键词:s m a c ,动态占空比,n s a b s t r a c t s m a cp r o t o c o lp r e s e n t e da c c o r d i n gt 0t h ee n e r g yr e q u i r e m e n ta n ds e l f - o r g a n i z a t i o n o fs e n s o rn e t 、o i kc a na c h i e v el o wd u t yc y c i et h r o u g hp e r i o d i c a ls l e e p b u tt h ef i x e d d u t yc y c l e0 fs m a cf a i l st oa d a p tt 0t h ec h 姐g co fn e 锕o r k 仃a f f i cv c r yw e l l s 0t h e t h e s i sd e s i g n sam e c h a n i s mo fd y n a m i cd u t yc y c l ew h i c hc a na d j u s td u t yc y c l ei nt i m e w i t hl e s se n e f g yc o n s u m p t i o nc o m p a r e dw i t hs - m a cb e c a u s et h em e c h a n i s ma 1 1 0 w s s e v e r a ld a t ap a c k e t st 0b es e n td u r i n go n ew o r kp e r i o d , s a v i n gt h eo v e r h e a do f s y n c h r o n o u sf r a m e t h ep a p e rc a r r i e so nt h ei m p l e m e n t a t i o n0 ft h ei m p f o v e dm a c p r o t o c o lu n d e rn s p l a t f o n n ,d e s i g n sas i m u l a t i o n v e r i f i c a t i o n e x p e r i m e n ta n df i n a l l ya n a l y z e se n e r g y c o n s u m p t i o np e r f o r m a n c ea c c o r d i n gt ot h ed a t ae x t r a c t e df r o mt r a c i n gf i l e sw h i c ha f e d e a l tw i t hb yak i n d0 fp r o g r a m m i n gl a n g u a g eo fa w k t h er e s u l ts h o w st h a tt h e i m p r o v e dm a cp r o t o c o lh a sb e t t e rp e r f o r m a n c ei nt e r m so fe n e r g yi n c o n t r a s tw i t h s m a c ,w h i c hh a sap r a c t i c a lv a l u ef o r t h ef u r t h e rf e s e a r c ho nc o m m u n i c a t j o np f o t o c o l 0 fn e t w o r k “u y a n m i n g ( c o m m u n i c a t i o na n di n f o r m a t i o ns y s t e m ) d i r e c t e db yp r o f z h a n gs h u e k e yw o r d s :s - m a c ,d y n a m i c d u t yc y c i e ,n s 声明尸明 本人郑重声明:此处所提交的硕士学位论文基于s m a c 的无线传感器网络m a c 协议的改进及仿真实现,是本人在华北电力大学攻读硕士学位期间,在导师指导 下进行的研究工作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢 之处外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得华北 电力大学或其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名: 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交字位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文:学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的,复制赠送和交换学位论文;同意学校可以用不同方式在不 同媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:j 塑蚴 导师签名:墼幽 华北电力大学硕士学位论文 第一章引言 1 1 无线传感器网络及其研究意义 无线传感器网络( w i r e l e s ss e n s o rn e t w o f k ,w s n ) 是由大量集成了传感器模块、 处理器模块、无线通信模块和能量供应模块的传感器节点组成。节点协作地监测、 感知和采集各种环境或监测对象的信息,通过嵌入式系统对信息进行处理,并通过 随机自组织无线通信网络以多跳中继的方式将所感知的信息传送到用户端。 无线传感器网络可以使人们在任何时间、地点和环境下获得较为详细、可靠的 信息,在军事侦察、环境监测、预报系统、医疗护理以及智能家居等很多方面都有 着广泛的用途,其研究、开发和应用,关系到国家安全、经济发展等各个重大方面。 近年来在国际上引起了广泛的重视和投入,被认为是2 1 世纪最重要的技术之一【2 j 。 1 2 无线传感器网络m a c 协议研究意义及国内外研究动态 1 2 1 无线传感器网络m a c 协议的研究意义 无线传感器网络节点一般采用电池供电,电池容量有限,而对于具有成千上万 节点的无线传感器网络来说,更换电池非常困难有时甚至不可能,这样使得节点的 生存时间受到了限制【3 1 。而如果网络中节点因为能量耗尽不能工作,则会带来网络 拓扑的改变以及路由的重新建立等问题,甚至可能使得网络分成不连通的部分,造 成通信的中断,进而影响了无线传感器网络的寿命。因此,如何在不影响功能的前 提下,尽可能节约能量已成为无线传感器网络软硬件设计中的核心问题之一。 为了解决这一问题,需要从各个方面进行针对性的设计。首先在功能上,由于 无线传感器网络大都是某一专用目的而设计的,去掉不必要的功能,可以节省能量, 延长节点的生存时间。其次,可以设计专门的提高传感器网络能量效率的协议以及 采用专门的技术,这些协议和技术涉及到网络的各个层次【4 1 。其中,媒体接入控制 是非常重要的方面。 传感器节点的能量浪费主要来自:空闲侦听、冲突、串音、控制开销等。m a c 子层的主要任务就是可靠地控制信道的接入,尽量降低或减少以上的能量浪费。因 此,m a c 协议的设计对无线传感器网络能量高效利用有着重要意义。 1 2 2 无线传感器网络已有m a c 协议介绍 1 2 2 1 基于预分配的m a c 协议 华北电力大学硕士学位论文 原有的预分配类m a c 层协议主要有f d m a 和t d m a 两种形式。f d m a 是将 频带分成多个信道,不同节点可以同时使用不同的信道。t d m a 是将一个时间段内 的整个频带分给一个节点使用。针对无线传感器网络的特点,出现了一些新的预分 配m a c 算法,介绍如下: ( 1 ) s m a c s e a r 协议1 5 j s m a c s e a r 协议是结合t d m a 和f d m a 的基于固定信道分配的m a c 协议。 其基本思想是为每一对邻居节点分配一个特有频率进行数据传输,不同节点之间的 频率互不干扰,从而避免同时传输的数据之间产生碰撞。 s m a c s 主要用于静止节点间的链路的建立。链路由随机选择的时隙和固定的 频率组成。在链接阶段使用一个随机唤醒机制,在空闲时关掉无线收发装置,来达 到节能的目的。e a r 协议则用于建立少量运动节点与静止节点之间的通信链路。运 动节点侦听固定节点发出的“邀请”消息,根据消息的信号强度、节点i d 号等信息决 定是否建立链路。在建立链路后,通过与对方交换信息分配一对通信时槽和通信频 率。 ( 2 ) t d m f d m 【6 l 这是一个时分复用t d m a 和频分复用f d m a 的混合方案。在节点上维护着一 个特殊的结构帧,类似于t d m a 中的时隙分配表,节点据此调度它与相邻节点间的 通信。f d m a 技术提供的多信道,使多个节点之间可以同时通信,有效地避免了冲 突。由于预先定义的信道和时隙分配方案限制了对空闲时隙的有效利用,使得在业 务量较小时信道利用率降低。 ( 3 ) d e m a c 【7 j d e m a c 协议是在t d m a 的基础上,让节点周期性进入活动状态和休眠状态 避免空闲侦听和串扰,降低能耗。它的核心思想是执行一个本地选举程序来选择能 量最低的节点“赢者”,使这个“赢者”被分配更多的时隙,即拥有更多的休眠时间。 通过区别对待具有不同能量的节点,均衡了网络节点的能量,提高了整个网络 的生存时间。协议的缺点是传感器节点只能在自己所占有的时隙中且无传输时才能 睡眠;在其邻节点占有的时隙里必须保持监听,期待接收来自邻节点的数据,造成 空闲监听能耗。 ( 4 ) t r a m a 【8 l t r a m a 协议将时间划分为连续时槽,根据局部两跳内的邻居节点信息,用分 布式选举机制确定每个时槽的无冲突发送者;通过避免把时槽分配给无流量的节 点,并让非发送和接受节点处于睡眠状态达到节省能量的目的;为了适应节点失效 或节点增加等引起的网络拓扑结构变化,将时间划分为交替的随机访问周期和调度 访问周期。 t r a m a 协议在节省能量消耗的同时,保证了网络的高数据传输率,但是该协 2 华北电力大学硕士学位论文 议要求节点有较大的存储空间来保存拓扑信息和邻居调度信息。 1 2 2 2 基于竞争的m a c 协议 基于竞争的m a c 协议是一种按需分配信道的方式。想要通信的节点遵循某种 规则竞争信道,得到使用权的节点可以发送信息。如果发送的数据产生了碰撞,就 按照某种策略重发数据,直到数据发送成功或被丢弃。 ( 1 ) s m a c 协议【9 j s m a c 应用了三种新技术:采用周期性的侦听睡眠机制来减少节点的空闲侦 听以降低节点能量的消耗;让相邻的节点达到同步以减少控制开销来降低节点能量 的浪费;通过流量自适应的侦听机制降低传感节点因为周期性休眠而引起的时延。 其冲突避免采用了8 0 2 1 1 中的r t s c t s 预留机制。 s m a c 协议是基于竞争类的最具代表性的成果。 ( 2 ) t - m a c 协议【l o j t - m a c 在保持周期长度不变的基础上,根据通信流量动态地调整活动时间,减 少空闲侦听时间。节点周期性唤醒进行侦听,如果在一个给定的时间内没有发生激 活事件,则活动结束。 t _ m a c 存在“早睡”问题,虽然提出了一些解决办法,但仍未在实践中得到验证。 ( 3 ) s i f t 协议【1 1 l s i f t 协议的核心思想是采用c w 值固定的窗口,节点不是从发送窗口选择发送 时隙,而是在窗口的的不同时隙中选择发送数据的概率。s i f t 协议的关键在于如何 在不同的时隙为节点选择合适的发送概率分布,使得检测到同一个事件的多个节点 能够在竞争窗口前面的各个时隙内无冲突地发送消息。 s i f t 协议对接收节点的空闲状态考虑较少,需要节点间保持时钟同步,因此适 于在传感器网络的局部区域内使用。 1 3 论文所做的工作 本文主要是针对s m a c 协议的固定占空比休眠机制进行了改进,使各节点能 够自适应调整休眠时长,以进一步节省整个网络的能量消耗。论文具体工作如下: ( 1 ) 对s m a c 协议通信流程及采用的主要机制进行了研究。 ( 2 ) 针对s m a c 的固定占空比设计了动态占空比调整机制,并在n s 平台上实 现了改进后的协议。 ( 3 ) 设计了针对能耗性能测试的仿真实验。首先建立网络模型,配置实验场景, 然后对无线传感器网络进行模拟仿真,并利用a w k 工具对仿真数据进行处理和统计 计算,考察分析了本文所设计的m a c 协议的能耗性能。 3 华北电力大学硕士学位论文 第二章无线传感器网络概述 2 1 传感器网络结构 传感器网络结构如图2 1 所示,传感器网络系统通常包括传感器节点、汇聚节 点和管理节点。大量传感器节点随机部署在监测区域内部或附近,能够通过自组织 构成网络。传感器节点监测到的数据沿着其他传感节点逐跳地进行传输,在传输过 程中监测数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网 或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测 任务以及收集监测数据。 图2 1 传感器网络体系结构 传恿墨节点 传感器节点通常是一个微型的嵌入式系统,它的处理能力、存储能力和通信能 力相对较弱,通过携带能量有限的电池供电。从网络功能上看,每个传感器节点兼 顾传统网络节点的终端和路由器双重功能,除了进行本地信息收集和数据处理外, 还要对其他节点转发来的数据进行存储、管理和融合等处理,同时与其他节点协作 完成一些特定任务。 汇聚节点的处理能力、存储能力和通信能力相对比较强,它连接传感器网络与 i n t e r n e t 等外部网络,实现两种协议之间的通信协议转换,同时发布管理节点的监测 任务,并把收集的数据转发到外部网络上。 4 华北电力大学硕士学位论文 2 2 传感器节点结构 传感器节点由传感器模块、处理器模块、无线通信模块和能量供应模块四部分 组成,如图2 2 所示。 ;叵陋删圈忙州亚i 厂一一1r 二二= :1 厂一一一一一一一一一 l 一爪一。l 匕= i 暑jl 一一不一一一j l 能量供应模块 图2 2 传感器节点体系结构 传感器模块负责采集监测区域内的信息,并进行数据格式的转换,将原始的模 拟信号转换成数字信号,将交流信号转换成直流信号,以供后续模块使用;处理器 模块又分成两部分,分别是处理器和存储器,存储和处理本身采集的数据以及其他 节点发来的数据;无线通信模块负责与其他传感器节点进行无线通信,交换控制信 息和收发采集数据;能量供应模块为传感器节点提供运行所需的能量,通型采用微 型电池。 2 3 传感器网络协议 网络协议结构是网络的协议分层以及网络协议的集合,是对网络及其部件所应 完成功能的定义和描述。虽然无线传感器网络与传统网络相比有很多不同的地方, 但是其网络协议栈仍可划分成t c p i p 的五层模型,如图2 3 所示。 其中,物理层提供简单但健壮的信号调制和无线收发技术:数据链路层又分成 两个子层:逻辑链接控制层( l l c ) 和介质访问控制层( m a c ) ,主要负责数据成帧、 帧检测、媒介访问控制和差错控制:网络层主要负责路由生成与路由选择;传输层 负责数据流的传输控制,是保证通信服务质量的重要部分;应用层包括一系列基于 检测任务的应用层软件。 5 华北电力大学硕士学位论文 图2 3 传感器网络协议栈 另外,协议栈还包括能量管理平台、移动管理平台和任务管理平台。能量管理 平台管理传感器节点如何使用能源,在各个协议层都需要考虑节省能量;移动管理 平台检测并注册传感器节点的移动,维护到汇聚节点的路由,使得传感器节点能够 动态跟踪其邻居的位置;任务管理平台在一个给定的区域内平衡和调度监测任务。 6 华北电力大学硕士学位论文 第三章s m a c 协议研究 3 1s m a c 协议通信流程概述 3 1 1 通信流程基本描述 s m a c 协议的基本思想:在网络初始化时,节点之间先要同步以组成虚拟簇。 每个节点采用周期性的侦听睡眠机制来尽可能地处于睡眠状态以降低节点的能量 消耗。如果有数据要发送的话,通过握手机制竞争信道,并在随后的s l e e p 时间进 行发送。 ( 1 ) 休眠 节点进行周期性侦听和休眠,其工作的占空比是根据当时网络流量情况自适应 调整的,在节点进行休眠时,设定s l e e p 定时器定时,时间一到,节点即被唤醒。 ( 2 ) 监听信道 s l e e p 定时器超时后,节点从休眠中醒来,启动l i s t e n 定时器。节点从休眠中醒 来后,首先监听信道。m a c 要使用物理层协议提供的载波侦听a p i 进行载波侦听, 根据物理层传递过来的信道状态量来作为载波侦听的结果,确定信道的空闲。如果 上层有数据要发送,则开始竞争信道,否则监听是否有数据传来。 ( 3 ) 竞争信道 当一个节点要传送数据时,它首先侦听信道,看是否有其他节点正在传送。如 果信道空闲,没有其他节点在发送,它就利用退避算法计算出一个随机退避时间来 竞争信道,若退避结束后信道仍空闲则立即开始发送,如果发送信息产生冲突,且 重传次数超过规定次数,则重复上述过程重新竞争信道;如果有多个待发送节点都 监听到信道空闲,则利用退避算法产生的随机退避时间最小的节点最早结束退避, 于是竞争到信道,其他节点退避结束后监听信道发现此时信道己被占用,它就持续 等待直到当它侦听到信道空闲时,继续下一轮的信道竞争。如果在继续监听过程中 l i s t e n 定时器超时,则节点转入休眠,在下一个l i s t e n 时间到来时醒来继续竞争信道。 ( 4 ) 退避阶段 退避方式,用于降低节点之间对信道的争夺,减少冲突。基本思想是:在一段 时间里限制一个节点访问信道,希望在退避周期过了之后,信道即变得空闲。在竞 争信道的过程中,如果节点监听到信道空闲,就会进入退避阶段,利用退避算法计 算出一个随机退避时间来竞争信道。节点在进入退避状态时,启动一个退避计时器, 退避计时器的时间是按照特定的退避算法进行设定的,当计时器达到退避时间后结 束退避状态。当多个节点进入退避状态竞争信道时,将选择最小退避时间的节点作 7 华北电力大学硕士学位论文 为竞争优胜者。 ( 5 ) l 汀s c t s 握手过程 当节点竞争到信道后,开始发送一个短的发送请求帧( r t s ) 来通知目的节点,目 的节点收到l 疆s 后,随后用一个c t s 信息帧进行回复。发送节点在接到c t s 回复 后便可开始发送d a r a 数据了。其他节点在收到i 汀s 或c t s 消息之后,如果确认 这个数据包不是发给自己的,则利用一个n a v 定时器设置虚拟载波侦听时间,然 后进入休眠状态。休眠状态的时间由r t s 或c t s 信息包里的d u r a t i o n ( 传输持续时 间) 来确定,等经d u r a t i o n 时间之后重新醒来监听信道。通过l 玎s c t s 信号完成发 送方和接收方之间的握手过程,目的是为了公告发送方和接收方两者的邻居节点, 避免邻居节点此时传输数据造成冲突碰撞。 ( 6 ) 数据传输 当源节点和目的节点握手完成后,便开始进行d a t a 数据的发送。目的节点接收 到数据后,向源节点发出一个a c k 应答帧。当源节点接收到a c k 后,继续发送d a t a 分组,目的节点收到后回复a c k 。直到所有数据分组发送完毕,源节点释放信道占 有权供其他节点竞争。同理,在d a t a 数据帧和a c k 应答帧里仍然携带“r a t i o n 数 据传输持续时间值,其他的节点可根据此d u r a t i o n 值设定休眠定时器,在传输结束 后立即醒来监听信道,如果有数据要发送就竞争信道。 ( 7 ) 数据重传 如果源节点在发出r t s 后的一段时间内没有收到c t s 帧应答,或在发出d a t a 数据后的一段时间内没有收到a c k 应答,则说明发送失败,节点立即重传未收到 应答的r t s 帧或d a t a 分组,如果3 次发送仍未收到应答,节点放弃发送,转入睡眠, 在下一个侦听周期醒来重新竞争信道。 3 1 2 发送流程 发送流程描述如下: ( 1 ) 节点退避结束后,如果此时信道空闲,则竞争信道成功,开始准备发送数 据。进入s e n d m s g ( p ,h ) 模块,在这个模块中,首先判断发送的方式是广播还是单 播。 ( 2 ) 如果要以单播形式发送,则在发送具体数据帧前需要进行控制信息的交换。 在s e n d r t s ( ) 模块中,节点首先计算发送这些数据包的时间,将时间计入r t sp k t 中的d u r a t i o n 项,填充完r t s 帧的其他项后,发出r t s ,然后定时进入w a i tc t s 状态。 ( 3 ) 如果在规定时间内收到发给自己的c t s ,则发送d a r a ,并定时进入 w a i ta c k 状态。在收到正确的a c k 应答后,节点如果没有数据要继续发送就结 8 华北电力入学硕士学位论文 束发送过程返回,进入s l e e p 状态。 ( 4 ) 如果是广播帧,则帧结构中目的地址不做设定,向网络中所有邻节点发送, 而且不需要进行r t s t c s 握手过程和a c k 应答。设定好帧结构后,直接进行广播 发送。 由于整个通信过程很复杂,源代码也很长,限于篇幅,这里就只给出各模块接 口的流程图,如图3 1 ,3 2 所示。 图3 1 调度启动流程 9 华北电力大学硕士学位论文 3 1 3 接收流程 图3 2 发送流程 接收流程描述如下: m a c 层接收数据是通过提供的r e c v ( p a c k e t 木p ,h a n d l e r 宰h ) 接口函数供物理层 调用来实现的。当有数据需要接收时,物理层调用准备接收数据包接口函数,m a c 层在此接口函数中根据工作状态进行处理。如果m a c 层处于空闲或者载波监听状 态,则转入退避状态,然后设置射频收发器工作变量为接收。物理层在接收数据包 完成后调用m a c 层的接收函数对接收到的数据帧进行处理。对数据帧的处理流程 如图3 3 所示。 l o 华北电力大学硕士学位论文 3 1 4m a c 层的状态转换 图3 3 接收流程 m a c 层的状态变量有两个,一个用来标记m a c 层的工作状态,另一个用来标 记射频电路的工作状态。m a c 层的工作状态有如下几种:空闲、睡眠、监听、发送、 退避、等待c t s 、等待d 觚a 、等待a c k 、等待冗余c t s 、等待冗余数据等。射频 电路的工作状态有睡眠、空闲、发送、接收。初始时都设置为空闲状态。 n s 中为每个状态设鼍一个定时器,依靠定时器中断来实现状态转换,在定时 器内部有h a n d i e 处理函数,用来在定时器超时后处理相应的事件。 ( 1 ) 当系统处在空闲时,如果有数据要发送,首先监听信道,信道空闲时设置 退避计时器:退避计时结束后,发送r t s ,设置c t s 等待接收定时器,进入c t s 11 华北电力大学硕士学位论文 接收状态;收到c t s 后进入发送数据状态,将数据缓冲区的数据发送出去,然后设 置a c k 等待接收定时器,进入a c k 接收状态;收到a c k 后,如果数据全部发送 完毕,转入空闲状态,否则继续发送数据,重复上述过程。如果在等待接收c t s 状 态时,一直到定时器超时也没有收到c t s ,则重新发送i 盯s ,同时继续等待c t s , 当持续5 次都没有收到c t s 将会返回空闲状态,向上层发送消息。 ( 2 ) 如果系统在监听信道过程中接收到i 玎s 信息,查看目的地址,如果是发给 自己的,则发送一个c t s 信息,然后转入接收数据状态;如果是发给其他节点的 r t s 或者c t s 信息,则设定n a v 计时器,进入休眠状态。 3 2s m a c 采用的主要机制 3 2 1 主要能量消耗分析 要想设计一个能量有效的m a c 协议,必须分析是哪些因素导致了能量损耗。 经大量实验和理论分析得出,造成传感节点能量消耗的因素概括起来有以下几个方 面: ( 1 ) 空闲侦听( i d l el i s t e n i n g ) :节点不知道邻居节点何时向自己发送数据,射频 模块必须一直处于接收状态以便接收发给自己的数据包,这种监听会浪费很大一部 分能量,特别是在数据传输率低的网络应用中。 ( 2 ) 冲突( c o l l i s i o n ) :采用竞争方式使用共享的无线信道时,节点在发送数据的 过程中,当两个数据包在同一时间传输时,就会碰撞,导致数据包被破坏,应丢弃, 源节点需要重新发送。发送和接收这些错误数据的能量将被损耗掉,这样造成了能 量浪费。利用r t s t c s 握手机制可解决冲突问题,但带来额外的协议开销。 ( 3 ) 串音( o v e f h e a r i n g ) :在网络中,节点都是以广播的形式发送消息的,不是点 对点的形式。因此,节点广播范围内的节点就可能接收到发向其他节点的数据包, 当一个节点接收到传给其他节点的数据包时,节点会对这些不必要的数据进行处 理,造成节点的无线接收模块和处理模块消耗较多的能量。当流量负载和节点密度 很大时,窃听不必要的流量是能量浪费的主要因素。为尽量避免这种情况,节点应 该在无数据收发时关闭其接收器。 ( 4 ) 控制开销( c o n t r o lp a c k e to v e r h e a d ) :大多数m a c 协议需要节点相互之间交 换控制信息,当发送、接收和侦听控制包时,都要消耗能量。因为控制包不传送有 效数据,它是为数据信息服务的,消耗的能量对用户来说是无效的,应当在保证数 据信息正常传输的基础上尽可能的减少控制信息。 一个m a c 协议应该通过控制无线通信来避免和减少来自以上的能耗,从而达 到节约能量的目的。s m a c 协议在空闲侦听、碰撞重传、串音等方面采取了有效 1 2 华北电力- 人学硕士学位论文 机制,介绍如下。 3 2 2 周期性休眠侦听 在传感器网络的应用中,节点没有接收信号的时候会长时间空闲,这段时间内 数据率很低,所以没有必要长时间保持对节点的监听。s m a c 通过让节点周期性的 进入休眠状态来减少其监听。 s m a c 协议将侦听周期分为三部分,分别为侦听s y n c 消息、l 盯s 包和c t s 包( 如图3 4 所示) 。如果节点在i 盯s 时间段内发送了r t s 包,并在c t s 时间段内收 到c t s 包,就会在本应睡眠的时间段内唤醒无线收发装置并发送数据。否则就会进 入睡眠状态。其中c s 表示载波监听。每个部分又进一步分成许多时隙,以便发送 者完成载波监听。 l l l 、 , 图3 4s m a c 帧结构 在s m a c 中,不同节点的帧的监听时隙开始时间可能不同,帧的时间安排称 为调度表。s m a c 规定,在每个节点中保存一个调度表列表,存储自己和已知相邻 节点的调度表。列表建立过程如下: ( 1 ) 节点首先监听至少一个同步周期的时间,如果没有监听到其它节点的休眠 调度表,则随机选择一个休眠调度表,并向其邻节点广播s y n c 帧来宣布其休眠调 度表; ( 2 ) 如果节点在选择或宣布自己的休眠调度表之前收到邻节点的休眠调度表, 则将邻节点的休眠调度表设定为自己的休眠调度表,并在下个监听时间宣布其休 眠调度表; ( 3 ) 节点在选择或宣布了自己的休眠调度表后,如果又收到了其它节点发来的 休眠调度表,如果该节点没有邻节点,它将丢弃当前休眠调度表并采用新收到的休 1 3 华北电力大学硕士学位论文 眠调度表;如果该节点有邻节点,它将按照这些不同的休眠调度表被依次唤醒。 由于相邻节点只有在共同进入监听时段时才能相互通信,因此必须使其调度表 相互配合。在s m a c 中,相邻节点应尽可能选择相同的调度表,这就是调度表的 同步问题。 调度表的同步是通过节点周期性地广播同步包( s y n c ) 来实现的。在每个监听 时间段的开始,有一小段专门用来收发s y n c 包,s y n c 包中包括发送节点的标识 和从发包时刻距下次休眠的时间。下次休眠时间是相对于发送者开始发送s y n c 帧 时刻的。接收到s y n c 帧后,接收者会立即调整其计时器,即将自己的下次休眠时 间设为s y n c 帧的下次休眠时间减去s y n c 帧的传输时间。 3 2 3 串音避免 为了减少碰撞和避免串音,s m a c 协议采用与8 0 2 1 1 m a c 协议类似的虚拟和 物理载波侦听机制,以及r t s c t s 的通告机制。 l 盯s c t s 机制最早是由m a c a 提出来的,后来被广泛运用于各种s m a c 、 t - m a c 等m a c 协议中。节点a 向节点b 发送信息之前,先要向节点b 发送r t s 控制帧,b 节点收到a 节点的r t s 后,回应一个c t s ,a 节点收到b 节点的c t s 后就可以向b 发送数据了。而对于a 和b 外的其他邻居节点,虽然收到i 玎s 或c t s , 但是目标地址不是自己,就会抑制自己信息的发送,以避免与a 、b 冲突。 每个节点在传输数据时,都要经历l 盯s c t s d 删a c k 的通信过程( 广播包 除外) 。在传输的每个分组中,都有一个阈值表示剩余通信过程需要持续的时间长 度。源和目的节点的邻居节点在收到发送端发出的r t s ,或接收端发出的c t s 时, 就会将里面记载的持续时间记录到自己的网络配置向量( n a v _ ) 里。节点为网络配置 向量n a v 设置一个定时器,每次n a v 计时器启动时,节点n a v 的值随时间递减, 直至为o 。当节点有数据要发送时,它通过查看n a v 值是否为o 来确定信道的状态。 当n a v 的值为零时,若节点仍处于侦听周期,就会被唤醒;否则,节点处于睡眠 状态直到下一个调度的侦听周期。 在w s n 中,节点要监听信道,那么它就会收到一些不是直接发给它的数据包, 这也消耗一定的能量,特别是在节点密度大、数据传送频繁的w s n 中。s m a c 协 议利用让相互干扰的节点在收到l 汀s 帧或者c t s 帧后进入睡眠状态的方法来避免 串音。这样可以避免节点接收长的d a t a 数据包和a c k 的回复确认。 1 4 华北电力大学硕士学位论文 e ,r r 。湖, “* f 、,l 一,、。一卜一。 图3 5 当a 向b 传数据时,应当进入睡眠的节点 在图3 5 中,节点a 、b 、c 、d 、e 和f 组成了一个多跳网络,其中每个节点 只能和其直接邻居节点通信。节点a 向节点b 发送数据,e 和f 在a 、b 节点的两 跳之外,不会影响到a 、b 数据的传送。分析c 和d 点;冲突是在接收节点处发生 的,d 点信息的发送会影响到b 点对a 点信息的接收,所以d 点要进入睡眠状态。 c 点可以向e 点发送数据,但是它不可以从e 点收到c t s 或a c k ,因为a 点在给 b 点发送数据的同时,c 点也会收到同样的信息,从而发生冲突。而且,c 点向e 点发送数据会影响到a 点对b 点的c t s 和a c k 的确认信息的接收。总之,发送者 和接收者的所有直接邻居节点在接到r t s 帧和c t s 帧后都应该休眠,直到当前传 输结束。 每个节点保存n a v 来标明其邻域的活动。当一个节点收到发送给其他节点的 数据帧时,它利用帧里的时间域来更新其n a v 。一个非o 的n a v 表明其邻域里有 信息在传输。当n a v 计时器启动时,n a v 的值随时间递减。所以,如果n a v 不为 0 ,节点就应该休眠以避免串音,当n a v 变成o 时醒来。 3 2 4 消息传递 因为传感器网络内部数据处理需要完整的消息,所以s m a c 协议利用 r t s c t s 机制,次预约发送整个长消息的时间;又因为传感器网络的无线信道误 码率高,s m a c 协议将一个长消息分割成几个短消息在预约的时间内突发传送。为 了能让邻居节点及时获取通信过程剩余时间,每个分组都带有时间阈。为了可靠传 输以及通告邻居节点正在进行的通信过程,目的节点对每个短消息都要发送一个应 答信息。如果发送节点没有收到应答信息,则立刻重传该短消息。 相对i e e e 8 0 2 1 1 m a c 的消息传递机制,s m a c 的l 玎s c t s 控制消息和数据消 息携带的时间是整个长消息传输的剩余时间。其他节点只要接收到一个消息,就能 够知道整个长消息的剩余时间,然后进入睡眠状态直至长消息发送完成。 3 2 5 流量自适应侦听 1 5 华北电力大学硕士学位论文 传感器网络往往采用多跳通信,而节点的周期性睡眠会导致通信延迟的累加。 在s m a c 协议中,采用了流量自适应侦听机制来减少通信延迟的累加效应。它的 基本思想是在一次通信中,通信节点的邻居节点在通信结束后不立即进入睡眠状 态,而是保持侦听一段时间。如果节点在这段时间内接到i 汀s 分组,则可以立刻接 收数据,无需等到下一次调度侦听周期,从而减少了数据分组的传输延迟。如果在 这段时间内没有接到l 汀s 分组,则转入睡眠状态直到下一次调度侦听周期。 1 6 华北电力大学硕士学位论文 第四章改进协议的设计及其在n s 平台上的实现 4 1 用n s 进行网络模拟的相关知识 4 。1 1n s 原理概述 网络模拟器n s 是由位于美国加州的劳伦斯伯克利( h w r e n c eb e r k e l e y ) 国家 实验室于1 9 8 9 年开发的软件。它是一个完全免费的软件,具有开放体系结构,并 带有大量协议库支持,适合于网络进行仿真,在国际上享有很高的学术声誉,被世 界各国的网络研究者广泛使用。现将n s 原理介绍如下: ( 1 ) 离散事件模拟器 n s 是一个离散事件模拟器。事件规定了系统状态的改变,状态的修改仅在事 件发生时进行。在一个网络模拟中,典型的事件包括分组到达、时钟超时等,模拟 时钟的推进由事件发生的时间量确定。模拟器所做的就是不停地处理一个个事件, 直到所有的事件都被处理完或者某一特定事件发生为止。n s 2 中有一个“调度器 类,负责记录当前时间,调度网络时间队列中的事件,并提供函数产生新事件,指 定事件发生的时间。 ( 2 ) 丰富的构件库 针对网络模拟,n s 已经预先做了大量的模型化工作。n s 对网络系统中一些通 用的实体已经进行了建模,例如节点、分组、链路、队列等,并用对象来实现了这 些实体的特性和功能,这就是n s 的构件库。用户可以充分利用这些已有的对象, 进行少量的扩展,组合出所要研究的网络系统的模型,然后进行模拟。 ( 3 ) 分裂对象模型 n s 中的构件一般都是由相互关联的两个类来实现的,一个在c + + 中,一个在 o t c l 中。这种方式被称为分裂对象模型。构件的主要功能通常在c + + 中实现,o t c l 中的类则主要提供c + + 对象面向用户的接口。用户可以通过0 t c l 来访问对应的c + + 对象的成员变量和函数。c + + 对象和o t c l 对象之间是通过叫做t c l c l 的机制关联起 来的。 n s 使用这种分裂对象模型,是出于兼顾模拟性能和灵活性两方面的考虑。一 方面,c + + 是高效的编译执行语言,使用c + + 实现功能模拟,可使模拟过程的执行 获得较好的性能。另一方面,o t c l 是解释执行的,用o t c l 进行模拟配置,可以在不 必重新编译的情况下随意修改模拟参数和模拟过程,提高了模拟的效率。 ( 4 ) 开放的源代码 n s 是免费的,开放源代码的。因此利用n s 进行网络模拟的研究者可以很方便 1 7 华北电力大学硕士学位论文 地扩展n s 的功能,也可以很方便地共享和交流彼此的研究成果。n s 吸纳了这些 n s 开发者贡献的各方面的模块,从而使它的构件库不断地丰富,这正是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 现代交通物流枢纽项目建议书
- 食品加工及超低温冷链物流园项目可行性研究报告
- 建筑垃圾废弃砂石循环利用建设项目可行性研究报告
- 绿色农用生物化学制剂项目申请报告
- 员工沟通专员跨文化沟通培训方案
- 影视导演面试实战技巧分享会
- 招远社区资源整合与利用策略研究
- 固废处理项目经理固废处理项目市场推广方案
- 婚庆公司服务流程再造与客户体验提升方案
- 影视制作流程管理与成本预算控制
- 贵州国企招聘:2025贵州凉都能源有限责任公司招聘10人备考题库含答案详解(综合题)
- 西藏自治区昌都市小学三年级上学期数学期末测试卷
- 污水池内壁防腐作业施工方案
- xx公司混凝土质量控制培训课件-完整版
- 传承三线精神、砥砺奋进前行课件
- 员工考证培训协议书
- 2025年郑州水务集团有限公司招聘80人模拟试卷带答案解析
- 2025吉林省吉林市磐石市总工会招聘工会社会工作者8人备考公基题库附答案解析
- hiv透析应急预案
- 11.交通信号控制技术与智能系统设计
- 八年级物理上学期第三次月考试卷(新教材沪科版)
评论
0/150
提交评论