Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 PVLAN 中的 IRB 接口转发数据包

本主题介绍 PVLAN 数据包转发如何在增强型 LAN 模式下与 MX 系列路由器上的 IRB 接口配合使用。IRB 接口作为桥接域所有成员的第 3 层网关运行。假定桥接域的所有成员都与用作网关的 IRB 接口的子网位于同一子网中。

考虑一个示例部署方案,其中两个路由器(路由器 1 和路由器 2)配置了 PVLAN。在路由器 1 上,混合端口为 P1,交换机间链路为 L1,隔离端口为 I1,两个公共组端口为 C11 和 C21。同样,在路由器 2 上,混合端口为 P2,交换机间链路为 L2,隔离端口为 I2,两个公共组端口为 C12 和 C22。在示例配置中,两台路由器通过 ISL 链路 L1 与 L2 互连。PVLAN 域跨这两个路由器定义,其中包含隔离端口(I1、I2)、社区 1 端口(C11、C12)和社区 2 端口(C21、C22)的子域。由于所有端口都位于同一子网中,因此在没有 IRB 的情况下,交换功能可以按照 PVLAN 规则跨端口、跨路由器工作。当最终主机需要跨子网联系时,您必须在桥接域上配置 IRB。从终端主机的角度来看,要跨桥接域进行连接,需要将 IRB IP 地址配置为默认网关地址。所有第 3 层连接都是通过处理 ARP 请求和 ARP 响应建立的。以下部分介绍 PVLAN 中第 3 层流量支持遇到的不同场景。

PVLAN 端口上的传入 ARP 请求

ARP 请求以广播数据包的形式进入 PVLAN 端口。从 PVLAN 域的入口方向进入的所有数据包都包含将其桥接域 ID 转换为主 VLAN 网桥域 ID。在这种情况下,ARP 数据包中包含的网桥域 ID 也会转换为主 VLAN 的网桥域 ID。在桥接域中配置 IRB 时,IRB MAC 地址将作为主 VLAN 桥接域 ID 上的合格目标 MAC 地址添加到 MAC 表中。ARP 请求将泛洪到接收该请求的辅助桥接域的所有端口,此外,还会向 IRB 逻辑接口发送一份副本。

当 IRB 逻辑接口收到此数据包时,它会将该数据包作为 ARP 数据包发送到主机,其中包含主 BD 和接收数据包的第 2 层逻辑接口。PVLAN 域学习 ARP 数据包的源 MAC 地址,内核学习 ARP 数据包的发送方 IP,并触发下一跃点安装。如果 ARP 请求发往 IRB IP 地址,则会发送 ARP 响应。如果在 IRB 上启用了代理 ARP,则在目标 IP 地址已知的情况下,IRB 将使用 ARP 回复进行响应。

上述配置案例描述了 ARP 请求进入本地 PVLAN 端口的场景。如果在远程 PVLAN 端口上收到 ARP 请求,则会在远程 PVLAN 域的所有端口上泛洪该请求。由于 IRB 仅在 PVLAN 域的一个路由器上配置,因此在远程 PVLAN 上,泛洪分布在所有端口上。作为远程 PVLAN 域中泛洪的一部分,数据包的副本将发送到 ISL 端口。ISL 端口处理此数据包,就好像它是在本地隔离端口或公共组端口上接收的一样,并且会采用上述处理方法

PVLAN 端口上的传出 ARP 响应

当内核中收到 ARP 请求时,将传输桥接域 ID 和接收第 2 层逻辑接口。触发下一跃点安装,为发送方 IP 地址创建到第 2 层逻辑接口的下一跃点,其中 IRB MAC 地址作为目标 MAC 地址,发送方 MAC 地址作为源 MAC 地址,这两个地址在下一跃点期间显示为第 2 层重写。如果 ARP 请求查询 IRB IP 地址,则会向接收方第 2 层逻辑接口发送 ARP 响应。如果 ARP 请求查询 IRB IP 地址以外的 IP 地址,则会将其处理为在 IRB 上启用了代理 ARP,或者代理 ARP 已被丢弃。由于所有 ARP 请求都被视为在主 VLAN 上接收,因此响应也会随主 VLAN 一起发送。但是,当它到达接收方第 2 层逻辑接口时,将进行相应的 VLAN 转换。

上述场景描述了在本地 PVLAN 端口上发送的 ARP 响应。如果从远程 PVLAN 域接收 ARP 请求,则接收第 2 层逻辑接口为 ISL 端口。在这种情况下,ARP 响应将发送到 ISL 端口,在远程 PVLAN 域上,在 ISL 端口上收到的 ARP 响应将转发到接收 ARP 请求的同一端口。此行为是可能的,因为 ARP 请求的源 MAC 地址是在共享 VLAN 上获知的。

PVLAN 端口上的传出 ARP 请求

当 IRB 必须通告 ARP 请求时,它会为主 VLAN 使用内核泛洪下一跃点,并泛洪到本地 PVLAN 域中的所有端口。接收 ISL 端口还会将数据包泛洪到远程 PVLAN 域。尽管 ARP 请求是使用主 VLAN 构造的,但在出口方向上,将使用特定端口执行相应的 VLAN 转换或 VLAN 弹出。

PVLAN 端口上的传入 ARP 响应

ARP 响应是单播数据包,目标 MAC 地址为 IRB MAC 地址。在启用了 IRB 的本地 PVLAN 域上收到此类数据包时,该数据包将被转发到 IRB 逻辑接口。当数据包到达 IRB 逻辑接口时,它将被传播到主机。内核会通过适当的第 2 层重写触发下一跃点安装。此操作适用于在本地 PVLAN 端口上收到的 ARP 响应。如果在远程 PVLAN 端口上收到 ARP 响应,则会像普通第 2 层数据包一样转发该响应,因为在这种情况下未启用 IRB。当 ARP 请求从本地 PVLAN 域发出时,远程 PVLAN 域中的接收 ISL 端口可能已获知该端口上的 IRB MAC 地址,此地址用于将数据包转发到 IRB 逻辑接口。

在 PVLAN 端口上接收第 3 层数据包

数据包以 IRB MAC 地址作为目标 MAC 地址接收,并通过 IRB 逻辑接口进行处理。数据包的转发方式与常规 IP 数据包的转发方式相同。