计算机网络-链路层-介质访问控制

介质访问控制(MAC)

介质访问控制 MAC 是数据链路层的子层,主要负责对多个设备共享同一传输介质的访问进行控制与管理,避免数据发送冲突,同时通过 MAC 地址实现设备的物理寻址,确保数据能够准确发送到目标设备,是局域网中设备间通信的基础控制机制。在总线型广播信道中,多节点共享信道会产生信号冲突,因此需要通过介质访问控制(MAC)协议来协调各节点对传输介质的访问,减少或避免冲突。


一、信道划分介质访问控制

将信道按时间、频率、码片等方式划分为多个子信道,各节点在各自子信道内传输,从物理层面避免冲突。

1. 时分复用(TDM)

  • 核心思想 :将时间划分为等长的TDM 帧 ,每个 TDM 帧再划分为m个等长时隙 ,将m个时隙固定分配给m对用户。

  • 工作流程:假设有ABC三个节点于一条总线型信道中,三者会按照固定的周期在信道上传输数据

  • 优点:节点可按固定周期获得发送机会,实现简单,无冲突。

  • 缺点:

    • 每个节点最多只能分配到信道总带宽的 1/m,带宽利用率受限。
    • 若某节点暂不发送数据,其对应的时隙会闲置,导致信道利用率低。

2. 统计时分复用(STDM)

  • 别名:异步时分复用
  • 核心思想 :在 TDM 基础上,动态按需分配时隙 ,只有待发送数据的节点才会被分配时隙。同步时分复用固定为每个用户分配时间片,无论用户是否有数据发送,时间片都会被占用,信道利用率低。统计时分复用不预先固定分配时隙,而是根据用户实际数据需求动态分配时间片,只有当用户有数据要发送时才分配资源,空闲时隙可分配给其他用户使用,大幅提高了信道带宽利用率。同时它通过在数据中携带地址信息来区分不同用户数据,解决了动态分配后的识别问题,适合数据业务突发、不均匀的传输场景,整体效率远高于传统时分复用。
  • 优点:
    • 节点有数据时可在一段时间内占用全部信道带宽。
    • 无数据发送的节点不分配时隙,显著提升信道利用率。
  • 应用:常用于分组交换网络(如 ATM)。

3. 频分复用(FDM)

  • 核心思想 :频分复用(FDM)按照频率 对信道进行划分,将总带宽分成多个互不重叠的子频带 ,每个用户占用不同频段同时传输信号,各路信号在时域上重叠、频域上分开。它主要适用于模拟信号的传输,是模拟通信中实现多用户共享信道的常用方式。

  • 工作流程:

  • 优点 :各节点可同时发送数据,充分利用信道带宽。

  • 缺点 :仅适用于模拟信号传输,对数字信号需先进行调制。

  • 应用:广播电台、有线电视、早期 ADSL。

4. 波分复用(WDM)

  • 本质 :光信号的频分复用,原理与 FDM 一致。
  • 核心思想:利用光信号极宽的频带特性,将一根光纤在逻辑上拆分为多个子信道,实现多路光信号同时传输。
  • 应用:现代光纤通信(如骨干网、数据中心互联)。

5. 码分复用(CDM)*

  • 核心思想:允许信号相互干扰、叠加,接收方通过特殊编码将来自各节点的信号分离出来。

  • 关键技术:

    码片序列(Chip Sequence)

    • 为每个节点分配唯一的m维码片序列(分量通常取1-1)。
    • 各节点的码片序列必须相互正交(内积为 0)。
    • 约定:+码片序列表示二进制1-码片序列表示二进制0

    比如有A、B、C三个节点,假设他们的码片序列分别为:a=(1,1,1,1)、b=(1,-1,1,-1)、c=(1,1,-1,-1)

    若A要给C节点发送数据为101:

  • 信号叠加与分离:

    1. 发送:多个节点同时发送,信号在信道中线性叠加。
    2. 接收 :接收方将收到的叠加信号与目标节点的码片序列做规格化内积,即可提取出该节点发送的比特。

    当A和B节点同时要给C发送数据时:

    格式化内积:

  • 优点:抗干扰能力强、保密性好、各节点可同时发送。

  • 应用:3G/4G 移动通信(CDMA2000、WCDMA)。


