介质访问控制(MAC)

发布于:2025-05-10 ⋅ 阅读:(19) ⋅ 点赞:(0)

介质访问控制(MAC)详解

介质访问控制(Medium Access Control, MAC)是数据链路层的核心子层,负责解决多个设备共享同一通信介质时的冲突问题。它的核心目标是:在广播或多路访问网络中,确保数据有序、高效、公平地传输


1. MAC层的作用

MAC层主要解决以下问题:

  1. 冲突避免:多个设备同时发送数据时,如何避免信号碰撞(如以太网的CSMA/CD)。
  2. 信道分配:如何公平、高效地分配信道资源(如Wi-Fi的CSMA/CA)。
  3. 寻址:通过MAC地址(如00:1A:2B:3C:4D:5E)唯一标识设备。
  4. 帧封装:将上层数据封装成帧(如以太网帧、Wi-Fi帧)。

2. 常见的MAC协议

MAC协议主要分为两大类:

(1) 竞争式(Contention-Based)

设备竞争信道,可能发生冲突,适用于动态负载环境。

  • CSMA/CD(载波监听多路访问/冲突检测)

    • 用于有线以太网(Ethernet)
    • 工作原理
      1. 载波监听(Listen):发送前先检测信道是否空闲。
      2. 发送数据(Transmit):如果空闲,立即发送;否则等待。
      3. 冲突检测(Detect):如果检测到冲突(信号叠加),立即停止发送。
      4. 退避重传(Backoff):随机等待一段时间后重试(如指数退避算法)。
    • 缺点:不适用于无线网络(冲突检测困难)。
  • CSMA/CA(载波监听多路访问/冲突避免)

    • 用于Wi-Fi(IEEE 802.11)
    • 与CSMA/CD的区别
      • 冲突避免(CA):通过RTS/CTS机制预约信道,减少冲突。
      • 虚拟载波监听:使用NAV(Network Allocation Vector)告知其他设备信道占用时间。
    • 工作流程
      1. 发送RTS(Request to Send)请求信道。
      2. 接收方回复CTS(Clear to Send)确认。
      3. 发送数据,接收方回复ACK确认。

(2) 分配式(Scheduled)

预先分配信道资源,避免冲突,适用于高负载、实时性要求高的场景。

  • TDMA(时分多址)
    • 将时间划分为固定时隙,每个设备在指定时隙发送数据。
    • 应用:2G/3G移动通信、卫星通信。
  • FDMA(频分多址)
    • 将频带划分为多个子信道,每个设备占用固定频段。
    • 应用:广播、早期蜂窝网络。
  • CDMA(码分多址)
    • 所有设备同时发送,但使用不同编码区分数据。
    • 应用:3G/4G移动通信。

3. MAC地址(物理地址)

  • 格式48位十六进制(如00:1A:2B:3C:4D:5E)。
  • 作用:唯一标识网络设备(网卡、手机、路由器等)。
  • 分类
    • 单播地址(Unicast):目标设备唯一。
    • 多播地址(Multicast):一组设备接收(如01:00:5E:xx:xx:xx)。
    • 广播地址(Broadcast):FF:FF:FF:FF:FF:FF,所有设备接收。

4. MAC帧格式(以以太网为例)

