Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

通过 PVLAN 桥接功能

本主题介绍如何在 MX 系列路由器上实现桥接,这将有助于了解实施 PVLAN 桥接过程所涉及的独特增强功能。考虑桥接域中的两个端口,其各自的端口位于不同的 FPC 和不同的数据包转发引擎上。当数据包进入端口时,假设它是标记的数据包,则流程如下所示:

  1. 作为启动过程,将执行 VLAN 查找以确定数据包形成的桥接域。查找的结果标识桥接域 ID (bd_id)、网格组 ID (mg_id)。使用这些参数,将发现为此桥接域配置的其他相关信息。

  2. 执行源 MAC 地址 (SMAC) 查找以确定是否已获知此 MAC 地址。如果不是获知地址,则会将 MLP 数据包(用于将流量泛洪到 MAC 学习芯片的路由)发送到与此桥接域映射的所有其他数据包转发引擎。此外,还会向主机发送 MLP 数据包。

  3. 使用元组(桥接域 ID、VLAN 和目标 MAC 地址)的目标 MAC 地址 (DMAC) 查找。

  4. 如果观察到 MAC 地址匹配,则查找结果指向出口下一跃点。出口数据包转发引擎用于转发数据包。

  5. 如果在查找过程中发生未命中,则使用网格组 ID 确定泛洪下一跃点以泛洪数据包。

PVLAN 桥接需要考虑以下两个重要条件:只允许将特定端口转发到另一个端口。遍历并消耗交换矩阵带宽后,出口接口上会发生丢包。为避免流量丢弃,是否需要丢弃数据包的决定会在遍历交换矩阵之前到达,从而在 DoS 攻击期间节省交换矩阵带宽。由于存在多个重叠的桥接域,表示同一端口(混合或交换机间链路)在多个网桥域中显示为成员,因此在一个端口中获知的 MAC 地址必须对另一个桥接域上的端口可见。例如,在混合端口上获知的 MAC 地址必须对各个社区网桥域上的隔离端口(隔离网桥域)和社区端口(社区网桥域)可见。

要解决此问题,可以使用共享 VLAN 进行 PVLAN 桥接。在共享 VLAN 模型中,跨所有端口获知的所有 MAC 都存储在同一个桥接域(主 VLAN BD)和同一个 VLAN(主 VLAN)中。对数据包执行 VLAN 查找后,还会使用 PVLAN 端口、PVLAN 桥接域以及 PVLAN 标记或 ID。使用共享 VLAN 方法会发生以下过程:

  • 执行源 MAC 地址 (SMAC) 查找以确定是否已获知此 MAC 地址。如果不是获知地址,则会将 MLP 数据包(用于将流量泛洪到 MAC 学习芯片的路由)发送到与此桥接域映射的所有其他数据包转发引擎。此外,还会向主机发送 MLP 数据包。

  • 使用元组(桥接域 ID、VLAN 和目标 MAC 地址)的目标 MAC 地址 (DMAC) 查找。

  • 如果观察到 MAC 地址匹配,则查找结果指向出口下一跃点。出口数据包转发引擎用于转发数据包。

  • 如果在查找过程中发生未命中,则使用网格组 ID 确定泛洪下一跃点以泛洪数据包。

  • 如果发生匹配,则组 ID 派生自 VLAN 查找表,并执行以下验证以强制执行主 VLAN 转发:

此处,{*} 是正则表达式表示法中的通配符,指的是任何值。步骤 1 确保允许从混合端口或交换机间链路端口到任何其他端口的所有转发。步骤 2 确保允许从任何端口到混合或交换机间链路端口的所有转发。步骤 3 确保丢弃到另一个隔离端口的任何隔离端口。步骤 4 确保只允许在同一社区内(X == Y)进行社区端口转发,并在跨社区 (X ≠ Y) 时丢弃。