Skip to content

介质访问子层

:material-circle-edit-outline: 约 1380 个字 :material-clock-time-two-outline: 预计阅读时间 5 分钟

数据链路层分为两个子层

  • MAC子层:介质访问,负责管理物理介质访问,包括以太网、802.3等局域网协议的具体细节
  • LLC子层

image-20241017121225905

硬件地址就是 MAC 地址

*信道分配问题

信道会共享,会出现多个请求需要同一个信道

介质的多路访问控制(MA),用于在多路访问信道上确定下一个使用者(信道分配)

信道共享技术

  • 静态划分信道
    • 频分复用 FDMA
    • 时分复用 TDMA
    • 波分复用 WDMA
    • 码分复用 CDMA
  • 动态媒体接入控制(多点接入)
    • 随机接入:所有的用户可随机地发送信息
    • 受控接入:用户必须服从一定的控制。如轮询(polling)

静态的我们讲过了,我们接下来讲动态的

*多路访问协议

局域网数据链路层分为 2 个子层

image-20241019093156264

  • 逻辑链路控制 LLC (Logical Link Control) 子层:与传输媒体无关。
  • 媒体接入控制 MAC (Medium Access Control) 子层:与传输媒体有关。

*适配器的作用

适配器即网卡,计算机通过适配器和局域网进行通信

image-20241019093219773

  • 重要功能:
    • 进行串行/并行转换。
    • 对数据进行缓存。
    • 在计算机的操作系统安装设备驱动程序。
    • 实现以太网协议。

以太网协议

最早的以太网

直接将许多计算机都连接到一根总线上。

  • 总线
    • 特点:易于实现广播通信,简单,可靠。
    • 缺点:多个站点同时发送时,会产生发送碰撞或冲突,导致发送失败。

image-20241019093450045

为了实现一对一通信,将接收站的硬件地址写入帧首部中的目的地址字段中,仅当数据帧中的目的地址与适配器硬件地址一致时,才能接收这个数据帧。

以太网采取的 2 种重要措施

  1. 采用较为灵活的无连接的工作方式
    • 不必先建立连接就可以直接发送数据
    • 对发送的数据帧不进行编号,也不要求对方发回确认
  2. 发送的数据都使用曼彻斯特 (Manchester) 编码
    • 曼彻斯特编码缺点:所占的频带宽度比原始的基带信号增加了一倍

image-20241019093822340

载波侦听多路访问协议CSMA

CSMA:Carrier Sense Multiple Access,特点:“先听后发”

image-20241019112301539

非持续式CSMA

  1. 经侦听,如果介质空闲,开始发送
  2. 如果介质忙,则等待一个随机分布的时间,然后重新侦听

等待时间内介质上如果没有数据传送,这段时间是浪费的

持续式(指1-持续式)CSMA

  1. 经侦听,如介质空闲,则发送
  2. 如介质忙,持续侦听,一旦空闲立即发送
  3. 如果发生冲突,等待一个随机分布的时间再重新侦听

持续式的延迟时间要少于非持续式,但如果两个以上的站等待发送,一旦介质空闲就一定会发生冲突

p-持续式CSMA

  1. 经侦听,如介质空闲,那么以 p 的概率发送,以(1–p)的概率延迟一个时间单元发送
  2. 如介质忙,持续侦听,一旦空闲重新侦听
  3. 如果发送已推迟一个时间单元,再重新侦听

CSMA/CD 协议

就是 \(p=1\) 的 p-持续式CSMA

CSMA/CD (Carrier Sense Multiple Access with Collision Detection) 载波监听多点接入 / 碰撞检测

  • 多点接入:总线型网络
    • 许多计算机以多点接入的方式连接在一根总线上。
  • 载波监听:“边发送边监听”
    • 不管在想要发送数据之前,还是在发送数据之中,每个站都必须不停地检测信道。
    • 由于存在传播时延,所以即便有载波监听也可能产生碰撞,所以要碰撞检测
  • 碰撞检测:适配器边发送数据,边检测信道上的信号电压的变化情况。
    • 电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,产生了碰撞(或冲突)。

检测到碰撞后,适配器立即停止发送,等待一段随机时间后再次发送

以太网的端到端往返时延 \(2\tau\) 称为争用期,或碰撞窗口。

碰撞后重传的时机

采用 截断二进制指数退避 (truncated binary exponential backoff) 确定

发生碰撞的站停止发送数据后,要退避一个随机时间后再发送数据

  1. 基本退避时间 = \(2\tau (,这是第 \(k\) 次冲突重传(如果 次数大于 10,\)k\) 取 10)
  2. 从整数集合 [0, 1, … , (\(2^k\) - 1)] 中随机地取出一个数,记为 \(r\)
    • 重传所需的时延 = \(r\) ⅹ 基本退避时间。
  3. 当重传达 16 次仍不能成功时即丢弃该帧,并向高层报告。
强化碰撞:人为干扰信号

发送站检测到冲突后,立即停止发送数据帧,接着就发送 32 或 48 比特的人为干扰信号 (jamming signal)

image-20241019112102764

CSMA/CD 协议流程图

image-20241019112142739

冲突窗口

即发送站发出帧后能检测到冲突(碰撞)的最长时间,是一个可能侦听到发出的帧遭到冲突(碰撞)的时间区间

数值上等于最远两站传播时间的两倍,即 2D(D是单边延迟),相当于1个来回传播延迟RTT(Round Trip Time)