MAC 层协议

一、CSMA/CA(载波监听多路访问/冲突检测)

​ 在发送数据前对信道进行预约,以免照成信道碰撞问题。CSMA/CD提供两种方式来对无线信道进行共享访问,工作流程如下:

​ 1.送出数据前监听信道的使用情况,维持一段时间后,再随机等待一段时间信道依旧空闲,送出数据,由于每个设备采用随机时间不同,所以可减少冲突的机会。

​ 2.送出数据前,先送出一小段小小的 RST 报文给目标端,等待目标端回应 CTS 报文后才开始传送。利用RTS/CTS握手程序,确保RTS/CTS握手程序。

二、PAN的建立和维护

​ 再一个设备上电时,如果设备不是协调器,他将通过扫描发现已有的网络,然后选择一个已建立的网络进行关联。如果设备是一个协调器设备,则扫描已有网络,选择空余的信道与合法的PANID,然后建立一个新的网络。当一个设备在通信过程中与其关联的协调器失去同步,也需要通过扫描通知协调器。为了实现这个功能。定义了四种扫描: ED扫描(ED SCAN ),主动信道扫描,被动信道扫描、孤立信道扫描。

关联和关联解除

​ 关联即一个设备加入网络,解除关联即设备从这个网络中退出。一般的设备在启动完成扫描后,已经得到附近各个网络的参数,下一步就是选择一个合适的网络与协调器进行关联。

信标帧的同步

​ 在信标使用的网络中,一般设备通过协调器的信标帧的同步来得知协调器里是否有发送给自己的数据;另一方面为减少损耗,设备需要知道信道何时进入不活跃时段,这样设备就可以在不活跃时段减少射频。这些操作需要精确的帧同步。

帧结构

​ MAC帧,即MAC 协议数据单元。是一系列字段按照特定的顺序结构排列而成的,设计目标是在保持低复杂度的前提下实现在噪声信道上的可靠传输。

暴露终端和隐藏终端

隐藏终端: 隐藏终端的存在,节点检测不到载波并不能意味着信道空闲可以发送数据

隐藏终端 图中的 C 是指在接收节点 图a 中的 B 的覆盖范围内而在发送节点图a中的A覆盖范围外的节点.隐藏终端因侦听不到发送节点的发送而可能向同样的接收节点发送分组,造成接收节点处的分组碰撞。

暴露终端: 暴露终端的存在,节点检测到载波也不意味着信道忙而不能发送数据

​ 暴露终端指在发送节点的侦听范围之内,而在接收节点的干扰范围之外的节点。如图 在节点B 向节点A 发送报文,节点C (暴露终端) 侦听到节点B 的发送,节点C不能同时向节点D发送报文,延迟发送而造成不必要的延迟,MAC 层协议应该在节点C向节点D发送报文时不影响节点B与节点A的通信。暴露终端的缺陷是报文发送过程中的不必要的延迟,信道的利用率下降。

S-MAC协议

​ S-MAC协议是针对传感器网络节省能量的需求设计的,S-MAC包括 了从各种能量消耗方式中节省能耗的方法,比如:空闲侦听、冲突、串音和控制开销。

S-MAC协议采用的主要机制

周期性的侦听和睡眠

​ WSN的S-MAC采用周期性的侦听和睡眠,网络中所有的节点同步使用相同的睡眠和唤醒方式,所有的节点均已相同的占空比进行工作,使用同步帧发送机制,确保所有节点同时唤醒和同时睡眠,但所有节点都处于唤醒状态时,才进行侦听,以判断是否要发送或者接受数据,当所有节点都处于睡眠状态时,会自动关闭射频收发器以节省能量。

​ 注:每个节点使用SYNC消息通告自己的调度信息,同时维护一个调度表,保存所有节点的调度信息。

工作过程

​ 当节点进入工作时:先侦听一段固定时间:

​ 1)如果在侦听的这段时间,接收到其他节点的调度信息,则将自己的调度信息调整和其他相邻节点一致,经过一段随机的时间广播自己的调度信息;

​ 2)当节点在侦听这段时间收到众多的邻居节点的调度信息都不一致时,可选择将自己的调度信息调整为和第一个接收到的邻居节点的调度信息一致,并记录其他邻居节点的调度信息。

