无线传感器网络课件:数据链路层协议

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据链路层协议
IFS的持续时间确保节点只在信道空闲时进行传输,这样有助于预防冲突的发生。如果 节点在IFS内侦听到信道被占用,就知道此时其他的节点正在信道上传输数据。
为了避免数据冲突,在CSMA机制中,节点在传输数据分组之前会延迟一个随机时间, 这种机制称为随机退避机制。CSMA随机退避机制的工作原理如下:当前数据传输一旦结束, 节点再延迟一个IFS。在这段时间里,如果信道仍处于空闲状态,节点在传输数据分组之前, 会等待一个一定数值范围内的随机时间间隔,这个数值范围称为竞争窗口。这种退避机制 通过设计计时器执行,每经过一个时隙,退避定时器的计数个数减1。在节点都进入随机退 避阶段后,第一个随机退避定时器计数结束的节点开始传输自己的数据,其他节点侦听到 信道中新的数据传输后便暂停它们的退避时钟,当前数据传输完成后进入下一个退避时段, 重新启动退避时钟开始计时。
CSMA机制的一个主要缺点就是对隐藏终端冲突过于敏感。 数据分组的长度越长,那么发生隐藏终端问题的概率就越高,为了解决这个问题, WLAN中引入了无线信道共享机制CSMA/CA协议,其中CA表示无限网络冲突避免机制。 CSMA/CA协议中采用了四次握手机制,即源节点在发送数据之前,首先向目的节点发送 RTS(Ready To Send)分组预约信道,目的节点通过广播CTS(Clear to Send)分组为该节点预留 信道,这样就可以减少冲突的概率。
CSMA机制中,载波侦听是指节点在特定时隙对信道进行侦听,以获取无线信道的使用 情况。
CSMA机制的基本原理为节点首先对通信信道进行一定时间的侦听,这个时间间隔称为 帧间间隔IFS,然后,节点按照以下两种情况分别进行操作:
(1) 如果在IFS期间信道是空闲的,节点可以立即进行数据传输; (2) 如果在IFS期间信道被占用,节点推迟传输并且继续侦听信道直到数据传输完成为止。
6.2.2 B-MAC协议 为了提供一种简单的并且由高层协议可重构的核心数据链路层协议,设计了B-MAC协 议。为此目的,B-MAC协议给更高层提供了基本的CSMA机制,而且,在没有任何RTSCTS消息交换的条件下,提供了一种可选的链路层ACK机制。 B-MAC协议基于以下两种机制:使用低功耗侦听LPL(Low-Power Listening)的睡眠-唤醒 调度机制和使用CCA(Clear Channel Assessment)的载波侦听机制,这两种机制提高了节能效 率和信道利用率。而且,一些无线传感器网络操作系统中已经实现了B-MAC协议并且给网 络高层服务提供了简单接口以利于配置基本的媒体访问控制操作,这种方法允许跨层方案
S-MAC协议设计假定了周期性流量网络,但是,因为睡眠调度周期是固定长度的,SMAC协议的固定占空比模式不能为突发流量提供灵活性。当网络流量较低时,为了在没有 发送任何分组的条件下接收同步节点发送的同步分组SYNC,每个节点不得不在每帧开始时 被唤醒。因此,由于占空比机制的结构,导致S-MAC协议将消耗大量固定的能量。而且, 如果网络流量由于某事件骤增,侦听间隔可能不足以适应这种增加的流量,这将导致节点 不得不等待几帧来传输其数据分组而增加通信时延。
数据链路层协议
每个节点可以选择自己进行监听和睡眠的调度时间表,使用相同时间表,即在相同时 间睡眠和唤醒的节点构成虚拟簇(不同于层次化路由协议中的簇概念),所有节点都可以和它 簇以外的节点自由通信。
S-MAC协议中同步分组的结构,节点通过同步分组周期性地交换它们的调度时间表, 同步分组包括发送节点的身份信息和下一次切换到睡眠状态的时间,接收到该同步分组的 每个邻居节点都知道该节点的唤醒时间,根据这一信息可决定给该节点发送数据的时间。
数据链路层协议
CSMA/CA机制在日常生活中应用广泛,因为该机制是无线局域网标准IEEE802.11数据 链路层协议的一部分,几乎所有WLAN都将IEEE 802.11标准中数据链路层协议作为自己的 数据链路层协议。
CSMA/CA机制中的主要问题之一是需要不间断地进行信道侦听。NAV通过让节点在数 据传输期间处于睡眠状态直到NAV终止才被唤醒,在一定程度上减少了信道侦听所消耗的 能量,NAV是无线传感器数据链路层协议中最具使用价值的一种机制。为了进一步减少能 量消耗,一些解决方案中为每个节点建立逻辑的分布式时间表,使得节点处于睡眠状态的 时间更长,而仅仅在需要的时候被唤醒。
数据链路层协议
的快速设计,跨层方案要求媒体访问控制协议的基本功能。通过这种方法提供的接口,高 层协议能够在CCA和ACK服务间切换,能够在每个分组上设置退避参数,还能够有效地改 变发送和接收的LPL模式,下面介绍B-MAC协议的LPL和CCA功能。 1.LPL机制 通过取消对每个节点的调度要求,能够解决S-MAC协议固定的占空比操作缺点,从而使网 络中的所有节点不需要同时唤醒和睡眠;相反,在没有与其他节点交换任何同步消息的情 况下,每个节点能够确定自己的睡眠和唤醒调度周期。然而,这要求当节点有要发送的数 据时,发送者需和期望的目的节点建立同步。 LPL的主要思想是:为了使目的节点上与固定占空比协议相关的“侦听代价”最小,要求在 每个分组前发送一个前导码(PREAMBLE)以唤醒期望的目的节点。从而,每个节点周期性 唤醒、关闭收发设备并且检查信道活动情况。 LPL的运行机制如图,图中有三个节点:发送节点A、接收节点B和邻居节点C。该机制中, 网络中的每个节点确定它的睡眠调度周期,睡眠调度周期帧长度为TP,在每个TP周期,短 时间唤醒节点检测信道活动情况,每个节点的唤醒时间与其他节点不同步,当节点A有分组 给节点B发送时,它首先发送长度为TP的前导码唤醒该节点。要注意的是,TP的长度是唤 醒任意节点的前导码的长度。当唤醒节点B时,它侦听信道直到前导码传输结束,它判断分 组的目的节点是否是它本身,并且不会切换到睡眠状态以便等待后续的分组。节点A随后
数据链路层协议
多跳感知的理想解决方案需要很多前提:首先,整个网络必须保持时钟同步,这样才 能保证每个节点都能在精确的时间点被唤醒;其次,需提前获取数据分组的传输路径。
4.自适应侦听 为了解决多跳感知问题,S-MAC协议采取了一种自适应侦听机制。自适应侦听没有假 定关于路由的知识,也没有尝试调度发送分组路由上的所有节点,而是提供了一种尽力而 为的解决方案,自适应侦听机制允许节点在即将成为数据传输的下跳节点并且在该传输结 束时唤醒节点,然后侦听分组传输。 图为S-MAC协议自适应侦听机制。节点A向节点B发送一个RTS分组。节点C侦听到了 此次传输,则节点C将在数据传输的过程中切换到睡眠状态以节约能量。节点C将通过RTS 和CTS分组中的持续时间字段得知数据的传输时间,为此,节点C设置了一个定时器,这样, 节点C会在节点A和节点B传输数据分组结束时被唤醒,这就使得节点B能够通过立即发送 RTS分组找到下跳节点。由于节点C处于唤醒状态,可以以CTS分组作响应并且能在一帧内 把分组再向前传输一跳。
数据链路层协议
数据链路层协议
6.1 CSMA机制 6.2 基于竞争的MAC协议 6.3 基于预约的MAC协议 6.4 混合MAC协议
数据链路层协议
6.1 CSMA机制
数据链路层协议
针对无线传感器网络提出的数据链路层协议,绝大多数还是基于无线局域网WLAN中 使用的传统数据链路层协议,即载波侦听多路访问CSMA机制。
S-MAC为协议构造虚拟簇。如果节点在选择它自己的调度时间表之前,接收到了来自 邻节点的调度时间表,它就遵循这个邻节点的调度时间表,即成为跟随节点。此外,跟随 节点等待随机时延后广播这个时间表。S-MAC协议并不按照单一的调度时间表同步整个网 络,而是采用相邻节点之间互相同步的机制。因此,一个节点选择它自己的调度时间表之 后可能又会收到邻居节点的调度时间表,在这种情况下,该节点被称为边界节点(Border),。 边界节点遵循两个调度时间表并且在两个调度时间表的侦听阶段都会被唤醒。然而,由于 每个节点都试图在选择一个独立的调度时间表之前遵循现有的调度时间表,因此一个节点 遵循多个时间调度表的情况是很少的。
数据链路层协议
6.2 基于竞争的MAC协议
数据链路层协议
6.2.1 S-MAC协议 S-MAC协议是一种基于CSMA随机竞争方式的数据链路层协议,其冲突避免机制类似 于IEEE802.11中的数据链路层协议,并在此基础上做了改进,其目标是减少不必要的能量损 耗,同时提供良好的可扩展性和碰撞避免机制。S-MAC协议中提出了“适合于多跳无线传 感器网络的竞争型数据链路层协议的节能方法”,具体节能方法如下:采用周期性睡眠和 侦听方法可减少空闲侦听带来的能量消耗;当节点正在发送数据时,根据数据帧的特殊字 段让每个与此通信无关的邻居节点进入睡眠状态,以减少串扰带来的能量消耗;采用消息 传递机制,减少控制分组带来的能量损耗。 S-MAC协议的关键技术包括周期性侦听与睡眠、串音避免、多跳感知、自适应监听和 消息传递五种技术。 1.周期性侦听与睡眠 由于空闲侦听消耗大量的能量资源,S-MAC协议引入了占空比技术,在占空比操作中, 根据帧的特定时间长度调度节点的活动,节点在一定的时间处于侦听无线信道状态,而在 该帧的剩余时间节点处于睡眠状态。节点侦听时间在该帧总的持续时间中所占的比例称为 占空比。在睡眠期间,节点关闭无线收发机以节省能量,即这些节点与网络断开。每个节 点周期性地在一段时间内侦听信道,等待业务的到来,然后进入睡眠状态直到下一个激活 期。
数据链路层协议
5.消息传递 在某些应用中,为了传输生成的大量信息,传感器节点可能需要发送突发性的分组。 这些应用中如果使用默认的S-MAC协议可能会导致大量的侦听周期,侦听的主要原因是每 个数据分组传输前的RTS-CTS分组的传输。 图中包括发送节点A和接收节点B,而且,节点C是节点B的邻居节点,它侦听不到节点 A的传输。节点A通过广播RTS分组启动数据传输过程,节点B以CTS分组作响应。如果节点 C在传输过程中被唤醒,它就接收来自节点B的确认分组ACK并获得传输持续时间。此后, 它将一直保持睡眠状态直到传输结束,这样就可以防止长数据分组在传输过程中的冲突问 题。
数据链路层协议
与CSMA/CA协议相比,S-MAC协议采用占空比机制降低了能量消耗。S-MAC协议通过 采用避免串音和有效的长消息传递机制来实现节能。此外,S-MAC协议的同步机制导致了 网络中虚拟簇的形成,因此,在没有明确的分簇机制的前提下,为路由目的设计的基于簇 的协议可以方便地和S-MAC协议结合。
பைடு நூலகம்
数据链路层协议
CSMA协议中的随机退避机制旨在预防节点在传输结束时的自同步,并避免与其他节点 产生冲突。然而,在网络部署密度大的情况下,显然有多个节点会同时进入随机退避阶段, 因此,很可能会有一些节点选择相同的退避时间而导致与其他节点产生冲突。在这种情况 下,产生冲突的节点会将它们的竞争窗口加倍。
数据链路层协议
2.串音避免 调度时间表一旦建立,在侦听时段的“数据时隙”执行数据分组传输,同样使用 CSMA/CA机制,即在数据时隙期间,有数据传输的节点使用RTS-CTS 机制竞争无线传输媒 体。 RTS-CTS交换后,传输节点开始传输分组,虚拟簇中的其他节点切换到睡眠状态等待该 周期结束。这种机制避免了空闲侦听期间的能量消耗,称为串音避免。 3.多跳感知 S-MAC协议的主要缺点是它仅仅控制网络中局部节点间的交互,也就是维护单跳操作。 CSMA/CA协议是S-MAC协议的基础,然而该协议是为单跳无线局域网设计的,由于无线传 感器网络的多跳本质,要求对CSMA/CA协议做改进。然而,传统的层次化体系结构中在网 络层处理多跳通信,称无线传感器网络数据链路层处理多跳通信任务的技术为多跳感知。
数据链路层协议
S-MAC协议的多跳感知问题如图所示,节点A试图通过节点B和节点C向节点D发送数据 分组。当节点A试图将数据分组发送给节点B时,需要先进行载波侦听。如果节点A给节点B 成功发送数据分组,那么节点A和节点B的邻居节点C、节点H和节点E就会侦听到此次传输 并切换到睡眠状态。然而,在S-MAC协议中,RTS/CTS分组交换是在所有节点都被唤醒时 执行的,在此期间没有收到自己想要的数据分组的节点就会切换到睡眠状态。当节点B成功 接收到来自节点A的数据分组后,尝试查找到达目的节点D的中继节点C。然而,由于节点C 处于睡眠状态,节点B不得不等待唤醒节点C并让节点C接收RTS分组的后续侦听时隙的到来。 因此,在单帧期间,数据分组仅能传输单跳的距离,这导致平均时延和路径长度成正比, 从而严重影响多跳网络的分组传输时延。
相关文档
最新文档