数据链路层的功能
为网络层提供服务
- 无确认的无连接服务:适用于实时通信或误码率低的信道(如以太网)
- 有确认的无连接服务:适用于无线通信等不可靠信道
- 有确认的面向连接服务:建立连接后保证可靠传输
链路管理
面向连接的服务需要链路管理(建立、维护、释放连接)。
帧定界、帧同步与透明传输
- 帧定界:确定帧的边界
- 帧同步:接收方识别帧的开始与结束
- 透明传输:任何数据都能传输,不会与帧定界符混淆
- MTU(Maximum Transfer Unit,最大传输单元):帧数据部分的最大长度
流量控制
控制相邻节点之间数据链路上的流量,防止接收方过载。
差错控制
通过编码技术检测或纠正传输中的差错(CRC、ARQ)。
组帧
将比特流划分为帧的方法:
| 方法 | 说明 |
|---|---|
| 字符计数法 | 使用帧头部字段标明帧内字符数 |
| 字符填充法 | 用特殊字符标识帧边界,数据中出现则填充转义字符 |
| 零比特填充法 | 用”01111110”标识边界,数据中连续 5 个 1 后插入 1 个 0(“5110 规则”) |
| 违规编码法 | 借用物理层编码中不会出现的信号来定界 |
差错控制
检错编码
- 奇偶校验码:添加 1 位校验位,使 1 的个数为奇数(奇校验)或偶数(偶校验)
- 循环冗余码 CRC(Cyclic Redundancy Code):通过多项式除法生成校验码
- 帧检验序列 FCS(Frame Check Sequence):在数据后面附加 CRC 校验码
纠错编码
- 海明码 Hamming Code:可以检测并纠正 1 位错,发现 2 位错
流量控制与可靠传输机制
停等协议 Stop-and-Wait
发送方每发送一帧就等待确认,收到确认后才发送下一帧。
信道利用率:
后退 N 帧协议 GBN(Go-Back-N)
- 发送方连续发送多个帧,窗口大小
- 接收窗口 = 1,只按序接收
- 出错时重传该帧及其后续所有帧
选择重传协议 SR(Selective Repeat)
- 发送窗口 + 接收窗口
- 通常发送窗口 = 接收窗口 =
- 只重传出错的帧,接收方有缓存
滑动窗口机制
发送窗口和接收窗口在序号空间上滑动,实现流量控制和可靠传输。
介质访问控制 MAC
信道划分介质访问控制(静态分配)
| 技术 | 说明 |
|---|---|
| 频分多路复用 FDM | 频分复用,模拟信号 |
| 时分多路复用 TDM | 时分复用,数字信号 |
| 波分多路复用 WDM | 光频分复用 |
| 码分多路复用 CDM | 码分多址 CDMA |
随机访问介质访问控制
ALOHA 协议
- 纯 ALOHA:随时发送,冲突则随机等待重发
- 时隙 ALOHA:只能在时隙开始时发送,吞吐量提高一倍
CSMA 协议(载波侦听多路访问)
| 类型 | 策略 |
|---|---|
| 1-坚持 CSMA | 信道空闲就发送 |
| 非坚持 CSMA | 信道空闲时以概率 P 发送 |
| P-坚持 CSMA | 信道空闲时以概率 P 发送,以概率 1-P 推迟到下一时隙 |
CSMA/CD(载波侦听多路访问/碰撞检测)
用于总线型以太网,半双工通信。
- 争用期(碰撞窗口):(端到端往返传播时延)
- 最小帧长:
- 10Mb/s 以太网:争用期 51.2μs,最短帧长 64B
- 指数退避算法:
- 基本退避时间 =
- 从 中随机取 r,退避时间 =
- 重传 16 次仍失败则抛弃该帧
CSMA/CA(载波侦听多路访问/碰撞避免)
用于无线局域网(802.11),无法检测冲突,只能避免。
- 帧间间隔 IFS:
- SIFS(短):最高优先级(ACK、CTS 等)
- PIFS(点协调):中等优先级
- DIFS(分布式协调):最低优先级
- RTS/CTS 机制:解决隐蔽站问题
CSMA/CD vs CSMA/CA
| 对比项 | CSMA/CD | CSMA/CA |
|---|---|---|
| 传输介质 | 有线总线 | 无线 |
| 检测方式 | 电压变化检测碰撞 | 能量/载波检测,避免碰撞 |
| 确认机制 | 无确认 | 有确认 |
轮询访问(受控访问)
- 令牌传递协议:令牌在环形网络中依次传递,持有令牌的节点才能发送
局域网 LAN
局域网体系结构的三个决定要素
- 拓扑结构
- 传输介质
- 介质访问控制方法
三种特殊局域网拓扑
| 标准 | 逻辑拓扑 | 物理拓扑 |
|---|---|---|
| 以太网 IEEE 802.3 | 总线形 | 星形 |
| 令牌环 IEEE 802.5 | 环形 | 环形 |
| FDDI IEEE 802.8 | 环形 | 环形 |
以太网与 IEEE 802.3
以太网传输介质规范
| 规范 | 传输介质 | 编码 | 拓扑 | 最大段长 | 最多节点 |
|---|---|---|---|---|---|
| 10BASE5 | 粗同轴电缆 | 曼彻斯特 | 总线形 | 500m | 100 |
| 10BASE2 | 细同轴电缆 | 曼彻斯特 | 总线形 | 185m | 30 |
| 10BASE-T | UTP 双绞线 | 曼彻斯特 | 星形 | 100m | 2 |
| 10BASE-FL | 光纤 | 曼彻斯特 | 点对点 | 2000m | 2 |
以太网 MAC 帧
前导码 8B | 目的地址 6B | 源地址 6B | 类型 2B | 数据 46~1500B | FCS 4B
首部和尾部长度共 18B。最短帧 64B,最长帧 1518B。
高速以太网
| 类型 | 速率 | 介质 | 通信方式 |
|---|---|---|---|
| 100BASE-T | 100Mb/s | 双绞线/光纤 | 全双工/半双工 |
| 吉比特以太网 | 1Gb/s | 光纤/UTP | 全双工/半双工 |
| 10 吉比特以太网 | 10Gb/s | 光纤 | 全双工 |
IEEE 802.11 无线局域网
有固定基础设施无线局域网
- AP(Access Point,接入点)
- BSS(Basic Service Set,基本服务集)
- ESS(Extended Service Set,扩展服务集)
- DS(Distribution System,分配系统)
- SSID(Service Set IDentifier,服务集标识符)
无固定基础设施移动自组织网络
又称 Ad Hoc 网络,节点自组织形成临时网络。
广域网 WAN
PPP 协议(Point to Point Protocol)
面向字节的串行线路通信协议。
三个组成部分:
- LCP(链路控制协议):建立、配置和测试数据链路连接
- NCP(网络控制协议):支持不同网络层协议
- IP 数据报封装方法
特点:
- 仅支持点对点,无最短帧限制
- 信息段占 0~1500 字节(无 CSMA/CD)
- 差错检测(CRC),但不纠错
- 无序号和确认机制,不可靠传输
- 支持全双工
HDLC 协议(高级数据链路控制协议)
面向比特的数据链路层协议,使用零比特填充法。
三种站:主站(发命令)、从站(发响应)、复合站
三种数据操作方式:正常响应、异步平衡、异步响应
帧格式:标志 F (01111110) | 地址 A | 控制 C | 信息 | FCS
控制字段帧类型:
- I 帧(信息帧):传输数据,捎带确认
- S 帧(监督帧):流量控制和差错控制
- U 帧(无编号帧):链路建立、拆除等控制功能
PPP vs HDLC
| 对比项 | PPP | HDLC |
|---|---|---|
| 面向 | 字节 | 比特 |
| 填充方式 | 字节填充(异步)/ 比特填充(同步) | 零比特填充 |
| 确认机制 | 无序号和确认 | 有编号和确认(I 帧) |
| 可靠性 | 不可靠传输 | 可靠传输 |
数据链路层的设备
网桥 Bridge
- 透明网桥:自学习转发表,选择生成树路由(非最佳)
- 源路由网桥:由发送方指定路由(最佳路由)
局域网交换机 Switch
本质上是一种多端口网桥。
- 直通式交换机:只检查目的地址就转发,时延小
- 存储转发式交换机:缓存整个帧再转发,可靠性高
虚拟局域网 VLAN
- 可以隔离广播域和冲突域
- 通过交换机软件将逻辑上不同地点的设备划分在同一广播域
冲突域与广播域
- 冲突域:同一时刻只能有一个设备发送数据的区域
- 集线器所有端口:1 个冲突域
- 交换机每个端口:1 个冲突域
- 广播域:广播帧能够到达的范围
- 交换机不隔离广播域(除非 VLAN)
- 路由器隔离广播域