数据链路层设备

中优先级
需要了解三点:转发表结构、交换机转发流程 以及 交换方式,选择题会考查,也作为解答题的基础。

MAC 地址

MAC 地址(Media Access Control Address,介质访问控制地址),也称为物理地址硬件地址,是网络设备在数据链路层的唯一标识符,由 48 位(6 字节) 组成,通常以十六进制表示,例如:00:1A:2B:3C:4D:5E

MAC 地址由设备制造商在出厂时烧录到网卡中,理论上全球唯一。其结构分为两部分:

字节含义
前 3 字节OUI(组织唯一标识符),由 IEEE 分配给各厂商
后 3 字节设备序号,由厂商自行分配,确保同厂商内唯一

MAC 地址还有一个特殊的广播地址FF:FF:FF:FF:FF:FF,发送到该地址的帧会被同一局域网内所有设备接收。

注意

MAC 地址工作在数据链路层,用于同一局域网内的设备间通信;而 IP 地址工作在网络层,用于跨网络的路由寻址。路由器转发数据包时,每经过一跳,源/目的 MAC 地址都会更新,但 IP 地址保持不变。

交换机

交换机(Switch)是网络中用于连接设备并转发数据帧的二层设备。它通过分析数据帧中的 MAC 地址,将数据帧从接收端口精准转发到 目标设备所在的端口。相比 集线器,交换机只将数据帧发送到必要端口,避免广播到整个网络,显著降低碰撞域,提升带宽利用率和传输速度。

转发表

转发表(也称 MAC 地址表)是交换机内部维护的一张记录表,存储了网络设备 MAC 地址 与其 连接端口 的对应关系。每条记录通常包含以下信息:

  • MAC 地址:网络设备的唯一标识。
  • 端口号:设备连接的交换机端口。
  • 附加信息(可选):如 VLAN 标识或条目有效时间。
Switch APC1PC3Switch BPC4PC5PC21111.1111.11114444.4444.44442222.2222.22223333.3333.33335555.5555.5555MAC AddressPort1111.1111.1111F02222.2222.2222F13333.3333.3333F24444.4444.4444G05555.5555.5555G0F0G0F1F2G0F0F1Switch AMAC AddressPort1111.1111.1111G02222.2222.2222G03333.3333.3333G04444.4444.4444F05555.5555.5555F1Switch B

如上图所示,交换机 A 和 B 分别通过 转发表 记录了通往每个 MAC 地址 的端口。

转发流程

当交换机收到数据帧后,会根据 转发表(MAC 地址表) 执行以下步骤:

  1. 检查目标 MAC 地址
    • 从数据帧的头部提取目标 MAC 地址。
  2. 查询转发表(MAC 地址表)
    • 命中(已学习):如果表中有该 MAC 地址 → 将帧转发到对应端口(单播)。
    • 未命中(未知 MAC):如果表中没有记录 → 交换机将帧 泛洪(Flooding),即复制该帧并发送到除接收端口以外的所有端口。
  3. 转发数据帧
    • 目标设备收到帧后应答,交换机会根据 源 MAC 地址 学习到该设备所在端口,并更新转发表。
SwitchForwardingstart收到数据帧extract提取目标MAC地址start->extractlookup查询转发表extract->lookuphit表中存在MAClookup->hit命中miss表中无MAC记录lookup->miss未命中unicast单播转发发送到对应端口hit->unicastflood泛洪转发发送到所有端口miss->floodresponse目标设备应答flood->response等待learn学习源MAC更新转发表response->learn
注意

这里的“广播”是二层的 Flooding 行为,并不是“发送 ARP 请求”。交换机只是盲目地把该帧发给所有人,以期目标主机回复。

交换方式

交换机的交换方式 是指交换机在接收到数据帧后,开始转发数据帧之前所采用的处理方式,它决定了交换机需要接收到数据帧的哪一部分后才开始转发。

  • 直通交换 :交换机在接收到数据帧的前6个字节(即目的 MAC 地址)后,立即根据 MAC 地址表 查找目标端口并开始转发,无需等待整个数据帧接收完成。
  • 存储转发 :交换机接收完整数据帧后,存储在缓冲区中,进行 CRC(循环冗余校验)检查,确认数据帧无误后再根据 MAC 地址表 转发。
  • 碎片隔离:在直通交换基础上,增加了一个"至少收到 64 Byte"的检查,以过滤碰撞产生的碎片帧。
补充

碎片隔离为什么是 64B

IEEE 802.3 要求:

一个合法的以太网帧长度(不含前导码)至少 64 Byte。

所以规定:合法Frame ≥ 64 Byte。于是 frame < 64B,基本可以断定是碰撞导致的残缺帧。

交换机交换方式对比数据帧结构:目的MAC其他数据载荷CRC1. 直通交换时间数据帧到达读取MAC立即开始转发(无需等待完整帧)特点:延迟最低,但可能转发错误帧2. 存储转发完整数据帧接收存储到缓冲区CRC校验确认无误后转发特点:可靠性最高,能检测并丢弃错误帧,但延迟较大3. 碎片隔离数据帧到达检查前64字节≥64?正常转发丢弃碎片特点:介于两者之间,能过滤碎片帧,延迟适中性能对比:交换方式转发延迟错误检测适用场景直通交换最低高速网络存储转发最高完整CRC可靠性要求高碎片隔离适中碎片检测平衡性能
注意

很多同学容易将该节谈论的交换方式和 计算机网络的交换方式 弄混淆,需要注意,它们讨论的是两个不同层次的“交换”,中文都叫"交换方式",所以很容易混淆。

可以理解成:

层次讨论对象典型概念
网络层面的交换方式数据如何在整个网络中从 A 到 B电路交换、报文交换、分组交换
交换机内部的转发方式一台交换机收到一帧以后,什么时候开始转发直通交换、存储转发、碎片隔离

网桥

网桥(Bridge)的功能和 交换机 基本一致,两者都是二层网络设备,用于转发数据帧。网桥中也有 转发表 的概念,转发过程和 交换机 一致,这里不再赘述。

E1 — MAC1E1 — MAC2E2 — MAC3E2 — MAC4E1E2BridgeHubHubPC1PC2PC3PC4MAC1MAC2MAC3MAC4

那么 网桥和交换机区别  在哪里呢?

网桥是比较早期计算机网络使用的设备,现在已经渐渐被 交换机 替代,两者的重要区别如下表:

方面网桥(Bridge)交换机(Switch)
端口数量通常较少(2~4 个)通常很多(几十个甚至上百个)
性能软件转发,处理能力较弱硬件转发(ASIC 芯片),转发速度更快
功能简单地转发帧,适合小型或实验网络支持 VLAN、端口镜像、链路聚合等高级功能
使用场景用于连接两个小型网络用于构建现代企业内部网络(LAN)