文章目录
- 一、数据链路层
- 二、MTU
-
- 1、MTU(最大传输单元)
- [2、MTU 对 IP 协议的影响](#2、MTU 对 IP 协议的影响)
- [3、MTU 对 UDP 协议的影响](#3、MTU 对 UDP 协议的影响)
- [4、MTU 对 TCP 协议的影响](#4、MTU 对 TCP 协议的影响)
- [5、查看硬件地址和 MTU](#5、查看硬件地址和 MTU)
- 三、ARP协议
-
- [1、ARP 协议作用](#1、ARP 协议作用)
- [2、ARP 协议工作流程](#2、ARP 协议工作流程)
- [3、ARP 数据报格式](#3、ARP 数据报格式)
一、数据链路层
核心作用:在同一网段内,实现两个相邻设备之间的帧传输,负责把 IP 数据报封装成帧,通过物理地址(MAC 地址)完成点到点的交付。
1、对比理解 "数据链路层" 和 "网络层"
| 层级 | 核心目标 | 寻址方式 | 传输范围 | 关键比喻 |
|---|---|---|---|---|
| 数据链路层 | 同一网段内,相邻设备间的帧交付 | MAC 地址 | 一跳(直连节点) | 同城快递,负责从小区到隔壁小区 |
| 网络层 | 跨网段,主机到主机的端到端交付 | IP 地址 | 全网(跨网段) | 全国物流,负责从寄件地址到收件地址 |
2、认识以太网
- 以太网是一种局域网技术标准,覆盖数据链路层 + 物理层,定义了拓扑、介质、速率、访问控制等规范。
- 它规定了网线用双绞线、传输速率(10M/100M/1000M 等)、CSMA/CD 访问控制方式等细节。
- 是目前应用最广泛的局域网技术,同类还有令牌环网、无线 LAN 等。
总结: 以太网是定义了局域网传输规则的标准,是最主流的有线局域网技术
3、以太网帧格式

以太网帧的结构非常固定,核心字段如下:
| 字段 | 长度 | 核心作用 |
|---|---|---|
| 目的 MAC 地址 | 6 字节 | 接收方的硬件地址 |
| 源 MAC 地址 | 6 字节 | 发送方的硬件地址 |
| 类型 | 2 字节 | 标识上层协议:0x0800=IP、0x0806=ARP、0x8035=RARP |
| 数据 | 46~1500 字节 | 承载上层数据(IP 数据报 / ARP 报文),不足 46 字节会自动填充 |
| CRC 校验 | 4 字节 | 校验帧在传输中是否损坏 |
总结: 以太网帧用 MAC 地址标识收发方,用类型字段区分上层协议,用 CRC 保证数据完整性
4、MAC 地址
- 核心作用: 数据链路层的硬件地址,用来标识局域网内的网卡设备。
- 格式: 48 位(6 字节),通常用十六进制 + 冒号表示,如
08:00:27:03:fb:19。 - 特点: 网卡出厂时固化,理论上全球唯一(部分网卡支持修改 MAC,虚拟机 MAC 可能冲突)。
5、MAC 地址 & IP 地址
- IP 地址: 标识全网端到端 的起点、终点,负责跨网段路由。
- MAC 地址: 标识每一跳局域网 相邻设备,只负责链路内点对点转发。
- IP 定全程起点终点,MAC 定每一段路口交接
总结: 传输全程 IP 不变,每一跳 MAC 都在变
二、MTU
1、MTU(最大传输单元)
- 核心概念: 数据链路层规定的单次传输的最大数据长度,相当于快递的包裹尺寸上限。
- 以太网标准: MTU=1500 字节(对应以太网帧的数据字段上限),帧数据字段最小 46 字节,不足会自动填充。
- 分片场景: 当 IP 数据包长度超过链路的 MTU 时,路由器会把它拆分成多个小分片传输,到终点再重组。
- 关键特点: 不同网络类型(如拨号链路)的 MTU 不同,跨网络传输时会按链路的 MTU 动态处理分片。
总结:MTU 是数据链路层的 "包裹尺寸上限",超了 IP 层就分片,保证数据能顺利传输。
2、MTU 对 IP 协议的影响
- 核心影响: 当 IP 数据包长度超过链路 MTU 时,必须被分片传输。
- 分片标识: 所有分片的 IP 头中,16 位
标识(id)相同,用来标记它们属于同一个原始数据包。 - 结束标记: IP 头的 3 位标志中,第 3 位表示 "更多分片",非最后一个分片置为
1,最后一个分片置为0。 - 重组规则: 接收端根据
标识(id)和分片偏移,按顺序把分片拼装还原。 - 关键问题: 只要有一个分片丢失,整个数据包的重组就会失败,且 IP 层不负责重传,需要上层(如 TCP)处理重传逻辑。

总结: IP 分片是为了适配 MTU,用相同标识 + 偏移拆分大包,丢一个分片就全失败,IP 层不负责重传
3、MTU 对 UDP 协议的影响
- 以太网 MTU=1500 字节,扣除 IP 头 20 字节、UDP 头 8 字节,UDP 单次最大有效数据是 1472 字节。
- 超过 1472 字节的 UDP 数据,会被 IP 层拆分成多个分片传输。
- 只要任意一个分片丢失,整个 UDP 数据报就无法重组,导致传输失败,丢包概率大幅上升。
总结: UDP 大包会被 IP 分片,分片丢一个,整个包就废了,所以 UDP 要控制单次发送数据不超过 1472 字节
4、MTU 对 TCP 协议的影响

- MSS(最大分段大小): TCP 单个报文段中,纯数据部分的最大长度,不包含 TCP 头和 IP 头。
- 以太网中,
MSS = MTU(1500) - IP头(20) - TCP头(20) = 1460字节。
MSS 协商机制
- TCP 三次握手时,双方会在 SYN 报文中携带自己支持的 MSS 值。
- 通信双方会取对方 MSS 的较小值作为最终协商的 MSS,避免数据被 IP 分片。
- 目的是让 TCP 报文段封装成 IP 数据报后,长度不超过链路 MTU,从而避免分片带来的丢包风险。
总结: TCP 通过协商 MSS,让每个报文段刚好适配 MTU,从源头避免 IP 分片,保证传输更可靠
5、查看硬件地址和 MTU
使用 ifconfig 命令, 即可查看 ip 地址,mac 地址,和 MTU。

三、ARP协议
ARP不属于纯数据链路层 ,是介于网络层和数据链路层之间的协议。
1、ARP 协议作用
- 核心:建立 IP 地址与 MAC 地址的映射关系。
- 通信时只知道对方IP ,不知道MAC,没法封装以太网帧。
- 网卡只认 MAC 地址,MAC 不匹配直接丢包,所以必须先用 ARP由 IP 查 MAC,才能正常发数据。
2、ARP 协议工作流程

- ARP 请求: 源主机广播 ARP 请求包(目的 MAC 为全
FF:FF:FF:FF:FF:FF),询问目标 IP 对应的 MAC 地址。 - ARP 应答: 目标主机收到请求后,发现 IP 匹配,单播回复 ARP 应答包,告知自己的 MAC 地址。
- ARP 缓存: 源主机收到应答后,将 IP 与 MAC 的映射存入 ARP 缓存表(可用
arp -a查看),缓存表项有 20 分钟左右的过期时间。

-
为什么要有缓存表?
避免每次通信都广播 ARP 请求,减少网络流量,提升通信效率。
-
为什么表项要有过期时间?
防止主机更换网卡、IP 地址变动或设备下线后,缓存表项失效导致通信错误,确保映射关系始终是最新的。
3、ARP 数据报格式
ARP 数据报是以太网帧内的载荷,整体结构分为「以太网首部」和「ARP 报文」两部分。

以太网首部(14 字节)
| 字段 | 长度 | 作用 |
|---|---|---|
| 目的 MAC 地址 | 6 字节 | 广播时为 FF:FF:FF:FF:FF:FF |
| 源 MAC 地址 | 6 字节 | 发送方网卡的 MAC 地址 |
| 帧类型 | 2 字节 | 0x0806 表示这是 ARP 报文 |
ARP 报文(28 字节,核心部分)
| 字段 | 长度 | 关键说明 |
|---|---|---|
| 硬件类型 | 2 字节 | 1 表示以太网 |
| 协议类型 | 2 字节 | 0x0800 表示 IP 地址 |
| 硬件地址长度 | 1 字节 | 以太网 MAC 地址为 6 字节 |
| 协议地址长度 | 1 字节 | IPv4 地址为 4 字节 |
| op(操作码) | 2 字节 | 1 = ARP 请求,2 = ARP 应答 |
| 发送端 MAC 地址 | 6 字节 | 发送方的 MAC 地址 |
| 发送端 IP 地址 | 4 字节 | 发送方的 IP 地址 |
| 目的端 MAC 地址 | 6 字节 | 请求时为全 0,应答时填入目标 MAC |
| 目的端 IP 地址 | 4 字节 | 要查询的目标 IP 地址 |