《无线传感网络》WSN 第3讲 MAC协议 知识点总结+习题讲解

《无线传感器网络》第3讲 MAC协议

一、数据链路层与MAC协议概述

  • 数据链路层核心任务 :管理 相邻节点间的通信,实现可靠、高效的数据传输。
    • 数据组帧、媒体访问控制(MAC)、差错控制、链路管理
  • MAC协议核心作用:决定无线信道使用方式,实现节点合理共享信道,直接影响网络性能。
  • WSN对MAC协议的新挑战 (源于WSN特征):
    • 节点资源受限、高密度随机分布、动态自组织、以数据为中心。
  • MAC协议设计重点
    1. 节能:避免能量浪费。
    2. 可扩展性:适应动态拓扑与规模变化。
    3. 网络效率:在吞吐量、公平性、延迟等方面取得平衡。

二、能量浪费主要原因与信道共享方式

  • 四大能量浪费根源
    • 冲突:多个节点同时发送导致数据碰撞。
    • 串音:节点接收到并非发给自己的数据。
    • 空闲监听:节点持续侦听信道但无数据收发。
    • 控制开销:协议控制消息消耗的能量。
  • 信道共享方式
    • 点对点点对多点 (如蜂窝网)、多点共享(一跳广播,如对讲机)。
  • WSN多跳共享广播信道特点
    • 通信范围有限,冲突与节点地理位置相关。
    • 带来了隐藏终端暴露终端问题。

三、关键问题与基础机制

1. 隐藏终端与暴露终端

  • 隐藏终端 :在接收节点覆盖范围内,但不在 发送节点覆盖范围内的节点。
    • 后果 :可能导致与发送节点的信号在接收端冲突。

      当A和C检测互相检测不到无线信号时,都以为B是空闲的,因而都向B发送数据,结果发生冲突。
  • 暴露终端 :在发送节点覆盖范围内,但不在 接收节点覆盖范围内的节点。
    • 后果 :其发送可能被不必要地抑制,浪费信道资源。

      B向A发送数据,C想向D发送数据,但是由于B的缘故,C检测到媒体上有信号,不向D发送数据。但事实上B向A发送数据并不影响C向D发送数据。

2. RTS/CTS握手机制

  • 目的:解决隐藏发送终端问题,降低数据冲突概率。
  • 流程 :发送方先发RTS ,接收方回复CTS,预约信道后再传数据。
  • 局限
    • 无法完全解决隐藏接收终端问题(单信道下)。
    • 控制报文本身也可能冲突。

3. CSMA/CA(载波侦听多路访问/冲突避免)

  • 核心思想:先监听,后发送;信道忙则随机退避。
  • 两种载波侦听方式
    • 物理载波侦听:检测信号能量。
    • 虚拟载波侦听 :通过RTS/CTS中的NAV(网络分配向量)获知信道忙闲。
  • 帧间间隔
    • SIFS(最短):用于ACK、CTS等立即响应。
    • DIFS(标准):用于普通数据帧发送前的等待。
    • PIFS(中等):用于PCF模式,优先级高于DIFS。
  • 退避机制
    • 退避时间 = Random( ) × aSlotTime
    • 竞争窗口CW :冲突后加倍(不超过CWmaxCW_{max}CWmax),成功则重置为CWminCW_{min}CWmin。

四、竞争型MAC协议详解

1. S-MAC(Sensor-MAC)

  • 核心思想周期性睡眠/侦听,降低空闲监听能耗。
  • 关键技术
    1. 周期性调度 :节点形成虚拟簇,同步活跃/睡眠周期。占空比 = 活跃时间 / 周期
    2. 串音避免:邻居节点通过NAV获知通信时长,在此期间睡眠。
    3. 消息传递:将长消息分片,一次RTS/CTS预约整个传输时段,减少竞争开销。
    4. 自适应侦听 :邻居节点在通信结束后短暂唤醒,以接收可能的多跳数据,减少延迟累积
  • 优点:显著节能。
  • 缺点:固定周期不适应流量变化;边界节点能耗高;延迟较固定。

2. T-MAC(Timeout-MAC)

  • 改进点 :在S-MAC基础上,动态缩短活跃时间
  • 机制 :在活跃期内,若持续TA时间无"激活事件",则提前进入睡眠。
  • 早睡问题及解决 :可能造成数据转发中断,采用 FRTS(未来请求发送)帧唤醒下一跳节点。
  • 特点:比S-MAC更适应低流量,但FRTS增加开销。

