3.1 封装成帧与差错控制

数据链路层将网络层交下来的 IP 数据报封装成帧。帧结构包括:帧首部 + 数据(IP 数据报)+ 帧尾部(FCS 帧检验序列)。

成帧方法

差错控制 — CRC 循环冗余校验

CRC
发送方将要发送的数据比特序列看作一个多项式,用一个生成多项式 G(x) 去除,得到余数作为 FCS 附加在数据后面。接收方用同一 G(x) 除整个帧,余数为 0 则无差错。
计算步骤:①在数据后加 k 个 0(k = 生成多项式位数 − 1);②用模 2 除法(异或)除以生成多项式;③余数即为 FCS,替换掉加的 0;④发送数据+FCS。CRC 只能检错不能纠错。

CRC 模2除法计算器

输入数据比特串(被除数)和生成多项式(除数),演示模2除法过程。生成多项式以二进制形式输入(如 x³+x+1 = 1011)。

CRC 循环冗余校验

交互式计算器
数据: 生成多项式:

3.2 ALOHA协议

ALOHA协议是世界上最早的无线分组交换网络协议,由夏威夷大学于1970年提出,是CSMA协议的前身和基础。ALOHA的核心思想简单:想要发送数据就发送,如果发生冲突,则随机等待后重传。

纯ALOHA (Pure ALOHA)

纯ALOHA
各站点在任何时刻有数据帧需要发送时,立即发送。如果在发送期间收到冲突确认(超时未收到ACK),则随机等待一段时间后重新发送。纯ALOHA不做任何载波监听或冲突检测,是"想发就发"的策略。
吞吐率公式(纯ALOHA)
纯ALOHA的吞吐率(成功概率)为:
S = G·e−2G
其中 S 为吞吐率(单位时间内成功发送的平均帧数),G 为网络负载(单位时间内所有站点尝试发送的帧数,包括新帧和重传帧)。当 G=0.5 时取得最大吞吐率 Smax = 1/(2e) ≈ 18.4%
冲突窗口:纯ALOHA的冲突窗口为2个帧传输时间——因为两个站点如果在前后各一个帧长的时间窗口内发送,就会产生冲突。

时隙ALOHA (Slotted ALOHA)

时隙ALOHA
对纯ALOHA的改进:将时间划分为离散的时隙(Slot),每个时隙的长度等于一个数据帧的传输时间。各站点只能在时隙的起点开始发送数据,从而将冲突窗口缩小为纯ALOHA的一半。
吞吐率公式(时隙ALOHA)
时隙ALOHA的吞吐率为:
S = G·e−G
当 G=1 时取得最大吞吐率 Smax = 1/e ≈ 36.8%,是纯ALOHA的2倍。

纯ALOHA vs 时隙ALOHA 对比

特性纯ALOHA时隙ALOHA
发送时机任意时刻,想发就发仅在时隙起点
冲突窗口2 个帧传输时间1 个帧传输时间
吞吐率公式S = G·e−2GS = G·e−G
最大吞吐率18.4%(G=0.5)36.8%(G=1)
同步要求无需同步需要全局时钟同步
实现复杂度简单较复杂(需同步机制)
ALOHA与CSMA的关系:ALOHA是CSMA系列协议的前身和基础。纯ALOHA完全不监听信道("想发就发"),而CSMA在此基础上增加了"先听后发"的载波监听机制来提高信道利用率。CSMA/CD(有线以太网)进一步增加了"边发边听"的碰撞检测能力,CSMA/CA(无线局域网)则采用冲突避免策略。ALOHA的随机访问和冲突重传思想,至今仍被广泛应用于无线通信和物联网领域。

3.3 CSMA/CD 协议

CSMA/CD(载波监听多路访问/碰撞检测)用于总线型以太网,采用半双工方式。核心思想:先听后发、边发边听、冲突停发、随机重发。

阶段操作
载波监听发送前先检测信道,空闲才发送
碰撞检测发送时持续检测电压,发现碰撞立即停止
发送拥塞信号碰撞后发送 jam 信号强化碰撞
二进制指数退避随机等待一段时间后重试,重传次数越多等待时间越长
二进制指数退避算法
第 k 次碰撞后,从 [0, 2^k − 1] 中随机取一个数 r,等待 r × 2τ(τ 为争用期)。k = min(碰撞次数, 10),超过 16 次丢弃该帧。
争用期 2τ:以太网取 51.2μs(10Mbps 下 512 比特时间)。最小帧长 = 2τ × 带宽 = 64 字节,确保碰撞在发送完前被检测到。

