「SRV6」- 部署环境:L3VPN over SRv6 BE

SRv6 BE(Best Effort)承载 VPN 流量时,PE 之间的 P 设备不作为 Endpoint 节点使用;

路由传递流程

PE 配置 SRv6 和 SRv6 VPN,中间节点设备需要支持 IPv6;

PE2 发布 SRv6 Locator 路由给 PE1;

CE 到 PE 的路由信息交换:CE2 把本站点的路由发布给 PE2。CE 与 PE 之间可以使用静态路由、RIP、OSPFv3、IS-IS 或 BGP;

PE2 从 CE2 学习到 VPN 路由信息后,存放到 VPN 实例路由表中。同时,转换成 MP-BGP 路由;

PE 之间路由发布:PE2 通过 MP-BGP 把 VPN 路由发布给出口 PE1,并且 Update 报文中还携带 RT 属性及 SRv6 VPN SID 属性。注意,BGP 分配的 SRv6 VPN SID 是在 SRv6 Locator 范围之内的,所以才使得后续的 IPv6 报文转发成为可能。

PE1 接收 VPN 路由:PE1 收到 VPN 路由后,在下一跳可达并且通过 BGP 的入口策略的情况下,进行私网路由交叉、路由迭代 SRv6 BE 路径、路由优选等动作,决定是否将该路由加入到 VPN 实例路由表。VPN 路由下发同时关联 SRv6 VPN SID;

PE 到 CE 的路由信息交换:CE1 有多种方式可以从 PE1 学习 VPN 路由,包括静态路由、RIP、OSPFv3、IS-IS 和 BGP,与 CE2 到 PE2 的路由信息交换相同;

报文转发流程

头端 PE1 接收到 CE1 发送的普通单播报文后,查找 VPN 实例路由表,该路由的出接口是 SRv6 Policy。PE1 为报文插入 SRH 信息,封装 SRv6 Policy 的 SID List,然后封装 IPv6 报文头信息。完成之后,PE1 将报文对 P1 转发;

中间 P1 根据 SRH 信息逐跳转发;

报文到达尾节点 PE2 之后,PE2 使用报文的 IPv6 DST Address FC03::3 查找 My Local SID 表,命中到 End SID,所以 PE2 将报文 SL 减 1,IPv6 DA 更新为 VPN SID FC03::300;

PE2 使用 VPN SID FC03::300 查找 My Local SID 表,命中到 End.DT4 SID,PE2 解封装报文,去掉 SRH 信息和 IPv6 报文头,使用内层报文目的地址查找 VPN SID FC03::300 对应的 VPN 实例路由表,然后将报文转发给 CE2;