以L3VPNv4为例,通过Color方式引流,介绍SRv6 Policy的数据转发过程
-
控制器可以通过BGP-LS等协议扩展收集网络拓扑信息、TE信息以及SR信息,建立全局流量工程数据库。控制器和网络设备一般通过PCEP或BGP SRv6 Policy协议扩展来进行信令交互,把路径计算的结果发送给网络设备。
本案例中,控制器向头节点PE1下发SRv6 Policy,Color为123,Endpoint为PE2的地址2001:db8::1,只有一个Candidate Path,且Candidate Path也只包含一个Segment List <2::1,3::1,4::1>。 -
尾节点PE2向PE1发布BGP VPNv4路由10.2.2.2/32,BGP路由的下一跳是PE2的地址2001:db8::1/128,Color为123,这里所谓的Color是BGP路由携带的扩展团体属性。
-
PE1在接收到BGP路由以后,利用路由的Color和下一跳迭代到SRv6 Policy。Color作为锚点,通过匹配业务和SRv6 Policy的Color,就能实现自动引流。
-
PE1接收到CE1发送的普通单播报文后,查找VPN实例路由表,该路由迭代到了一个SRv6 Policy。PE1为报文插入SRH信息,封装SRv6 Policy的Segment List,同时封装IPv6报文头信息,并查表转发。
-
P1和P2节点根据SRH信息逐跳转发。
-
报文到达PE2之后,PE2使用报文的IPv6目的地址4::1查找本地SID表,命中了End SID,所以PE2将报文的SL值减1,将IPv6 DA更新为VPN SID 4::100。
-
PE2使用VPN SID 4::100查找本地SID表,命中了End.DT4 SID, PE2执行End.DT4 SID的指令,解封装报文,去掉SRH信息和IPv6报文头,使用内层报文的目的地址查找VPN SID 4::100对应的VPN实例路由表,然后将报文转发给CE2。