3. B-MAC(Berkeley-MAC)

  • 核心机制低功耗侦听 + 长前导码
  • 工作原理 :接收方周期性唤醒侦听信道;发送方先发送一个长于侦听周期的前导码,唤醒目标接收方后再发数据。
  • 优点无需时间同步,实现简单。
  • 缺点:发送延迟大,前导码能耗高,隐藏终端问题依旧。

4. Sift协议

  • 应用场景事件驱动型网络,追求最快的前R个节点无冲突报告。
  • 核心思想固定竞争窗口 ,节点在不同时隙的发送概率非均匀且递增
  • 概率公式 :Pr=(1−α)αCW1−αCW⋅α−r(r=1,...,CW)(α为分布参数,0<α<1)P_r = \frac{(1 - \alpha)\alpha^{CW}}{1 - \alpha^{CW}} \cdot \alpha^{-r} \quad (r = 1, ..., CW)(α为分布参数,0<α<1)Pr=1−αCW(1−α)αCW⋅α−r(r=1,...,CW)(α为分布参数,0<α<1)
  • 目标:让竞争节点在窗口前部快速"脱颖而出",减少冲突与延迟。
  • 特点:实时性好,适合空间相关事件,但节能非首要目标。

五、分配型(调度型)MAC协议详解

1. 多址接入方式

  • FDMA:频分多址,划分频段。
  • TDMA :时分多址,划分时隙(超帧 结构)。WSN常用
  • CDMA:码分多址,用编码区分。

2. TRAMA(Traffic-Adaptive Medium Access)

  • 核心思想 :基于TDMA,根据两跳内邻居流量信息,分布式计算无冲突发送调度。
  • 时间帧结构 :交替的随机接入时段 (交换邻居信息)和分配接入时段(数据传输)。
  • 三大组件
    1. NP:邻居协议,维护两跳邻居表。
    2. SEP:调度交换协议,产生并广播基于流量的调度表。
    3. AEA:自适应选举算法,决定每个时隙节点的状态(发送、接收、睡眠)。
  • 时隙优先级计算Priority(u, t) = hash(u ⊕ t)
  • 优点:无冲突,能效高。
  • 缺点:算法复杂,存储开销大,需要时间同步。

3. DMAC

  • 应用场景数据采集树(数据单向流向Sink)。
  • 核心思想交错唤醒调度,使路径上节点像链条一样依次活跃。
  • 关键技术
    1. 交错唤醒:下层节点比上层节点提前一个时段(μ)唤醒,实现连续转发。
    2. 自适应占空比 :通过数据帧中的 "More Data"标志,请求路径上节点增加活跃时间。
    3. 数据预测:父节点收到数据后,预测子节点还有数据,延长自身接收时间。
    4. MTS帧机制:解决竞争失败子节点的"早睡"和干扰问题,传播占空比调整请求。
  • 优点低延迟,适用于汇聚型数据流。
  • 前提:需要时间同步和稳定的树状路由。

六、协议对比与小结

协议类型 代表协议 核心机制 优点 缺点/适用场景
竞争型 S-MAC 周期性睡眠/监听 节能效果好 延迟固定,不适应流量变化
T-MAC 自适应超时提前睡眠 比S-MAC更适应低负载 早睡问题,FRTS增加开销
B-MAC 长前导码+异步侦听 无需同步,简单 延迟大,前导码开销大
Sift 非均匀概率竞争 事件响应快 节能非首要目标,适合事件驱动
分配型 TRAMA 基于流量的TDMA调度 无冲突,高能效 复杂,需同步,存储开销大
DMAC 数据采集树交错唤醒 多跳传输延迟极低 需同步和稳定路由树
  • 竞争型MAC特点 :简单、扩展性好、适应动态变化,但在能量与延迟之间需要权衡。
  • 分配型MAC特点 :冲突少、控制开销低、延迟确定,但需要严格时间同步,对拓扑变化较敏感。

记忆要点

  • 能量浪费四原因:冲突、串音、空闲听、控制开销。
  • 隐藏终端 :"收得到你,收不到我发方";暴露终端:"收得到我发方,收不到你"。
  • S-MAC四大技:周期睡、避串音、消息传、自适应听。
  • DMAC核心:交错醒、链式传、树状流量快又省。

习题

  1. 以下哪种情况会造成无线传感器网络能量的浪费?(ABC)
    A. 冲突重传 B. 串音 C. 空闲监听 D. 发送消息

