Sub-VLAN 与 Super-VLAN 的 ARP 代理原理是什么?

在 HCIE Datacom 的架构设计中,VLAN Aggregation(VLAN 聚合) 是一种用于节省 IP 地址资源的二层隔离、三层互通技术。

要理解其 ARP 代理(Proxy ARP)的原理,我们必须先明确 Sub-VLAN 与 Super-VLAN 的角色定位,以及它们在转发逻辑上的“断层”。

1. 技术背景:为什么需要 ARP 代理?

  • Sub-VLAN :只包含物理接口,用于隔离广播域,但 不配置三层 VLANIF 接口 (即没有 IP 地址)。
  • Super-VLAN :只创建三层 VLANIF 接口 ,配置 IP 地址和子网掩码,但 不包含物理接口 。它映射多个 Sub-VLAN。
  • 困境 :由于 Sub-VLAN 之间在二层是严格隔离的,即使它们属于同一个 Super-VLAN 的子网,彼此也无法直接发送 ARP 请求来获取 MAC 地址。同时,Sub-VLAN 没有自己的网关出口。

2. 核心原理:ARP 代理的触发过程

当 Sub-VLAN 1 中的主机 A(10.1.1.1)试图访问 Sub-VLAN 2 中的主机 B(10.1.1.2)时,其 ARP 代理的工作流程如下:

A. 主机 A 的行为(请求阶段)

主机 A 发现目标 IP(10.1.1.2)与自己在同一网段,于是按照常规逻辑,在 Sub-VLAN 1 内发送 ARP Request 广播 ,请求主机 B 的 MAC 地址。

B. Super-VLAN 的介入(监听与代答)

  1. 由于二层隔离,主机 B 无法收到这个广播。
  2. 关键点 :Super-VLAN 对应的三层交换机开启了 VLAN 间 ARP 代理(Proxy ARP) 功能。
  3. 交换机收到该请求后,发现请求的目标 IP(10.1.1.2)属于其管理的另一个 Sub-VLAN 范围,且本地路由表中有对应的直连网段。
  4. 交换机并不会直接转发这个 ARP 广播,而是以网关身份代为主机 A 去寻找主机 B。

C. 交换机的查询(二次探测)

  1. 交换机会在所有关联的 Sub-VLAN 中(除接收口所属的 Sub-VLAN 1 以外)广播一个 ARP Request ,询问 10.1.1.2 的 MAC 地址。
  2. 主机 B 收到请求后回复 ARP Reply 给交换机。
  3. 交换机将主机 B 的信息记录在本地 ARP 表中。

D. 虚假 MAC 的回应(完成代理)

  1. 交换机现在回过头来给主机 A 发送一个 ARP Reply
  2. 核心原理 :在这个 Reply 报文中,目标 IP 是 10.1.1.2,但 源 MAC 地址却是 Super-VLAN 的 VLANIF 接口 MAC (即网关的 MAC)。
  3. 主机 A 收到后,会认为主机 B 的 MAC 地址就是网关 MAC。

3. 数据转发逻辑

当 ARP 代理完成后,主机 A 访问主机 B 的报文实际上会变成:

  • 二层封装 :目的 MAC = 网关 MAC。
  • 三层封装 :目的 IP = 10.1.1.2。

这意味着: Sub-VLAN 之间的三层互通,实质上是强制经过 Super-VLAN 网关进行三层转发的 。即便两个主机逻辑上属于同一个子网,它们之间的流量也必须经过交换机的 CPU 或 ASIC 进行二层到三层的解封装与再封装。

4. 技术原理要点总结

基于华为/IEEE 相关技术规格,其原理可归纳为:

  1. 二层隔离、三层关联 :Sub-VLAN 负责二层故障隔离(抑制广播风暴),Super-VLAN 负责三层寻址。
  2. 打破同网段不查路由的惯例 :传统网络同网段直接 ARP,在 Super-VLAN 环境下,通过开启 arp-proxy inter-sub-vlan-proxy enable,强制交换机对本网段 ARP 请求进行“接管”。
  3. 地址节约 :所有 Sub-VLAN 共享同一个网关地址、广播地址和网络号,避免了传统多 VLAN 划分导致的子网号、网关号和广播号的重复浪费(每个 VLAN 浪费 3 个 IP)。

提示

如果在配置了 Super-VLAN 的交换机上忘记开启 arp-proxy inter-sub-vlan-proxy enable,你会发现主机 A 虽然能 Ping 通网关,但无法 Ping 通同属一个 Super-VLAN 的主机 B。这是排障中 90% 的错因。