【零基础计网入门笔记 03】数据链路层
整体定位:数据链路层只解决相邻设备、局部局域网 / 点对点网线的通信,不跨路由器,分为两大通信场景:一对一点对点、一对多广播局域网;全章节围绕封装成帧、透明传输、差错检测三个底层通用问题展开。
本章重点速览:
- 数据链路层的几个共同问题 ※
- 点对点协议 PPP ※
- 使用广播信道的数据链路层 ※
一、前置基础概念:信道、链路、数据链路
1.1 两种信道类型
- 点对点信道(1 对 1)
线路只连接两台设备(电脑连光猫、串口拨号),不存在多台设备抢线,一对一通信。
- 广播信道(1 对多)
一根总线 / 集线器连接多台主机,一台发数据,所有设备都能收到;多台同时发包会产生信号冲突乱码,局域网早期组网用这种。
1.2 链路 vs 数据链路
- 链路:指的从一个结点到相邻结点的一段物理线路,中间没有结点。
- 单纯的物理网线 / 光纤,只有硬件线路,没有任何传输协议。
- 例:A → B → C,A 直接连 B 才叫链路;A 经过 B 中转到 C,A-C 不能叫链路。
- 数据链路:链路 + 数据链路层协议,能完成组帧、纠错、透明传输,真正实现可靠传递数据。
二、数据链路层的三个基本问题
封装成帧、透明传输、差错检测
2.1 封装成帧
给 IP 数据包套上“信封”。
-
操作:网络层下发裸 IP 数据,链路层给它加帧首部 + 帧尾部,整体叫「帧」。
![- ![[Pasted image 20260619201710.png]]]()
-
核心作用:帧定界。首尾有固定二进制标记,接收端靠标记区分:一帧从哪开始、到哪结束。
![- ![[Pasted image 20260619201847.png]]]()
-
限制 MTU:以太网规定帧内部的数据部分最大 1500 字节,数据包超过这个长度,网络层需要提前拆分。
-
原生缺陷:如果 IP 数据内部恰好出现和帧头 / 帧尾一模一样的二进制标记,接收端会误判 “帧提前结束”,截断数据,由此引出第二个问题:透明传输。
![- ![[Pasted image 20260619201938.png]]]()
2.2 透明传输
任意二进制数据都能完整送达。
-
含义:上层不用关心底层的分界标记,无论数据是 0/1 乱码、特殊控制字符,都能原样无修改送到接收端,底层自动处理冲突标记。
-
解决方案:填充(字符 / 字节填充)
- 遇到和帧分界符重复的数据时,在它前面插入转义字符做标记;接收端识别转义字符后,删除转义符还原原始数据,避免误判帧边界。
![- ![[Pasted image 20260619202910.png]]]()
- 遇到和帧分界符重复的数据时,在它前面插入转义字符做标记;接收端识别转义字符后,删除转义符还原原始数据,避免误判帧边界。
2.3 差错检验
CRC 循环冗余校验(排查传输比特错误)。
含义:网线受电磁干扰会出现比特翻转(0 变 1、1 变 0),CRC 用来检测这种传输错误。
注意:CRC只能检测错误,不能修复错误,出错只能丢弃,依靠上层重传。
1. CRC 运算规则
模2运算(异或运算:相同为0,相异为1)。
被除数:
待发送的数据+几个0(+几个0取决于除数,除数 -1位,5→4,4→3)
除数:
- 由生成多项式 G (X) 得到二进制除数
- 示例:$G(X)=X4+X2+X+1$
- 按幂次补系数:$1X4+0*X3+1X2+1*X1+1*X^0$,除数 =
10111(5 位)
- 除数有 n 位,原始数据(被除数)末尾补
n-1个 0(本例 5 位除数,补 4 个 0)
接下来:
- 原始数据 + 补零整体 和 除数 做模 2 除法,得到余数(校验码 FCS)。若有余数,则说明数据是错误的。
- 把末尾补的 0 替换成余数,组成完整帧发送
- 接收端校验:整串帧除以除数
- 余数 = 0:无传输错误;
- 余数≠0:数据损坏,直接丢弃该帧。
例题:
![![[Pasted image 20260619204259.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145514083-55440164.png)
三、点对点协议 PPP
适用场景:老式电话拨号上网、光猫串行点对点链路,专门管理一对一通信。
3.1 PPP 三大组成
- 帧封装规则:把 IP 数据包封装进 PPP 帧,适配串行物理线路;
- LCP 链路控制协议:负责建立、配置、断开物理线路,协商线路基础参数;
- NCP 网络控制协议:协商上层网络参数(给设备分配 IP 地址等)。
3.2 PPP协议的帧格式
![![[Pasted image 20260621161700.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145514646-1784831554.png)
- 首部是用 16 进制表示的,可能和信息部分重合,造成误判。为了避免这种情况,要进行填充。
3.3 PPP 帧的透明传输的两种填充方式
PPP 帧的首尾标记是十六进制7E,如果数据里出现7E、转义符7D会误判帧结束,分两种传输模式处理:
1. 异步传输(字符流,老式拨号):字节填充
到特殊字符前插入转义字符7D,同时修改原字符:
- 分界符
7E:加7D,原数值减 0x20 →5E - 转义符
7D:加7D,原数值减 0x20 →5D - ASCII 小于 0x20 的控制字符:加
7D,原数值加 0x20
接收端读到7D,就对后一个字符反向加减 20,删掉转义符恢复原始数据。
![- ![[Pasted image 20260621162230.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145515177-1645738583.png)
2. 同步传输(高速光纤比特流):零比特填充
不靠字符区分边界,靠比特序列01111110做帧标记。
- 发送端:扫描全部比特,只要出现连续 5 个 1,强制插入 1 个 0;保证数据不会出现 6 个连续 1,不会和帧标记冲突。
- 接收端:识别连续 5 个 1,直接删除紧跟的 0,还原原始比特。
四、广播信道:局域网以太网(多主机共享线路)
4.1 冲突问题与 CSMA/CD 协议
广播信道的局域网:用同轴电缆或集线器组网,A - B - C - D 多台主机共享。
- 这种情况下,如果我同时要传输信息 A → C 和 B → D,则会导致 B → C 这一段信息冲突碰撞,产生乱码。为了避免这种情况,我们提出 CSMA/CD协议。
1. CSMA/CD协议
集线器组网属于共享总线,多台主机同时发包会信号碰撞乱码,CSMA/CD 用来管控发包行为,五步逻辑:
- 发送前侦听:先检测线路是否空闲,有数据传输就等待;
- 边发边听:发包同时持续监听线路信号;
- 检测冲突立刻停发:波形紊乱 = 冲突,马上停止发送;
- 发送阻塞信号:发送一串干扰码,通知全网所有主机发生冲突;
- 截断二进制退避算法:等待一段随机时间后,重新尝试发送。
4.2 以太网技术
以太网 = 全世界最通用的局域网二层通信标准(数据链路层技术)。
- 简单理解:你电脑插网线、路由器 LAN 口、公司内网、交换机、WiFi 底层局域网部分,全都是以太网。
- 核心任务:规定设备之间怎么封装「帧」、怎么识别内网设备、网线里怎么传输数据
以太网的两个主要标准:
-
DIX Ethernet V2:最早商用标准,目前互联网主流;
-
IEEE 802.3:官方标准化标准,拆分数据链路层两层:
- LLC 逻辑链路层:对接网络层,现已淘汰;
- MAC 媒体访问控制层:帧封装、冲突管控、硬件寻址,现在局域网只保留 MAC 层。
4.3 MAC 地址(硬件地址 / 物理地址)
根据以太网两个标准的不同,可以把数据链路层分为两层(LLC,MAC),目前主要使用 MAC(媒体介入控制组层)。
MAC 地址就是硬件地址,也就是物理地址,是由 48 位组成的。
- 规格:固定 48 位(6 字节,12 位十六进制,如
00:AA:BB:CC:DD:EE); - 存储:网卡出厂时厂商烧录在网卡硬件 ROM 中,全球唯一;换网卡才会真正改变,软件只能临时伪装;
- 生效范围:仅当前局域网;
作用:同一内网里精准定位一台设备。广播局域网中定位目标设备,帧头部携带源 MAC、目的 MAC,用来区分接收主机。

![- ![[Pasted image 20260619201710.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145511701-1384477643.png)
![- ![[Pasted image 20260619201847.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145512338-1337062380.png)
![- ![[Pasted image 20260619201938.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145512982-777954988.png)
![- ![[Pasted image 20260619202910.png]]](https://img2024.cnblogs.com/blog/3824943/202607/3824943-20260706145513492-421045600.png)
浙公网安备 33010602011771号