← 返回学习笔记

4 题型 - 虚拟局域网

408 学习笔记:4 题型 - 虚拟局域网。保留原有知识内容、公式与图示;有对应原件时提供查看和下载入口。

本页目录

描述:VLAN 用逻辑分组划分广播域。同一 VLAN 内的主机可以进行二层单播和广播,不同 VLAN 之间必须经过三层转发。常考点包括 VLAN 成员判断、ARP 表项、Access/Trunk 端口以及 IEEE 802.1Q 标签处理。

4.1 VLAN 的核心作用

VLAN 是在二层交换网络中划分广播域的技术,不是重新铺设一个物理网络。

  • 同一交换机上的不同端口可以属于不同 VLAN。
  • 同一 VLAN 的主机可以连接在不同交换机上,只要交换机间链路能够承载该 VLAN。
  • 同一 VLAN 内的站点可以直接进行二层单播和广播。
  • 不同 VLAN 之间不能直接进行二层单播或广播。
  • VLAN 间通信需要路由功能,例如多臂路由、单臂路由或三层交换机。

可以把 VLAN 理解为逻辑广播域:

VLAN1 内部:可直接通信
VLAN2 内部:可直接通信
VLAN3 内部:可直接通信
VLAN1、VLAN2、VLAN3 之间:不能直接通信,必须经过三层转发

4.2 VLAN 与 ARP

4.2.1 ARP 的基本过程

ARP 根据已知 IPv4 地址查询对应的 MAC 地址:

  1. 源主机广播 ARP 请求,目的 MAC 为 FF-FF-FF-FF-FF-FF。
  2. 拥有目标 IPv4 地址的设备通常单播返回 ARP 响应。
  3. 源主机缓存 <IPv4 地址, MAC 地址, 生存时间> 映射。

ARP 只能在当前链路或广播域内使用,ARP 广播不会被普通路由器转发。

  • 目的主机与源主机在同一 VLAN,且源主机根据子网掩码/路由表判定目的 IPv4 地址在本链路:源主机可直接 ARP 查询目的主机 MAC。
  • 若路由表判定目的地址需经网关,源主机 ARP 查询的是本链路下一跳网关的 MAC,而非远端主机 MAC;若把异 VLAN 目的主机误配置成“同一 IP 子网”,源主机会尝试直接 ARP,但广播过不了 VLAN 边界,通常无法得到目的主机应答。同一 VLAN 与同一 IP 子网是两种不同条件,不能只凭 VLAN 成员关系断定 ARP 对象。
  • 若通信路径中有 $n$ 个路由器,且这 $n+1$ 段均为使用 ARP 解析下一跳 MAC 的 IPv4 广播链路、各段相关 ARP 缓存均为空,则最多需要在 $n+1$ 段链路上分别进行 ARP 交互。点到点链路或使用其他邻居解析机制的链路不能机械套用该式。

一次 ARP 交互通常指“一次广播请求 + 一次单播响应”。

4.2.2 ARP 表与交换机 MAC 地址表

  • 主机或三层接口维护 ARP 表,记录 IP 与 MAC 的对应关系。
  • 普通二层交换机主要维护 MAC 地址表,记录 MAC 与交换端口的对应关系。
  • 题目询问某主机的 ARP 表时,应先判断哪些设备能与该主机在同一 VLAN 内直接通信。

4.3 Access、Trunk 与 IEEE 802.1Q

4.3.1 Access 端口

  • Access 端口通常连接终端主机,归属于一个 VLAN。
  • 主机收发的通常是没有 VLAN 标签的普通以太网 MAC 帧。
  • 交换机从 Access 端口收到无标签帧后,依据该端口的 PVID 把帧归入相应 VLAN。
  • 从 Access 端口发送给主机时,交换机会去除 VLAN 标签。

