「计算机网络」预习:(三)数据链路层
三、数据链路层
(一)数据链路层的功能
数据链路层在物理层提供服务的基础上向网络层提供服务,其主要作用是:
加强物理层传输原始比特流的功能,将物理层提供的可能出错的物理连接改造为逻辑上无差错的数据链路,使之对网络层表现为一条无差错的链路。
1.为网络层提供服务
- 无确认的无连接服务
- 有确认的无连接服务
有确认的面向连接服务
帧传输过程:建立数据链路、传输帧、释放数据链路
注:有连接就一定有确认,不存在无确认的面向连接服务。
2.链路管理
链路管理,指数据链路层连接的建立、维持和释放过程,主要服务于面向连接的通信。
局域网等多站点共享同一物理信道时,信道的分配与管理也归属于数据链路层的链路管理范畴。
3.帧定界、帧同步与透明传输
帧封装
两台主机传输信息时,网络层的分组需要被封装成帧进行传送。
通过在一段数据的前后分别添加首部和尾部来构成帧,帧长等于数据部分长度加上首部和尾部后的总长度。
帧定界
帧的首部和尾部包含控制信息,其重要作用之一是确定帧的界限,即帧定界。
帧同步
指接收方能够从接收到的二进制比特流中区分出帧的起始与终止。
例如,在 HDLC 协议中,使用标识位 F(01111110)来标识帧的开始和结束。
透明传输
当所传输的数据中恰好出现了与帧定界符相同的比特组合时,会导致接收方误判帧的结束。因此需要采取措施解决这个问题,实现透明传输,即无论所传数据是什么样的比特组合,都应当能在链路上正常传送。
最大传送单元(MTU)
为了提高帧的传输效率,应使帧的数据部分长度尽可能大于首部和尾部的长度,但每种数据链路层协议都规定了帧的数据部分长度上限,即最大传送单元(MTU)。
4.流量控制
流量控制实际上就是限制发送方的数据流量,使其发送速率不超过接收方的接收能力。
这个过程需要通过某种反馈机制使发送方能够知道接收方是否能跟上自己,即需要有一些规则使得发送方知道在什么情况下可以接着发送下一帧,而在什么情况下必须暂停发送,以等待收到某种反馈信息后继续发送。

流量控制不是数据链路层特有的功能,许多高层协议中也提供此功能。
在 OSI 体系结构中,数据链路层具有流量控制的功能;而在 TCP/IP 体系结构中,流量控制功能被移到了传输层。
5.差错控制
差错控制是数据链路层用于确保数据正确传输的核心机制,主要处理位错和帧错两类问题:
位错控制
检测:采用循环冗余校验(CRC)等方法,在数据帧后附加冗余校验码,接收方据此检测传输中出现的比特错误。
重传:通过自动重传请求(ARQ)机制,若接收方检测到错误则丢弃该帧,发送方超时后自动重传,直至确认接收正确。
帧错控制
针对帧的丢失、重复或失序等问题,在数据链路层引入定时器和编号机制,确保每一帧最终都能被正确、有序地交付给目的结点。
(二)组帧
组帧主要解决帧定界、帧同步、透明传输等问题。通常有以下4种方法实现组帧:
1.字符计数法
在帧头部使用一个计数字段来标明帧内字符数。

缺点:如果计数字段出错,帧边界划分失效,无法继续帧同步。
2.字符填充的首尾定界符法
帧定界
使用控制字符 SOH(Start of Header)表示帧的首部开始。
使用控制字符 EOT(End of Transmission)表示帧的结束。
透明传输
当数据段中出现与定界符(SOH、EOT)相同的字符时,会在其前面插入转义字符 ESC(转义字符是 ASCII 码中的一个字符,而非 “E”“S”“C” 的组合),以避免被误判为帧边界。
接收方收到数据后,会自动删除插入的 ESC 字符,从而还原原始数据。
如果转义字符 ESC 本身也出现在数据中,则在其前面再插入一个 ESC 字符进行转义。