3.4 滑动窗口机制

滑动窗口协议通过在发送方和接收方各维护一个"窗口"来控制流量与可靠传输。窗口大小 W 决定了发送方在未收到确认前最多可连续发送的帧数。

协议发送窗口接收窗口特点
停止等待协议 (SW)11每发一帧必须等确认才能发下一帧
后退 N 帧协议 (GBN)W > 11出错时重传该帧及之后所有帧;接收端只按序接收
选择重传协议 (SR)W > 1W > 1只重传出错帧;接收端可缓存乱序帧
窗口大小限制:GBN 中 W ≤ 2ⁿ − 1;SR 中 W ≤ 2ⁿ⁻¹(n 为序号位数),以保证协议正确性。

停止等待协议 ARQ

速度 1x
步骤 0/0

滑动窗口协议动画

速度 1x
步骤 0/0

3.5 MAC 地址与以太网

MAC 地址
数据链路层地址,又称硬件地址/物理地址,长度 48 位(6 字节),固化在网卡 ROM 中,全球唯一。前 24 位为厂商 OUI,后 24 位由厂商分配。

MAC 地址用于局域网内寻址,而 IP 地址用于网络层端到端寻址。MAC 地址在数据链路层不可改变(固化),IP 地址可随网络变化。

以太网帧结构(DIX Ethernet V2)

字段长度说明
前导码8B同步与时钟(7B 前导 + 1B 帧起始定界)
目的 MAC6B接收方 MAC 地址
源 MAC6B发送方 MAC 地址
类型2B上层协议类型(如 0x0800 = IP)
数据46~1500BMTU 1500 字节
FCS4B循环冗余校验
最小帧长 64B / 最大帧长 1518B。数据字段不足 46B 时需填充。

3.6 纠错编码 — 海明码

海明码 (Hamming Code)
海明码是一种能够检测和纠正错误的线性分组码。它的核心能力是:纠正 1 位错码发现 2 位错码。当仅发生 1 位错误时,海明码可以自动定位并纠正;当发生 2 位错误时,海明码可以检测到但无法纠正。

海明码的编码规则

设信息位位数为 m,校验位位数为 k,则海明码需满足以下条件:

海明不等式
2k ≥ m + k + 1

校验位 k 需放在 2 的幂次方位置(第 1、2、4、8、16… 位),其余位置依次填入信息位。校验位通过奇偶校验方程计算。

海明码的编码步骤与示例

以 4 位信息码 1011 为例,编码步骤如下:

步骤操作说明
① 确定校验位 k2k ≥ 4 + k + 1 → k = 33 位校验位可覆盖 7 位海明码
② 排列位置校验位 P1=1, P2=2, P3=4;信息位 D1D2D3D4=3,5,6,7校验位放在 2i 位置
③ 计算 P1P1 校验位 1,3,5,7 → P1=1⊕0⊕1⊕1=1偶校验:异或运算
④ 计算 P2P2 校验位 2,3,6,7 → P2=0⊕0⊕1⊕1=0偶校验
⑤ 计算 P3P3 校验位 4,5,6,7 → P3=1⊕1⊕1⊕1=0偶校验
⑥ 输出海明码1 0 1 0 1 1 0P1P2D1P3D2D3D4

海明码的校验方程与纠错过程

接收方收到海明码后,计算三个校验因子 S1、S2、S3(偶校验):

校验方程
S1 = P1 ⊕ D1 ⊕ D2 ⊕ D4
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 的发送窗口,允许发送方在等待确认前连续发送多帧,从而提高信道利用率。

滑动窗口
发送窗口 W 定义了发送方在未收到确认前最多可连续发送的帧数。窗口随确认的到达向前滑动。接收方通过 ACK 序号告知发送方期望接收的下一帧,从而实现流量控制。
协议发送窗口接收窗口流量控制方式
停-等 SW11逐帧确认控制
后退 N 帧 GBNW > 11累积 ACK + 窗口滑动
选择重传 SRW > 1W > 1独立 ACK + 缓存乱序帧
窗口上限:GBN 中 W ≤ 2n − 1;SR 中 W ≤ 2n−1(n 为帧序号位数),以防止协议歧义。

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 的工作流程