字段 大小(字节) 说明
前导码(Preamble) 7 同步时钟(10101010...
SFD(Start Frame Delimiter) 1 帧开始标志(10101011
目标MAC地址 6 接收方地址
源MAC地址 6 发送方地址
类型/长度(EtherType) 2 上层协议(如0x0800=IPv4)
数据(Payload) 46-1500 传输的数据(IP包等)
FCS(帧校验序列) 4 CRC-32校验,检测传输错误

5. MAC层的典型应用

技术 MAC协议 特点
以太网(Ethernet) CSMA/CD 有线网络,冲突检测
Wi-Fi(802.11) CSMA/CA 无线网络,冲突避免(RTS/CTS)

6. 总结

  • MAC层核心问题:多设备共享信道时的冲突管理。
  • 竞争式协议(CSMA/CD、CSMA/CA)适用于动态环境(如以太网、Wi-Fi)。
  • 分配式协议(TDMA、FDMA、CDMA)适用于高负载、实时通信(如蜂窝网络)。
  • MAC地址唯一标识设备,MAC帧封装数据供物理层传输。

介质访问控制(MAC)详解:CSMA/CD 与 CSMA/CA

介质访问控制(MAC)的核心任务是解决多个设备共享同一通信介质时的冲突问题。其中,CSMA/CD(载波监听多路访问/冲突检测)和 CSMA/CA(载波监听多路访问/冲突避免)是最典型的两种协议,分别用于 有线以太网无线Wi-Fi。以下是它们的详细对比与解析。


1. CSMA/CD(载波监听多路访问/冲突检测)

适用场景

  • 有线以太网(Ethernet,IEEE 802.3),如早期的10BASE5、10BASE2,以及半双工模式的现代以太网。

核心思想

通过 “先监听,再发送;冲突则退避” 的方式减少冲突。

工作流程

  1. 载波监听(Carrier Sense)

    • 发送数据前,设备检测信道是否空闲(是否有信号传输)。
    • 如果信道忙,则等待;如果空闲,进入下一步。
  2. 发送数据(Transmit)

    • 设备开始发送数据帧。
    • 边发送边检测冲突(Collision Detection)。
  3. 冲突检测(Collision Detection)

    • 如果两个设备同时发送数据,信号会叠加(冲突)。
    • 设备通过检测电压变化或信号畸变发现冲突。
    • 冲突发生后
      • 立即停止发送。
      • 发送一个 “冲突强化信号”(Jamming Signal),确保所有设备感知冲突。
  4. 退避重传(Backoff & Retry)

    • 采用 二进制指数退避算法(BEB)
      • 冲突次数越多,退避时间越长(避免连续冲突)。
      • 退避时间 = 随机数 × 时隙时间(Slot Time)。
    • 重试发送,直到成功或超过最大重试次数(通常16次)。

关键特点

  • 仅适用于有线网络:冲突检测依赖电压变化,无线环境难以实现。
  • 半双工模式:同一时间只能发送或接收,不能同时进行。
  • 效率问题:高负载时冲突频繁,吞吐量下降。

示例(以太网冲突处理)

设备A和B同时检测到信道空闲 → 同时发送数据 → 信号冲突 → 
检测到冲突 → 停止发送 → 发送Jamming信号 → 
随机退避后重传。

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

适用场景

  • 无线网络(Wi-Fi,IEEE 802.11),因无线信号无法可靠检测冲突。

核心思想

通过 “预约信道 + 随机退避” 避免冲突。

工作流程

  1. 载波监听(Carrier Sense)

    • 物理层监听:检测无线信号强度(如RSSI)。
    • 虚拟层监听:检查 NAV(Network Allocation Vector)(其他设备宣告的信道占用时间)。
  2. 随机退避(Random Backoff)

    • 如果信道空闲,设备仍需等待一个随机退避时间(减少冲突概率)。
    • 退避时间 = 随机数 × 时隙时间(Slot Time)。
  3. 可选RTS/CTS握手(预约信道)

    • RTS(Request to Send):发送方请求信道使用权。
    • CTS(Clear to Send):接收方确认信道可用。
    • 其他设备收到CTS后,会更新NAV,避免在此期间发送数据。
  4. 发送数据 & 确认(ACK)

    • 发送数据帧。
    • 接收方必须回复 ACK,否则发送方认为传输失败并重试。

关键特点

  • 冲突避免(CA):通过RTS/CTS和NAV减少冲突。
  • ACK机制:确保数据可靠传输。
  • 适用于无线环境:不依赖冲突检测,解决“隐蔽终端问题”。

示例(Wi-Fi数据传输)

设备A想发送数据 → 监听信道(物理+虚拟)→ 
如果空闲,等待退避时间 → 发送RTS → 
接收方B回复CTS → 其他设备(如C)收到CTS后静默 → 
A发送数据 → B回复ACK。

3. CSMA/CD vs CSMA/CA 对比

特性 CSMA/CD CSMA/CA
适用网络 有线以太网(半双工) 无线Wi-Fi(IEEE 802.11)
冲突处理 检测冲突后重传 通过RTS/CTS和退避避免冲突
是否需要ACK 否(依赖冲突检测) 是(确保数据到达)
典型场景 早期共享式Hub网络 现代Wi-Fi、Ad-hoc网络
效率 高负载时冲突频繁 高负载时退避增加延迟

5. 总结

  • CSMA/CD:用于有线网络,检测冲突,效率高但依赖物理层特性。
  • CSMA/CA:用于无线网络,避免冲突,通过RTS/CTS和ACK提高可靠性。
  • 核心区别
    • CSMA/CD “先发送,冲突再处理”
    • CSMA/CA “先预约,避免冲突”

两种协议均体现了 “先监听,再发送” 的基本原则,但根据有线/无线的物理差异采用了不同的优化策略。


网站公告

今日签到

点亮在社区的每一天
去签到