二、随机访问介质访问控制

各节点可随机发送数据,若发生冲突则执行重传机制,属于 "先发送,后解决冲突" 的模式。

1. ALOHA 协议

(1)纯 ALOHA
  • 核心思想有话就说 ,节点准备好数据帧后立即发送,不监听信道状态。

  • 工作流程:

  • 缺点:冲突概率极高,信道利用率低(最大约 18.4%)。

(2)时隙 ALOHA
  • 核心思想 :将时间划分为固定长度的时隙 ,节点只能在时隙开始时刻发送数据帧。

  • 工作流程:

  • 优点 :避免了发送的随意性,降低冲突概率,信道利用率提升至约 36.8%。

  • 约束:时隙大小固定为传输一帧最长数据所需的时间。

2. CSMA 协议(载波监听多路访问)

  • 全称:Carrier Sense Multiple Access
  • 核心思想 :在 ALOHA 基础上改进,发送前先监听信道,只有信道空闲时才尝试发送("有礼貌,等别人说完")。
(1)1 - 坚持 CSMA
  • 监听策略 :信道忙时坚持监听 ,一旦空闲立即发送

  • 工作流程:

  • 优点:信道利用率高,一旦空闲就被下一个节点使用。

  • 缺点 :多个节点同时监听到空闲并发送,冲突概率大

(2)非坚持 CSMA
  • 监听策略 :信道忙时放弃监听,随机等待一段时间后再尝试;信道空闲时立即发送。

  • 工作流程:

  • 优点 :使各节点错开发送时机,降低冲突概率

  • 缺点 :信道刚恢复空闲时可能未被立即利用,信道利用率低于 1 - 坚持 CSMA

(3)P - 坚持 CSMA
  • 监听策略 :信道忙时坚持监听;信道空闲时,以概率P立即发送,以概率1-P推迟到下一时隙再尝试。
  • 工作流程:
  • 优点 :平衡了 1 - 坚持和非坚持的优缺点,可通过调整P值控制冲突概率和信道利用率。
  • 复杂度:实现较复杂,需精确控制时隙和概率。

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

  • 应用场景:早期有线以太网(总线型拓扑)

  • 核心流程先听后发 → 边听边发 → 冲突停发 → 随机重发

  • 工作流程:

  • 关键概念:

    • 截断二进制指数退避算法
      1. k次冲突时,在[0, 2^min(k,10)-1]区间取随机整数r
      2. 等待时间 = r × 争用期,冲突次数越多,等待时间越长。
    • 争用期2 × 最大单向传播时延,确保最远两个节点能检测到冲突。
    • 最短帧长2 × 最大单向传播时延 × 信道带宽,防止发送完才发现冲突。以太网规定最短帧长为 64B。
    • 无 ACK 机制:发送过程中未检测到冲突即认为成功。

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

  • 应用场景:IEEE 802.11 无线局域网(WiFi)

  • 核心思想 :发送过程中无法检测冲突 ,因此通过机制避免冲突发生。

  • 不采用 CSMA/CD 的原因:

    1. 硬件限制:无线信号接收强度远小于发送强度,难以实现 "边听边发" 的冲突检测。
    2. 隐藏站问题:并非所有节点都能互相听见,发送节点外无冲突不代表接收节点无冲突。

    如图,上述无线局域网内,由于信号的范围有限,A节点无法感知B、C节点发送的数据,因此B、C节点对于A节点来说就是隐蔽站

(1)基本工作流程(不考虑隐藏站)
  • 发送方:先听后发,监听避让
    1. 监听信道,若空闲,间隔DIFS(分布式帧间间隔)后发送。
    2. 若信道忙,执行随机退避(二进制指数退避算法),退避计时器倒计时至 0 后发送。
  • 接收方:停止等待协议
    1. 收到正确帧后,间隔SIFS(短帧间间隔)返回 ACK。
    2. 发送方超时未收到 ACK,则执行随机退避后重传。

