首页/计算机网络/03-data-link/以太网和 VLAN 🔗 在 Obsidian 中打开
计算机网络 · 03-data-link

以太网和 VLAN

重要度 ⭐⭐⭐⭐⭐ 计算机网络/数据链路层以太网MAC地址CSMA/CD交换机VLAN802.1Q
速查
以太网帧 = 首部14B(目的MAC6 + 源MAC6 + 类型2) + 数据46~1500B + FCS4B;最小帧长 64B(由 CSMA/CD 争用期 51.2μs 决定),最大 1518B,MTU 1500B。VLAN 用 802.1Q 标签(4B,VID 12 位,范围 1~4094)逻辑划分广播域。

核心概念

1. 以太网概述

以太网(Ethernet)是当今最常用的局域网技术标准,由 IEEE 802.3 定义。最初使用总线拓扑(同轴电缆),现代以太网使用星形拓扑(交换机为中心)。

标准名称速率介质年代
802.310BASE510 Mbps粗同轴电缆1983
802.3u100BASE-TX100 Mbps5 类双绞线1995
802.3z1000BASE-X1 Gbps光纤/短铜线1998
802.3ab1000BASE-T1 Gbps5e 类双绞线1999
802.3ae10GBASE10 Gbps光纤2002

两个常用标准:DIX Ethernet V2(实际最广泛)与 IEEE 802.3(多一个 LLC 子层),帧格式差别主要在类型/长度字段,实际几乎都用 V2。

2. MAC 地址

MAC 地址是数据链路层硬件地址,长度 48 位(6 字节),常用冒号分隔的 12 个十六进制数表示(如 00:1A:2B:3C:4D:5E)。

  • 前 24 位(3 字节):厂商标识符 OUI(IEEE 分配)
  • 后 24 位(3 字节):设备标识符(厂商分配)
  • 广播地址 FF:FF:FF:FF:FF:FF;第 1 字节最低位为 1 是组播,为 0 是单播

3. 以太网帧格式(Ethernet V2)

字段长度说明
目的 MAC6 字节接收方地址
源 MAC6 字节发送方地址
类型2 字节上层协议(0x0800=IP,0x0806=ARP,0x86DD=IPv6)
数据46~1500 字节上层数据,不足 46 字节需填充
FCS4 字节帧校验序列,CRC-32
参数说明
最小帧长64 字节14 + 46 + 4
最大帧长1518 字节14 + 1500 + 4
MTU1500 字节数据字段最大值
最小数据长度46 字节保证 CSMA/CD 正常工作
为什么最小帧长是 64 字节 在 CSMA/CD 中,发送方必须在发送完帧之前检测到冲突。以太网争用期(往返传播时延)为 51.2μs,在 10Mbps 下可发 512 比特 = 64 字节。帧长 ≥ 64B 才能保证发送过程中冲突可被检测。

4. CSMA/CD 协议

CSMA/CD(带冲突检测的载波侦听多路访问)是以太网的介质访问控制协议:

  1. 载波侦听(CS):发送前先监听信道是否空闲
  2. 多点接入(MA):多设备共享同一信道
  3. 碰撞检测(CD):发送中持续检测是否发生碰撞

截断二进制指数退避:第 k 次冲突后(k ≤ 10),从 {0,1,…,2ᵏ−1} 中随机选 r,等待 r×2τ(τ 为单程传播时延);k>10 时集合固定为 2¹⁰=1023;超过 16 次放弃发送。

5. 交换机

交换机工作在数据链路层,按 MAC 地址表转发帧:收到帧先学源 MAC→入端口,再查目的 MAC——找到则从对应端口单播转发,未找到则向除入端口外的所有端口泛洪;表项有老化机制(通常 300s)。

比较项集线器 Hub交换机 Switch
层次物理层数据链路层
转发方式所有端口广播按 MAC 表定向转发
冲突域所有端口同一域每端口独立冲突域
广播域同一广播域默认同一广播域
全双工不支持支持

6. VLAN(虚拟局域网)

VLAN 是在物理网络上通过软件逻辑划分的广播域。同一 VLAN 内可直接通信,不同 VLAN 间通信需经路由器或三层交换机。作用:隔离广播域、提高安全性、灵活管理、减少广播开销。

实现方式:基于端口(最常用)、基于 MAC 地址、基于协议。

VLAN 标签(802.1Q)

帧跨交换机传递 VLAN 信息时,插入 4 字节 802.1Q 标签,位于源 MAC 与类型字段之间:

字段长度说明
TPID2 字节标签协议标识,固定 0x8100
PRI3 位优先级 0~7
CFI1 位规范格式指示
VID12 位VLAN ID,范围 0~4095(0 和 4095 保留)

有效 VLAN ID 为 1~4094,共 4094 个。

端口类型说明连接设备
Access只属一个 VLAN,收发不带标签帧终端设备(PC、服务器)
Trunk属多个 VLAN,传输带标签帧交换机之间
Hybrid可灵活配置是否带标签灵活场景
VLAN 间通信不同 VLAN 通信需要三层设备:路由器(每个 VLAN 接一个接口 / 单臂路由)或三层交换机。

关键定义

概念定义
MAC 地址48 位硬件地址,唯一标识网络接口
以太网帧以太网的数据传输单元
CSMA/CD带冲突检测的载波侦听多路访问协议
最小帧长64 字节,保证 CSMA/CD 检测冲突
MTU最大传输单元,以太网为 1500 字节
VLAN虚拟局域网,逻辑广播域
802.1QVLAN 标签标准,插入 4 字节标签
Access 端口连接终端,属于单个 VLAN
Trunk 端口交换机互联,承载多 VLAN
广播域 / 冲突域广播帧 / 冲突能到达的网络范围

