8.3.1.1. Ingress Replication (入口复制)
8.3.1.1. Ingress Replication (入口复制)
每个以 All-Active 或 Single-Active redundancy mode 运行并使用 ingress replication 接收 BUM 流量的 PE, 都会在其所连接 ES 的 Ethernet A-D per ES route 集合中通告一个 downstream assigned ESI label. 该标签 MUST 由通告 PE 编程到平台标签空间中, 且该标签的转发条目必须使收到的带有此标签的数据包 NOT 转发到为其分发该标签的 Ethernet segment.
以 All-Active redundancy mode 运行的 ingress PE 在 BUM packet 中包含 ESI label 的规则如下:
-
non-DF ingress PE MUST 在发送给 DF egress PE 的 BUM packet 副本中包含由该 DF egress PE 分发的 ESI label.
-
ingress PE (DF 或 non-DF) SHOULD 在发送给每个 non-DF egress PE 的 BUM packet 副本中包含由该 non-DF egress PE 分发的 ESI label.
以 Single-Active redundancy mode 运行的 ingress PE 在 BUM packet 中包含 ESI label 的规则如下:
- ingress DF PE SHOULD 在发送给 egress PE 的 BUM packet 副本中包含由该 egress PE 分发的 ESI label.
在 All-Active 和 Single-Active redundancy mode 中, 对于发送给未连接到 BUM packet 进入 EVI 时所经过 ES 的 egress PE 的 BUM packet 副本, ingress PE MUST NOT 包含 ESI label.
举例来说, 考虑 PE1 和 PE2 在 ES1 上多宿主连接到 CE1, 并以 All-Active multihoming mode 运行. 进一步假设 PE1 使用 P2P 或 MP2P LSP 向 PE2 发送数据包. 假设 PE1 是 VLAN1 的 non-DF, PE2 是 VLAN1 的 DF, 并且 PE1 在 ES1 上的 VLAN1 中从 CE1 收到一个 BUM packet. 在此场景中, PE2 为对应某个 EVPN 实例的 VLAN1 分发 Inclusive Multicast Ethernet Tag route. 因此, 当 PE1 发送它从 CE1 收到的 BUM packet 时, 它 MUST 首先将 PE2 为 ES1 分发的 ESI label 压入 MPLS label stack. 随后它 MUST 将 PE2 在 VLAN1 的 Inclusive Multicast Ethernet Tag route 中分发的 MPLS label 压入 MPLS label stack. 生成的数据包再进一步封装到将该数据包传输到 PE2 所需的 P2P 或 MP2P LSP label stack 中. 当 PE2 收到此数据包时, 它从顶部 MPLS label 确定在移除任何 P2P 或 MP2P LSP 标签后要向其复制该数据包的 ESI 集合. 如果下一个标签是 PE2 为 ES1 分配的 ESI label, 则 PE2 MUST NOT 将该数据包转发到 ES1. 如果下一个标签是 PE2 未分配的 ESI label, 则 PE2 MUST 丢弃该数据包. 需要注意, 在此场景中, 如果 PE2 从 CE1 收到 VLAN1 的 BUM packet, 则它在发送给 PE1 时 SHOULD 使用从 PE1 收到的 ESI label 封装该数据包, 以避免在影响 ES1 的故障场景 (例如端口或链路故障) 中出现任何瞬态环路.