​ 3)如果在侦听的这段时间没有接收到任何节点发送来的调度信息,则自己产生一个调度信息,并进行广播;

自适应监听

​ 传感器网络多采用多眺,周期性休眠会导致通信的延迟积累,为解决这种问题,采用了一种自适应监听机制,基本思想就是在一次通信过程中。通信节点的邻居节点在此次通信结束后唤醒唤醒并保持监听一段时间。如果再此段时间接收到RTS帧,则可立即接收数据,不必等到下一周期。减少了数据传输延迟。

消息冲突与串音避免

​ 采用RTS/CTS机制解决隐终端问题。为了避免串音,S-MAC协议使节点在接收到发往其他节点的RTS和CTS消息后进入休眠。

消息传递机制

​ 短消息:利用RTS/CTS,DATA/ACK机制进行发送;

​ 长消息:将一个长消息分割为几个短消息在预约的时间内突发发送,短消息也是利用RTS/CTS,DATA/ACK,不同的是S-MAC中长消息分割的短消息的RTS/CTS,DATA/ACK帧中携带的是整个长消息传递剩余的时间。(剩余份数)

总结

优点:

(1)S-MAC很好的通过周期性的侦听与睡眠机制解决了无线传感网络中的能量问题:

高负载:当信道处于高负载的时候,侦听阶段得意充分利用;

低负载:睡眠阶段更好的节省了能量。

(2)使用CSMA协议中的RTS/CTS,DATA/ACK消息传递机制,有效避免了冲突;

缺点:

​ S-MAC协议中的占空比是固定不变的,的信道中出现极端情况:(1)负载过高时,休眠时间太长,不利于数据的传递;(2)当负载过低时,侦听时间长,还是不能有效利用有限的能量,浪费能量。

ZMAC协议(混合型MAC协议)

​ 竞争型MAC协议由于冲突重传、空闲监听、串扰等引起能量损耗,存在效率不高等缺点。分配型MAC 将信道资源按需时隙、码型或频分等方式分为多个子信道,数据包在传输过程中不存在冲突,所以能量效率较高。但是分配型MAC不能灵活的适应网络拓扑结构的变化,为此提出了混合型MAC协议。

ZMAC协议概述 将竞争方式与分配方式进行了组合,采用CSMA机制作为基本的方法。在竞争加剧时使用TDMA机制;来解决信道冲突问题。

基本思想

​ ZMAC引入了时间帧的概念,每个时间帧又分为若干个时隙。在ZMAC中,网络部署时每个节点都执行时隙分配的DRAND算法。时隙分配结束后每个节点都会在时间帧中拥有一个时隙,分配时隙的节点称为该时隙的所有者,时隙的所有者在对应的时隙发送数据的优先级更高。

​ 在ZMAC中,节点可以选择在任何时隙发送数据,节点在某个时隙发送数据需要先监听信道状态,但是该时隙的所有者拥有更高的发送优先级。发送优先级的设置通过设定退避时间窗口的大型来实现,时隙的所有者被赋予一个较小的时间窗口,所以能抢占信道。通过这种机制,时隙在被所有者闲置时被其它节点所使用,从而提高信道利用率。

关键技术 1.邻居节点发现和时隙分配、2.本地时间帧交换、3.传输控制、4.局部同步

特点

​ ZMAC协议是一种混合型MAC协议,可以根据网络中的信道竞争情况来动态调整整个MAC协议所采用的机制,在CSMA 和 TDMA 之间切换。

​ 在网络数据量较小时,竞争者少,协议工作在CSMA机制下。在网络数据量较大,竞争者较多,协议工作在TDMA机制下。使用拓扑信息和时钟信息来改善协议性能。

​ ZMAC协议结合了竞争型MAC与分配型MAC的特点很好的适应网络拓扑的变化并提供均衡的网络性能。

路由层协议

以数据为中心的路由

SPIN协议(协商的路由协议)

​ 是一种以数据为中心的自适应路由协议,其目标是通过节点间的协商制度和资源自适应机制解决无线传感器网络中的数据冗余问题。

基本思想:

​ 通过节点间相互协商的方式来减少网络中数据传输的数据量,节点只广播其它节点所没有的数据以减少冗余,从而减少能量消耗。

三次握手与三种报文

​ SPIN协议采用三次握手协议来实现数据的交互,协议运行过程中使用三种报文数据,分别为ADV,REQ和DATA。