手算示例

例1:帧长计算

:以太网帧携带 100 字节数据(IP 数据报),求帧总长。
:数据 100B ≥ 46 无需填充;首部 14B + 数据 100B + FCS 4B = 118 字节

例2:最小帧长与填充

:数据仅 20 字节,求传输帧长。
:20B < 46B 需填充至 46B;帧长 = 14 + 46 + 4 = 64 字节(最小帧长)。填充部分不计入 IP 数据报长度。

例3:带 VLAN 标签的帧长

:标准帧 1518 字节,加 802.1Q 标签后多长?
:1518 + 4 = 1522 字节(最大帧长由 1518 扩为 1522)。

例4:CSMA/CD 退避计算

:第 3 次冲突(k=3),τ=25.6μs,求退避范围。
:从 {0,1,…,2³−1}={0,…,7} 选 r;退避 = r×2τ = r×51.2μs;范围 0 ~ 358.4μs;平均 3.5×51.2 = 179.2μs。

例5:VLAN 划分

:技术部(10人)/市场部(8人)/财务部(5人)用一台 24 口交换机按部门划分 VLAN,交换机间用 Trunk。
:VLAN 10(端口1~10)、VLAN 20(端口11~18)、VLAN 30(端口19~23)、端口 24 为 Trunk;产生 3 个广播域;VLAN 间通信需路由器/三层交换机。

常见考法

  1. 以太网帧格式:各字段长度/含义、最小/最大帧长
  2. MAC 地址:格式、广播地址、单播/组播判断
  3. CSMA/CD:原理、最小帧长原因、退避算法
  4. VLAN 配置:端口类型、VID 范围、标签格式
  5. 冲突域 / 广播域:集线器/交换机/路由器的划分
  6. 交换机原理:MAC 表学习、转发、泛洪
  7. 802.1Q:4 字节标签的结构与作用

易错点

注意
  1. 最小帧长 64B,不是 46B:46B 只是数据最小值,还要加 14+4
  2. MTU=1500B 是数据字段最大值,不是帧的最大值(帧最大 1518B)
  3. 全双工交换式以太网不需要 CSMA/CD:点对点全双工无冲突
  4. 交换机默认不隔离广播域:所有端口同广播域,除非配 VLAN
  5. VLAN ID 1~4094:0 和 4095 保留
  6. Trunk 传带标签帧、Access 传不带标签帧
  7. FCS 校验失败帧被丢弃,不上交上层

核心结论

必背
  1. 以太网帧 = 首部 14B + 数据 46~1500B + FCS 4B
  2. 最小帧长 64B,由 CSMA/CD 争用期决定
  3. MAC 地址 48 位,前 24 位 OUI、后 24 位设备标识
  4. 交换机按 MAC 表转发,每端口是独立冲突域
  5. VLAN 将物理网络划分为多个逻辑广播域
  6. 802.1Q 在源 MAC 与类型间插入 4B 标签,VID 12 位
  7. Access 连终端(无标签),Trunk 连交换机(有标签)
  8. VLAN 间通信必须经三层设备

记忆卡片

最小帧长为什么是 64 字节?
为保证 CSMA/CD 正常工作:10Mbps 争用期 51.2μs 可发 512bit=64B,发送完前必须能检测到冲突。
MAC 地址和 IP 地址的区别?
MAC 是数据链路层 48 位硬件地址,全球唯一不可变;IP 是网络层 32 位逻辑地址,可配置用于路由。
未知目的 MAC 的帧如何处理?
进行泛洪:向除入端口外所有端口转发;同时学习源 MAC 更新表项。
802.1Q 标签插在哪?
插在源 MAC 与类型字段之间,长 4B:TPID(0x8100)+PRI(3bit)+CFI(1bit)+VID(12bit)。
Access 与 Trunk 端口区别?
Access 只属一个 VLAN、连终端、收发无标签帧;Trunk 承载多 VLAN、连交换机、传带标签帧。
交换机能隔离广播域吗?
默认不能(所有端口同广播域);只有配置 VLAN 后才能逻辑隔离广播域。

图示 · 以太网帧与 802.1Q 标签

标准以太网帧(Ethernet V2) 目的MAC6B 源MAC6B 类型2B 数据46~1500B FCS4B 带 802.1Q 标签的帧(VLAN) 目的MAC6B 源MAC6B VLAN标签4B 类型2B 数据46~1500B FCS4B ↑ 标签插在源 MAC 与类型之间 TPID0x8100 2B PRI3bit CFI1bit VID12bit 1~4094 802.1Q 标签共 4 字节:TPID(2B) + PRI(3bit) + CFI(1bit) + VID(12bit)
图:标准帧首部 14B;VLAN 在源 MAC 与类型间插入 4B 标签,最大帧长由 1518 扩为 1522 字节。

交互动画 · VLAN 广播域隔离的 7 步过程

手动模式
交换机24口 支持802.1Q PC1端口1 PC2端口2 PC3端口3 PC4端口4 PC5端口5 PC6端口6 VLAN 标签:TPID(2B) + PRI(3bit) + CFI(1bit) + VID(12bit)
无 VLAN → 一台交换机 = 一个广播域;划分 VLAN 后按 VID 隔离广播
交换机默认不隔离广播域;VLAN 用 802.1Q 标签(4B)跨交换机传递 VID

相关知识点

vlan-detail bridge-and-switch wide-area-network

↑ 站内 HTML 相对链接(纯网页可浏览);本页右上「在 Obsidian 中打开」跳回源笔记。