3.零比特填充的首尾标志法
零比特填充法允许数据帧包含任意个数的比特,也允许每个字符的编码包含任意个数的比特。
帧定界
使用特定的比特模式 01111110 作为帧的首尾标志,用于标识一帧的开始和结束。
透明传输
发送方处理:在信息位中,每遇到连续 5 个 “1”,就自动在其后插入一个 “0”,以避免信息位中出现与帧标志
01111110相同的比特组合,防止被误判为帧边界。接收方处理:执行逆操作,每收到连续 5 个 “1”,就自动删除后面紧跟的 “0”,从而恢复原始信息。
零比特填充法很容易由硬件实现,性能优于字符填充法。
4.违规编码法
违规编码法是一种在物理层实现帧定界的技术,它利用了物理层编码中的冗余特性。在物理层进行比特编码时,某些电平对或码型是违规的,即正常数据比特不会使用这些编码。
例如,在曼彻斯特编码中:
- 数据比特 “1” 被编码为 “高 - 低” 电平对。
- 数据比特 “0” 被编码为 “低 - 高” 电平对。
- 而 “高 - 高” 和 “低 - 低” 电平对在正常数据中是违规的。
这些违规的编码序列可以被借用,用来定界帧的起始和终止。
局域网 IEEE 802 标准 就采用了这种违规编码法来实现帧定界。
常用组帧方法
由于字符计数法中计数字段的脆弱性,以及字符填充法实现上的复杂性与不兼容性,目前较常用的组帧方法是:零比特填充法、违规编码法。
(三)差错控制
比特在传输过程中可能发生翻转(1 变 0 或 0 变 1),这种现象称为比特差错,它是传输差错的一种,本节重点讨论此类差错。
主要利用编码技术进行差错控制,分为两大类:
- 自动重传请求(ARQ):接收端检测到差错时,通知发送端重发,直至收到正确码字。该方式仅能检错,无法纠错。
- 前向纠错(FEC):接收端不仅能发现差错,还能确定错误比特的位置并加以纠正。
基于上述技术,差错控制可分为检错编码和纠错编码两种方式。
1.检错编码
(1)奇偶校验码
奇校验码/偶校验码:由n-1位信息元和1位校验元组成。
奇校验码:附加一个校验元后,码长为n的码字中“1”的个数为奇数;
偶校验码:附加一个校验元后,码长为n的码字中“1”的个数为偶数。
检错能力:
可以检测出所有奇数个比特错误(如 1 个、3 个比特翻转)。
无法检测出偶数个比特错误(如 2 个、4 个比特翻转),因为此时奇偶性不变。
无法定位错误位置,也不能纠正错误,只能发现错误。
(2)循环冗余码
通过模2除法(不进位的异或运算),在原始数据后附加一段校验码。
- 发送方: 数据 M ÷ 生成多项式 G → 取余数作为校验码。完整数据=原始数据+校验码。
- 接收方: 完整数据 ÷ 生成多项式 G → 余数为 0 则数据正确。
计算示例 (典型步骤)
已知条件:
- 待发数据:
1101 - 生成多项式:$G(X) = X^3 + X + 1$ (对应二进制
1011)
计算过程:
- 补零: 多项式最高阶为 3,在数据后补 3 个 0 →
1101000。 模2除法(异或): 用
1101000除以1011。1101XOR1011=0110(首位为1则除)- 落下下一位
0→1100XOR1011=0111 - 落下下一位
0→1110XOR1011=0101
- 取余: 最终得到的 3 位余数为
101。
最终发送: 1101 101 (原始数据 + 校验码)
可检测所有奇数位错、所有偶数位错、所有突发错(长度≤生成多项式位数),检错率极高。
循环冗余码(CRC)是具有纠错功能的,只是数据链路层仅使用了它的检错功能,检测到帧出错则直接丢弃,是为了方便协议的实现。
2.纠错编码
(3)海明码
海明码是一种具有一位纠错能力的多重奇偶校验码。
通过在有效信息位中插入若干校验位,使得每一个校验位控制一组特定的数据位。当某位发生错误时,会引起相关的多个校验位发生变化,从而精确定位错误位置。
计算步骤
假设有效信息位为 $n$ 位,校验位为 $k$ 位:
- 确定校验位个数 $k$:需满足不等式 $2^k \ge n + k + 1$。校验位 $k$ 是满足该式的最小整数。
- 确定位置:校验位 $P_i$ 必须放在海明码全码的 $2^{i-1}$ 位置(如第1, 2, 4, 8...位)。
- 分组校验:每个数据位的位置索引(二进制形式)决定了它由哪些校验位负责。例如,位置7($111_2$)由 $P_1$ (001), $P_2$ (010), $P_4$ (100) 共同校验。
- 计算校验位值:通常采用偶校验,即每一组包含校验位在内的“1”的个数为偶数。
典型题目
题目:求有效信息 1100 的海明码(采用偶校验)。
第一步:确定校验位个数 $k$
信息位 $n = 4$。
代入公式:$2^k \ge 4 + k + 1$
- 当 $k=2$ 时,$4 < 7$(不成立)
当 $k=3$ 时,$8 \ge 8$(成立)
所以需要 3 个校验位,总码长为 $4 + 3 = 7$ 位。
第二步:确定位置并填入数据
校验位 $P_1, P_2, P_3$ 分别占据第 $1, 2, 4$ 位。将信息位 $D_1, D_2, D_3, D_4$ 按序填入剩余空格:
| 位置索引 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 位置类型 | $P_1$ | $P_2$ | $D_1$ | $P_3$ | $D_2$ | $D_3$ | $D_4$ |
| 数据填充 | ? | ? | 1 | ? | 1 | 0 | 0 |
第三步:分组并计算校验位
将所有数据位的位置索引写成二进制:
- $D_1$ (位置3): $3 = 1+2 = 2^0 + 2^1$ → 由 $P_1, P_2$ 校验
- $D_2$ (位置5): $5 = 1+4 = 2^0 + 2^2$ → 由 $P_1, P_3$ 校验
- $D_3$ (位置6): $6 = 2+4 = 2^1 + 2^2$ → 由 $P_2, P_3$ 校验
- $D_4$ (位置7): $7 = 1+2+4 = 2^0 + 2^1 + 2^2$ → 由 $P_1, P_2, P_3$ 校验
计算校验位(偶校验下,组内异或运算结果应为0):
- $P_1$ 负责位置 {1, 3, 5, 7}(二进制倒数第1位为1的位置):$P_1 \oplus 1 \oplus 1 \oplus 0 = 0 \Rightarrow \mathbf{P_1 = 0}$
- $P_2$ 负责位置 {2, 3, 6, 7}(二进制倒数第2位为1的位置):$P_2 \oplus 1 \oplus 0 \oplus 0 = 0 \Rightarrow \mathbf{P_2 = 1}$
- $P_3$ 负责位置 {4, 5, 6, 7}(二进制倒数第3位为1的位置):$P_3 \oplus 1 \oplus 0 \oplus 0 = 0 \Rightarrow \mathbf{P_3 = 1}$
第四步:写出最终海明码
将计算出的 $P$ 值填回原表:
| 位置 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|---|---|---|---|---|---|---|---|
| 最终码 | 0 | 1 | 1 | 1 | 1 | 0 | 0 |
答案:1100 的海明码为 0111100。
如何纠错?
接收端收到后,重新计算各组的奇偶性(记为 $G_1, G_2, G_3$):
- $G_1 = P_1 \oplus D_1 \oplus D_2 \oplus D_4$
- $G_2 = P_2 \oplus D_1 \oplus D_3 \oplus D_4$
- $G_3 = P_3 \oplus D_2 \oplus D_3 \oplus D_4$
将结果排列为 $G_3 G_2 G_1$,若结果为 000 则无错;若结果为 110(十进制 6),则说明第 6 位出错了,直接取反即可纠正。
(四)流量控制与可靠传输机制
1.流量控制、可靠传输与滑动窗口机制
流量控制:控制发送方的发送速率,确保接收方有足够缓冲空间接收数据,避免过载。常见方式有停止 - 等待协议和滑动窗口协议。
1. 停止 - 等待流量控制
- 原理:发送方每发送一帧,必须等待接收方的应答信号,才能发送下一帧;接收方每接收一帧,反馈一个应答信号。
- 特点:每次只允许发送一帧,传输效率低。
2. 滑动窗口流量控制

