4. P2MP Tree Instance
PTI 在 SR domain 中建立从 Root node 经由 intermediate Replication nodes 到 Leaf nodes 的 forwarding structure. 它包含 Root node 上的 Replication segment, intermediate Replication nodes 上的零个或多个 Replication segments, 以及 Leaf nodes 上的 Replication segments.
4.1. Leaf Nodes 上的 Replication Segments
一个 PTI 通常关联一个 multipoint service. 在 Leaf node 上, transport identifier, 即 Tree-SID 或 Leaf node Replication-SID, 也关联 service context, 因为在 core 中高效复制时并不总能分离 transport 和 service context.
对 SR-MPLS, 如果预先知道映射到 PTI 的 multipoint services 可以由其 service label 唯一标识, controller MAY 选择不在 Leaf nodes 上实例化 Replication segments. 上游 Replication nodes 可以在转发前移除 Tree-SID. RFC 9573 中的 upstream-assigned label 或 Domain-wide Common Block (DCB) 是全局唯一 context 的例子.
对 SRv6, PTI 的 Replication segments MUST 在 Leaf nodes 上实例化, 因为无法执行类似 Penultimate Hop Popping (PHP) 的行为: Tree-SID 位于外层 IPv6 Destination Address. 如果多个 services 映射到同一个 SRv6 PTI, service-context SRv6 SID MUST 作为 Segment Routing Header Segment List 的最后一个 segment 编码, 以便 Leaf node 推导 packet processing context (PPC).
4.2. Shared Replication Segments
Replication segment MAY 在不同 PTIs 之间共享, 例如用于 Replication node 上的 local protection. Shared Replication segment MUST 使用 Root zero (0.0.0.0 for IPv4 and :: for IPv6), Instance-ID zero, 以及在实例化该 segment 的节点上下文中唯一的 Tree-ID 标识:
Root = 0.0.0.0 or ::
Instance-ID = 0
Tree-ID = unique in the local node context
这符合更新后的 Replication-ID 定义. 不同 PTIs 共享 P2MP sub-tree 是可能的, 但相关过程不在本文范围内.
4.3. P2MP Tree Instance 中的 Packet Forwarding
Packet 被引入 PTI 后, Root node 的 Replication segment 执行 packet replication 并向 downstream nodes 转发副本. 每个复制 packet 携带 downstream Replication segment 的 Replication-SID. Downstream node 可以是 Leaf node, 此时复制终止; 也可以是 intermediate Replication node, 继续复制直到所有 Leaf nodes 都收到 packet.
Replication node 和 downstream node 可以不相邻. SR-MPLS 在 downstream Replication-SID 前插入一个或多个 SIDs 来引导 packet. SRv6 可以使用 downstream Replication-SID 的 LOC, 或可选 segment list, 将复制 packet 引到指定路径.