跳到主要内容

Appendix A. SR P2MP Policy 和 P2MP Tree 示例 (Illustration)

示例使用以下拓扑:

                             R3------R6
Controller--/ \
R1----R2----R5-----R7
\ /
+--R4---+

N-SIDn 是节点 Rn 的 Node-SID. A-SIDmn 是从 RmRn 的 Adjacency-SID. Lmn 是它们之间的接口. 对于 SRv6, 示例使用 2001:db8::/32, 内部地址空间 2001:db8:0::/48, 内部 SRv6 SID 空间 2001:db8:cccc::/48, 以及 End, End.X, PSPUSD 函数.

Controller 配置如下:

SR P2MP Policy <R1,T-ID>:
Leaf nodes: {R2, R6, R7}
candidate-path 1:
Optimize: IGP metric
Tree-SID: T-SID1

存在一个活动 PTI, 其 Instance-IDI-ID1. Replication segments 使用 T-SID1 作为 Replication-SID. 对于 SRv6, 节点 k 上绑定到 End.Replicate 的 Replication-SID 为 2001:db8:cccc:k:fa::/128.

A.1. 使用非相邻 Replication Segments 的 P2MP Tree (P2MP Tree with Non-Adjacent Replication Segments)

计算出的 PTI 具有 Root R1, 同时作为中间节点和 Leaf 节点的 R2, 以及 Leaf 节点 R6R7. R1 复制到 R2. R2 复制到 R6 和 R7. R3, R4 和 R5 承载数据包, 但不为该树保存 Replication segment 状态.

A.1.1. SR-MPLS

Replication segment <R1,T-ID,I-ID1,R1>:
Replication-SID: T-SID1
Replication State:
R2: <T-SID1->L12>

Replication segment <R1,T-ID,I-ID1,R2>:
Replication-SID: T-SID1
Replication State:
R2: <Leaf>
R6: <N-SID6, T-SID1>
R7: <N-SID7, T-SID1>

Replication segment <R1,T-ID,I-ID1,R6>:
Replication-SID: T-SID1
Replication State:
R6: <Leaf>

Replication segment <R1,T-ID,I-ID1,R7>:
Replication-SID: T-SID1
Replication State:
R7: <Leaf>

R1 向 R2 推入 <T-SID1>. R2 作为 Bud 节点, 在本地弹出 T-SID1, 并分别向 R6 和 R7 推入 <N-SID6,T-SID1><N-SID7,T-SID1>. 倒数第二跳对 Node-SIDs 执行 PHP, 为 Leaf 节点留下 <T-SID1>.

A.1.2. SRv6

对于 R2 到 R7 的流量, 示例使用带有以下 segment list 的 Policy27:

Policy27: <2001:db8:cccc:4:c17::>

Replication segment <R1,T-ID,I-ID1,R1>:
Replication-SID: 2001:db8:cccc:1:fa::
Replication State:
R2: <2001:db8:cccc:2:fa::->L12>

Replication segment <R1,T-ID,I-ID1,R2>:
Replication-SID: 2001:db8:cccc:2:fa::
Replication State:
R2: <Leaf>
R6: <2001:db8:cccc:6:fa::>
R7: <2001:db8:cccc:7:fa:: -> Policy27>

使用 H.Encaps.Replicate 时, R1 将 (2001:db8::1, 2001:db8:cccc:2:fa::) (A,B2) 发送到 R2. R2 因其 Leaf 角色移除外层 IPv6 头部, 同时也执行复制. 朝向 R7 时, R2 使用 H.Encaps 进行封装. R4 执行 End.X USD, 解封装, 并将 (2001:db8::1, 2001:db8:cccc:7:fa::) (A,B2) 发送到 R7.

A.2. 使用相邻 Replication Segments 的 P2MP Tree (P2MP Tree with Adjacent Replication Segments)

计算出的 PTI 具有 Root R1, 同时作为中间节点和 Leaf 节点的 R2, 中间节点 R3R5, 以及 Leaf 节点 R6R7. R1 复制到 R2. R2 复制到 R3 和 R5. R3 复制到 R6. R5 复制到 R7. R4 没有 Replication segment 状态.

A.2.1. SR-MPLS

Replication segment <R1,T-ID,I-ID1,R2>:
Replication-SID: T-SID1
Replication State:
R2: <Leaf>
R3: <T-SID1->L23>
R5: <T-SID1->L25>

Replication segment <R1,T-ID,I-ID1,R3>:
Replication-SID: T-SID1
Replication State:
R6: <T-SID1->L36>

Replication segment <R1,T-ID,I-ID1,R5>:
Replication-SID: T-SID1
Replication State:
R7: <T-SID1->L57>

数据包在相邻链路上逐跳复制. 每个 Replication 节点对 T-SID1 执行 NEXT 操作, 在需要时推入下一个 T-SID1, 并在 L23, L25, L36L57 上转发.

A.2.2. SRv6

Replication segment <R1,T-ID,I-ID1,R2>:
Replication-SID: 2001:db8:cccc:2:fa::
Replication State:
R2: <Leaf>
R3: <2001:db8:cccc:3:fa::->L23>
R5: <2001:db8:cccc:5:fa::->L25>

Replication segment <R1,T-ID,I-ID1,R3>:
Replication-SID: 2001:db8:cccc:3:fa::
Replication State:
R6: <2001:db8:cccc:6:fa::->L36>

Replication segment <R1,T-ID,I-ID1,R5>:
Replication-SID: 2001:db8:cccc:5:fa::
Replication State:
R7: <2001:db8:cccc:7:fa::->L57>

使用 H.Encaps.Replicate 时, R2 将 (2001:db8::1, 2001:db8:cccc:3:fa::) (A,B2) 发送到 R3, 并将 (2001:db8::1, 2001:db8:cccc:5:fa::) (A,B2) 发送到 R5. 随后 R3 和 R5 分别朝 R6 和 R7 复制. R6 和 R7 的 Leaf 行为移除外层 IPv6 头部并交付负载.