核心概念:
- 发送窗口:发送方维护的一组连续允许发送的帧序号,其大小 WT 代表未收到确认时最多可发送的数据帧数。
- 接收窗口:接收方维护的一组连续允许接收的帧序号,只有序号落在窗口内的数据帧才会被收下,否则丢弃。
窗口滑动规则:
- 发送端收到确认帧后,发送窗口向前滑动;窗口内无待发帧时停止发送,直到窗口可滑动。
- 接收端收到数据帧后,窗口向前移动并回发确认帧,落于窗口外的帧被丢弃。
重要特性:
- 只有接收窗口向前滑动(同时发送确认帧)时,发送窗口才可能向前滑动。
不同协议的窗口大小:
- 停止 - 等待协议:发送窗口 = 1,接收窗口 = 1
- 后退 N 帧协议:发送窗口 > 1,接收窗口 = 1
- 选择重传协议:发送窗口 > 1,接收窗口 > 1
- 接收窗口大小为 1 时,可保证帧的有序接收。
- 数据链路层滑动窗口协议的窗口大小在传输中固定(与传输层协议不同)。
3. 可靠传输机制
实现方式:通过确认和超时重传完成。
- 确认:接收方反馈应答,告知发送方数据被正确接收;可采用捎带确认(将确认捎在回复帧中)提高效率。
- 超时重传:发送方发送数据帧后启动计时器,若超时未收到确认,则重传该帧。
自动重传请求(ARQ):
- 分类:停止 - 等待 ARQ、后退 N 帧(Go-Back-N)ARQ、选择性重传(Selective Repeat)ARQ。
- 后两种是滑动窗口与请求重发技术的结合,窗口足够大时可实现连续流传输,又称连续 ARQ 协议。
- 注意:实际有线网络的数据链路层很少采用可靠传输,多数教材将此内容放在传输层,本书按 408 考纲保留在链路层。
2.单帧滑动窗口与停止-等待协议
本质:从滑动窗口角度看,停止 - 等待协议就是发送窗口 = 1、接收窗口 = 1的滑动窗口协议。
差错处理:
- 数据帧丢失 / 破坏:发送方超时重传,直到正确到达。
- 确认帧丢失 / 破坏:接收方已收到正确帧,但发送方超时重传;接收方收到重复帧后丢弃并重传确认帧。
序号与缓存:
- 用 1bit 编号(0 和 1 交替),区分新帧和重传帧。
- 发送方缓存帧副本,收到 ACK 后清除;接收方也需缓存以判定重复帧。
缺点:信道利用率低,因此产生了后退 N 帧协议和选择重传协议。
3.多帧滑动窗口与后退N帧协议(GBN)
核心特点:
- 发送方无需等待上一帧 ACK,可连续发送多帧;接收窗口 = 1,保证按序接收。
- 若检测到帧丢失 / 出错,需重传出错帧及之后所有未确认帧。
确认机制:
- 采用累积确认:对第 n 号帧的确认,表示前 n 号帧均已正确接收。
- 接收端按序接收,丢弃出错帧后的所有无差错帧。
- 窗口约束:若用 n 比特编号,发送窗口 $$W_T$$ 需满足 $$1 < W_T \le 2^n - 1$$,否则无法区分新帧和旧帧。
- 缺点:信道质量差时,重传大量已正确到达的帧,传输效率降低。
4.多帧滑动窗口与选择重传协议(SR)
核心特点:
- 仅重传出错或超时的单个帧,避免重传已正确到达的帧。
- 接收窗口 WR 和发送窗口 WT 均大于 1,可缓存乱序帧,等缺失帧到齐后再交付主机。
确认机制:
- 对单帧进行确认,若怀疑出错,发送否定确认 NAK,要求重传指定帧。
窗口约束:若用 n 比特编号,最大窗口 $W_{max} = 2^{n-1}$,否则无法区分新数据帧和重传数据帧。
代价:接收端需要更大的缓存区来暂存未按序到达的帧。
补充概念:
信道利用率(信道效率):从时间角度定义,指发送方在一个发送周期内,有效发送数据的时间占整个发送周期的比率。
$$\text{信道利用率} = \frac{L/C}{T}$$
其中 $T$ 为发送周期,$L$ 为发送数据量,$C$ 为传输速率。
- 信道吞吐率:信道利用率 $\times$ 发送方的发送速率。
(五)介质访问控制
介质访问控制所要完成的主要任务是,为使用介质的每个结点隔离来自同一信道上其他结点所传送的信号,以协调活动结点的传输。
用来决定广播信道中信道分配的协议属于数据链路层的一个子层,称为介质访问控制(Medium Access Control, MAC)子层。
常见的介质访问控制方法有信道划分介质访问控制、随机访问介质访问控制和轮询访问介质访问控制。其中前者是静态划分信道的方法,而后两者是动态分配信道的方法。
1.信道划分介质访问控制
信道划分介质访问控制通过分时、分频、分码等方式,将一条广播信道逻辑上划分为多条互不干扰的子信道,实现多设备共享信道、互不干扰。
(1) 频分多路复用(FDM)
- 原理:将多路信号调制到不同频率的载波上,叠加成复合信号传输;每个子信道独占一段带宽。
特点:
- 同一时间可同时传输多路信号,充分利用信道带宽。
- 相邻信道间需加入 “保护频带”,防止干扰。
- 优点:充分利用传输介质带宽,系统效率高,技术成熟易实现。
(2) 时分多路复用(TDM)
- 原理:将物理信道按时间分成若干时间片,轮流分配给多个信号使用,每个时间片由一个信号占用。
特点:
- 就某一时刻看,信道仅传输一对设备的数据;就某段时间看,是多路复用。
- 统计时分复用(STDM):不固定分配时间片,按需动态分配,提高线路利用率。
- 示例:线路速率 8000b/s,4 个用户平均速率 2000b/s;采用 TDM 时,每个用户最高速率为 2000b/s;采用 STDM 时,总最高速率可达 8000b/s。