CSMA/CA 三步骤
① 载波监听 (CS):发送前监听信道,判断信道是否空闲。若空闲且等待 DIFS 后仍空闲,则准备发送。
② 随机退避 (CA):若信道忙,选择一个随机退避时间。退避计时器在信道空闲时递减,在信道忙时冻结。
③ RTS/CTS 机制:可选的请求发送/清除发送握手,用于解决隐藏站问题。

RTS/CTS 交互流程:

步骤发送方接收方其他站点
1监听信道空闲后,等待 DIFS,发送 RTS 帧
2收到 RTS,等待 SIFS,回复 CTS 帧收到 RTS/CTS,设置 NAV(网络分配向量),在 NAV 时间内不发送
3收到 CTS,等待 SIFS,发送数据帧继续等待
4收到数据,等待 SIFS,回复 ACK
DIFS(分布式帧间间隙)优先级最低,用于异步数据传输;SIFS(短帧间间隙)优先级最高,用于 RTS/CTS、ACK 等控制帧的连续传输。

隐藏站问题与暴露站问题

隐藏站问题
站点 A 和 C 都在站点 B 的通信范围内,但 A 和 C 彼此不在对方的通信范围内。A 向 B 发送数据时,C 无法监听到 A 的信号,可能同时向 B 发送,导致在 B 处发生冲突。这就是"隐藏站"问题——A 对 C 来说是隐藏的。RTS/CTS 机制可以解决此问题。
暴露站问题
站点 B 向 A 发送数据,站点 C 同时想向站点 D 发送数据。由于 C 能收到 B 的信号(暴露),C 会错误地认为信道忙而推迟发送,即使实际上 C 到 D 的传输不会与 B 到 A 的传输发生冲突。这就是"暴露站"问题。CSMA/CA 本身无法完全解决暴露站问题。

3.9 无线局域网 IEEE 802.11

IEEE 802.11 标准定义了无线局域网的物理层和介质访问控制层规范,是当前 Wi-Fi 技术的基础。

802.11 标准概述

标准频段最高速率主要特性
802.11a5 GHz54 Mbps正交频分复用(OFDM),室内覆盖 15m
802.11b2.4 GHz11 Mbps直接序列扩频(DSSS),兼容性好
802.11g2.4 GHz54 MbpsOFDM 技术,向后兼容 802.11b
802.11n2.4/5 GHz600 MbpsMIMO 多输入多输出技术
802.11ac5 GHz6.9 Gbps多用户 MIMO,波速成形
802.11ax2.4/5 GHz9.6 GbpsOFDMA,高并发低时延(Wi-Fi 6)

BSS/ESS 基本服务集

BSS (Basic Service Set)
基本服务集是无线局域网的基本组成单元,由一个接入点(AP)和若干移动站点组成。BSS 内的站点通过 AP 进行通信,BSS 的覆盖范围称为基本服务区域(BSA)。
ESS (Extended Service Set)
扩展服务集由多个 BSS 通过分布式系统(DS,通常是有线网络)互联而成。ESS 可以覆盖更大的地理区域,实现站点在不同 BSS 间的漫游。ESS 使用一个统一的 SSID(服务集标识符)。
组件功能
STA(站点)任何 802.11 设备,如笔记本、手机
AP(接入点)BSS 的中心节点,负责协调通信
DS(分布式系统)连接不同 BSS 的骨干网络
BSSIDBSS 的标识符,即 AP 的 MAC 地址
SSID服务集标识符,用户可见的网络名称

无线局域网的 MAC 层协议

IEEE 802.11 MAC 层定义了两种访问控制方式:

接入方式中文说明
DCF分布式协调功能基于 CSMA/CA 的分布式竞争访问,是 802.11 的基本访问模式
PCF点协调功能基于 AP 的集中式轮询访问,支持实时业务
帧间间隙:802.11 定义了多种帧间间隙以实现优先级控制——SIFS(最短,用于 RTS/CTS/ACK 序列)、PIFS(点协调功能帧间间隙,用于 PCF 轮询)、DIFS(分布式帧间间隙,用于 DCF 数据发送)。

