3.1 封装成帧与差错控制
数据链路层将网络层交下来的 IP 数据报封装成帧。帧结构包括:帧首部 + 数据(IP 数据报)+ 帧尾部(FCS 帧检验序列)。
成帧方法
- 字符计数法:帧首部用一个字段标明帧长度。
- 字符填充法:用特殊字符作为帧定界符(SOH/EOT)。
- 比特填充法:用 FLAG(01111110)定界,数据中每 5 个 1 后插入一个 0(PPP/HDLC)。
- 违规编码法:利用违规的电平组合定界(曼彻斯特编码)。
差错控制 — CRC 循环冗余校验
CRC 模2除法计算器
输入数据比特串(被除数)和生成多项式(除数),演示模2除法过程。生成多项式以二进制形式输入(如 x³+x+1 = 1011)。
CRC 循环冗余校验
交互式计算器3.2 ALOHA协议
ALOHA协议是世界上最早的无线分组交换网络协议,由夏威夷大学于1970年提出,是CSMA协议的前身和基础。ALOHA的核心思想简单:想要发送数据就发送,如果发生冲突,则随机等待后重传。
纯ALOHA (Pure ALOHA)
- 站点有数据时立即发送,不检测信道状态。
- 发送后等待接收方的确认(ACK),若在超时时间内收到ACK则成功。
- 若未收到ACK(冲突),则随机退避一段时间后重新发送。
- 若连续多次冲突,则增大退避等待时间。
S = G·e−2G
其中 S 为吞吐率(单位时间内成功发送的平均帧数),G 为网络负载(单位时间内所有站点尝试发送的帧数,包括新帧和重传帧)。当 G=0.5 时取得最大吞吐率 Smax = 1/(2e) ≈ 18.4%。
时隙ALOHA (Slotted ALOHA)
- 需要一个全局时钟或同步机制来划分时隙。
- 站点有数据帧需发送时,必须等到下一个时隙的起点才能发送。
- 若两个或以上站点在同一时隙发送,则发生冲突。
- 冲突的帧在后续时隙中以概率 p 重传。
S = G·e−G
当 G=1 时取得最大吞吐率 Smax = 1/e ≈ 36.8%,是纯ALOHA的2倍。
纯ALOHA vs 时隙ALOHA 对比
| 特性 | 纯ALOHA | 时隙ALOHA |
|---|---|---|
| 发送时机 | 任意时刻,想发就发 | 仅在时隙起点 |
| 冲突窗口 | 2 个帧传输时间 | 1 个帧传输时间 |
| 吞吐率公式 | S = G·e−2G | S = G·e−G |
| 最大吞吐率 | 18.4%(G=0.5) | 36.8%(G=1) |
| 同步要求 | 无需同步 | 需要全局时钟同步 |
| 实现复杂度 | 简单 | 较复杂(需同步机制) |
3.3 CSMA/CD 协议
CSMA/CD(载波监听多路访问/碰撞检测)用于总线型以太网,采用半双工方式。核心思想:先听后发、边发边听、冲突停发、随机重发。
| 阶段 | 操作 |
|---|---|
| 载波监听 | 发送前先检测信道,空闲才发送 |
| 碰撞检测 | 发送时持续检测电压,发现碰撞立即停止 |
| 发送拥塞信号 | 碰撞后发送 jam 信号强化碰撞 |
| 二进制指数退避 | 随机等待一段时间后重试,重传次数越多等待时间越长 |
3.4 滑动窗口机制
滑动窗口协议通过在发送方和接收方各维护一个"窗口"来控制流量与可靠传输。窗口大小 W 决定了发送方在未收到确认前最多可连续发送的帧数。
| 协议 | 发送窗口 | 接收窗口 | 特点 |
|---|---|---|---|
| 停止等待协议 (SW) | 1 | 1 | 每发一帧必须等确认才能发下一帧 |
| 后退 N 帧协议 (GBN) | W > 1 | 1 | 出错时重传该帧及之后所有帧;接收端只按序接收 |
| 选择重传协议 (SR) | W > 1 | W > 1 | 只重传出错帧;接收端可缓存乱序帧 |
停止等待协议 ARQ
滑动窗口协议动画
3.5 MAC 地址与以太网
MAC 地址用于局域网内寻址,而 IP 地址用于网络层端到端寻址。MAC 地址在数据链路层不可改变(固化),IP 地址可随网络变化。
以太网帧结构(DIX Ethernet V2)
| 字段 | 长度 | 说明 |
|---|---|---|
| 前导码 | 8B | 同步与时钟(7B 前导 + 1B 帧起始定界) |
| 目的 MAC | 6B | 接收方 MAC 地址 |
| 源 MAC | 6B | 发送方 MAC 地址 |
| 类型 | 2B | 上层协议类型(如 0x0800 = IP) |
| 数据 | 46~1500B | MTU 1500 字节 |
| FCS | 4B | 循环冗余校验 |
3.6 纠错编码 — 海明码
海明码的编码规则
设信息位位数为 m,校验位位数为 k,则海明码需满足以下条件:
校验位 k 需放在 2 的幂次方位置(第 1、2、4、8、16… 位),其余位置依次填入信息位。校验位通过奇偶校验方程计算。
海明码的编码步骤与示例
以 4 位信息码 1011 为例,编码步骤如下:
| 步骤 | 操作 | 说明 |
|---|---|---|
| ① 确定校验位 k | 2k ≥ 4 + k + 1 → k = 3 | 3 位校验位可覆盖 7 位海明码 |
| ② 排列位置 | 校验位 P1=1, P2=2, P3=4;信息位 D1D2D3D4=3,5,6,7 | 校验位放在 2i 位置 |
| ③ 计算 P1 | P1 校验位 1,3,5,7 → P1=1⊕0⊕1⊕1=1 | 偶校验:异或运算 |
| ④ 计算 P2 | P2 校验位 2,3,6,7 → P2=0⊕0⊕1⊕1=0 | 偶校验 |
| ⑤ 计算 P3 | P3 校验位 4,5,6,7 → P3=1⊕1⊕1⊕1=0 | 偶校验 |
| ⑥ 输出海明码 | 1 0 1 0 1 1 0 | P1P2D1P3D2D3D4 |
海明码的校验方程与纠错过程
接收方收到海明码后,计算三个校验因子 S1、S2、S3(偶校验):
S2 = P2 ⊕ D1 ⊕ D3 ⊕ D4
S3 = P3 ⊕ D2 ⊕ D3 ⊕ D4
| S3S2S1 | 含义 | 处理 |
|---|---|---|
| 000 | 无错 | 直接接收 |
| 001 | 第 1 位(P1)错 | 翻转第 1 位 |
| 010 | 第 2 位(P2)错 | 翻转第 2 位 |
| 011 | 第 3 位(D1)错 | 翻转第 3 位 |
| 100 | 第 4 位(P3)错 | 翻转第 4 位 |
| 101 | 第 5 位(D2)错 | 翻转第 5 位 |
| 110 | 第 6 位(D3)错 | 翻转第 6 位 |
| 111 | 第 7 位(D4)错 | 翻转第 7 位 |
| 其他组合 | 2 位或以上错误 | 检测到但无法纠正 |
3.7 流量控制
流量控制是数据链路层的重要功能,用于防止发送方发送速率过快导致接收方缓冲区溢出或网络拥塞。流量控制与可靠传输协议密切相关。
流量控制的必要性
- 防止接收方过载:接收方的处理能力有限,需要缓冲和限速。
- 避免网络拥塞:过快的发送速率会导致中间节点队列溢出。
- 保证数据完整性:流量控制与差错控制配合使用,确保数据可靠传输。
停-等协议的流量控制
停-等协议(Stop-and-Wait)是最简单的流量控制协议,其发送窗口和接收窗口均为 1。
| 特性 | 说明 |
|---|---|
| 发送窗口 | 大小为 1,每发送一帧必须等待确认后才能发送下一帧 |
| 接收窗口 | 大小为 1,只按序接收期望的帧 |
| 流量控制 | 接收方通过 ACK 确认来控制发送节奏 |
| 优点 | 简单易实现,流量控制天然有效 |
| 缺点 | 信道利用率低,存在"等待效应" |
滑动窗口的流量控制机制
滑动窗口协议通过引入大于 1 的发送窗口,允许发送方在等待确认前连续发送多帧,从而提高信道利用率。
| 协议 | 发送窗口 | 接收窗口 | 流量控制方式 |
|---|---|---|---|
| 停-等 SW | 1 | 1 | 逐帧确认控制 |
| 后退 N 帧 GBN | W > 1 | 1 | 累积 ACK + 窗口滑动 |
| 选择重传 SR | W > 1 | W > 1 | 独立 ACK + 缓存乱序帧 |
3.8 CSMA/CA 协议
CSMA/CA(载波监听多路访问/冲突避免)是无线局域网 IEEE 802.11 MAC 层使用的介质访问控制协议。与有线网络的 CSMA/CD 不同,无线环境无法实现冲突检测,因此采用冲突避免机制。
CSMA/CA 与 CSMA/CD 的区别
| 特性 | CSMA/CD(有线) | CSMA/CA(无线) |
|---|---|---|
| 冲突检测 | 可以检测(边发边听) | 无法检测(信号方向冲突) |
| 处理策略 | 检测到冲突立即停止发送 | 通过退避和 RTS/CTS 避免冲突 |
| 监听方式 | 监听电压变化 | 监听载波能量 |
| 适用环境 | 总线型/星型有线以太网 | 无线局域网(IEEE 802.11) |
CSMA/CA 的工作流程
② 随机退避 (CA):若信道忙,选择一个随机退避时间。退避计时器在信道空闲时递减,在信道忙时冻结。
③ RTS/CTS 机制:可选的请求发送/清除发送握手,用于解决隐藏站问题。
RTS/CTS 交互流程:
| 步骤 | 发送方 | 接收方 | 其他站点 |
|---|---|---|---|
| 1 | 监听信道空闲后,等待 DIFS,发送 RTS 帧 | — | — |
| 2 | — | 收到 RTS,等待 SIFS,回复 CTS 帧 | 收到 RTS/CTS,设置 NAV(网络分配向量),在 NAV 时间内不发送 |
| 3 | 收到 CTS,等待 SIFS,发送数据帧 | — | 继续等待 |
| 4 | — | 收到数据,等待 SIFS,回复 ACK | — |
隐藏站问题与暴露站问题
3.9 无线局域网 IEEE 802.11
IEEE 802.11 标准定义了无线局域网的物理层和介质访问控制层规范,是当前 Wi-Fi 技术的基础。
802.11 标准概述
| 标准 | 频段 | 最高速率 | 主要特性 |
|---|---|---|---|
| 802.11a | 5 GHz | 54 Mbps | 正交频分复用(OFDM),室内覆盖 15m |
| 802.11b | 2.4 GHz | 11 Mbps | 直接序列扩频(DSSS),兼容性好 |
| 802.11g | 2.4 GHz | 54 Mbps | OFDM 技术,向后兼容 802.11b |
| 802.11n | 2.4/5 GHz | 600 Mbps | MIMO 多输入多输出技术 |
| 802.11ac | 5 GHz | 6.9 Gbps | 多用户 MIMO,波速成形 |
| 802.11ax | 2.4/5 GHz | 9.6 Gbps | OFDMA,高并发低时延(Wi-Fi 6) |
BSS/ESS 基本服务集
| 组件 | 功能 |
|---|---|
| STA(站点) | 任何 802.11 设备,如笔记本、手机 |
| AP(接入点) | BSS 的中心节点,负责协调通信 |
| DS(分布式系统) | 连接不同 BSS 的骨干网络 |
| BSSID | BSS 的标识符,即 AP 的 MAC 地址 |
| SSID | 服务集标识符,用户可见的网络名称 |
无线局域网的 MAC 层协议
IEEE 802.11 MAC 层定义了两种访问控制方式:
| 接入方式 | 中文 | 说明 |
|---|---|---|
| DCF | 分布式协调功能 | 基于 CSMA/CA 的分布式竞争访问,是 802.11 的基本访问模式 |
| PCF | 点协调功能 | 基于 AP 的集中式轮询访问,支持实时业务 |
3.10 VLAN 虚拟局域网
VLAN(Virtual Local Area Network)通过逻辑划分将物理网络分割为多个广播域,有效提高了网络的灵活性和安全性。
VLAN 的基本概念
- 隔离广播域:限制广播风暴范围,提升网络性能。
- 增强安全性:不同 VLAN 间默认隔离,防止非法访问。
- 灵活管理:不受物理位置限制,方便移动和变更。
- 简化运维:按部门/业务划分,便于管理和故障排查。
VLAN 的实现方式
| 实现方式 | 说明 | 优点 | 局限 |
|---|---|---|---|
| 基于端口 | 将交换机端口划分到不同 VLAN | 配置简单,安全性高 | 端口移动需重新配置 |
| 基于 MAC 地址 | 根据主机 MAC 地址划分 VLAN | 终端移动无需重新配置 | 初始配置量大,需维护 MAC 表 |
| 基于协议 | 根据报文协议类型(IP/IPX 等)划分 | 支持多协议环境 | 配置复杂,适用场景有限 |
| 基于子网 | 根据 IP 子网划分 VLAN | 便于与三层路由结合 | 需结合 DHCP 等服务 |
VLAN 间路由
不同 VLAN 间的通信需要通过三层设备实现,常见方案如下:
② 三层交换:使用三层交换机的虚拟接口(SVI)作为各 VLAN 的网关,利用硬件转发实现高性能 VLAN 间路由。
③ 外部路由器:传统方案,路由器物理接口连接不同 VLAN 的交换机端口。
3.11 广域网
广域网(WAN)覆盖广阔的地理范围,由多个局域网互联而成。广域网涉及数据链路层的协议主要包括 PPP 等。
广域网的基本概念与组成
| 组成部分 | 说明 |
|---|---|
| 路由器 | 广域网的核心节点,负责路由选择和报文转发 |
| 链路 | 连接路由器的传输链路,可为光纤、卫星、微波等 |
| 接入网 | 将用户接入广域网的网络,如 DSL、光纤接入 |
| 核心网 | 广域网的骨干部分,由高速交换和传输设备组成 |
| POP | 接入点存在点,运营商在各地区设立的接入节点 |
PPP 点对点协议
PPP(Point-to-Point Protocol)是一种面向连接的、基于字节的点对点数据链路层协议,广泛用于拨号接入、宽带接入和路由器间的串行链路。
① LCP(链路控制协议):负责链路的建立、配置、认证和拆除。
② NCP(网络控制协议):在链路建立后协商和配置上层网络层协议(如 IP、IPX)。
③ 认证协议:PAP 或 CHAP,用于验证对端身份。
PPP 的工作流程
| 阶段 | 协议 | 说明 |
|---|---|---|
| ① 链路建立 | LCP | 协商 MTU、认证方式、压缩等参数 |
| ② 认证 | PAP/CHAP | 验证对端身份,通过后方可继续 |
| ③ 网络层配置 | NCP | 协商网络层参数,如 IPCP 分配 IP 地址 |
| ④ 数据传输 | PPP | 在链路上传输网络层数据包 |
| ⑤ 链路终止 | LCP | 关闭链路,释放资源 |
PAP 与 CHAP 认证
| 特性 | PAP(密码认证协议) | CHAP(挑战握手认证协议) |
|---|---|---|
| 认证方式 | 两次握手,明文传输用户名和密码 | 三次握手,使用 MD5 哈希加密 |
| 安全性 | 较低,密码明文易被窃听 | 较高,不传输明文密码 |
| 认证过程 | 被认证方主动发送用户名和密码 | 认证方发送挑战值,被认证方返回哈希结果 |
| 适用场景 | 对安全要求不高的环境 | 需要更高安全性的场景 |