核心概念明确

  • DIFS(分布式帧间间隔):是 802.11 无线局域网中,普通数据帧发送前需等待的最短空闲间隔(优先级最低),用于让不同节点有统一的 "等待基准",避免因微小的监听延迟导致冲突,典型值约 50μs。
  • SIFS(短帧间间隔):是最短的帧间间隔(优先级最高),用于高优先级操作(如发送 ACK、分片重传),典型值约 10μs,确保这类关键帧能优先发送,避免冲突。
  • 随机退避倒计时规则 :退避计时器仅在信道持续空闲时才会递减;若倒计时过程中信道变为忙,则立即暂停倒计时,待信道再次空闲后,才恢复倒计时。
(2)解决隐藏站问题:RTS/CTS 信道预约机制
  • 流程:
    1. 发送方:广播 RTS(请求发送)控制帧,预约信道。
    2. AP(接入点):广播 CTS(允许发送)控制帧,确认预约。
    3. 其他节点:收到 CTS 后自动静默一段时间,避免干扰。
    4. 发送方:收到 CTS 后开始发送数据。
    5. AP:收到数据后进行 CRC 校验,间隔 SIFS 返回 ACK。
  • 可选性:RTS/CTS 机制可根据帧大小选择是否启用,小帧可直接发送以减少开销。

三、轮询访问介质访问控制

通过令牌传递实现节点轮流访问信道,从逻辑层面避免冲突。

令牌传递协议

  • 起源:IBM 公司于 1984 年开发的令牌环网技术。
  • 拓扑结构环形拓扑,各节点按顺序连接成环。
  • 核心原理:
    • 令牌帧:特殊的控制帧,指明当前获得令牌的节点。只有持有令牌的节点才能发送数据。
    • 数据帧:包含源地址、目的地址、数据等信息,在环中单向传递。
  • 工作流程:
    1. 持有令牌的节点若有数据发送,将令牌帧转换为数据帧并发送。
    2. 数据帧沿环传递,目的节点复制数据并标记为 "已接收"。
    3. 数据帧回到源节点后,源节点检查状态:若正常则释放令牌,传递给下一个节点;若异常则重发。
    4. 持有令牌的节点若无数据发送,直接将令牌传递给下一个节点。
  • 核心特点:
    • 令牌与数据帧单向传递
    • 获得令牌的节点每次只能发一帧,发完即传递令牌。
    • 可通过 MAU(介质访问单元) 实现集中控制。
  • 优点:无冲突、传输延迟确定、适合实时性要求高的场景。
  • 缺点:实现复杂、令牌维护成本高、单点故障影响大。

四、协议对比总结

协议类型 核心机制 冲突处理 典型应用
TDM/STDM 时隙划分 / 动态分配 无冲突 电话网、分组交换网
FDM/WDM 频带 / 波长划分 无冲突 广播、光纤通信
CDM 码片序列正交分离 无冲突 3G/4G 移动通信
ALOHA 随机发送 超时重传 卫星通信
CSMA/CD 先听后发 + 冲突检测 冲突检测 + 退避重传 早期以太网
CSMA/CA 先听后发 + 冲突避免 预约信道 + 退避重传 WiFi 无线局域网
令牌传递 令牌轮询 无冲突 令牌环网、工业控制网
相关推荐
源远流长jerry3 小时前
Linux 网络发送机制深度解析:从应用到网线
linux·服务器·网络·网络协议·tcp/ip
handler013 小时前
UDP协议与网络通信知识点
c语言·网络·c++·笔记·网络协议·udp
怀旧,4 小时前
【Linux网络编程】8. 网络层协议 IP
linux·网络·tcp/ip
cen__y4 小时前
Linux11(网络编程)
linux·运维·服务器·c语言·网络·网络协议·tcp/ip
CableTech_SQH5 小时前
商业地产和高端酒店该怎么选综合布线解决方案?
运维·服务器·网络
万点科技1235 小时前
定制软件开发公司实施方
网络
怀旧,5 小时前
【Linux网络编程】9. 数据链路层
linux·服务器·网络
CableTech_SQH5 小时前
华中科技大学同济医学院附属协和医院重庆医院智能化建设 F5G 全光方案百盛分析报告
大数据·网络·5g·运维开发·信息与通信
QotomPC5 小时前
Qotom Q30900GP多网口Mini PC:16网口设计在pfSense与工业网络中的应用
服务器·网络·边缘计算