(3) 波分多路复用(WDM)
- 原理:光的频分多路复用,在一根光纤中传输多种不同波长的光信号,各波长光信号互不干扰,最后通过波分复用器分解各路波长。
- 特点:光纤频带极宽,可实现多路复用,通信容量大。

(4) 码分多路复用(CDM/CDMA)
- 原理:采用不同的编码(码片序列)区分各路原始信号,共享信道、共享时间。每个站被分配唯一的 m 位码片序列(如 64 位或 128 位),发送 1 时发送码片本身,发送 0 时发送码片的反码。
- 关键特性:任意两个不同站的码片序列正交(内积为 0),任意站的码片序列与自身的规格化内积为 1。
- 优点:频谱利用率高、抗干扰能力强、保密性强、语音质量好,可减少投资和降低运行成本,主要用于无线通信系统,特别是移动通信系统。
2.随机访问介质访问控制
注:此部分内容较复杂,预习阶段不深入理解。
随机访问(争用型)协议不采用集中控制,所有用户可随机发送数据,通过竞争获取信道使用权,核心思想是 “胜利通过争用获得信道”。它将广播信道的共享转化为逻辑上的点对点通信。
(1) ALOHA 协议
分为纯 ALOHA和时隙 ALOHA两种:
- 纯 ALOHA 协议
- 核心思想:站点需要发送数据时,不进行任何检测就立即发送;若未收到确认,则认为发生冲突,等待一段随机时间后重传,直至成功。
- 特点:实现简单,但冲突概率高,信道利用率低。
- 最大吞吐量:当网络负载 G=0.5 时,吞吐量 S 达到最大值 Smax=0.5e−1≈0.184。
- 时隙 ALOHA 协议
- 核心思想:将时间划分为等长的时隙,所有站点同步,只能在每个时隙开始时发送数据,避免了随机发送,减少了冲突。
- 特点:冲突概率降低,信道利用率是纯 ALOHA 的两倍。
- 最大吞吐量:当 G=1 时,吞吐量 S 达到最大值 Smax=e−1≈0.368。
(2) CSMA 协议(载波监听多路访问)
CSMA 在 ALOHA 基础上增加了 “载波监听” 机制,发送前先检测信道是否空闲,以降低冲突概率。根据监听后信道忙时的处理方式,分为三类:
| 类型 | 核心思想 | 优点 | 缺点 |
|---|---|---|---|
| 1 - 坚持 CSMA | 信道空闲则立即发送;信道忙则持续监听,一旦空闲立即发送 | 抢占信道,减少信道空闲时间 | 多个站点同时监听时,冲突概率大 |
| 非坚持 CSMA | 信道空闲则立即发送;信道忙则等待一个随机时间后再监听 | 避免多个站点同时争抢,降低冲突 | 增加了数据在网络中的平均延迟,信道利用率降低 |
| p - 坚持 CSMA | 信道空闲则以概率 p 发送,以概率 1−p 推迟到下一时隙;信道忙则持续监听 | 折中方案,兼顾吞吐量和延迟 | 实现复杂,需合理选择 p 值 |
(3) CSMA/CD 协议(载波监听多路访问 / 碰撞检测)
CSMA/CD 是 CSMA 的改进方案,增加了 “碰撞检测”,适用于总线形或半双工以太网,全双工网络无需使用。
核心流程:
先听后发,边听边发,冲突停发,随机重发。
- 载波监听:发送前持续检测信道,空闲则发送。
- 碰撞检测:发送过程中同时监听信道,若检测到碰撞,立即停止发送。
- 强化碰撞:发送人为干扰信号,通知所有站点已发生碰撞。
- 退避重传:采用截断二进制指数退避算法计算随机等待时间,避免再次冲突。
关键概念:
- 争用期(碰撞窗口):端到端传播时延 τ 的 2 倍(2τ),站点在发送后最多经过 2τ 就能确认是否发生碰撞。
- 最短有效帧长:为确保在争用期内检测到碰撞,规定了以太网的最短帧长为 64 字节,小于此长度的帧为无效帧。
- 局限性:仅适用于半双工通信,无法用于无线网络(存在 “隐蔽站” 问题)。
(4) CSMA/CA 协议(载波监听多路访问 / 碰撞避免)
CSMA/CA 是为无线局域网(如 802.11)设计的协议,无法简单使用 CSMA/CD,主要原因是无线信号强度变化大,碰撞检测硬件成本高,且存在 “隐蔽站” 问题。
- 核心思想:不是完全避免碰撞,而是通过设计尽量降低碰撞概率,使用确认帧(ACK)*和*退避机制保证可靠传输。
关键机制:
- 帧间间隔(IFS):不同类型的帧等待不同的时间后再发送,如 SIFS(短)、PIFS(中)、DIFS(长)。
- 退避机制:信道从忙变为空闲时,站点需等待 DIFS 时间,再进入退避窗口,随机选择退避时间,退避到 0 才能发送。
- RTS/CTS 机制(可选):发送前先广播短的请求发送(RTS)帧,AP 响应允许发送(CTS)帧,为发送方预留信道,解决 “隐蔽站” 问题,但会降低信道效率。
与 CSMA/CD 的区别:
- 碰撞检测:CSMA/CD 可检测并处理碰撞;CSMA/CA 无法检测碰撞,只能尽量避免。
- 传输介质:CSMA/CD 用于有线以太网;CSMA/CA 用于无线 802.11 等。
- 检测方式:CSMA/CD 通过电缆电压变化检测;CSMA/CA 采用能量检测、载波检测和能量载波混合检测。
3.轮询访问:令牌传递协议
核心概念
轮询访问(令牌传递)是一种集中式控制的介质访问控制方式,用户不能随机发送信息,必须通过监控站以循环方式轮询每个结点,决定信道的分配。典型协议为令牌传递协议,主要用于令牌环局域网。
令牌传递协议原理
- 令牌(Token):一个特殊的 MAC 控制帧,本身不包含信息,仅用于控制信道使用权,确保同一时刻只有一个站点独占信道。
工作机制:
- 令牌在环形拓扑的各结点间依次传递,结点只有取得令牌后才能发送数据帧,因此不会发生碰撞。
- 发送完成后,站点释放令牌,供其他结点使用。
- 令牌按顺序依次传递,对所有入网结点而言,访问权是公平的。
- 无数据发送时:令牌在环网上持续循环游荡;只有拿到令牌的计算机才能发送数据帧,因此不会发生冲突。
令牌环网中令牌和数据的传递过程
- 网络空闲时:环路中只有令牌在循环传递。
有数据发送时:
- 令牌传递到有数据要发送的站点,该站点修改令牌标志位,附加数据,将令牌变为数据帧并发送。
- 数据帧沿环传输,各结点检查目的地址,仅目的站复制该帧。
- 数据帧到达源站后,源站不再转发,通过返回帧检查传输是否出错,若有错则重传。
- 源站完成传送后,重新生成令牌并传递给下一站。
协议特点
- 适用场景:非常适合负载很高的广播信道(多结点同时高概率发送数据),能有效避免冲突,满足通信需求。
- 信道特性:既不共享时间,也不共享空间,在随机访问控制的基础上,限定了只有一个结点拥有发送权。
- 逻辑拓扑:传输介质的物理拓扑不必是环形,但令牌传递的逻辑通路必须是一个环。
(六)局域网
1.局域网的概念和体系结构
- 定义:在小地理范围(如学校、办公室)内,通过双绞线、同轴电缆等介质连接计算机、外部设备和数据库,实现资源与信息共享的计算机互连网络。
主要特点:
(1) 为一个单位所拥有,地理范围和站点数目有限。
(2) 所有站点共享较高的总带宽(数据传输速率高)。
(3) 较低的时延和较低的误码率。
(4) 各站点为平等关系,而非主从关系。
(5) 支持广播和组播。
决定局域网特性的三要素:
(1) 拓扑结构:常见有星形、环形、总线形,以及星总线复合型。
(2) 传输介质:主流为双绞线,也可使用铜缆、光纤等。
(3) 介质访问控制方式(最重要):决定局域网技术特性,主要包括 CSMA/CD、令牌总线、令牌环。
典型局域网拓扑实现:
以太网:逻辑拓扑为总线形,物理拓扑为星形或拓展星形,是目前使用最广的局域网。
令牌环(Token Ring, IEEE 802.5):逻辑拓扑为环形,物理拓扑为星形。
FDDI(光纤分布数字接口,IEEE 802.8):逻辑拓扑为环形,物理拓扑为双环结构。
IEEE 802 局域网参考模型:
对应 OSI 模型的数据链路层和物理层,并将数据链路层拆分为两个子层:
(1) 媒体接入控制子层(MAC):处理与接入传输媒体相关的内容,向上层屏蔽对物理层访问的差异,提供对物理层的统一访问接口,主要功能包括组帧 / 拆帧、比特传输差错检测、透明传输。
(2) 逻辑链路控制子层(LLC):与传输媒体无关,向网络层提供无确认无连接、面向连接、带确认无连接、高速传送 4 种不同的连接服务类型。由于以太网的垄断地位,LLC 子层作用已不大,许多网卡仅装有 MAC 协议。
2.以太网与 IEEE 802.3
- IEEE 802.3:基带总线形局域网标准,定义了物理层和数据链路层 MAC 子层的实现方法,通常与 DIX Ethernet V2 标准统称为以太网。
以太网特点:
- 逻辑上为总线拓扑,共享总线,采用广播方式发送。
- 使用CSMA/CD进行总线访问控制。
- 无连接、最大努力交付,不提供可靠服务,差错纠正由高层完成。
- 采用曼彻斯特编码,每个码元中间有一次电压转换,便于提取同步信号。
(1) 传输介质与网卡
- 常用传输介质:粗缆、细缆、双绞线、光纤,典型标准如下:
| 标准 | 传输媒体 | 编码方式 | 拓扑结构 | 最大段长 | 最多结点数 |
|---|---|---|---|---|---|
| 10BASE5 | 粗缆 | 曼彻斯特编码 | 总线形 | 500m | 100 |
| 10BASE2 | 细缆 | 曼彻斯特编码 | 总线形 | 185m | 30 |
| 10BASE-T | 非屏蔽双绞线 | 曼彻斯特编码 | 星形 | 100m | 2 |
| 10BASE-FL | 光纤 | 曼彻斯特编码 | 点对点 | 2000m | 2 |
网卡(NIC):
- 工作在数据链路层和物理层,实现数据的串 / 并转换、帧的收发与封装拆封、介质访问控制、编码解码等功能。
- 每块网卡出厂时都有唯一的MAC 地址(48 位),用于控制主机在网络上的数据通信。
(2) MAC 帧与地址
- MAC 地址:6 字节(48 位),高 24 位为厂商代码,低 24 位为网卡序列号,一般用 12 个十六进制数表示(如
02-60-8c-e4-b1-21)。 以太网 V2 MAC 帧格式:
- 前导码:8 字节,用于同步,其中最后 1 字节为帧开始定界符。
- 目的地址:6 字节(MAC 地址)。
- 源地址:6 字节(MAC 地址)。
- 类型:2 字节,指示数据域应交给哪个协议实体处理。
- 数据:46~1500 字节,包含高层协议消息;不足 46 字节时需填充至 64 字节最小长度。
- 校验码(FCS):4 字节,采用 32 位 CRC 校验,校验范围从目的地址到数据段末尾。
- 802.3 帧格式:用 “长度域” 替代了 “类型域”,用于指出数据域的长度,最大为 1500 字节。
(3) 高速以太网
100BASE-T:
- 双绞线传输,100Mb/s,星形拓扑,支持全 / 半双工。
- 全双工下不使用 CSMA/CD,最短帧长不变,最大电缆长度减至 100m,帧间间隔缩短为 0.96μs。
吉比特以太网(1Gb/s):
- 支持全 / 半双工,半双工下使用 CSMA/CD,与 10/100BASE-T 兼容。
10 吉比特以太网(10Gb/s):
- 仅使用光纤,工作在全双工方式,不使用 CSMA/CD,帧格式与传统以太网完全一致。
3.IEEE 802.11 无线局域网
(1) 无线局域网的组成
无线局域网主要分为两大类:
有固定基础设施的无线局域网

