通信:(7) 数据链路层(第2层):LLC+MAC、局域网、广域网与交换机
1. 定位
1.1 核心定位
- 向下:接收物理层的原始比特流(0/1序列),提供可靠的数据传输服务
- 向上:为网络层提供无差错的帧传输服务,屏蔽底层物理细节
- 关键:物理层传输的是比特流(0/1序列),而数据链路层传输的是帧(Frame),是一组有明确边界的数据单元。
相关协议:CAN 与 UART
CAN协议的主要定义都位于数据链路层。这层又分为两个子层:
-
逻辑链路控制子层:负责消息的帧封装、过滤、过载通知和错误恢复管理等。
-
媒体访问控制子层:这是CAN最核心的部分,负责:
-
多主、广播式通信:所有节点平等,可主动发送。
-
非破坏性、基于优先级的仲裁:通过标识符(ID)决定报文优先级,优先级高的报文赢得总线,失败节点自动退出发送并在总线空闲时重试,无数据损失。
-
错误检测与处理:拥有强大的错误检测(CRC、应答、位填充、格式检查等)、错误信令和自动重发机制,错误帧是其重要概念。
-
1.2 与物理层区别
|
特性 |
物理层 |
数据链路层 |
|---|---|---|
|
传输单位 |
比特(bit) |
帧(Frame) |
|
功能目标 |
透明传输原始比特 |
提供可靠、有序的数据传输 |
|
错误处理 |
无差错控制 |
有差错检测与重传机制 |
|
地址机制 |
无地址概念 |
使用MAC地址进行寻址 |
|
传输范围 |
单一链路 |
两个相邻节点间 |
1.3 应用场景
局域网(LAN):
- 以太网(IEEE 802.3)
- 无线局域网(IEEE 802.11/WiFi)
- 令牌环网(已淘汰)
广域网(WAN):
- PPP(点对点协议)
- HDLC(高级数据链路控制)
- 帧中继(已逐步淘汰)
关键区别:
- 局域网:数据链路层负责同一网络内的节点通信(如办公室内多台电脑互联)
- 广域网:数据链路层负责点对点链路的可靠传输(如家庭路由器到ISP的连接)
2. 核心功能
2.1 链路管理
定义:建立、维护和释放两个相邻节点之间的数据链路。
工作流程:
- 链路建立:通信前协商参数(如MTU、传输速率)
- 链路维护:监控链路状态,处理异常(如超时重传)
- 链路释放:通信结束后释放资源
典型协议对比:
|
协议 |
链路建立方式 |
特点 |
应用场景 |
|---|---|---|---|
|
PPP |
LCP(链路控制协议)协商 |
支持认证、压缩 |
拨号上网、DSL |
|
HDLC |
无连接建立过程 |
简单高效 |
专用线路 |
|
以太网 |
无需显式建立 |
CSMA/CD机制 |
局域网 |
2.2 封装成帧
核心问题:如何从连续的比特流中识别出帧的边界?
帧定界方法:
|
方法 |
原理 |
优缺点 |
应用 |
|---|---|---|---|
|
字符计数法 |
帧首用计数字段标识长度 |
简单,但计数错误导致全帧错位 |
HDLC早期版本 |
|
字符填充法 |
用特殊字符标记边界 |
需处理数据中出现的特殊字符 |
PPP、X.25 |
|
比特填充法 |
用比特模式标记边界 |
高效,适用于任意比特序列 |
HDLC、PPP |
|
违规编码法 |
用非法编码表示边界 |
无需填充,传输效率高 |
802.3以太网 |
2.3 透明传输
核心问题:如何确保任意比特序列都能被正确传输,而不被误认为是帧边界?
解决方案:转义字符机制
PPP协议中的字符填充:
- 用0x7D作为转义字符
- 当数据中出现0x7E(帧边界)时,替换为0x7D 0x5E
- 当数据中出现0x7D(转义字符)时,替换为0x7D 0x5D
2.4 流量控制
定义:防止发送方发送速度过快,导致接收方缓冲区溢出。
核心原理:通过反馈机制控制发送速率。
|
对比维度 |
停止 - 等待协议 (Stop-and-Wait) |
滑动窗口协议 (Sliding Window) |
|---|---|---|
|
核心思想 |
串行处理:发一帧,等一确认。 |
流水线处理:允许在未收到确认前连续发送多帧。 |
|
工作流程 |
发送方发送 1 帧 → 等待 ACK → 收到 ACK → 发送下一帧 |
发送方维护发送窗口 → 窗口内帧可连续发送 → 接收方按序/乱序接收 → 发送累积/选择 ACK |
|
发送窗口大小 |
1 (同一时刻只能有 1 个未确认帧) |
> 1 (允许 NN 个未确认帧,NN 取决于窗口大小) |
|
接收窗口大小 |
1 (只能接收期望的下一帧) |
≥ 1 (通常为 1 或 NN,取决于具体实现如 GBN 或 SR) |
|
信道利用率 |
低 |
高 |
|
序号位数需求 |
1 比特 (序号只需 0 和 1 交替) |
nn 比特 (序号空间需大于窗口大小,避免混淆) |
|
流量控制 |
隐式控制 (通过等待机制自然限制速率) |
显式控制 (通过调整窗口大小限制发送速率) |
|
差错处理 |
超时重传当前帧 |
超时重传 (回退 N 帧 或 选择重传特定帧) |
|
实现复杂度 |
低 (逻辑简单,缓冲区需求小) |
高 (需维护窗口、缓冲区、多个定时器及复杂逻辑) |
|
适用场景 |
低延迟、低带宽或可靠性要求极高的简单链路 |
长距离、高带宽、高延迟的现代网络 (如 TCP) |
2.5 差错检测
定义:检测数据传输过程中产生的比特错误。如奇偶校验和CRC校验。
差错控制机制:结合差错检测与重传机制实现可靠传输。
|
类型 |
原理 |
效率 |
应用 |
|---|---|---|---|
|
停等ARQ |
发送1帧→等待ACK→成功则发下一帧 |
低(尤其长延迟链路) |
早期通信 |
|
回退N帧 |
发送多帧,超时重传所有未确认帧 |
中 |
早期TCP |
|
选择重传 |
发送多帧,仅重传错误帧 |
高 |
现代TCP |
3. 介质访问控制 (MAC)
3.1 介质访问控制的定义与必要性
定义:介质访问控制(Media Access Control, MAC)是数据链路层的子层,负责协调多个设备共享同一传输介质的规则。
核心问题:当多个设备连接到同一物理介质(如以太网电缆、无线信道)时,如何避免信号冲突,确保数据可靠传输?
必要性:
- 共享介质环境下,多个设备可能同时尝试发送数据
- 信号冲突会导致数据损坏,需重传 → 降低网络效率
- MAC协议提供有序访问机制,提高信道利用率
MAC协议的三大分类:
|
类型 |
核心思想 |
代表协议 |
适用场景 |
|---|---|---|---|
|
信道划分 |
静态分配资源(时/频/码分) |
FDMA/TDMA/CDMA |
有线/无线通信 |
|
随机访问 |
竞争式访问,冲突后重传 |
CSMA/CD, CSMA/CA |
以太网、WiFi |
|
轮询访问 |
有序传递令牌,获得发送权 |
令牌环、令牌总线 |
工业控制网络 |
+-----------------+-----------------+-----------------+
| 信道划分 | 随机访问 | 轮询访问 |
+-----------------+-----------------+-----------------+
| 静态分配 | 竞争式 | 有序轮询 |
| 无冲突 | 可能冲突 | 无冲突 |
| 适合恒定流量 | 适合突发流量 | 适合实时性要求 |
| 效率低(空闲时) | 效率中 | 效率高 |
+-----------------+-----------------+-----------------+
3.2 信道划分介质访问控制
核心思想:将共享信道静态划分为多个子信道,每个设备独占一个子信道,避免冲突。
|
对比维度 |
频分复用 (FDM) |
时分复用 (TDM) |
码分复用 (CDM/CDMA) |
波分复用 (WDM) |
|---|---|---|---|---|
|
核心思想 |
按频率划分信道 |
按时间划分时隙 |
按编码区分信号 |
按光波长划分信道 |
|
工作原理 |
将总带宽划分为多个非重叠频段,每设备独占一个频段 |
将时间划分为固定长度时隙,每设备在特定时隙发送 |
所有设备同时使用整个频带,通过正交编码分离信号 |
在光纤中将不同光波长作为子信道,每波长携带独立数据流 |
|
资源分配方式 |
静态频率分配 |
静态/动态时隙分配 |
码字分配 |
波长分配 |
|
典型应用 |
• 有线电视(CATV):每频道6MHz |
• 同步TDM:T1/E1电话系统 |
• Walsh码:CDMA2000 |
• CWDM(20nm间隔):城域网 |
|
关键参数 |
• 频段带宽 |
• 帧长度 |
• 扩频码长度 |
• 波长间隔 |
|
优点 |
✓ 无冲突 |
✓ 无冲突 |
✓ 高抗干扰性 |
✓ 超大容量 |
|
缺点 |
✗ 频带利用率低(空闲仍占用) |
✗ 时隙空闲时带宽浪费 |
✗ 实现复杂 |
✗ 设备成本高 |
|
信道分离方法 |
带通滤波器 |
时隙同步提取 |
相关检测(点积运算) |
光分插复用器(OADM) |
|
适用场景 |
模拟信号、广播式传输 |
数字信号、恒定速率业务 |
无线通信、军事通信 |
光纤骨干网、长距离传输 |
3.3 随机访问介质访问控制
|
对比维度 |
纯ALOHA |
时隙ALOHA |
CSMA |
CSMA/CD |
CSMA/CA |
|---|---|---|---|---|---|
|
核心思想 |
随时发送,冲突后重传 |
时隙边界发送,减少冲突窗口 |
先听后说(Listen Before Talk) |
边听边说(检测冲突) |
避免冲突(预约信道) |
|
发送时机 |
任意时刻 |
时隙起始时刻 |
信道空闲时 |
信道空闲时 |
信道空闲+退避后 |
|
冲突处理 |
超时重传 |
时隙末确认,失败重传 |
冲突后随机退避 |
检测到冲突→立即停止+重传 |
RTS/CTS预约+退避避免 |
|
最大吞吐量 |
18.4% (G=0.5) |
36.8% (G=1) |
依赖负载,约30-50% |
轻负载高,重负载下降 |
约50-70%(含控制开销) |
|
吞吐量公式 |
S=G⋅e−2GS=G⋅e−2G |
S=G⋅e−GS=G⋅e−G |
无统一公式 |
复杂,依赖退避算法 |
复杂,含RTS/CTS开销 |
|
关键参数 |
G:平均发送率 |
G + 时隙同步 |
监听时延、退避策略 |
争用期2τ、最小帧长 |
DIFS、SIFS、CW、NAV |
|
冲突检测 |
❌ 无 |
❌ 无 |
❌ 仅预防 |
✅ 物理层检测 |
❌ 用RTS/CTS逻辑避免 |
|
隐藏终端 |
❌ 无法解决 |
❌ 无法解决 |
❌ 无法解决 |
❌ 不适用无线 |
✅ RTS/CTS+NAV解决 |
|
适用网络 |
早期无线实验网 |
改进型无线网 |
低负载有线/无线 |
传统以太网(有线) |
无线局域网(802.11) |
3.4 轮询访问:令牌传递协议
3.4.1 令牌传递协议原理
核心思想:
- 令牌(Token) 是一个特殊的控制帧
- 令牌在环形/总线网络中顺序传递
- 只有持有令牌的设备才能发送数据
工作流程:
- 设备收到令牌 → 发送数据(若需)
- 发送完成后 → 将令牌传递给下一设备
- 无数据要发送 → 直接传递令牌
关键特性:
- 无冲突:同一时刻仅一个设备可发送
- 确定性时延:最大等待时间为N×T(N为设备数,T为令牌周期)
- 公平性:所有设备平等使用信道
3.4.2 令牌环网(Token Ring)与令牌总线(Token Bus)
|
对比维度 |
令牌环网 (Token Ring, IEEE 802.5) |
令牌总线 (Token Bus, IEEE 802.4) |
|---|---|---|
|
物理拓扑 |
环形(设备物理连接成环) |
总线型(设备连接在同轴电缆) |
|
逻辑拓扑 |
环形(与物理一致) |
环形(通过地址映射表虚拟成环) |
|
核心思想 |
令牌在物理环中循环传递,持牌者发送 |
令牌在逻辑环中按编号传递,持牌者发送 |
|
令牌传递路径 |
物理相邻设备依次传递(A→B→C→A) |
逻辑编号顺序传递(1→5→3→8→1...) |
|
数据帧传输 |
帧沿物理环传输,发送方回收并释放令牌 |
帧在总线广播,目标设备接收,令牌独立传递 |
|
帧结构 |
令牌头│目的地址│源地址│数据│FCS│令牌尾 |
类似,但含逻辑环控制字段 |
|
关键机制 |
• 优先级机制(8级) |
• 地址映射表维护逻辑环 |
|
故障处理 |
• 环断裂→全网中断 |
• 总线断裂→分段隔离 |
|
最大吞吐量 |
4/16 Mbps(经典实现) |
1/10 Mbps(工业场景) |
|
典型应用 |
• IBM企业网络(历史) |
• 工业控制(MAP协议) |
4. 局域网
4.1 基本概念
定义:局域网(Local Area Network)是在有限地理范围内(通常≤10公里)连接多台计算机的高速通信网络。
核心特征:
- 高带宽:通常100Mbps~100Gbps
- 低延迟:通常1ms以内
- 共享介质:早期使用总线/环形,现代多为星型拓扑
- 广播能力:支持广播/组播通信
- 自主管理:通常由单一组织管理
|
特性 |
局域网(LAN) |
广域网(WAN) |
|---|---|---|
|
覆盖范围 |
≤10公里 |
国家/全球 |
|
传输速率 |
100Mbps~100Gbps |
1Mbps~10Gbps |
|
延迟 |
1ms以内 |
10ms~100ms+ |
|
所有权 |
单一组织 |
电信运营商 |
|
协议层次 |
主要使用数据链路层 |
涉及所有七层 |
|
典型技术 |
以太网、WiFi |
PPP、MPLS、IP |
体系结构:
+--------------------------------+
| LLC (Logical Link Control) |
+--------------------------------+
| MAC (Media Access Control) |
+--------------------------------+
| Physical Layer |
+--------------------------------+
LLC子层(逻辑链路控制):
- 提供统一接口给网络层
- 流量控制与差错控制
- 多路复用:支持多种网络层协议(IP、IPX等)
MAC子层(介质访问控制):
- 控制物理介质访问
- 帧封装与差错检测
- MAC地址管理
关键特点:
- LLC子层独立于物理介质
- MAC子层依赖于物理介质
- 例如:以太网和WiFi共享相同的LLC子层,但MAC子层完全不同
4.2 以太网
标准以太网帧结构:
+--------+-------+--------+--------+----------+-------------+------+
| 前导码 | 帧起始 | 目的MAC | 源MAC | 类型/长度 | 数据 | FCS |
+--------+-------+--------+-------+-----------+-------------+------+
7字节 1字节 6字节 6字节 2字节 46-1500字节 4字节
- 前导码(Preamble):7字节56位101010...序列,用于接收方时钟同步
- 帧起始定界符(SFD):1字节10101011,标识帧开始
- 目的MAC地址:6字节,目标设备的物理地址
- 源MAC地址:6字节,发送设备的物理地址
- 类型/长度字段:
- ≤1500:表示长度(用于IEEE 802.3)
- ≥1536:表示协议类型(如0x0800=IPv4)
- 数据字段:46-1500字节,有效载荷
- FCS(帧校验序列):4字节CRC-32校验码
最小帧与最大帧:
- 最小帧:64字节(含前导码和SFD)
- 原因:确保CSMA/CD能检测到冲突
- 最大帧:1518字节(标准以太网)
- Jumbo Frame:9000字节(数据中心常用)
MAC地址格式:
00:1A:2B:3C:4D:5E
↑ ↑
OUI 厂商分配部分
关键特性:
- 48位(6字节)全球唯一标识
- 前24位:OUI(组织唯一标识符),由IEEE分配
- 后24位:厂商自定义
- 单播地址:最低位为0(如00:1A:2B:3C:4D:5E)
- 多播地址:最低位为1(如01:00:5E:00:00:01)
- 广播地址:全1(FF:FF:FF:FF:FF:FF)
4.3 无线局域网
定义:IEEE 802.11标准定义的无线局域网(WLAN),俗称WiFi。
核心特点:
- 无需物理连接:使用无线电波传输
- 漫游能力:用户可在覆盖范围内移动
- 接入点(AP):连接有线与无线网络
- SSID:无线网络名称
核心特点:
- 无需物理连接:使用无线电波传输
- 漫游能力:用户可在覆盖范围内移动
- 接入点(AP):连接有线与无线网络
- SSID:无线网络名称
802.11帧结构:
+----------------+----------------+----------------+
| 前导码 | 帧起始 | 802.11头部 | 数据 | FCS | 帧间隙 |
+----------------+----------------+----------------+
802.11头部关键字段:
- 帧控制:帧类型(管理/控制/数据)、子类型
- 持续时间:网络分配矢量(NAV),用于虚拟载波侦听
- 地址字段:4个地址字段(源/目的/BSS/ transmitter)
- 序列控制:帧序号与分片号
4.4 VLAN
定义:VLAN(Virtual Local Area Network)是逻辑上将物理网络划分为多个独立广播域的技术。VLAN就是在物理网络之上,通过软件配置逻辑划分出的独立广播域。它的核心目的是隔离广播、增强安全、简化网络管理。
核心目的:
- 隔离广播域:减少广播风暴
- 提高安全性:隔离不同部门/用户
- 灵活组网:无需物理重布线
- 简化管理:按逻辑而非物理划分