ADV 用于数据的广播。

REQ 用于请求发送数据。

DATA 为原始感知数据包,装载了原始感知数据。

​ SPIN协议有两种工作模式:SPIN1和SPIN2

SPIN协议特点: SPIN协议下,节点不需要维护邻居节点的信息,一定程度上能适应节点移动移动的情况。在能耗方面,比传统模式减少一半以上。**不适用于高密度节点分布的情况。**由于SPIN协议通过节点之间的协商,解决了内爆和重叠现象。SPIN协议不需要了解网络拓扑结构,适合在节点可以移动的WSN中使用。

DD路由协议(定向扩散路由):

​ 定向扩散(DD,directed diffusion)路由协议是一种基于查询的路由方法。

四个阶段: 周期性的兴趣扩散,梯度建立,数据传播与路径加强。

试题:简述DD路由协议的工作过程

​ 答:DD路由协议分为三个阶段:兴趣扩散(采用泛洪);梯度建立(反向建立);强化路径(Sink节点会收到多条路径,选最优路径,进行加强,以后的数据按照加强路径传送)

(1)兴趣扩散阶段: Sink节点(汇聚节点)查询兴趣消息:兴趣消息采用泛洪的方法传播到网络;有和兴趣匹配数据的节点发送数据;兴趣扩散阶段建立节点到Sink(汇聚节点)的路径.

**(2)数据传播阶段:**当传感器节点采集到与兴趣匹配的数据时,把数据发送到梯度上的邻居节点,并按照梯度上的数据传输速率设定传感器模块采集数据的速率。

**(3)路径加强阶段:**定向扩散路由机制通过正向加强机制来建立优化路径,并根据网络拓扑的变化修改数据转发的梯度关系。兴趣扩散阶段是为了建立源节点到汇聚节点的数据传输路径,数据源节点以较低的速率采集和发送数据,称这个阶段建立的梯度为探测梯度。汇聚节点在收到从源节点发来的数据后,启动建立到源节点的加强路径,后续数据将沿着加强路径以较高的数据速率进行传输。加强后的梯度称为数据梯度。

分层结构的路由协议

LEACH 协议(低功耗自适应集簇分层型协议)

​ 该算法基本思想是:以循环的方式随机选择蔟首节点,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低网络能源消耗、提高网络整体生存时间的目的。

​ 网络随机选择簇头,其他非簇头节点以就近原则加入相应的簇头。形成虚拟簇。簇内节点将将感知到的数据直接发给簇头,簇头将本簇内的数据进行融合处理以减少网络传输量。

关键技术

​ 簇头节点的选择依据网络中所需簇头的节点数和每一个节点已成为簇头的次数来决定。

具体办法:每个传感器节点生成 [0,1] 之间的随机数,如果大于阈值T,则选该节点为聚类首领T计算方法如下:

​ n∈G 当n不属于G的时候 T = 0;

​ N 为网络中传感器连接节点的个数,k为网络中的簇头的节点个数。r为已完成的周期数。G为网络的生存周期。

LEACH协议主要分为两个阶段:

簇建立阶段(setup phase)和稳定运行阶段(ready phase)。簇建立阶段和稳定运行阶段所持续的时间总和为一轮(round)。为减少协议开销,稳定运行阶段的持续时间要长于簇建立阶段。

​ 在簇建立阶段,传感器节点随机生成一个0,1之间的随机数,并且与阈值T(n)做比较,如果小于该阈值,则该节点就会当选为簇头。

地理位置信息路由协议

用途:

基于地理位置的路由协议:使用地理位置信息建立路由,节点直接根据地理位置信息制定数据转发策略

使用地理环境信息作为其他路有算法的辅助:可以限制网络中手说路由的范围,减少路由控制分组的数量

基本思想:GOSR协议是使用地理位置信息实现路由的一种算法,它使用了贪婪算法建立路由。

模型:当源节点S向汇聚节点D转发数据分组时S先选择在他通信范围内部距离汇聚节点D最近的节点作为下一跳的转发节点,这个过程一直重复,直到数据分组转发完成
关键技术;

GPSR协议中有两个核心问题:最佳主机问题和边界转发策略问题、

最佳主机问题