- 协议标准:IEEE 802.11 系列(如 802.11a/b/g/n),也称为 Wi-Fi。
- 拓扑结构:星形拓扑,中心为接入点(AP),在 MAC 层使用 CSMA/CA 协议。
基本构件:
- 基本服务集(BSS):由一个 AP 和若干移动站组成,是无线局域网的最小构成单元。
- 基本服务区(BSA):一个 BSS 覆盖的地理范围,一般不超过 100m。
- 扩展服务集(ESS):通过 AP 连接到分配系统(DS),再连接到多个 BSS 构成。
- 门户(Portal):作为无线局域网和有线以太网的桥接设备。
- 标识:AP 需要配置SSID(服务集标识符)和信道,SSID 是该无线局域网的名称。
无固定基础设施的移动自组织网络

- 又称自组网络(ad hoc network),由一些平等状态的移动站组成临时网络,无中心 AP。
- 各结点地位平等,可作为转发结点,因此具备路由器功能。
- 网络拓扑随移动结点的出现和移动而动态变化,路由协议需特别设计。
(2) 802.11 局域网的 MAC 帧
- 帧类型:数据帧、控制帧、管理帧。
帧组成:

- MAC 首部:共 30 字节,包含 4 个重要的地址字段(MAC 地址)。
- 帧主体:承载数据,不超过 2312 字节。
- FCS:4 字节的帧检验序列。
地址字段(4 个):地址字段的含义由控制字段中的 “去往 AP” 和 “来自 AP” 两位决定:
- 去往 AP=1,来自 AP=0:地址 1 是 AP 的 MAC 地址,地址 2 是源站 A 的 MAC 地址,地址 3 是目的站 B 的 MAC 地址。
- 去往 AP=0,来自 AP=1:地址 1 是目的站 B 的 MAC 地址,地址 2 是 AP 的 MAC 地址,地址 3 是源站 A 的 MAC 地址。
与有线网互联:
- 当无线局域网通过 AP 连接到有线以太网时,地址 3 用于标识以太网中的路由器接口 MAC 地址,是实现无线与有线网互联的关键。
4.VLAN基本概念与基本原理
(1) 为什么需要 VLAN
一个大的以太网是一个大的广播域,会带来以下问题:
- 大量广播帧(如 ARP、DHCP)占用网络带宽,影响性能。
- 不同部门共享同一网络,不利于信息保密和安全。
虚拟局域网(VLAN) 可以将一个大的物理局域网,在逻辑上分割成多个小的广播域,与地理位置无关。
(2) VLAN 的实现原理(802.1Q 标准)
- 帧格式扩展:在标准以太网帧的源地址和类型字段之间,插入一个 4 字节的 VLAN 标签,形成 802.1Q 帧。
VLAN 标签结构:

