一、数据链路层
数据链路层位于 OSI 七层模型的第二层, 位与物理层之上,网络层之下。它在网络通信过程中起着承上启下的关键作用,主要职责是在同一物理网络(或局域网)内,实现相邻节点之间可靠的数据传输。
二、数据链路层协议
当前主流数据链路层协议有:
| 协议 | 使用场景 | 是否广泛部署 |
|---|---|---|
| 以太网(Ethernet) | 有线局域网、数据中心 | 全球主流 |
| Wi-Fi(802.11) | 无线接入 | 无处不在 |
| PPP / PPPoE | 宽带拨号认证 | 运营商广泛使用 |
| HDLC(尤其 Cisco 版) | 路由器专线 | 企业/电信存量网络 |
| TSN / MPLS(增强型) | 工业/骨干网 | 特定领域增长中 |
三、以太网协议
以太网协议(Ethernet Protocol)是现有有线局域网(LAN)中最核心、最广泛使用的数据链路层协议,负责在同一物理网络中的设备之间高效、可靠地传输数据帧。
3.1、以太网的帧格式
源地址和目的地址是指网卡的硬件地址(也叫MAC地址),长度是 6 bit(即48位),由于可以表示的范围很大,所以不需要通过动态分配等方式进行使用,是在网卡出厂时固化的;
帧协议类型字段有三种值,分别对应 IP、ARP、RARP,用于标识上层网络协议的类型,告诉接收方如何解析帧中的数据载荷(Payload)。其中一种类型表示载荷是 IP 数据包,另外两种类型,表示 ARP 和 RARP 两种数据(另外两种协议)
帧末尾时 CRC 效验码
3.2、mac地址
MAC 地址(Media Access Control Address) 是网络设备在数据链路层(OSI 第二层)的唯一硬件标识符,用于在同一局域网(LAN)内精准识别和寻址设备。它是以太网、Wi-Fi 等局域网通信的基础。
3.2.1、基本概念
全称:Media Access Control Address
别名:物理地址、硬件地址、烧录地址(Burned-in Address, BIA)
长度:48 位(6 字节)
表示方式:通常写作十六进制,用冒号
:或连字符-分隔,例如:00:1A:2B:3C:4D:5E00-1A-2B-3C-4D-5E
每台支持网络的设备(电脑、手机、路由器、摄像头等)至少有一个 MAC 地址(每块网卡一个)。
3.2.1 mac地址的作用
在计算机网络中,MAC 地址用于“同一局域网(Local Area Network, LAN)内”相邻节点之间的数据传输判断。更准确地说:
MAC 地址用于在“数据链路层(Layer 2)”上,从一个网络接口(如网卡)到另一个直接相连的网络接口之间的帧传输寻址。
从一个 主机A 到 主机B 的端到端数据传输过程中,源 MAC 地址和目的 MAC 地址在每一跳(hop)都会更新,仅用于当前链路的本地传输,但是 源IP 和 目的IP 保持不变(除非使用 NAT等特殊技术)
| 字段 | 是否变化 | 说明 |
|---|---|---|
| 源 IP / 目的 IP | ❌ 不变 | 端到端逻辑地址,标识通信的起点和终点 |
| 源 MAC / 目的 MAC | ✅ 每跳都变 | 仅用于当前物理/数据链路层的本地交付 |
在标准 IP 路由环境下,从主机 A 到主机 B 的传输中:
- IP 地址(源/目的)保持不变 → 保证端到端通信语义
- MAC 地址(源/目的)每经过一个二层/三层设备就更新一次 → 保证本地链路正确投递
3.3、MTU
MTU(Maximum Transmission Unit,最大传输单元) 是指一个网络接口在一次通信中能够传输的最大数据帧(或包)的有效载荷(payload)大小,单位为字节(Bytes)。
| 网络类型 | 默认 MTU(字节) | 说明 |
|---|---|---|
| 以太网(Ethernet) | 1500 | 最广泛使用的标准值 |
以太网协议规定其帧的数据载荷(即 IP 数据报)最大为 1500 字节。虽然 IP 协议理论上支持长达 65535 字节的数据报,但在以太网上实际传输时,若 IP 包超过 1500 字节,就必须由 IP 层将其分片为多个 ≤1500 字节的 IP 分片,每个分片封装在一个以太网帧中传输。接收端收到所有分片后,再重组为原始 IP 包。