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 链路管理

定义:建立、维护和释放两个相邻节点之间的数据链路

工作流程

  1. 链路建立:通信前协商参数(如MTU、传输速率)
  2. 链路维护:监控链路状态,处理异常(如超时重传)
  3. 链路释放:通信结束后释放资源

典型协议对比

协议

链路建立方式

特点

应用场景

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)

信道利用率


(尤其在高延迟、高带宽链路中,大部分时间在空闲等待)


(通过流水线传输,填满往返时延 RTT 内的带宽)

序号位数需求

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
• 传统电话系统:300Hz~3400Hz
• 5G NR载波聚合

• 同步TDM:T1/E1电话系统
• 异步TDM:统计时分复用(STDM)

• Walsh码:CDMA2000
• Gold码:WCDMA
• PN码:GPS

• CWDM(20nm间隔):城域网
• DWDM(0.8nm间隔):骨干网

关键参数

• 频段带宽
• 保护频带

• 帧长度
• 时隙长度

• 扩频码长度
• 处理增益
• 正交性

• 波长间隔
• 通道数
• 光功率

优点

✓ 无冲突
✓ 实时性强
✓ 实现简单

✓ 无冲突
✓ 时延确定
✓ 适合恒定速率业务

✓ 高抗干扰性
✓ 频谱效率高
✓ 安全性好
✓ 容量灵活

✓ 超大容量
✓ 透明传输
✓ 可扩展性强
✓ 低功耗

缺点

✗ 频带利用率低(空闲仍占用)
✗ 难以适应突发流量
✗ 需严格频率同步

✗ 时隙空闲时带宽浪费
✗ 难以适应突发流量
✗ 需严格时间同步

✗ 实现复杂
✗ 需精确功率控制
✗ 多址干扰(MAI)问题

✗ 设备成本高
✗ 需要光放大器
✗ 色散管理复杂

信道分离方法

带通滤波器

时隙同步提取

相关检测(点积运算)

光分插复用器(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) 是一个特殊的控制帧
  • 令牌在环形/总线网络中顺序传递
  • 只有持有令牌的设备才能发送数据

工作流程

  1. 设备收到令牌 → 发送数据(若需)
  2. 发送完成后 → 将令牌传递给下一设备
  3. 无数据要发送 → 直接传递令牌

关键特性

  • 无冲突:同一时刻仅一个设备可发送
  • 确定性时延:最大等待时间为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

交换机间连接

三层交换机工作流程

  1. 接收VLAN1数据包 → 查找路由表
  2. 路由到VLAN2 → 重新封装为VLAN2帧
  3. 通过交换表转发到目标端口

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,其他端口完全不受影响。

    Logo

    AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

    更多推荐