最佳主机问题又称为局部优化问题,如图圆1是节点的发射和接收区域,圆2是节点B的接收和发射区域。源节点S和目的节点D进行通信,根据贪婪算法可以知道,到达中间节点B,邻居节点A与中间节点B到达汇聚节点D的距离相比B更近,并且B在D的通信范围之内,所以B选择自己作为传送的下一个节点,但是超过了B的发射区域所以B选择邻居节点A作为自己的下一跳节点,以此类推传送的路径为B到A到C到D到E到D;这就是由边界转发策略来解决最佳主机问题。

边界转发策略

基础: 右手法则和平面图的构造

右手法则是节点X接收节点Y 的数据,他的下一条路径以节点X为原点,沿着(X,Y)逆时针方向上的第一条链路,就是如图(X,Z)节点按照这个规矩以此转发数据

平面图构造

平面图构造方法是删除网络拓扑图中交叉的边,假设每一跳通信范围的半径都是R,并且都处于同一平面,如果(X,Y)<R,那么可以认为X,Y中间有一条边XY。

按需理由协议

AODV协议

基本思想 AODV协议 旨在多个移动节点之间建立和维护一个动态的、自启动的、多跳的专属网络。AODV协议使得移动节点能快速获得通向新的目的节点的路由,并且节点仅需要维护通向他的信号所及范围内的节点的路由,更远的节点的路由则不需要维护。 网络中节点的连接断开和移动会使网络的拓扑结构发生变化,AODV协议使得移动节点能适应对这种变化做出响应。

​ 网络中每个节点维护路由缓存表,路由缓存表的内容使到达源节点已知得节点路由。

路由发现过程: 当一个节点需要给网络中的其他节点传送信息时,如果没有到达目标节点的路由,则必须先以多播的形式发出RREQ(路由请求)报文。RREQ报文中记录着发起节点和目标节点的网络层地址,邻近节点收到RREQ,首先判断目标节点是否为自己。如果是,则向发起节点发送RREP(路由回应);如果不是,则首先在路由表中查找是否有到达目标节点的路由,如果有,则向源节点单播RREP,否则继续转发RREQ进行查找。

路由维护过程 如果发起路由请求的源节点移动了,它能够再次发起一个路由发现过程,以找到到达目的节点的新路由。如果沿着某路由的某个节点移动了。在移动节点的 “上游” 邻居节点就会注意到此节点的移动,这时上游就会传播一个链接断开的信息给上游节点的每一个有效的上游节点,通知他们删除路由表中对应的无效路由。这些节点依次转发这个链路断开的信息给上游节点,一直到达源节点。源节点将再次发起路由发现过程。

协议的功能

​ 将数据从源节点传输到目的节点的机制。

无线传感器网络的路由协议具体有哪些特点 (传统协议相比的特点)

能量优先

​ 传统路由协议在选择最优路径时,很少考虑节点的能量消耗问题。而无线传感器网络中节点的能量有限,延长整个网络的生存期成为传感器网络 路由协议设计的重要目标,因此需要考虑节点的能量消耗以及网络能量均衡使用的问题。

基于局部拓扑信息

​ 无线传感器网络为了节省通信能量,通常采用多跳的通信模式,而节点有限的存储资源和计算资源,使得节点不能存储大量的路由信息,不能进行太复杂的路由计算。在节点只能获取局部拓扑信息和资源有限的情况下,如何实现简单高效的路由机制是无线传感器网络的一个基本问题。
以数据为中心
传统的路由协议通常以地址作为节点的标识和路由的依据,而无线传感器网络中大量节点随机部署,所关注的是监测区域的感知数据,而不是具体哪个节点获取的信息,不依赖于全网唯一的标识。传感器网络通常包含多个传感器节点到少数汇聚节点的数据流,按照对感知数据的需求、数据通信模式和流向等,以数据为中心形成消息的转发路径。