发送消息不算是能量的浪费。
四大能量浪费根源

  • 冲突:多个节点同时发送导致数据碰撞。
  • 串音:节点接收到并非发给自己的数据。
  • 空闲监听:节点持续侦听信道但无数据收发。
  • 控制开销:协议控制消息消耗的能量。

  1. 将CSMA/CA协议直接用于单信道、低速率无线传感网络应用,会有 idle listening 时间过长的问题,如何解决?

    使用休眠唤醒机制。

  2. (单选题) 在如图所示由4个节点组成的网络中,相对于C与B的通信而言,隐终端节点是?(A)

    A. A

    B. B

    C. C

    D. D

本题中:C向B发送数据,A检测不到信号传输,因为节点B空闲,也向B发送数据,导致冲突。因此,对于本题中的C与B的通信,A节点是隐终端节点。

隐藏终端 :在接收节点覆盖范围内,但不在发送节点覆盖范围内的节点。

  • 后果:可能导致与发送节点的信号在接收端冲突。

当A和C检测互相检测不到无线信号时,都以为B是空闲的,因而都向B发送数据,结果发生冲突。

  1. (多选题) 以下关于S-MAC协议的关键技术的描述中,正确的是(ABCD)
    A. 采用周期性的休眠/侦听方法减少空闲侦听带来的能量损耗
    B. 当有节点收发数据时,与此无关的邻居节点进入休眠减少冲突与串音带来的能量损耗
    C. 采用自适应的侦听机制,减少消息传输延迟
    D. 采用消息传递机制,减少控制消息带来的能量损耗

S-MAC(Sensor-MAC)

  • 核心思想周期性睡眠/侦听,降低空闲监听能耗。
  • 关键技术
  1. 周期性调度 :节点形成虚拟簇,同步活跃/睡眠周期。占空比 = 活跃时间 / 周期
  2. 串音避免:邻居节点通过NAV获知通信时长,在此期间睡眠。
  3. 消息传递:将长消息分片,一次RTS/CTS预约整个传输时段,减少竞争开销。
  4. 自适应侦听 :邻居节点在通信结束后短暂唤醒,以接收可能的多跳数据,减少延迟累积
  • 优点:显著节能。
  • 缺点:固定周期不适应流量变化;边界节点能耗高;延迟较固定。
  1. (简答题) 为如图所示的无线传感器网络构造一个基于TDMA的无冲突调度表时,如果当前时隙是节点C的时隙,基于让超帧长度尽量短的原则,请给出其他节点的状态。节点的状态包括:发送态,接收态,休眠态。

    A:休眠态

    B:接收态

    C:发送态

    D:接收态

    E:接收态

    F:发送态

  2. (简答题) 基于上图,举例说明,如何让节点获得它两跳邻居集合。

    1. 每个节点定期进行广播 。例如C节点:"我是C节点我是C节点",C节点的一跳邻居{B, D}可以收到该报文。同理,B还能收到A的广播报文,因此B知道它的一跳邻居集合为{A, C}。
    2. 每个节点交换邻居列表。例如B节点:"我是B节点~我的一跳邻居节点是{A, C}~",B节点的一跳邻居{A, C}可以收到该报文。因此,C节点收到B的报文,就得知:B是C的一跳邻居,B的一跳邻居有{A, C},则节点C就得知,A是B的一跳邻居但不是C的一跳邻居,可得A是C的两跳邻居。
    3. 综合消息构建两跳邻居表。C节点收集信息:从B获知A是两跳邻居;从D获知E是两跳邻居。所以C的两跳邻居集合为{A, E}。
相关推荐
嵌入式×边缘AI:打怪升级日志1 天前
[特殊字符] USBX 学习笔记(基于 Azure® RTOS)
网络
米羊1211 天前
Linux 内核漏洞提权
网络·安全·web安全
运维行者_1 天前
2026 技术升级,OpManager 新增 AI 网络拓扑与带宽预测功能
运维·网络·数据库·人工智能·安全·web安全·自动化
Ar呐1 天前
软考网规篇之局域网——网关冗余技术VRRP
网络·计算机网络
头发还没掉光光1 天前
HTTP协议从基础到实战全解析
linux·服务器·网络·c++·网络协议·http
漂洋过海的鱼儿1 天前
设计模式——EIT构型(三)
java·网络·设计模式
数通工程师1 天前
企业级硬件防火墙基础配置实战:从初始化到规则上线全流程
运维·网络·网络协议·tcp/ip·华为
血色橄榄枝1 天前
03 基于Flutter集成网络请求On OpenHarmony
网络·flutter
Godspeed Zhao1 天前
现代智能汽车中的无线技术41——BT与BLE(0)
网络·汽车
那就回到过去1 天前
PIM-DM断言机制和剪枝否决机制
网络·tcp/ip·智能路由器·ensp