3.10 VLAN 虚拟局域网

VLAN(Virtual Local Area Network)通过逻辑划分将物理网络分割为多个广播域,有效提高了网络的灵活性和安全性。

VLAN 的基本概念

VLAN
VLAN 是在交换机上实现的逻辑分组技术,将物理上分散的网络设备按照业务需求划分为多个虚拟局域网。每个 VLAN 是一个独立的广播域和子网,VLAN 间默认不能直接通信,需通过三层设备(路由器或三层交换机)转发。

VLAN 的实现方式

实现方式说明优点局限
基于端口将交换机端口划分到不同 VLAN配置简单,安全性高端口移动需重新配置
基于 MAC 地址根据主机 MAC 地址划分 VLAN终端移动无需重新配置初始配置量大,需维护 MAC 表
基于协议根据报文协议类型(IP/IPX 等)划分支持多协议环境配置复杂,适用场景有限
基于子网根据 IP 子网划分 VLAN便于与三层路由结合需结合 DHCP 等服务

VLAN 间路由

不同 VLAN 间的通信需要通过三层设备实现,常见方案如下:

VLAN 间路由方案
① 单臂路由:在路由器上创建逻辑子接口(如 R0/0.1、R0/0.2),每个子接口对应一个 VLAN,利用 802.1Q 封装实现单链路多 VLAN 路由。
② 三层交换:使用三层交换机的虚拟接口(SVI)作为各 VLAN 的网关,利用硬件转发实现高性能 VLAN 间路由。
③ 外部路由器:传统方案,路由器物理接口连接不同 VLAN 的交换机端口。
802.1Q 协议:IEEE 802.1Q 标准在以太网帧中插入 4 字节的 VLAN 标签(TPID+TCI),用于标识报文所属的 VLAN,实现 VLAN 在 trunk 链路上的透传。

3.11 广域网

广域网(WAN)覆盖广阔的地理范围,由多个局域网互联而成。广域网涉及数据链路层的协议主要包括 PPP 等。

广域网的基本概念与组成

广域网
广域网是一种跨越很大地域范围的网络,通常由电信运营商建设和运营,为用户提供远程数据通信服务。广域网的核心技术包括交换、路由和接入。
组成部分说明
路由器广域网的核心节点,负责路由选择和报文转发
链路连接路由器的传输链路,可为光纤、卫星、微波等
接入网将用户接入广域网的网络,如 DSL、光纤接入
核心网广域网的骨干部分,由高速交换和传输设备组成
POP接入点存在点,运营商在各地区设立的接入节点

PPP 点对点协议

PPP(Point-to-Point Protocol)是一种面向连接的、基于字节的点对点数据链路层协议,广泛用于拨号接入、宽带接入和路由器间的串行链路。

PPP 协议组成
PPP 由三个主要部分组成:
LCP(链路控制协议):负责链路的建立、配置、认证和拆除。
NCP(网络控制协议):在链路建立后协商和配置上层网络层协议(如 IP、IPX)。
认证协议:PAP 或 CHAP,用于验证对端身份。

PPP 的工作流程

阶段协议说明
① 链路建立LCP协商 MTU、认证方式、压缩等参数
② 认证PAP/CHAP验证对端身份,通过后方可继续
③ 网络层配置NCP协商网络层参数,如 IPCP 分配 IP 地址
④ 数据传输PPP在链路上传输网络层数据包
⑤ 链路终止LCP关闭链路,释放资源

PAP 与 CHAP 认证

特性PAP(密码认证协议)CHAP(挑战握手认证协议)
认证方式两次握手,明文传输用户名和密码三次握手,使用 MD5 哈希加密
安全性较低,密码明文易被窃听较高,不传输明文密码
认证过程被认证方主动发送用户名和密码认证方发送挑战值,被认证方返回哈希结果
适用场景对安全要求不高的环境需要更高安全性的场景
PPP 帧格式:标志位 F(0x7E) + 地址 A(0xFF) + 控制 C(0x03) + 协议字段 + 信息字段 + FCS 校验 + 标志位 F。PPP 使用字节填充法实现透明传输,转义符为 0x7D。