介质访问控制子层¶
约 721 个字 预计阅读时间 2 分钟
在 LAN 等场景下,我们需要使用 广播信道 (boardcast channels),或者称 多路访问信道 (multiaccess channels) 或 随机访问信道 (random access channel)。对于广播信道,关键的问题是在保证多方争用时确定 谁可以使用,以及广播到所有设备时,确定是谁接收。
OSI 七层模型将数据链路层分为 LLC 和 MAC 两个子层。LLC 层负责流量控制, MAC 层负责 成帧、物理寻址、差错控制、访问控制。
一个朴素的想法是,做一个静态的 FDM 或者 TDM 。但是这样会导致 - 资源浪费。只有一个站想要“说话”的时候... - 可扩展性差。如果有新站想要加入怎么办呢?
广播信道传输协议¶
ALOHA¶
Pure ALOHA¶
想法很简单:谁想发就发。但两个用户发送的信号发生重叠(冲突, collision )时冲突的帧会损坏。
在这种方式下我们期望的利用率是 \(1/2e \approx 18%\)。
Slotted ALOHA¶
时间被分成离散的槽 (slot),用户只能在每个槽的开始时刻才能发送帧。每次传输帧的用时必须小于等于一个草的长度。
在这种方式下我们期望的利用率是 \(1/e\)。
载波侦听多路访问, CSMA¶
为了减小冲突,我们可以“发之前听一下”,等没人用了我再发。这种策略就叫 CSMA 。
- 1-persistent CSMA
- non-persistent CSMA
- p-persistent CSMA
CSMA/CD¶
即带冲突检测的 CSMA (with Collision Detection)。
无冲突协议¶
基本位图协议 Basic Bit-map Protocol¶
令牌环协议 Token Ring¶
二进制倒数协议 Binary Countdown Protocol¶
得到的编号越大,优先级越高。
有限冲突协议¶
我们在这里介绍自适应树遍历协议 (Adaptive Tree Walk Protocol)。
我们现在来看两个具体的实现。
以太网 Ethernet - IEEE 802.3¶
经典以太网¶
一个 10 Mbps 的以太网标准在 1978 年被制定出来,它被称为 DIX Standard。1983 年,它被修订,并成为 IEEE 802.3.
物理层¶
传统的接线模式不太方便设备的增减;出现断裂等情况也很难定位。因此人们开发出了一种设备 集线器 (Hub),这种设备有很多接口,每个接口之间简单地连接起来,这样任何一个接口发送来的帧会被传播到其他所有端口。端口的设置也方便了设备增减和定位问题。Hub 的任务就是完成转发,仅是信号的传播。
传输协议¶
以太网是 无连接 的,也不提供确认;使用 1-persistent CSMA/CD 来传输。如果站侦听到了冲突则发一个短的加强信号 (jam signal) 确保另一个站也能听到冲突。
二进制指数后退算法 用于确定等待时间。