- 前 2 字节:标签类型,固定为
0x8100,表示这是一个 802.1Q 帧。 - 后 2 字节:标签控制信息,其中 12 位为 VID(VLAN ID),唯一标识该帧所属的 VLAN,最多可识别 4096 个不同的 VLAN。
- 前 2 字节:标签类型,固定为
- 帧长变化:插入标签后,以太网最大帧长从 1518 字节变为 1522 字节,FCS 校验序列也必须重新计算。
(3) VLAN 的工作机制

- 跨交换机 VLAN:一个 VLAN 可以跨越多个交换机,前提是交换机支持 VLAN 协议。
链路类型:
- 接入链路:主机与交换机之间,传输标准以太网帧,主机不知道自己的 VID。
- 干线链路(Trunk):交换机之间,传输带 VLAN 标签的 802.1Q 帧,用于传递 VLAN 信息。
转发流程:
- 交换机根据帧的源 MAC 地址或端口,确定其所属 VLAN。
- 若在同一交换机的同一 VLAN 内转发(如 A→B),则直接转发普通以太网帧。
- 若转发到另一交换机(如 A→E),则在转发前插入 VLAN 标签,形成 802.1Q 帧;接收交换机在转发给主机前,移除标签。
- 若在不同 VLAN 之间通信(如 A→C),则需要通过第 3 层的路由器或三层交换机来转发。
(4) 核心结论
- VLAN 只是局域网提供的一种逻辑服务,并非新型局域网技术。
- 它通过隔离广播域,提升了网络的性能、安全性和管理灵活性。
(七)广域网
1.广域网的基本概念
定义:覆盖范围广(远超一个城市)的长距离网络,是因特网的核心部分,负责长距离传送主机数据。
组成:由结点交换机(负责存储转发分组)和高速链路(光缆、卫星链路等)组成,结点间为点到点连接,通常一个结点交换机会与多个结点相连以提高可靠性。
与互联网的区别:
- 广域网≠互联网,互联网通过路由器连接不同类型的网络(局域网、广域网)。
- 局域网可通过广域网与远距离的另一局域网通信。
层次差异:
- 局域网协议主要在数据链路层(少量在物理层)。
- 广域网协议主要在网络层,核心问题是路由选择和分组转发。
广域网与局域网的区别与联系:
| 对比项 | 广域网 | 局域网 |
|---|---|---|
| 覆盖范围 | 很广,通常跨区域 | 较小,通常在一个区域内 |
| 连接方式 | 结点间点到点连接,一个结点常连多个结点 | 普遍采用多点接入技术 |
| OSI 层次 | 三层:物理层、数据链路层、网络层 | 两层:物理层、数据链路层 |
| 着重点 | 强调数据传输 | 强调资源共享 |
| 联系 | 1. 均为互联网重要组成,地位平等;2. 网内通信使用物理地址 | 同上 |
广域网数据链路层协议:
- PPP 协议:目前使用最广泛。
- HDLC 协议:已很少使用。
2.PPP协议
PPP(Point-to-Point Protocol)是一种面向字节的点对点链路层协议,用于在串行线路上建立连接、传输数据。
(1) PPP 协议的组成
- 链路控制协议(LCP):建立、配置、测试和管理数据链路。
- 网络控制协议(NCP):为不同的网络层协议(如 IP)配置并建立逻辑连接。
- 封装机制:将 IP 数据报封装到串行链路的帧中,信息部分长度受最大传送单元(MTU)限制。
(2) PPP 帧格式
- 标志字段 F(1 字节):固定为
7E (01111110),用于帧定界。 - 地址字段 A(1 字节):固定为
0xFF。 - 控制字段 C(1 字节):固定为
0x03。 - 协议字段(2 字节):标识信息字段承载的协议类型,如
0x0021表示 IP 数据报。 - 信息字段(0~1500 字节):承载网络层数据报。
- 帧校验序列 FCS(2 字节):对地址、控制、协议和信息字段进行 CRC 校验。
(3) 透明传输
当信息字段中出现与标志字段
7E相同的比特组合时,需进行填充:- 异步线路(默认):采用字符填充法,使用转义字符
7D。 - 同步线路(如 SONET/SDH):采用比特填充法(与 HDLC 相同)。
- 异步线路(默认):采用字符填充法,使用转义字符
(4) PPP 协议的特点
- 不可靠传输:提供 CRC 差错检测,但不提供纠错、序号和确认机制。
- 仅支持点对点链路:不支持多点线路,因此无需 CSMA/CD 协议。
- 全双工通信:支持双向同时传输。
- 兼容性强:两端可运行不同的网络层协议,但仍可使用同一 PPP 通信。
- 面向字节:所有 PPP 帧长度均为整数个字节。
(5) PPP 链路状态过程
- 静止状态:无物理层连接。
- 建立状态:检测到载波信号,建立物理连接,LCP 协商选项。
- 身份验证状态:协商成功后进行身份验证。
- 网络层协议状态:通过 NCP 配置网络层。
- 打开状态:可进行数据传输。
- 终止状态:数据传输完成后,线路终止,回到静止状态。
3.HDLC协议
HDLC(高级数据链路控制)是一种面向比特的数据链路层协议,具有以下核心特点:
主要特性:
- 透明传输:通过 “0 比特插入法” 实现,发送端检测到 5 个连续的 1 时,自动插入一个 0;接收端检测到 5 个连续的 1 后紧跟一个 0 时,删除该 0,还原原始比特流。
- 全双工通信:传输效率高。
- 差错控制:所有帧采用 CRC 校验,对信息帧进行顺序编号,可防止漏收或重发,传输可靠性高。
- 传输控制与处理功能分离:灵活性强。
帧格式:
HDLC 帧由以下字段构成:
- 标志字段 F(8bit):固定为
01111110,用于帧定界。 - 地址字段 A(8bit):表示从站或应答站的地址。
- 控制字段 C(8bit):实现流量控制、差错控制等重要功能。
- 信息字段 Info(可变长度):承载用户数据。
- 帧校验序列 FCS(16bit):用于差错检测。
- 标志字段 F(8bit):帧结束定界。
| 特性 | HDLC 协议 | PPP 协议 |
|---|---|---|
| 面向对象 | 面向比特 | 面向字节 |
| 协议字段 | 无 | 有(2 字节,值为0x0021时表示 IP 数据报) |
| 可靠传输 | 信息帧使用编号和确认机制,提供可靠传输 | 不使用序号和确认机制,仅保证无差错接收(CRC 校验),端到端差错检测由高层协议负责 |
(八)数据链路层设备
1.网桥的基本概念
工作层次:数据链路层的 MAC 子层。
核心作用:
- 连接多个以太网网段,扩大覆盖范围,同时将各网段隔离为独立的碰撞域(冲突域),过滤通信量,避免一个网段的故障影响其他网段。
具备路径选择功能,接收数据帧后检查帧中的地址:
- 若目的地址在另一网段,则转发到对应网段;
- 若目的地址在本网段,则丢弃该帧(源站和目的站可直接通信,无需网桥转发)。
与转发器对比:工作在物理层的转发器不具备隔离碰撞域的功能。
2.局域网交换机
1. 交换机的原理和特点
- 本质:多端口的网桥,工作在数据链路层,通常工作在全双工方式。
- 核心原理:检测数据帧的源和目的 MAC 地址,与内部动态交换表(MAC 地址表)比较,将帧转发到对应端口;若地址不在表中,则广播该帧。
主要特点:
- 每个端口可直接与单台主机相连,一般工作在全双工方式。
- 支持多对主机同时通信,每对通信独占信道,无碰撞传输。
- 即插即用,内部交换表通过自学习算法自动建立。
- 采用专用交换结构,交换速率高。
- 独占传输媒体带宽,可显著提升网络总容量(如 N 个 10Mb/s 端口的交换机,总容量可达 N×10Mb/s)。
两种交换模式:
- 直通式交换机:仅检查目的地址,帧接收后立即转发,速度快,但缺乏智能性和安全性,不支持不同速率端口的转换。
- 存储转发式交换机:先将帧缓存,检查数据正确性后再转发,可靠性高,支持不同速率端口转换,但延迟较大。
- 应用扩展:可实现虚拟局域网(VLAN),隔离冲突域和广播域。
2. 交换机的自学习功能

- 核心机制:交换机通过 “过滤”(丢弃本网段帧)和 “转发”(转发到其他端口)的过程,自动学习并维护交换表。
自学习过程:
- 初始时交换表为空。当交换机从某端口收到一帧时,会将帧的源 MAC 地址与入端口号写入交换表。
- 若目的 MAC 地址在交换表中,则按表中端口转发;若不在,则向除入端口外的所有端口广播该帧。
- 交换表中的表项具有有效时间,超时自动更新,以适应网络拓扑变化。
- 优势:实现即插即用,无需人工配置,使用非常方便。
本文系作者 @xiin 原创发布在To Future$站点。未经许可,禁止转载。
暂无评论数据