数据链路层(三)
3.6 媒体接入控制(介质访问控制)— 广播信道
媒体接入控制(介质访问控制)使用一对多的广播通信方式
Medium Access Control 翻译成媒体接入控制,有些翻译成介质访问控制
局域网的数据链路层
- 局域网最主要的特点是:
- 网络为一个单位所拥有;
- 地理范围和站点数目均有限。
- 局域网具有如下主要优点:
- 具有广播功能,从一个站点可很方便地访问全网。局域网上的主机可共享连接在局域网上的各种硬件和软件资源。
- 便于系统的扩展和逐渐地演变,各设备的位置可灵活调整和改变。
- 提高了系统的可靠性、可用性和残存性。
数据链路层的两个子层
为了使数据链路层能更好地适应多种局域网标准,IEEE 802 委员会就将局域网的数据链路层拆成两个子层:
- 逻辑链路控制 LLC (Logical Link Control)子层
- 媒体接入控制 MAC (Medium Access Control)子层
与接入到传输媒体有关的内容都放在 MAC子层,而 LLC 子层则与传输媒体无关。 不管采用何种协议的局域网,对 LLC 子层来说都是透明的。
基本概念
为什么要媒体接入控制(介质访问控制)?
共享信道带来的问题
若多个设备在共享信道上同时发送数据,则会造成彼此干扰,导致发送失败
随着技术的发展,交换技术的成熟和成本的降低,具有更高性能的使用点对点链路和链路层交换机的交换式局域网在有线领域已完全取代了共享式局域网,但由于无线信道的广播天性,无线局域网仍然使用的是共享媒体技术
静态划分信道
信道复用
常见的信道复用技术有:
频分复用FDM、时分复用TDM、波分复用WDM、码分复用CDM
频分复用FDM (Frequency Division Multiplexing)
- 将整个带宽分为多份,用户在分配到一定的频带后,在通信过程中自始至终都占用这个频带
- 频分复用的所有用户在同样的时间占用不同的带宽资源(请注意,这里的“带宽”是频率带宽而不是数据的发送速率)
时分复用TDM (Time Division Multiplexing)
- 时分复用则是将时间划分为一段段等长的时分复用帧(TDM帧)。每一个时分复用的用户在每一个 TDM 帧中占用固定序号的时隙
- 每一个用户所占用的时隙是周期性地出现(其周期就是TDM帧的长度)的
- TDM 信号也称为等时 (isochronous) 信号
- 时分复用的所有用户在不同的时间占用同样的频带宽度
波分复用 WDM(Wavelength Division Multiplexing)
波分复用其实就是光的频分复用,使用一根光纤来同时传输多个光载波信号
光信号传输一段距离后会衰减,因此对衰减了的光信号必须进行放大才能继续传输,所以要用 掺铒光纤放大器 来放大光信号
码分复用 CDM (Code Division Multiplexing)
应用举例
练习
A站:发送比特1
B站:发送比特0
C站:未发送
D站:发送比特1
动态接入控制
受控接入:受控接入在局域网中使用得较少,本书不再讨论
随机接入:重点
随机接入(CSMA/CD协议)
总线局域网使用协议:CSMA/CD
基本概念
最初的以太网是将许多计算机都连接到一根总线上。易于实现广播通信。当初认为这样的连接方法既简单又可靠,因为总线上没有有源器件。
以太网(Ethernet)是一种计算机局域网技术。IEEE组织的IEEE 802.3标准制定了**以太网(Ethernet)**的技术标准
以太网采用无连接的工作方式,对发送的数据帧不进行编号,也不要求对方发回确认。目的站收到有差错帧就把它丢弃,其他什么也不做
96 比特时间是指发送96比特所耗费的时间,也称为帧间最小间隔。其作用是使接收方可以检测出一个帧的结束,同时也使得所有其他站点都能有机会平等竞争信道并发送帧。
多址接入MA
多个主机连接到一根总线上,各主机随机发送帧
载波监听CS
是指每一个站在发送数据之前先要检测一下总线上是否有其他计算机在发送数据,如果有,则暂时不要发送数据,以免发生碰撞
总线上并没有什么“载波”。因此, “载波监听”就是用电子技术检测总线上有没有其他计算机发送的数据信号。
碰撞检测CD
- “碰撞检测”就是计算机边发送数据边检测信道上的信号电压大小。
- 当几个站同时在总线上发送数据时,总线上的信号电压摆动值将会增大(互相叠加)。
- 当一个站检测到的信号电压摆动值超过一定的门限值时,就认为总线上至少有两个站同时在发送数据,表明产生了碰撞。
- 所谓“碰撞”就是发生了冲突。因此“碰撞检测”也称为“冲突检测”。
- 在发生碰撞时,总线上传输的信号产生了严重的失真,无法从中恢复出有用的信息来。
- 每一个正在发送数据的站,一旦发现总线上出现了碰撞,就要立即停止发送,免得继续浪费网络资源,然后等待一段随机时间后再次发送。
只要 B 发送的数据还没有到达 C,C 检测到的信道就是空闲的;只有当碰撞传到 C,C 才检测到碰撞
为什么要进行碰撞检测? 因为信号传播时延对载波监听产生了影响
A 需要单程传播时延的 2 倍的时间,才能检测到与 B 的发送产生了冲突
CSMA/CD 协议工作流程
CSMA/CD 协议工作 — 争用期(碰撞窗口)
CSMA/CD 协议工作 — 最小帧长
CSMA/CD 协议工作 — 最大帧长
CSMA/CD 协议工作 — 截断二进制指数退避算法
CSMA/CD 协议工作 — 信道利用率
CSMA/CD 协议工作 — 帧发送流程
CSMA/CD 协议工作 — 帧接收流程
练习
CSMA/CD 协议的重要特性
- 使用 CSMA/CD 协议的以太网不能进行全双工通信而只能进行双向交替通信(半双工通信)。
- 每个站在发送数据之后的一小段时间内,存在着遭遇碰撞的可能性。
- 这种发送的不确定性使整个以太网的平均通信量远小于以太网的最高数据率。
CSMA/CD协议曾经用于各种总线结构以太网和双绞线以太网的早起版本中。
现在的以太网基于交换机和全双工连接,不会有碰撞,因此没有必要使用CSMA/CS协议
总结
随机接入(CSMA/CA协议)
无线局域网使用的协议:CSMA/CA
为什么无线局域网要使用CSMA/CA协议
帧间间隔IFS(InterFrame Space)
CSMA/CA协议的工作原理
源站为什么在检测到信道空闲后还要再等待一段时间DIFS后才发送数据帧呢?
- 考虑到可能有其他的站有高优先级的帧要发送。若有,就让高优先级帧先发送
目的站为什么在正确接收数据帧后还要等待一段时间SIFS才能发送ACK帧?
- SIFS是最短的帧间间隔,用来分隔开属于一次对话的各个帧。在这段时间内,一个站点应当能够从发送方式切换到接收方式
信道由忙转为空闲且经过DIFS时间后,为什么还要退避一段随机时间才能使用信道呢?
- 防止多个站点同时发送数据而产生碰撞
使用退避算法的时机
CSMA/CA协议的退避算法
退避算法的示例
CSMA/CA协议的信道预约和虚拟载波监听
虚拟载波监听机制能减少隐蔽站带来的碰撞问题的示例
练习