无线传感器网络相关协议相关推荐

  1. 无线传感器网络标准化进展与协议分析

    无线传感器网络作为一门面向应用的研究领域,在近几年获得了飞速发展.在关键技术的研发方面,学术界从网络协议.数据融合.测试测量.操作系统.服务质量.节点定位.时间同步等方面开展了大量研究,取得丰硕的成果 ...

  2. 无线传感器网络标准化与协议分析

    无线传感器网络作为一门面向应用的研究领域,在近几年获得了飞速发展.在关键技术的研发方面,学术界从网络协议.数据融合.测试测量.操作系统.服务质量.节点定位.时间同步等方面开展了大量研究,取得丰硕的成果 ...

  3. NUAA无线传感器网络 复习重点整理

    鸣谢 授课老师:郝洁老师 个人主页 在cdsn博主:Matts Tian 基础上修改.添加 Matts Tian 体系结构 什么是无线传感器网络? 无线传感器网络(Wireless sensor ne ...

  4. 基于CSMA/CA无线传感器网络的MAC层研究

    1.无线传感器网络简介及发展现状 无线传感器网络是嵌入式系统.无线通信技术.网络技术及微机电系统等学科互相融合.渗透而产生的新技术,广泛使用在军事国防领域.环境监测.交通管理.医疗健康.工商服务.反恐 ...

  5. 【无线传感器网络简明教程】课堂笔记

    文章目录: 来源: 一:无线传感器网络及传感器简介 1.无线传感器网络结构 1.1 传感与传感器 1.2 无线传感器网络组网结构 1.2.1WSN之间的通信: IEEE 820.11系列和820.15 ...

  6. 《WSN》无线传感器网络全文翻译

    前言 该篇文章的全文翻译是由敖琳.綦正民.钱金柱.陈见埔.刘仁宇.胡雪亮六位同学完成.其中敖琳负责摘要.第1节.第2节的翻译,綦正民负责第3节的翻译,钱金柱负责第4节的翻译,刘仁宇负责第5节的翻译,陈 ...

  7. 4|无线传感器网络与应用|无线传感器网络原理及方法-许毅版|考试知识点

    <无线传感器网络原理及方法> 第1章无线传感器网络概述 1.1无线传感器网络的基本概念 1.2无线传感器网络的特征 1.2.1与现有无线网络的区别 1.2.2与现场总线的区别 1.2.3传 ...

  8. 无线传感器网络知识点总结

    第一章:无线传感器网络概述 1.什么是无线传感器网络?与无线局域网的区别?例举三个无线传感器网络的例子? 无线传感器网络:是一种由传感器结点构成的网络,能够实时监测,感知和采集结点部署区的环境或观察者 ...

  9. 开发中最全网络相关内容

    iOS中网络相关内容 声明:部分图片来源于网络,有些内容也来自各个平台老师讲解的视频,部分内容来自<计算机网络>这本书中,除去参考其他博客链接外,其他部分不作出参考链接来源展示,如有相关原 ...

最新文章

  1. android 二级列表拖动排序_Excel的数据透视表六种排序方法
  2. Linux本地无法登录,远程却可以登录
  3. C++中函数重载、缺省参数及命名空间
  4. Python: classmethod staticmethod 区别
  5. php投票的进度条,小程序实现投票进度条
  6. gets函数用不了_函数篇:指数函数
  7. MySQL The JSON Data Type(JSON格式数据)
  8. 大学计算机专业挂科人多吗,这几个专业真的是太难了,挂科率年年都是新高,很多人都后悔了...
  9. DataView筛选出最新的十条数据的方法总结;
  10. 新装ubuntu16的推荐安装软件
  11. javascript控制页面控件隐藏显示的两种方法
  12. 双网卡设置一个外网一个内网(两张网卡同时上内外网设置)
  13. 【Godot】行为树(一)了解与设计行为树代码
  14. PS改变证件照片背景颜色
  15. 基于单片机的水壶自动加热系统_基于单片机电热水壶控制系统的设计
  16. 设计模式:仲裁者(Mediator)模式
  17. finalcut剪切快捷键_final cut pro怎么用快捷键把时间线上的素材移动到入点或剪辑点...
  18. 【小程序】开发需要注意的地方(二)
  19. ST-Link SWD接口接线
  20. 对可口可乐瓶进行图像识别

热门文章

  1. 6.Request和Response
  2. 笔记篇-制作自己的个人网站(使用GithubPages)
  3. 512e 和 4kn的解读
  4. input输入框回车事件响应
  5. C语言简单的单步调试
  6. 拜占庭容错(BFT)介绍
  7. 上海交通大学2017年复试题:FibonacciRepresentation
  8. 调研分析-全球与中国电动垂直起降飞行器市场现状及未来发展趋势
  9. PHP json获取相关对象值
  10. matlab 中medfilt2报错,关于matlab使用medfilt2报错