4.3.2 Trunk 端口

  • Trunk 端口通常用于交换机之间,或交换机与路由器之间互联。
  • 一条 Trunk 链路可以承载多个 VLAN。
  • Trunk 上通常使用 IEEE 802.1Q 标签区分帧属于哪个 VLAN。
  • 按本题采用的 PVID 处理模型,从 Trunk 发出的帧既可能是无标签普通以太网帧,也可能是带标签的 802.1Q 帧。

题目给出的 Trunk 转发规则为:

待发送帧 处理
802.1Q 帧的 VID 等于出接口 PVID 去除 VLAN 标签后转发
802.1Q 帧的 VID 不等于出接口 PVID 保留 VLAN 标签直接转发
Trunk 收到无标签帧 根据接口 PVID 插入标签,标签 VID 取 PVID

具体设备对原生 VLAN、PVID 和无标签帧的处理可由厂商配置;做题时以题目明确给出的规则为准。

4.3.3 802.1Q 帧的变化

普通 Ethernet V2 帧结构:

目的 MAC 源 MAC 类型 数据载荷 FCS
6 B 6 B 2 B 46-1500 B 4 B

最大帧长为:

$$ 6+6+2+1500+4=1518\ \mathrm{B} $$

802.1Q 在源 MAC 与类型字段之间插入 4 B VLAN 标签:

目的 MAC 源 MAC VLAN 标签 类型 数据载荷 FCS
6 B 6 B 4 B 2 B 42-1500 B 4 B

最大帧长相应变为:

$$ 1518+4=1522\ \mathrm{B} $$

802.1Q 标记帧的最小有效载荷可降为 42 B,使最小帧仍为 64 B;若在已有 46 B 载荷的最小普通帧上直接插入标签,得到的是 68 B 帧。原 PDF 图中把带标签帧载荷也固定标成 46–1500 B,只覆盖后一种情况,不能当作所有带标签帧的下限。可参照 Cisco 对带标签最小帧和填充长度的说明。

4.4 2024 年真题:H4 的 ARP 表

4.4.1 主机与 VLAN 对应关系

主机 IPv4 地址 MAC 地址 VLAN
H1 192.168.3.91 00-3E-C2-39-12-B5 VLAN1
H2 192.168.3.81 00-18-A2-3B-36-21 VLAN1
H3 192.168.3.125 00-E5-78-4A-09-B2 VLAN1
H4 192.168.3.12 00-35-6A-B1-4C-92 VLAN1
H5 192.168.3.251 00-1A-39-5B-E4-45 VLAN2
H6 192.168.3.129 00-08-6E-05-A7-82 VLAN3
H7 192.168.3.190 00-51-48-C9-63-A3 VLAN3

题目问:下列哪一条 <IP 地址, MAC 地址, TTL> 映射不会出现在 H4 的 ARP 表中?

选项 表项对应主机 是否可能出现
A H2:192.168.3.81 / 00-18-A2-3B-36-21 可能,同属 VLAN1
B H1:192.168.3.91 / 00-3E-C2-39-12-B5 可能,同属 VLAN1
C H3:192.168.3.125 / 00-E5-78-4A-09-B2 可能,同属 VLAN1
D H6:192.168.3.129 / 00-08-6E-05-A7-82 不可能直接通过 ARP 获得,H6 属于 VLAN3

按题图的 VLAN 划分,H4 只可能与 VLAN1 内的 H1、H2、H3 直接二层通信。H6 与 H4 不在同一广播域,H4 的 ARP 请求到不了 H6;若配置了跨 VLAN 路由且目的地址需经网关,H4 通常解析本 VLAN 下一跳的 MAC,而不是直接取得 H6 的 MAC。本题未给子网掩码,不能仅凭这张图断言 H4 一定会向网关而非目标地址发起 ARP;但两种常规路由判断都不会让 H6 直接应答 H4 的广播。

答案:D。

4.5 模拟题:跨交换机 VLAN 与 Trunk

两台二层交换机 S1、S2 通过 S1 端口 4 与 S2 端口 1 相连。主机的 VLAN 关系为:

VLAN 主机
VLAN1 H1、H2、H3、H4
VLAN2 H5、H6
VLAN3 H7

判断四个选项:

A. H1 的 ARP 表中可能记录 H3 的 IP3/MAC3

H1 与 H3 虽连接不同交换机,但同属 VLAN1。若二者进行过通信且表项尚未超时,H1 可以缓存 H3 的 IP/MAC 映射。

A 正确。

B. 交换机间链路可能传普通帧,也可能传 802.1Q 帧

按照题设 Trunk/PVID 规则:VID 等于 Trunk PVID 的帧可去标签发送,VID 不同的帧保留标签。因此链路上两种帧都可能出现。

B 正确。

C. H4 可以收到 H2 发送的广播帧

H2、H4 同属 VLAN1,且 VLAN1 已通过 Trunk 跨越两台交换机,所以 H2 的 VLAN1 广播会到达 H4。

C 正确。

D. H5 与 H7 可以直接单播通信

H5 属于 VLAN2,H7 属于 VLAN3。不同 VLAN 不能直接进行二层单播,必须经三层转发。

D 错误,是本题答案。

4.6 解题步骤

  1. 根据端口划分、颜色框或 VLAN 标号,先写出“主机 - VLAN”对应表。
  2. 判断通信双方是否同属一个 VLAN;物理上是否接在同一交换机不是决定条件。
  3. ARP 表题先按子网掩码和路由表判定目标是否在本链路,再按 VLAN 判断 ARP 广播能否到达;经网关转发时解析本链路下一跳的 MAC。只有在题设有代理 ARP、静态表项等额外机制时才另作判断。
  4. 广播帧只在本 VLAN 内扩散;同 VLAN 可以跨交换机,前提是 Trunk 承载该 VLAN。
  5. 检查端口类型:Access 面向单个 VLAN 的终端,Trunk 承载多个 VLAN。
  6. 遇到 PVID/VID 时严格按题设判断出端口是去标签还是保留标签。

4.7 易错点

  • VLAN 划分看逻辑成员关系,不能只看 IP 地址是否相似或主机是否连接同一交换机。
  • 同一交换机上的主机可能属于不同 VLAN;同一 VLAN 的主机也可能分布在不同交换机。
  • ARP 广播不能跨 VLAN;VLAN 间经路由通信且源主机有正确路由时,源主机通常解析本链路下一跳网关的 MAC。不能只看 VLAN 而忽略 IP 子网与路由表。
  • 二层交换机的 MAC 地址表不是 ARP 表:前者是 MAC -> 端口,后者是 IP -> MAC。
  • Access 出方向通常发送无标签帧;Trunk 上是否保留标签还要比较 VID 与 PVID,并以题设规则为准。
  • 802.1Q 标签长度是 4 B,插入位置在源 MAC 与类型字段之间,最大帧长由 1518 B 变为 1522 B。
  • 不同 VLAN 之间的广播、单播都不能直接二层转发;跨 VLAN 单播需要路由。

相关知识

4.8 本节复盘

  • VLAN 是逻辑广播域;同一 VLAN 可直接二层通信,不同 VLAN 需要三层转发。
  • 同一 VLAN 可以跨越多台交换机,一条 Trunk 链路可以承载多个 VLAN。
  • ARP 请求广播、响应通常单播,且只能在当前链路或 VLAN 内生效;是否直接查询目的主机还要看源主机的 IP 路由判断。
  • “经过 $n$ 个路由器最多进行 $n+1$ 次 ARP”只适用于每段都使用 ARP 的 IPv4 广播链路且相关缓存均为空。
  • 2024 年题中 H4 属于 VLAN1,H6 属于 VLAN3,所以 H6 的 IP/MAC 映射不会出现在 H4 的 ARP 表中,答案 D。
  • 模拟题中 A、B、C 正确,H5 与 H7 属于不同 VLAN,不能直接单播,错误项为 D。
  • Access 端口通常向主机发送无标签帧;Trunk 根据 VID/PVID 决定去标签或保留 802.1Q 标签。
  • 802.1Q 插入 4 B 标签,使最大以太网帧由 1518 B 变为 1522 B。