深入理解数据链路层:以太网、MAC 地址与交换机
在计算机网络的分层体系中,网络层(IP)负责将数据包跨越无数个网络送到目的地,而数据链路层(Data Link Layer)则负责将这些数据包在相邻的两个节点之间进行可靠传输。
如果把网络通信比作寄快递,网络层(IP)决定了从北京到上海的宏观路线,而数据链路层则负责把包裹从你家送到北京的集散中心,以及从上海的集散中心送到收件人手里。
本文将详细总结数据链路层的核心概念、以太网帧格式、MAC 地址、ARP 协议以及交换机的工作原理。
一、数据链路层的核心定位与功能
数据链路层位于物理层之上、网络层之下。它的主要职责是:
二、以太网与 MAC 地址
以太网(Ethernet) 是目前最主流的局域网(LAN)技术。无论是插网线还是有线连接,基本都是以太网。
1. 什么是 MAC 地址?
- MAC 地址(物理地址/硬件地址):是烧录在网卡(NIC)上的全球唯一标识符。
- 格式:长度为 48 位(6 个字节),通常用十六进制表示,如 00:1A:2B:3C:4D:5E。
- 前 24 位是厂商识别码,后 24 位是厂商自行分配的序列号。
- 广播 MAC 地址:FF:FF:FF:FF:FF:FF。当目的地址为全 F 时,局域网内的所有设备都会接收并处理该帧。
IP 地址 vs MAC 地址:
- IP 地址是逻辑地址,描述你所处的网络位置(像“小区门牌号”),会随着你连接不同网络而改变。
- MAC 地址是物理地址,标识你这台物理设备(像“身份证号”),不可更改。
三、以太网帧格式(Ethernet V2)
以太网的数据帧格式是理解局域网通信的基础。目前最通用的是 Ethernet V2 标准。
+———-+———-+——–+——————-+———-+
| 目的地址 | 源地址 | 类型 | 数据(载荷) | FCS |
| (6字节) | (6字节) | (2字节)| (46 ~ 1500字节) | (4字节) |
+———-+———-+——–+——————-+———-+
字段解析:
重点:MTU(最大传输单元)
以太网帧中“数据”部分的最大长度是 1500 字节,这就是我们常说的 MTU。这解释了为什么在上一节 IP 协议中,如果 IP 数据报超过 1500 字节就需要进行 IP 分片。
为什么最小长度是 64 字节?
以太网早期使用 CSMA/CD(载波监听多路访问/冲突检测)协议。如果帧太短,发送方可能在检测到冲突之前就已经发完了。为了确保发送方能收到冲突信号,帧必须有一个最小发送时间,换算下来就是 64 字节(6+6+2+46+4)。
四、ARP 协议(地址解析协议)
在发送数据时,我们需要构造以太网帧,这需要目的 MAC 地址。但应用层通常只给我们目的 IP 地址。如何通过 IP 找到 MAC?这就是 ARP(Address Resolution Protocol) 的工作。
ARP 工作流程:
假设主机 A 知道主机 B 的 IP,但不知道 B 的 MAC 地址。
注意:如果目标 IP 不在同一局域网(跨网段通信),ARP 请求的将不是目标主机的 MAC,而是**默认网关(路由器)**的 MAC 地址。
五、交换机(Switch)的工作原理
在以太网中,连接多台设备的枢纽是交换机。不同于早期的集线器(Hub,工作在物理层,无脑广播),交换机工作在数据链路层。
交换机如何转发数据?
交换机内部维护一张 MAC 地址表(转发表),记录了“MAC 地址 -> 对应交换机端口”的映射关系。
- 如果帧的目的 MAC 在表中有记录,交换机直接将帧从对应端口发出去(单播)。
- 如果目的 MAC 是广播地址,或者表中查不到目的 MAC,交换机会将帧向除接收端口外的所有端口发送(泛洪/广播)。
交换机 vs 集线器
- 集线器(Hub):物理层设备。所有端口同属一个冲突域和广播域。同一时刻只能有一台设备发数据,否则会冲突。
- 交换机(Switch):数据链路层设备。每个端口都是一个独立的冲突域(支持全双工通信,无冲突),但所有端口默认同属一个广播域(除非划分了 VLAN)。
六、常见数据链路层协议扩展
- VLAN(虚拟局域网):通过在以太网帧中插入 4 字节的 VLAN 标签,将一个物理交换机逻辑上划分为多个广播域,隔离广播风暴,提高安全性。
- PPP(点对点协议):常用于拨号上网或路由器之间的广域网连接,不涉及 MAC 地址寻址。
七、总结
数据链路层解决了网络通信中**“相邻节点之间的数据传输”**问题:
理解了数据链路层,你就能明白局域网内机器是如何互相发现的、为什么会有广播风暴,以及网络抓包时以太网帧里到底装了些什么。这为我们深入学习 HTTP、TCP 以及排查底层网络故障打下了坚实的基础。
网硕互联帮助中心






评论前必须登录!
注册