|
端口类型 |
特点 |
用途 |
|---|---|---|
|
Access端口 |
只属于一个VLAN |
连接终端设备 |
|
Trunk端口 |
传输多个VLAN |
交换机间连接 |
三层交换机工作流程:
- 接收VLAN1数据包 → 查找路由表
- 路由到VLAN2 → 重新封装为VLAN2帧
- 通过交换表转发到目标端口
5. 广域网
定义:广域网(Wide Area Network)是覆盖广阔地理区域(城市、国家、全球)的通信网络。
核心特征:
- 长距离传输:10公里~全球
- 低带宽:通常1Mbps~10Gbps
- 高延迟:10ms~100ms+
- 共享基础设施:通常由电信运营商提供
- 点对点连接:多为租用线路
点对点协议 (PPP) 定义:设计用于点对点的广域网,PPP(Point-to-Point Protocol)是点对点链路上的数据链路层协议。
核心功能:
- 封装:在串行链路上传输网络层数据包
- 链路控制:LCP协商链路参数
- 网络层控制:NCP协商网络层协议
- 认证:PAP/CHAP身份验证
PPP协议栈:
+----------------+----------------+----------------+
| 网络层协议 | PPP | 物理层 |
| (IP, IPX, etc.)| (LCP, NCP) | (RS-232, etc.) |
+----------------+----------------+----------------+
6. 以太网交换机 (二层交换机)
功能:将传统共享式以太网(广播域)转变为交换式以太网(点对点逻辑连接),从根本上解决冲突域问题。
交换机通过MAC地址表(CAM表)实现智能转发。
-
学习过程:
-
当设备A(MAC_A)第一次通过端口1发送数据给设备B时,交换机还不知道B在哪里。
-
但交换机会学习到:“MAC_A 在端口1”,并把这条记录存入MAC地址表。
-
然后,它会暂时把A的帧泛洪(广播)到除了来源端口1之外的所有端口,来寻找B。
-
-
转发决策:
-
当设备B(MAC_B)从端口3回应时,交换机又学到:“MAC_B 在端口3”。
-
现在,当地址表里同时有了A和B的记录后,之后A与B之间的通信,交换机只会把帧从端口1精准地转发到端口3,其他端口完全不受影响。
-
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)