跳到主要内容

13.1. Forwarding Packets Received from a CE (转发从 CE 接收的数据包)

13.1. Forwarding Packets Received from a CE (转发从 CE 接收的数据包)

当 PE 在给定 Ethernet Tag ID 上从 CE 收到数据包时, 它必须首先查找该数据包的 source MAC address. 在某些启用 MAC security 的环境中, source MAC address MAY 用于验证主机身份, 并确定是否允许来自该主机的流量进入网络. Source MAC lookup MAY 也用于本地 MAC address learning.

如果 PE 决定转发该数据包, 则必须查找该数据包的 destination MAC address. 如果 PE 已从一个或多个其他 PE 收到该 destination MAC address 的 MAC address advertisement, 或已从本地连接的 CE 学习到该地址, 则该 MAC 地址被视为 known MAC address. 否则, 它被视为 unknown MAC address.

对于 known MAC address, PE 将此数据包转发给某个远程 PE 或本地连接的 CE. 转发给远程 PE 时, 数据包会封装在远程 PE 为该 MAC 地址通告的 EVPN MPLS label 中, 并封装在到达该远程 PE 的 MPLS LSP label stack 中.

如果 MAC 地址未知, 且 PE 上的 administrative policy 要求泛洪 unknown unicast traffic, 则:

  • PE MUST 将该数据包泛洪给其他 PE. PE MUST 首先按第 8.3 节所述将该数据包封装在 ESI MPLS label 中. 如果使用 ingress replication, 数据包 MUST 复制给每个远程 PE, 其中 VPN label 是按如下方式确定的 MPLS label: 这是远程 PE 在 < MAC-VRF> 或 < MAC-VRF, Ethernet tag> 组合的 Inclusive Multicast Ethernet Tag route 中, 通过 PMSI Tunnel attribute 通告的 MPLS label.

路由中的 Ethernet tag 可以与 ingress PE 接收该数据包的接口关联的 Ethernet tag 相同. 如果使用 P2MP LSP, 则对于 EVPN 实例中的 Ethernet tag, 数据包 MUST 在以该 PE 为 root 的 P2MP LSP 上发送. 如果所有 Ethernet tag 使用同一个 P2MP LSP, 则 EVPN 实例中的所有 PE MUST 是该 P2MP LSP 的 leaf. 如果 EVPN 实例中给定 Ethernet tag 使用单独的 P2MP LSP, 则只有该 Ethernet tag 中的 PE MUST 是该 P2MP LSP 的 leaf. 数据包 MUST 封装在 P2MP LSP label stack 中.

如果 MAC 地址未知, 且 PE 上的 administrative policy 不允许泛洪 unknown unicast traffic, 则:

  • PE MUST 丢弃该数据包.