SRv6 VPN技术白皮书-6W100

手册下载

SRv6 VPN技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2021 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。


 

1 概述··· 1

1.1 产生背景·· 1

1.2 技术优势·· 1

2 BGP overlay服务扩展··· 1

2.1 SRv6 service TLV· 2

2.2 SRv6 Service Sub-TLV· 2

3 SRv6 VPN报文转发方式··· 3

3.1 SRv6 BE· 3

3.2 SRv6 TE· 3

4 IP L3VPN over SRv6· 4

4.1 IP L3VPN over SRv6 BE实现过程·· 4

4.2 IP L3VPN over SRv6 TE实现过程·· 6

5 EVPN L3VPN over SRv6· 7

5.1 EVPN L3VPN over SRv6 BE实现过程·· 8

5.2 EVPN L3VPN over SRv6 TE实现过程·· 9

6 EVPN VPWS over SRv6· 11

6.1 EVPN VPWS over SRv6 BE实现过程·· 12

6.2 EVPN VPWS over SRv6 TE实现过程·· 13

6.3 多归属站点·· 15

6.3.1 冗余备份模式·· 15

6.3.2 路由发布·· 16

6.4 FRR功能·· 16

6.4.1 Bypass PW·· 16

6.4.2 主备PW·· 17

7 EVPN VPLS over SRv6· 17

7.1 EVPN VPLS over SRv6 BE实现过程·· 18

7.2 EVPN VPLS over SRv6 TE实现过程·· 20

7.3 多归属站点·· 22

7.3.1 冗余备份模式·· 22

7.3.2 路由发布·· 22

7.3.3 FRR功能·· 22

8 公网IP over SRv6· 23

8.1 公网IP over SRv6 BE实现过程·· 24

8.2 公网IP over SRv6 TE实现过程·· 25

9 SRv6跨域VPN·· 27

9.1 SRv6跨域VPN简介·· 27

9.2 SRv6跨域VPN报文转发方式·· 27

9.3 VPN-to-VPN连接方式·· 27

9.3.1 VPN-to-VPN连接方式简介·· 27

9.3.2 VPN-to-VPN连接方式实现过程·· 28

9.4 MP-EBGP连接方式·· 30

9.4.1 MP-EBGP连接方式简介·· 30

9.4.2 MP-EBGP连接方式下采用SRv6 BE转发方式实现过程·· 30

9.4.3 MP-EBGP连接方式下采用SRv6 TE转发方式实现过程·· 32

10 SRv6 Interworking· 35

10.1 L3VPN over SRv6 Interworking· 35

10.1.1 L3VPN over SRv6 Interworking简介·· 35

10.1.2 域内L3VPN over SRv6 Interwoking· 36

10.1.3 L3VPN over SRv6 Option A Interworking· 38

10.1.4 L3VPN over SRv6 Option B Interworking· 42

10.2 L2VPN over SRv6 Interworking· 45

10.2.1 MPLS L2VPN网络(或VPLS网络)与SRv6网络互通·· 45

10.2.2 EVPN VPWS over SRv6EVPN VPWS互通·· 46

10.2.3 EVPN VPLS over SRv6EVPN VPLS网络互通·· 54

11 SRv6-TE Policy尾节点保护功能··· 62

11.1 End.M SID·· 63

11.2 远端SRv6 SID·· 63

11.3 路由发布·· 64

11.4 报文转发·· 64

12 参考文献··· 65

 


概述

1.1  产生背景

传统VPN网络中通过部署LDP/RSVP-TE等标签分发协议,在公网中建立虚拟专用通信网络。这种方式部署复杂,维护成本较高。通过在公网部署SRv6 VPN可以解决上述问题。SRv6 VPN是通过SRv6隧道承载IPv6网络中的VPN业务的技术,控制平面采用MP-BGP通告VPN路由信息,数据平面采用SRv6封装方式转发报文。租户的物理站点分散在不同位置时,SRv6 VPN可以基于已有的服务提供商或企业IP网络,为同一租户的不同物理站点提供二层或三层互联。

根据VPN业务种类,SRv6 VPN分为:

·     L3VPN业务:IP L3VPN over SRv6EVPN L3VPN over SRv6

·     L2VPN业务:EVPN VPWS over SRv6EVPN VPLS over SRv6

1.2  技术优势

SRv6 VPN技术具有如下优势:

·     简化维护

仅需要在源节点上控制和维护路径信息,网络中其他节点不需要维护路径信息。

·     智能控制

SRv6基于SDN架构设计,跨越了应用和网络之间的鸿沟,能够更好地实现应用驱动网络。SRv6中转发路径、转发行为、业务类型均可控。

·     部署简单

SRv6基于IGPBGP扩展实现,无须使用MPLS标签,不需要部署标签分发协议,配置简单。

SRv6网络中,不需要大规模升级网络设备,就可以部署新业务。在DCData Center,数据中心)和WAN(广域网)中,只需网络边界设备及特定网络节点支持SRv6,其他设备支持IPv6即可。

·     易于实现VPN等新业务

SRv6定义了多种类型的SID,不同SID具有不同的作用,指示不同的转发动作。通过不同的SID操作,可以实现VPN等业务处理。

日后,用户还可以根据实际需要,定义新的SID类型,具有很好的扩展性。

BGP overlay服务扩展

BGP overlay服务是指基于BGPSRv6 VPN业务,以BGP作为控制平面,SRv6作为数据平面,处理L2VPNL3VPN业务报文。在IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6组网中,通过BGP协议报文通告NLRI时可以携带Prefix SID属性。BGP Prefix SID属性用来携带SRv6 SID及其相关的信息,该属性定义了以下2TLV,以实现L2VPNL3VPN业务。

·     SRv6 service TLV

·     SRv6 Service Sub-TLV

2.1  SRv6 service TLV

SRv6 service TLV用于承载BGP overlay服务的业务类型。

SRv6 service TLV的报文格式如2.1  1所示。

图1 SRv6 service TLV

 

SRv6 service TLV包含字段如1所示。

表1 SRv6 service TLV的字段描述表

字段名称

长度

含义

TLV Type

8比特

业务类型:

·     5L3业务类型

·     6L2业务类型

TLV Length

16比特

长度

Reserved

8比特

预留值,取值为0

SRv6 Service Sub-TLVs

32比特

SRv6业务相关信息,由一系列TLV组成

 

2.2  SRv6 Service Sub-TLV

SRv6 Service Sub-TLV用于承载BGP Prefix SID信息。

SRv6 Service Sub-TLV的报文格式如2.2  2所示。

图2 SRv6 Service Sub-TLV

 

SRv6 Service Sub-TLV包含字段如2所示。

表2 SRv6 Service Sub-TLV的字段描述表

字段名称

长度

含义

SRv6 Service Sub-TLV Type

8比特

业务类型,取值为1

SRv6 Service Sub-TLV Length

16比特

长度

Reserved1

8比特

预留值,取值为0

SRv6 SID Value

128比特

SRv6 SID

SRv6 SID Flags

8比特

标志位,目前无定义

SRv6 Endpoint Behavior

16比特

SRv6 SID类型:

·     End SID

·     End.X SID

·     End.T SID

·     End.DX6 SID

·     End.DX4 SID

·     End.DT6 SID

·     End.DT4 SID

·     End.DX2 SID

·     End.DX2V SID

·     End.DT2U SID

·     End.DT2M SID

Reserved2

8比特

预留值,取值为0

SRv6 Service Data Sub-Sub-TLV

32比特

标识SRv6 SID的属性

 

SRv6 VPN报文转发方式

3.1  SRv6 BE

SRv6 BESegment Routing IPv6 Best Effort)是指通过IGP协议发布Locator网段,SRv6网络中的节点按最短路径优先算法计算到达Locator网段的最优路由。该路由对应的路径为SRv6 BE路径。

公网BGP路由或者VPN实例的BGP路由迭代到SRv6 BE路径后,可以实现将公网流量或VPN流量引入SRv6 BE路径。

3.2  SRv6 TE

SRv6 TESegment Routing IPv6 Traffic Engineering)基于SRv6-TE Policy实现。报文的入口节点通过不同的引流方式,将公网流量或VPN流量引入SRv6-TE Policy转发。SRv6-TE Policy对应的路径为SRv6 TE路径。

IP L3VPN over SRv6

3所示,IP L3VPN over SRv6通过MP-BGPIPv6骨干网上发布用户站点的IPv4/IPv6私网路由,使用PE间的SRv6路径承载私网报文,从而实现通过IPv6骨干网连接属于同一个VPN、位于不同地理位置的用户。

图3 IP L3VPN over SRv6组网示意图

 

IP L3VPN over SRv6中支持以下SRv6 SID

·     End.DT4 SID:用于标识网络中的某个IPv4 VPN实例。End.DT4 SID对应的转发动作是解封装报文,并且查找IPv4 VPN实例路由表转发。End.DT4 SID用于IPv4私网用户接入场景。

·     End.DT6 SID:用于标识网络中的某个IPv6 VPN实例。End.DT6 SID对应的转发动作是解封装报文,并且查找IPv6 VPN实例路由表转发。End.DT6 SID用于IPv6私网用户接入场景。

·     End.DT46 SID:用于标识网络中的某个IPv4 VPN实例或IPv6 VPN实例。End.DT46 SID对应的转发动作是解封装报文,并且查找IPv4 VPN实例或IPv6 VPN实例路由表转发。End.DT46 SID用于IPv4私网用户IPv6私网用户接入场景。

·     End.DX4 SID:用于标识网络中的某个IPv4下一跳。End.DX4 SID对应的转发动作是解封装报文,并且将解封后的IPv4报文通过该SID绑定的三层接口转发给特定下一跳。End.DX4 SID用于IPv4私网用户接入场景。

·     End.DX6 SID:用于标识网络中的某个IPv6下一跳。End.DX6 SID对应的转发动作是解封装报文,并且将解封后的IPv6报文通过该SID绑定的三层接口转发给特定下一跳。End.DX6 SID用于IPv6私网用户接入场景。

说明

·     各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DT4 SID为例进行说明。

·     IPv4 L3VPN over SRv6IPv6 L3VPN over SRv6的实现过程类似,下文仅IPv4 L3VPN over SRv6为例进行说明。

 

4.1  IP L3VPN over SRv6 BE实现过程

IP L3VPN over SRv6 BE路由发布和报文转发过程如4所示。

图4 IP L3VPN over SRv6 BE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给PPE 1

CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 100:1::1,形成VPNv4路由。PE 2通过MP-BGPVPNv4路由发布给PE 1

(3)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1PE 1收到PE 2发布的IS-IS路由后,将其学习到路由表中。

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 100:1::1,然后为报文封装IPv6报文头。IPv6报文头中的源地址由管理员手工配置,目的地址为End.DT4 SID 100:1::1

(3)     PE 1根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(5)     PE 2收到目的IPv6地址为End.DT4 SID 100:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

4.2  IP L3VPN over SRv6 TE实现过程

IP L3VPN over SRv6 TE路由发布和报文转发过程如5所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1PE 1PPE 2通过IGP协议在公网发布End SID所在Locator网段的路由。。

图5 IP L3VPN over SRv6 TE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给P 2PP 1PE 1

Color引流方式为例,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 100:1::1,形成VPNv4路由。PE 2通过MP-BGP把携带End.DT4 SIDColor扩展团体属性的VPNv4路由发布给PE 1

(3)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,同时BGP路由按Color引流方式迭代到SRv6-TE PolicyPE 1VPNv4路由转换成IPv4路由发布给CE 1PE 1收到PE 2发布的IS-IS路由后,将其学习到路由表中。

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 100:1::1且该路由下一跳为SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID ListEnd.DT4 SID,然后封装IPv6基本头信息。完成后,将报文转发给P 1

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT4 SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DT4 SID,执行End.DT4 SID对应的转发动作,即解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

EVPN L3VPN over SRv6

6所示,EVPN L3VPN over SRv6通过MP-BGPIPv6骨干网上使用EVPNIP前缀路由发布用户站点的IPv4/IPv6私网路由,使用PE间的SRv6路径承载私网报文,从而实现通过IPv6骨干网连接属于同一个VPN、位于不同地理位置的用户。

图6 EVPN L3VPN over SRv6组网示意图

EVPN L3VPN over SRv6中支持以下SRv6 SID

·     End.DT4 SID:用于标识网络中的某个IPv4 VPN实例。End.DT4 SID对应的转发动作是解封装报文,并且查找IPv4 VPN实例路由表转发。End.DT4 SID用于IPv4私网用户接入场景。

·     End.DT6 SID:用于标识网络中的某个IPv6 VPN实例。End.DT6 SID对应的转发动作是解封装报文,并且查找IPv6 VPN实例路由表转发。End.DT6 SID用于IPv6私网用户接入场景。

·     End.DT46 SID:用于标识网络中的某个IPv4 VPN实例或IPv6 VPN实例。End.DT46 SID对应的转发动作是解封装报文,并且查找IPv4 VPN实例或IPv6 VPN实例路由表转发。End.DT46 SID用于IPv4私网用户IPv6私网用户接入场景。

·     End.DX4 SID:用于标识网络中的某个IPv4下一跳。End.DX4 SID对应的转发动作是解封装报文,并且将解封后的IPv4报文通过该SID绑定的三层接口转发给特定下一跳。End.DX4 SID用于IPv4私网用户接入场景。

·     End.DX6 SID:用于标识网络中的某个IPv6下一跳。End.DX6 SID对应的转发动作是解封装报文,并且将解封后的IPv6报文通过该SID绑定的三层接口转发给特定下一跳。End.DX6 SID用于IPv6私网用户接入场景。

说明

·     各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DT4 SID为例进行说明。

·     IPv4 EVPN L3VPN over SRv6IPv6 EVPN L3VPN over SRv6的实现过程类似,下文仅IPv4 EVPN L3VPN over SRv6为例进行说明。

 

5.1  EVPN L3VPN over SRv6 BE实现过程

EVPN L3VPN over SRv6 BE路由发布和报文转发过程如7所示。

图7 EVPN L3VPN over SRv6 BE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给PPE 1

CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 100:1::1,形成EVPNIP前缀路由。PE 2通过MP-BGPEVPNIP前缀路由发布给PE 1

(3)     PE 1收到EVPNIP前缀路由后,将该路由加入到VPN实例A的路由表中,并将EVPNIP前缀路由转换成IPv4路由发布给CE 1PE 1收到PE 2发布的IS-IS路由后,将其学习到路由表中。

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 100:1::1,然后为报文封装IPv6报文头。IPv6报文头中的源地址由管理员手工配置,目的地址为End.DT4 SID 100:1::1

(3)     PE 1根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(5)     PE 2收到目的IPv6地址为End.DT4 SID 100:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

5.2  EVPN L3VPN over SRv6 TE实现过程

EVPN L3VPN over SRv6 TE路由发布和报文转发过程如8所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1,同时PE 1PPE 2通过IGP协议在公网发布End SID所在Locator网段的路由。

图8 EVPN L3VPN over SRv6 TE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给P 2PP 1PE 1

Color引流方式为例,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 100:1::1,形成EVPNIP前缀路由。PE 2通过MP-BGP把携带End.DT4 SIDColor扩展团体属性的EVPN IP前缀路由发布给PE 1

(3)     PE 1收到EVPNIP前缀路由后,将该路由加入到VPN实例A的路由表中,同时BGP路由按Color引流方式迭代到SRv6-TE PolicyPE 1EVPNIP前缀路由转换成IPv4路由发布给CE 1PE 1收到PE 2发布的IS-IS路由后,将其学习到路由表中。

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 100:1::1且该路由下一跳为SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID ListEnd.DT4 SID,然后封装IPv6基本头信息。完成后,将报文转发给P 1

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL值,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT4 SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DT4 SID,执行End.DT4 SID对应的转发动作,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

EVPN VPWS over SRv6

EVPN VPWS over SRv6是指通过SRv6隧道承载EVPN VPWS业务,通过IPv6网络透明传输用户二层数据,实现用户网络穿越IPv6网络建立点到点连接。

图9 EVPN VPWS over SRv6组网示意图

 

9所示,PE之间通过EVPN路由发布SRv6 SID,建立SRv6隧道。该SRv6隧道作为PW,封装并转发站点网络之间的二层数据报文。

EVPN VPWS over SRv6通过以下SRv6 SID实现二层数据报文的透明传递:

·     End.DX2 SID:表示二层交叉连接的SID,用于标识一个端点。End.DX2 SID对应的转发动作是解封装报文,将解封装后的报文转发到SID对应的AC

·     End.DX2L SIDEnd.DX2L SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。End.DX2L SID对应的转发动作是解封装报文,将解封装后的报文转发到SID对应的ACEnd.DX2L SID主要用于EVPN VPWS over SRv6多归属站点组网。

说明

各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DX2 SID为例进行说明。

 

6.1  EVPN VPWS over SRv6 BE实现过程

EVPN VPWS over SRv6 BE路由发布和报文转发过程如10所示。

图10 EVPN VPWS over SRv6 BE实现机制

 

PE间通过BGP EVPN路由建立PW的过程为:

(1)     PE 1PE 2上均配置Local service ID来标识与其连接的CE,配置Remote service ID来标识远端PE连接的CE,并为每个Local service ID分配End.DX2 SID,该SID作为PW的入SID

(2)     本地PE(如PE 1)通过Ethernet Auto-discovery Per EVI路由将Local service ID和为Local service ID分配的End.DX2 SID通告给远端PE(如PE 2)。

(3)     PE 2接收到路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性匹配,则PE 2将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则建立一条从PE 2PE 1的单跳SRv6隧道,PE 1通告的End.DX2 SID作为该SRv6隧道的出SID

(4)     同时,PE 2也会PE 1发送Ethernet Auto-discovery Per EVI路由PE 1将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则建立一条从PE 1PE 2的单跳SRv6隧道。

(5)     两端PE均发布End.DX2 SID,并在两个方向上均建立单跳SRv6隧道后,两条SRv6隧道组成一条PW,用来承载用户二层数据。PW称为SRv6 PW

完成路由发布后,二层报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送二层报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,查找与该AC关联的SRv6 PW(即SRv6隧道),找到对应的End.DX2 SID,即PE 2PE 1分配的End.DX2 SID

(3)     PE 1为报文封装外层IPv6报文头,目的IPv6地址为End.DX2 SID,源IPv6地址由管理员手工配置。

(4)     PE 1根据End.DX2 SID查找IPv6路由表,通过最优IGP路由将报文转发给P

(5)     P根据End.DX2 SID查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2根据End.DX2 SID查找Local SID表,执行End.DX2 SID对应的转发动作,即解封装报文,根据End.DX2 SID匹配与其关联的AC,并通过该AC将报文转发给CE 2

6.2  EVPN VPWS over SRv6 TE实现过程

EVPN VPWS over SRv6 TE路由发布和报文转发过程如11所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1,同时PE 1PPE 2通过IGP协议在公网发布End SID所在Locator网段的路由。

图11 EVPN VPWS over SRv6 TE实现机制

 

Color引流方式为例,PE间通过BGP EVPN路由建立PW的过程为:

(1)     PE 1PE 2上均配置Local service ID来标识与其连接的CE,配置Remote service ID来标识远端PE连接的CE,并为每个Local service ID分配End.DX2 SID,该SID作为PW的入SID

(2)     本地PE(如PE 1向远端PE(如PE 2)发布Ethernet Auto-discovery Per EVI路由,该路由中携带本端的Local service IDLocal service ID分配的End.DX2 SID。在该路由中,还可以携带Color扩展团体属性。

(3)     PE 2接收到路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性匹配,则PE 2将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则建立一条从PE 2PE 1的单跳SRv6隧道,PE 1通告的End.DX2 SID作为该SRv6隧道的出SIDPE 2根据Color属性,将路由迭代到SRv6-TE Policy

(4)     同时,PE 2也会PE 1发送Ethernet Auto-discovery Per EVI路由PE 1接收到路由后,处理方式与PE 2相同。

(5)     两端PE均发布End.DX2 SID,并在两个方向上均建立单跳SRv6隧道后,两条SRv6隧道组成一条PW,用来承载用户二层数据。PW称为SRv6 PW

完成路由发布后,二层报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送二层报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,查找与该AC关联的SRv6 PW(即SRv6隧道),找到对应的End.DX2 SID,即PE 2PE 1分配的End.DX2 SID,并查找到该SID迭代到的SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID ListEnd.DX2 SID,然后封装IPv6基本头信息。完成后,将报文转发给P 1

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL值,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DX2 SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DX2 SID,执行End.DX2 SID对应的转发动作,即解封装报文,根据End.DX2 SID匹配与其关联的AC,并通过该AC将报文转发给CE 2

6.3  多归属站点

12所示,当一个站点通过不同的以太网链路连接到多台PE时,这些链路就构成了一个ESEthernet Segment,以太网段),并以一个相同的ESIES Identifier)标识其属于同一个ES。连接的多台PE组成冗余备份组,可以避免PE单点故障对网络造成影响,从而提高网络的可靠性。目前仅支持双归属。

图12 多归属站点组网

 

6.3.1  冗余备份模式

多归属站点组网支持的冗余备份模式包括:

·     多活冗余模式:冗余备份组中的成员PE均可以转发流量,流量在成员PE之间形成负载分担。

·     单活冗余模式:冗余备份组中的成员PE中仅一台PE转发流量,成员PE上的两条SRv6 PW为主备关系,实现当主SRv6 PW出现故障后,将流量立即切换到备份SRv6 PW,使流量转发得以继续。

6.3.2  路由发布

冗余备份组中的两台成员PE均向PE 3发布End.DX2 SID,并向PE 3通告多归属站点的冗余备份模式以及在冗余备份组中的状态(主PE或备PE)。不同冗余备份模式下,PE 3的处理有所不同:

·     多活冗余模式下:PE 3PE 1PE 2发布的路由作为等价路由,在二者之间进行负载分担。

·     单活冗余模式下:PE 3将主PE发布的路由作为最优路由,仅通过该路由转发报文。

6.4  FRR功能

EVPN VPWS over SRv6FRR功能用于减小AC链路故障或SRv6 PW链路故障对网络造成的影响,提升网络的可靠性和稳定性。EVPN VPWS over SRv6FRR功能包括Bypass PW和主备PW功能。

6.4.1  Bypass PW

13所示,在多归属站点组网中,PE 2侧的AC链路故障时,PE 2会向PE 1PE 3通告本地不可达信息,使流量不再通过PE 1PE 2之间的SRv6 PW转发,在此期间PE 1发送给PE 2的数据报文无法转发到CE 2,会被丢弃。EVPN VPWS over SRv6通过Bypass PW功能解决该问题。在冗余备份组成员PE间建立Bypass SRv6 PW。当AC链路故障时,PE 2通过Bypass SRv6 PW临时将流量到转发到PE 3,再由PE 3转发到CE 2,从而减少丢包。

图13 Bypass PW功能原理图

 

如果PE 2PE 3之间通过End.DX2 SID建立Bypass SRv6 PW,则当PE 2PE 3侧的AC链路均故障时,PE 2PE 3会将从对端接收到的报文再次通过Bypass SRv6 PW转发给对端,造成短暂的环路。通过在PE 2PE 3之间使用End.DX2L SID建立Bypass SRv6 PW,可以解决上述问题。End.DX2L SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到Bypass SRv6 PW,从而避免产生环路。

开启Bypass PW功能后,PE会优选使用End.DX2L SID建立Bypass SRv6 PW;如果不存在End.DX2L SID,则会使用End.DX2 SID建立Bypass SRv6 PW

6.4.2  主备PW

如果两个CE之间只存在一条SRv6 PW,则当PE节点、PECE之间的链路、或PE之间的SRv6 PW出现故障时,CE之间将无法通信。主备PW功能通过部署主备两条SRv6 PW,实现当主SRv6 PW出现故障后,将流量立即切换到备份SRv6 PW,使得流量转发得以继续。

14所示,在两个CE之间建立两条SRv6 PW。正常情况下,CE使用主SRv6 PW与远端CE通信;当PE 1检测出到PE 2SRv6 PW不可用(可能是PE 2节点故障,也可能是SRv6 PW故障,或PE 2CE 2之间的链路故障),PE 1将启用备份SRv6 PW,通过备份SRv6 PWCE 1的报文转发给PE 3,再由PE 3转发给CE 2CE 2接收到报文后,通过更新MAC地址表项等方式将发送给CE 1的报文切换到备份SRv6 PW转发,从而保证通信不会中断。

图14 主备PW功能原理图

 

EVPN VPLS over SRv6

EVPN VPLS over SRv6是指通过SRv6隧道承载EVPN VPLS业务,通过IPv6网络透明传输用户二层数据,实现用户网络穿越IPv6网络建立点到多点连接。

15所示,PE之间通过EVPN路由发布SRv6 SID,建立SRv6隧道。该SRv6隧道作为PW,封装并转发站点网络之间的二层数据报文。

图15 EVPN VPLS over SRv6组网示意图

 

EVPN VPLS over SRv6通过以下SRv6 SID实现二层数据报文的透明传递:

·     End.DT2M SID用来传递EVPN VPLSBUMBroadcastUnknown-unicastMulticast,广播、未知单播和组播)流量。End.DT2M SID对应的转发动作是解封装报文,将解封后的报文在VSI实例内广播泛洪。PE为每个VSI实例分配一个End.DT2M SID

·     End.DT2U SID用来传递EVPN VPLS已知单播流量End.DT2U SID对应的转发动作是解封装报文,根据解封后报文的目的MAC地址查找VSI实例的MAC地址表,根据MAC表项将报文转发到对应的出接口。PE为每个VSI实例分配一个End.DT2U SID

·     End.DX2 SID用来传递EVPN VPLS已知单播流量End.DX2 SID对应的转发动作是解封装报文,将解封后的报文转发到SID对应的ACPEVSI实例中的每个AC分配一个End.DX2 SID

·     End.DT2UL SIDEnd.DT2UL SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。End.DT2UL SID对应的转发动作是解封装报文,根据解封后报文的目的MAC地址查找VSI实例的MAC地址表,根据MAC表项将报文转发到对应的出接口。End.DT2UL SID主要用于EVPN VPLS over SRv6多归属站点组网。每个VSI实例只会分配一个End.DT2UL SID

·     End.DX2L SID:用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。End.DX2L SID对应的转发动作是解封装报文,解封后的报文转发到SID对应的ACEnd.DX2L SID主要用于EVPN VPLS over SRv6多归属站点组网。PEVSI实例中的每个多归属AC分配一个End.DX2L SID

说明

各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DT2M SIDEnd.DT2U SID为例进行说明。

 

7.1  EVPN VPLS over SRv6 BE实现过程

EVPN VPLS over SRv6 BE路由发布和报文转发过程如16所示。

图16 EVPN VPLS over SRv6 BE组网示意图

 

本端PE向远端PE发布EVPN路由时,在EVPN路由中携带本端为VSI分配的End.DT2M SIDEnd.DT2U SID,从而建立本端PE到远端PESRv6隧道。其中:

·     End.DT2M SID通过IMET路由发布用来BUM流量建立SRv6隧道。

·     End.DT2U SID通过MAC/IP发布路由发布用来为已知单播流量建立SRv6隧道。

两端PE均发布End.DT2M SIDEnd.DT2U SID,并在两个方向上均建立单跳SRv6隧道后,两条SRv6隧道组成一条PW,用来承载用户二层数据。

完成路由发布后,二层已知单播报文从CE 1CE 2的转发过程为:

(1)     CE 1发送二层报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,在AC关联的VSI中查找MAC地址表,找到对应的SRv6隧道,并获取该隧道的End.DT2U SID,即PE 2分配的End.DT2U SID

(3)     PE 1为报文封装外层IPv6报文头,目的IPv6地址为End.DT2U SID,源IPv6地址由管理员手工配置。

(4)     PE 1根据End.DT2U SID查找IPv6路由表,通过最优IGP路由将报文转发给P

(5)     P根据End.DT2U SID查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2根据End.DT2U SID查找Local SID表,执行End.DT2U SID对应的转发动作,解封装报文,并在End.DT2U SID所属的VSI内查找MAC地址表,根据查表结果将报文转发给CE 2

完成路由发布后,二层广播、组播和未知单播报文的转发过程为:

(1)     CE 1发送二层广播、组播和未知单播报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,在AC关联的VSI中查找所有远端PE分配的End.DT2M SID

(3)     PE 1为报文封装外层IPv6报文头,目的IPv6地址为End.DT2M SID,源IPv6地址为由管理员手工配置。

如果PE 1接收到多个远端PE分配的End.DT2M SID,则为二层报文分别封装每个End.DT2M SID,将该报文转发给所有的远端PE

(4)     PE 1根据End.DT2M SID查找IPv6路由表,通过最优IGP路由将报文转发给P

(5)     P根据End.DT2M SID查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2根据End.DT2M SID查找Local SID表,执行End.DT2M SID对应的转发动作,即解封装报文,并在End.DT2M SID所属的VSI内广播转发该报文。

7.2  EVPN VPLS over SRv6 TE实现过程

EVPN VPLS over SRv6 TE路由发布和报文转发过程如17所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1,同时PE 1PPE 2通过IGP协议在公网发布End SID所在Locator网段的路由。

图17 EVPN VPLS over SRv6 TE组网示意图

 

本端PE向远端PE发布EVPN路由时,在EVPN路由中携带本端为VSI分配的End.DT2M SIDEnd.DT2U SID,从而建立本端PE到远端PESRv6隧道。其中:

·     End.DT2M SID通过IMET路由发布用来BUM流量建立SRv6隧道。

·     End.DT2U SID通过MAC/IP发布路由发布用来为已知单播流量建立SRv6隧道。

两端PE均发布End.DT2M SIDEnd.DT2U SID,并在两个方向上均建立单跳SRv6隧道后,两条SRv6隧道组成一条PW,用来承载用户二层数据。

PE采用SR-TE方式转发报文时,PE 2会根据接收到EVPN路由的Color属性和下一跳地址,采用基于Color或隧道策略引流的方式,将该路由迭代到一个SRv6-TE Policy

完成路由发布后,二层已知单播报文从CE 1CE 2的转发过程为:

(1)     CE 1发送二层报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,在AC关联的VSI中查找MAC地址表,找到对应的SRv6隧道,获取该隧道的End.DT2U SID,即PE 2分配的End.DT2U SID,并查找到该SID迭代到的SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID ListEnd.DT2U SID,然后封装IPv6基本头信息。完成后,将报文转发给P 1

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL值,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT2U SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DT2U SID,执行End.DT2U SID对应的转发动作,即解封装报文,并在End.DT2U SID所属的VSI内查找MAC地址表,根据查表结果将报文转发给CE 2

完成路由发布后,二层广播、组播和未知单播报文的转发过程为:

(1)     CE 1发送二层广播、组播和未知单播报文给PE 1

(2)     PE 1从连接CE 1AC上接收到二层报文后,在AC关联的VSI中查找所有远端PE分配的End.DT2M SID,并查找到各SID迭代到的SRv6-TE PolicyPE 1为报文添加SRH头,封装SRv6-TE PolicySID ListEnd.DT2M SID,然后封装IPv6基本头信息。完成后,将报文转发给P 1。如果PE 1接收到多个远端PE分配的End.DT2M SID,则为二层报文分别封装每个End.DT2M SID及其迭代的SRv6-TE PolicySID List,将该报文转发给所有的远端PE

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL值,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT2M SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DT2M SID,执行End.DT2M SID对应的转发动作,即解封装报文,并在End.DT2M SID所属的VSI内广播转发该报文。

7.3  多归属站点

18所示,当一个站点通过不同的以太网链路连接到多台PE时,这些链路就构成了一个ESEthernet Segment,以太网段),并以一个相同的ESIES Identifier)标识其属于同一个ES。连接的多台PE组成冗余备份组,可以避免PE单点故障对网络造成影响,从而提高网络的可靠性。目前仅支持双归属。

图18 多归属站点组网

 

7.3.1  冗余备份模式

多归属站点组网支持的冗余备份模式包括:

·     多活冗余模式:冗余备份组中的成员PE均可以转发流量,流量在成员PE之间形成负载分担。

·     单活冗余模式:冗余备份组中的成员PE中仅一台PE转发流量,成员PE上的两条SRv6 PW为主备关系,实现当主SRv6 PW出现故障后,将流量立即切换到备份SRv6 PW,使流量转发得以继续。

7.3.2  路由发布

冗余备份组中的两台成员PE均向PE 3发布End.DT2U SIDEnd.DX2 SIDEnd.DT2M SID,并向PE 3通告多归属站点的冗余备份模式以及在冗余备份组中的状态(主PE或备PE)。不同冗余备份模式下,PE 3的处理有所不同:

·     多活冗余模式下:PE 3PE 1PE 2发布的路由作为等价路由,在二者之间进行负载分担。

·     单活冗余模式下:PE 3将主PE发布的路由作为最优路由,仅通过该路由转发报文。

7.3.3  FRR功能

19所示,EVPN VPLS over SRv6多归属站点组网中,CE 1双归属接入PE 1PE 2,其中PE 1DF。当PE 1侧的AC故障时,PE 1会删除对应的MAC地址表项,并向PE 2及远端PE通告本地不可达信息撤销MAC地址。此时,已经从远端PE发送到PE 1的数据报文由于没有出接口,会被丢弃。

EVPN VPLS over SRv6通过FRR功能解决该问题。在PE 1上启用FRR功能,使PE 1侧的AC故障时,不删除对应的MAC地址表项,而是将匹配该MAC地址表项的报文通过PE 1PE 2间的Bypass SRv6 PW转发至PE 2,再由PE 2转发至CE 1,从而减少AC故障导致的丢包。

图19 FRR功能原理图

 

如果PE 1PE 2之间通过End.DT2U SIDEnd.DX2 SID建立Bypass SRv6 PW,则当PE 1PE 2侧的AC链路均故障时,PE 1PE 2会将从对端接收到的报文再次通过Bypass SRv6 PW转发给对端,造成短暂的环路。通过在PE 1PE 2之间使用End.DT2UL SIDEnd.DX2L SID建立Bypass SRv6 PW,可以解决上述问题。End.DT2UL SIDEnd.DX2L SID用来标识报文来自Bypass SRv6 PW,携带该SID的报文不会再转发到该Bypass SRv6 PW,从而避免产生环路。

开启FRR功能后,PE会优选使用End.DT2UL SIDEnd.DX2L SID建立Bypass SRv6 PW;如果不存在End.DT2UL SIDEnd.DX2L SID,则会使用End.DT2U SIDEnd.DX2 SID建立Bypass SRv6 PW

公网IP over SRv6

20所示,公网IP over SRv6通过MP-BGPIPv6骨干网上发布用户站点的IPv4/IPv6路由,使用PE间的SRv6路径承载用户报文,从而实现通过IPv6骨干网连接位于不同地理位置的用户。

图20 公网IP over SRv6组网示意图

 

公网IP over SRv6中支持以下SRv6 SID

·     End.DT4 SID:用于标识IPv4公网。End.DT4 SID对应的转发动作是解封装报文,并且查找IPv4公网路由表转发。End.DT4 SID用于IPv4用户接入场景。

·     End.DT6 SID:用于标识IPv6公网。End.DT6 SID对应的转发动作是解封装报文,并且查找IPv6公网路由表转发。End.DT6 SID用于IPv6用户接入场景。

·     End.DT46 SID:用于标识网络中的IPv4公网或IPv6公网。End.DT46 SID对应的转发动作是解封装报文,并且查找IPv4公网或IPv6公网路由表转发。End.DT46 SID用于IPv4IPv6 用户接入场景。

·     End.DX4 SID:用于标识网络中的某个IPv4下一跳。End.DX4 SID对应的转发动作是解封装报文,并且将解封后的IPv4报文通过该SID绑定的三层接口转发给特定下一跳。End.DX4 SID用于IPv4用户接入场景。

·     End.DX6 SID:用于标识网络中的某个IPv6下一跳。End.DX6 SID对应的转发动作是解封装报文,并且将解封后的IPv6报文通过该SID绑定的三层接口转发给特定下一跳。End.DX6 SID用于IPv6用户接入场景。

说明

·     各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DT4 SID为例进行说明。

·     公网IPv4 over SRv6公网IPv6 over SRv6的实现过程类似,下文仅公网IPv4 over SRv6为例进行说明。

 

8.1  公网IP over SRv6 BE实现过程

公网IP over SRv6 BE路由发布和报文转发过程如21所示。

图21 公网IP over SRv6 BE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给PPE 1

CE 2的路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到路由信息后,PE 2将公网路由存放到公网路由表中。PE 2为公网路由分配End.DT4 SIDPE 2将携带End.DT4 SIDIPv4单播路由发布给PE 1

(3)     PE 1收到IPv4单播路由后,将路由加入到公网路由表中,记录End.DT4 SID信息,并将去掉End.DT4 SIDIPv4单播路由发布给CE 1

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1收到公网IPv4报文以后,匹配目的IPv4前缀,查找到关联的End.DT4 SIDPE 1使用End.DT4 SID A2:1::D100作为目的地址封装成IPv6报文。IPv6报文头中的源地址由管理员手工配置。

(3)     PE 1根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P根据End.DT4 SID 100:1::1查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(5)     PE 2收到目的IPv6地址为End.DT4 SID 100:1::1的报文后,查找Local SID表,匹配到End.DT4 SID执行End.DT4 SID对应的转发动作,解封装报文,并根据End.DT4 SID匹配公网实例,查找公网路由表,将报文发送给CE 2

8.2  公网IP over SRv6 TE实现过程

公网IP over SRv6 TE路由发布和报文转发过程如22所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1,同时PE 1PPE 2通过IGP协议在公网发布End SID所在Locator网段的路由。

图22 公网IP over SRv6 TE实现机制

 

PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以PE 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给P 2PP 1PE 1

Color引流方式为例,CE 2的路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到路由信息后,PE 2将公网路由存放到公网路由表中。PE 2为公网路由分配End.DT4 SIDPE 2将携带End.DT4 SIDColor扩展团体属性的IPv4单播路由发布给PE 1

(3)     PE 2收到IPv4单播路由后,将BGP路由按Color引流方式迭代到SRv6-TE Policy,同时将路由加入到公网路由表中,记录End.DT4 SID信息,并将去掉End.DT4 SIDIPv4单播路由发布给CE 2PE 1收到PE 2发布的IS-IS路由后,将其学习到路由表中。

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1收到公网IPv4报文以后,匹配目的IPv4前缀,查找到关联的End.DT4 SID,且该路由下一跳为SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID ListEnd.DT4 SID封装IPv6基本头信息。完成后,将报文转发给P 1

(3)     P 1根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给P

(4)     P收到报文后,执行如下操作:

¡     SRH头中的SL值,如果SL>0,将SL值减1,目的地址更新为SL指示的地址,即SL=1对应的Segment List [1]IPv6地址100:1::10

¡     根据IPv6头中的目的地址查找路由表,将报文转发给P 2

(5)     P 2根据目的地址查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到报文后,使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT4 SID 100:1::1。使用IPv6目的地址100:1::1查找Local SID表,匹配到End.DT4 SID,执行End.DT4 SID对应的转发动作,即解封装报文,并根据End.DT4 SID匹配公网实例,查找公网路由表,将报文发送给CE 2

SRv6跨域VPN

9.1  SRv6跨域VPN简介

SRv6 VPN组网应用中,一个VPN的多个Site可能会连接到属于不同AS号的多个服务提供商网络,或者连接到一个服务提供商的属于不同AS的多个网络。这种VPN跨越多个自治系统的应用方式称为SRv6跨域VPNMulti-AS VPN)。

SRv6跨域VPN支持以下几种实现方式:

·     VPN-to-VPN连接方式:ASBR间建立VPN-to-VPN连接。

·     MP-EBGP连接方式:ASBRPE间通过MP-EBGP发布VPNv4/VPNv6/EVPN路由。

9.2  SRv6跨域VPN报文转发方式

SRv6跨域VPN支持SRv6 BESRv6 TE转发方式:

·     对于VPN-to-VPN连接方式,在AS内基于SRv6 BESRv6 TE转发报文;在AS间,基于普通IP路由转发报文。

·     对于MP-EBGP连接方式,跨AS建立SRv6 BESRv6 TE路径,基于对应路径进行报文转发。

9.3  VPN-to-VPN连接方式

9.3.1  VPN-to-VPN连接方式简介

9.3.1  23所示,在VPN-to-VPN连接方式组网中,两个ASASBR设备直接相连。两个ASBR都作为PE,都把对方当作自己的CE设备,通过EBGP会话向对端发布普通的IPv4/IPv6单播路由。

VPN-to-VPN连接方式的优点是实现简单,两个作为ASBRPE之间不需要为跨域进行特殊配置。VPN-to-VPN连接方式的缺点是可扩展性差:ASBR需要管理所有VPN的路由,为每个VPN创建VPN实例,导致ASBR上的VPN路由数量过于庞大;ASBR上需要为每个跨域的VPN单独关联接口,提高了对ASBR设备的要求。

图23 VPN-to-VPN连接方式组网示意图

 

9.3.2  VPN-to-VPN连接方式实现过程

说明

·     IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6跨域实现方式一致,本文以IP L3VPN over SRv6跨域为例进行说明。

·     SRv6跨域VPN组网中,各类SRv6 SID的发布过程和转发过程类型,下文仅以End.DT4 SID为例进行说明。

·     IPv4 over SRv6跨域VPNIPv6 over SRv6跨域VPN的实现过程类似,下文仅以IPv4 over SRv6跨域VPN为例进行说明。

·     VPN-to-VPN连接方式组网中,在AS内,报文转发方式与非跨域组网相同;在AS域间,基于SRv6 BESRv6 TE的报文转发方式相同。因此,仅以SRv6 BE方式为例说明VPN-to-VPN连接方式的路由发布和报文转发过程。

 

VPN-to-VPN连接方式路由发布和报文转发过程如9.3.2  24所示。

图24 VPN-to-VPN连接方式实现机制

 

AS域内PEASBR之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。以AS 2为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由400:1::/64发布给域内PASBR设备。

CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 400:1::1,形成VPNv4路由。PE 2通过MP-IBGPVPNv4路由发布给ASBR 2

(3)     ASBR 2比较Route Target属性,将PE 2发布的VPN路由学习到相应的VPN实例路由表中,并作为IPv4单播路由通过EBGP会话发布给它的CE设备,即ASBR 1

(4)     ASBR 1从它的CEASBR 2)接收到IPv4单播路由后,将其加入与接收路由的接口绑定的VPN实例的路由表中。ASBR 1为该路由增加RDRT属性,并为私网路由分配End.DT4 SID 200:1::1,形成VPNv4路由。ASBR 1通过MP-IBGPVPNv4路由发布给PE 1

(5)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(6)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 200:1::1,然后为报文封装IPv6报文头。IPv6报文头中的源地址由管理员手工配置,目的地址为End.DT4 SID 200:1::1

(3)     PE 1根据End.DT4 SID 100:1::1查找IPv6路由表,在AS 1内通过最优IGP路由将报文转发给ASBR 1

(4)     ASBR 1收到目的IPv6地址为End.DT4 SID 200:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给ASBR 2

(5)     ASBR 2从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 400:1::1,然后为报文封装IPv6报文头。IPv6报文头中的源地址由管理员手工配置,目的地址为End.DT4 SID 400:1::1

(6)     ASBR 2根据End.DT4 SID 400:1::1查找IPv6路由表,在AS 2内通过最优IGP路由将报文转发给PE 2

(7)     PE 2收到目的IPv6地址为End.DT4 SID 400:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

9.4  MP-EBGP连接方式

9.4.1  MP-EBGP连接方式简介

9.4.1  25所示,在MP-EBGP连接方式组网中,MP-EBGP支持以下两种建立方式:

·     两个ASBR通过MP-EBGP交换它们从各自ASPE接收的VPNv4/VPNv6/EVPN路由。

·     不同ASPE之间建立多跳MP-EBGP会话,通过该会话直接在PE之间发布路由。

两种MP-EBGP建立方式均支持以下报文转发方式:

·     SRv6 BE转发方式:通过路由协议发布不同AS域的PELocator网段路由,在域内和域间均使用路由协议计算的最短路径转发报文。

·     SRv6 TE转发方式:建立跨ASSRv6-TE Policy,该SRv6-TE PolicySID列表由域内的SRv6 SID和域间的SRv6 BGP EPE SID组成。

图25 MP-EBGP连接方式组网示意图

 

9.4.2  MP-EBGP连接方式下采用SRv6 BE转发方式实现过程

MP-EBGP连接方式下采用SRv6 BE转发方式的路由发布和报文转发过程如9.4.2  26所示。

图26 MP-EBGP连接方式下采用SRv6 BE转发方式实现机制

 

MP-EBGP连接方式组网中,需要跨越AS发布End.DT4 SID所属Locator网段路由。以PE 2->PE 1方向为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由200:1::/64发布给域内PASBR设备。ASBR 2通过EBGPLocator网段路由200:1::/64发布给ASBR 1,同时更新路由下一跳地址为ASBR 2的本机地址。ASBR 1通过IGP协议(以IS-IS路由为例)将Locator网段路由200:1::/64发布给PE 1

ASBR间建立MP-EBGP场景中,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 200:1::1,形成VPNv4路由。PE 2通过MP-IBGPVPNv4路由发布给ASBR 2

(3)     ASBR 2收到PE 2发布的VPNv4路由后,通过MP-EBGP将其发布给ASBR 1ASBR 2发布路由时,将路由的下一跳更新为本机地址。

(4)     ASBR 1收到ASBR 2发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 1ASBR 1发布路由时,将路由的下一跳更新为本机地址。

(5)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(6)     CE 1收到路由后,将其学习到路由表中。

PE间建立MP-EBGP场景中,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 200:1::1,形成VPNv4路由。PE 2通过MP-EBGPVPNv4路由发布给PE 1

(3)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 200:1::1,然后为报文封装IPv6报文头。IPv6报文头中的源地址由管理员手工配置,目的地址为End.DT4 SID 200:1::1

(3)     PE 1根据End.DT4 SID 200:1::1查找IPv6路由表,在AS 1内通过最优IGP路由将报文转发给ASBR 1

(4)     ASBR 1收到报文后,据IPv6头中的目的地址查找路由表,将报文转发给ASBR 2

(5)     ASBR 2收到报文后,根据End.DT4 SID 200:1::1查找IPv6路由表,通过最优IGP路由将报文转发给PE 2

(6)     PE 2收到目的IPv6地址为End.DT4 SID 200:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

9.4.3  MP-EBGP连接方式下采用SRv6 TE转发方式实现过程

MP-EBGP连接方式下采用SRv6 TE转发方式的路由发布和报文转发过程如9.4.3  27所示。在该组网中,控制器将SRv6-TE Policy相关配置下发到PE 1

图27 MP-EBGP连接方式下采用SRv6 TE转发方式实现机制

 

MP-EBGP连接方式组网中,对于ASBR间建立MP-EBGP场景,需要跨越AS发布End.DT4 SID所属Locator网段路由。以PE 2->PE 1方向为例,PE 2通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由400:1::/64发布给域内PASBR设备。ASBR 2通过EBGPLocator网段路由400:1::/64发布给ASBR 1,同时更新路由下一跳地址为ASBR 2的本机地址。ASBR 1通过IGP协议(以IS-IS路由为例)将Locator网段路由400:1::/64发布给PE 1

AS 1AS 2内,各个设备通过IGP协议(以IS-IS为例)发布各自End SID所在Locator网段的路由。

AS域间需要部署BGP EPE,为ASBR分配BGP EPE SID

·     ASBR 1ASBR 2分配BGP EPE SID 200:1::5,该SID对应的下一跳为ASBR 2

·     ASBR 2ASBR 1分配BGP EPE SID 300:1::5,该SID对应的下一跳为ASBR 1

ASBR间建立MP-EBGP场景中,以Color引流方式为例,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 400:1::1,形成VPNv4路由。PE 2通过MP-EBGP把携带End.DT4 SIDColor扩展团体属性的VPNv4路由发布给ASBR 2

(3)     ASBR 2收到PE 2发布的VPNv4路由后,通过MP-EBGP将其发布给ASBR 1ASBR 2发布路由时,将路由的下一跳更新为本机地址。

(4)     ASBR 1收到ASBR 2发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 1ASBR 1发布路由时,将路由的下一跳更新为本机地址。

(5)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,同时BGP路由按Color引流方式迭代到SRv6-TE PolicyPE 1VPNv4路由转换成IPv4路由发布给CE 1

(6)     CE 1收到路由后,将其学习到路由表中。

PE间建立MP-EBGP场景中,以Color引流方式为例,CE 2的私网路由发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并为私网路由分配End.DT4 SID 400:1::1,形成VPNv4路由。PE 2通过MP-EBGP把携带End.DT4 SIDColor扩展团体属性的VPNv4路由发布给PE 1

(3)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,同时BGP路由按Color引流方式迭代到SRv6-TE PolicyPE 1VPNv4路由转换成IPv4路由发布给CE 1

(4)     CE 1收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 400:1::1,且该路由下一跳为SRv6-TE PolicyPE 1为报文添加SRH,封装SRv6-TE PolicySID List <200:1::2, 200:1::5, 300:1::2, 400:1::2>End.DT4 SID 400:1::1,然后封装IPv6基本头信息。完成后,将报文转发给ASBR 1

(3)     ASBR 1收到报文后,执行如下操作:

¡     使用报文的IPv6目的地址200:1::2查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为200:1::5

¡     使用IPv6目的地址200:1::5查找Local SID表,匹配到BGP EPE SID,执行该SID对应的转发动作,即将报文从指定接口转发到ASBR 2,同时将报文SL1IPv6目的地址更新为300:1::2

(4)     ASBR 2收到报文后,执行如下操作:

¡     使用报文的IPv6目的地址300:1::2查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为400:1::2

¡     根据IPv6头中的目的地址查找路由表,将报文转发给PE 2

(5)     PE 2收到报文后,执行如下操作:

¡     使用报文的IPv6目的地址查找Local SID表,匹配到End SID,将报文SL1IPv6目的地址更新为End.DT4 SID 400:1::1

(6)     使用IPv6目的地址400:1::1查找Local SID表,匹配到End.DT4 SID,执行End.DT4 SID对应的转发动作,即解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

10  SRv6 Interworking

SRv6 Interworking是指用户报文需要跨越SRv6网络和MPLS网络传输,即SRv6网络和MPLS网络互通。

10.1  L3VPN over SRv6 Interworking

10.1.1  L3VPN over SRv6 Interworking简介

当承载VPNv4/VPNv6/EVPN路由的骨干网跨越SRv6网络和MPLS网络时,可以通过L3VPN over SRv6 Interworking来实现SRv6网络和MPLS网络互通。

根据发布的路由类型,L3VPN over SRv6 Interworking分为:

·     IP L3VPN over SRv6 Interwoking

·     EVPN L3VPN over SRv6 Interwoking

根据组网类型,L3VPN over SRv6 Interworking分为:

·     域内L3VPN over SRv6 Interworking:在同一AS内采用不同的公网承载VPNv4/VPNv6/EVPN路由,即部分PE间部署MPLS网络,部分PE间部署SRv6网络。

·     域间L3VPN over SRv6 Interworking:骨干网跨域多个不同的AS,部分AS内部署MPLS网络,部分AS内部署SRv6网络。

域间L3VPN over SRv6 Interworking支持如下实现方式:

¡     L3VPN over SRv6 Option A Interworking

¡     L3VPN over SRv6 Option B Interworking

说明

L3VPN over SRv6 Interworking组网中,对于路由发布过程和报文转发过程,IP L3VPN over SRv6 InterwokingEVPN L3VPN over SRv6 Interwoking的处理方式类似、IPv4私网接入和IPv6私网接入的处理方式类似,下文仅以IPv4 L3VPN over SRv6 Interwoking为例进行说明。

 

10.1.2  域内L3VPN over SRv6 Interwoking

1. 域内L3VPN over SRv6 Interwoking简介

域内L3VPN over SRv6 Interwoking是指在同一AS内,不同PE间采用不同的转发方式(SRv6MPLS)。如28所示,使用公网承载L3VPN私网数据时,私网数据需要跨越SRv6网络和MPLS网络。

图28 域内L3VPN over SRv6 Interwoking示意图

 

2. 域内L3VPN over SRv6 Interwoking实现过程

域内L3VPN over SRv6 Interwoking路由发布和报文转发过程如29所示。

图29 域内L3VPN over SRv6 Interwoking实现机制

 

AS域内PE之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给公网中所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给域内PE 2设备。

CE 2的私网路由2.2.2.2/32发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 3

(2)     PE 3CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 3为私网路由增加RDRT属性,并由MP-BGP为私网路由分配内层私网标签Lable 1,形成VPNv4路由。PE 3通过MP-IBGPVPNv4路由发布给PE 2

(3)     PE 2接收到PE 3发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 1PE 2发布该路由时,将路由的下一跳地址改为自身的地址,为路由分配End.DT4 SID 200:1::1,并为End.DT4 SIDMPLS标签Label 1建立关联。

(4)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(5)     CE 1收到路由后,将其学习到路由表中。

CE 1的私网路由1.1.1.1/32发布到CE 1的过程如下:

(1)     CE 1使用IGPBGP,将本站点的私网路由1.1.1.1/32发布给PE 1

(2)     PE 1CE 1学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 1为私网路由增加RDRT属性,并由MP-BGP为私网路由分配End.DT4 SID 100:1::1,形成VPNv4路由。PE 1通过MP-IBGPVPNv4路由发布给PE 2

(3)     PE 2接收到PE 1发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 3PE 2发布该路由时,将路由的下一跳地址改为自身的地址,为路由分配私网标签Label 2,并为End.DT4 SIDMPLS标签Label 2建立关联。

(4)     PE 3收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 2

(5)     CE 2收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 200:1::1,然后为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 2

(3)     PE 2收到报文后,根据End.DT4 SIDMPLS标签Label 1的关联关系,解封装去掉IPv6头,为报文封装私网标签Label 1PE 2PE 3间的公网标签,将报文转发到PE 3

(4)     PE 3收到报文后,根据私网标签匹配VPN实例A,查找VPN实例A的路由表,剥离私网标签后将报文发送给CE 2

完成路由发布后,目的地址为1.1.1.1的报文从CE 2CE 1的转发过程如下:

(1)     CE 2发送目的地址为1.1.1.1IPv4报文给PE 3

(2)     PE 3从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配1.1.1.1的路由,找到对应的私网标签Label 2,然后为报文封装私网标签和PE 2PE 3间的公网标签,将报文发送到PE 2

(3)     PE 2收到报文后,根据End.DT4 SIDMPLS标签Label 2的关联关系,解封装去掉私网标签,为报文封装End.DT4 SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(4)     PE 1收到报文后,解封装去掉IPv6报文头,并根据End.DT4 SID 100:1::1匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

10.1.3  L3VPN over SRv6 Option A Interworking

1. L3VPN over SRv6 Option A Interworking简介

30所示,在L3VPN over SRv6 Option A Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。私网报文需要跨域AS 1AS 2转发。两个ASBR设备直接相连。ASBR同时作为PE,将对方当作自己的CE设备,通过EBGP会话向对端发布普通的IPv4/IPv6单播路由。

图30 L3VPN over SRv6 Option A Interworking组网示意图

 

2. L3VPN over SRv6 Option A Interworking实现过程

L3VPN over SRv6 Option A Interworking路由发布和报文转发过程如31所示。

图31 L3VPN over SRv6 Option A Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DT4 SID所属Locator网段路由发布给该AS内的所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

CE 2的私网路由2.2.2.2/32发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并由MP-BGP为私网路由分配内层私网标签Label 1,形成VPNv4路由。PE 2通过MP-IBGPVPNv4路由发布给ASBR 2

(3)     ASBR 2比较Route Target属性,将PE 2发布的VPN路由学习到相应的VPN实例路由表中,并将VPNv4路由转换成IPv4单播路由,通过EBGP会话将IPv4单播路由发布给它的CE设备,即ASBR 1

(4)     ASBR 1从它的CEASBR 2)接收到IPv4单播路由后,将其加入与接收路由的接口绑定的VPN实例的路由表中。ASBR 1为该路由增加RDRT属性,并为私网路由分配End.DT4 SID 200:1::1,形成VPNv4路由。ASBR 1通过MP-IBGPVPNv4路由发布给PE 1

(5)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(6)     CE 1收到路由后,将其学习到路由表中。

CE 1的私网路由1.1.1.1/32发布到CE 2的过程如下:

(1)     CE 1使用IGPBGP,将本站点的私网路由1.1.1.1/32发布给PE 1

(2)     PE 1CE 1学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 1为私网路由增加RDRT属性,并由MP-BGP为私网路由分配End.DT4 SID 100:1::1,形成VPNv4路由。PE 2通过MP-IBGPVPNv4路由发布给ASBR 1

(3)     ASBR 1比较Route Target属性,将PE 1发布的VPN路由学习到相应的VPN实例路由表中,并将VPNv4路由转换成IPv4单播路由,通过EBGP会话将IPv4单播路由发布给它的CE设备,即ASBR 2

(4)     ASBR 2从它的CEASBR 1)接收到IPv4单播路由后,将其加入与接收路由的接口绑定的VPN实例的路由表中。ASBR 2为该路由增加RDRT属性,并为私网路由分配私网标签Label 2,形成VPNv4路由。ASBR 2通过MP-IBGPVPNv4路由发布给PE 2

(5)     PE 2收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 2

(6)     CE 2收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.DT4 SID 200:1::1,然后为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(3)     ASBR 1收到目的IPv6地址为End.DT4 SID 200:1::1的报文后,解封装去掉IPv6报文头,并根据End.DT4 SID匹配VPN实例A,查找VPN实例A的路由表,将报文发送给ASBR 2

(4)     ASBR 2从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,为报文封装私网标签Label 1ASBR 2PE 2之间的公网标签,将报文发送给PE 2

(5)     PE 2收到报文后,根据私网标签匹配VPN实例A,查找VPN实例A的路由表,剥离私网标签后将报文发送给CE 2

完成路由发布后,目的地址为1.1.1.1的报文从CE 2CE 1的转发过程如下:

(1)     CE 2发送目的地址为1.1.1.1IPv4报文给PE 2

(2)     PE 2从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配1.1.1.1的路由,为报文封装私网标签Label 2ASBR 2PE 2之间的公网标签,将报文发送给ASBR 2

(3)     ASBR 2收到报文后,根据根据私网标签Label 2匹配VPN实例A,查找VPN实例A的路由表,剥离私网标签后将报文发送给ASBR 1

(4)     ASBR 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配1.1.1.1的路由,找到对应的End.DT4 SID 100:1::1,然后为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(5)     PE 1收到报文后,解封装去掉IPv6报文头,并根据End.DT4 SID 100:1::1匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

10.1.4  L3VPN over SRv6 Option B Interworking

1. L3VPN over SRv6 Option B Interworking简介

32所示,在L3VPN over SRv6 Option B Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。私网报文需要跨域AS 1AS 2转发。两个ASBR设备直接相连。ASBR间通过MP-EBGP交换它们从各自ASPE接收的VPN路由。

图32 L3VPN over SRv6 Option B Interworking组网示意图

 

L3VPN over SRv6 Option B Interworking组网场景中,报文从SRv6网络转发到MPLS网络时,为了实现互通,需要将SRv6 SID(即IPv6地址)与MPLS标签关联。由于SRv6MPLS网络中的ASBR上不存在VPN实例以及和VPN实例关联的接口,SRv6网络中的ASBR无法为私网路由分配End.DT4 SID等用于标识VPN实例的SRv6 SIDMPLS网络中的ASBR无法将私网路由学习到本地VPN路由表中,转发时会直接丢弃报文。因此,在SRv6网络中的ASBR上需要为私网路由分配一种和标签关联的SRv6 SID,即End.T SID,并通过IGP协议在SRv6网络内通告End.T SID所在Locator网段的路由。End.T SID对应的转发动作为剥掉外层IPv6头,并根据End.T SID查找IPv6 FIB表转发报文。

2. L3VPN over SRv6 Option B Interworking实现过程

L3VPN over SRv6 Option B Interworking路由发布和报文转发过程如33所示。

图33 L3VPN over SRv6 Option B Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DT4 SIDEnd.T SID所属Locator网段路由发布给该AS内中所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DT4 SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

CE 2的私网路由2.2.2.2/32发布到CE 1的过程如下:

(1)     CE 2使用IGPBGP,将本站点的私网路由2.2.2.2/32发布给PE 2

(2)     PE 2CE 2学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 2为私网路由增加RDRT属性,并由MP-BGP为私网路由分配内层私网标签Label 1,形成VPNv4路由。PE 2通过MP-IBGPVPNv4路由发布给ASBR 2

(3)     ASBR 2收到PE 2发布的VPNv4路由后,通过MP-EBGP将其发布给ASBR 1ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配新的MPLS标签Label 2,并为MPLS标签Label 2MPLS标签Label 1建立关联。

(4)     ASBR 1收到ASBR 2发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 1ASBR 1发布路由时,将路由的下一跳更新为本机地址,为路由分配End.T SID,并为End.T SIDMPLS标签Label 2建立关联。

(5)     PE 1收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 1

(6)     CE 1收到路由后,将其学习到路由表中。

CE 1的私网路由1.1.1.1/32发布到CE 2的过程如下:

(1)     CE 1使用IGPBGP,将本站点的私网路由1.1.1.1/32发布给PE 1

(2)     PE 1CE 1学习到私网路由信息后,将私网路由存放到VPN实例A的路由表中。PE 1为私网路由增加RDRT属性,并由MP-BGP为私网路由分配End.DT4 SID 100:1::1,形成VPNv4路由。PE 1通过MP-IBGPVPNv4路由发布给ASBR 1

(3)     ASBR 1收到PE 2发布的VPNv4路由后,通过MP-EBGP将其发布给ASBR 2ASBR 1发布路由时,将路由的下一跳更新为本机地址,为路由分配私网标签Label 3,并为私网标签Label 3End.DT4 SID建立关联。

(4)     ASBR 2收到ASBR 1发布的VPNv4路由后,通过MP-IBGPVPNv4路由发布给PE 2ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配私网标签Label 4,并为私网标签Label 4和私网标签Label 3建立关联。

(5)     PE 2收到VPNv4路由后,将该路由加入到VPN实例A的路由表中,并将VPNv4路由转换成IPv4路由发布给CE 2

(6)     CE 2收到路由后,将其学习到路由表中。

完成路由发布后,目的地址为2.2.2.2的报文从CE 1CE 2的转发过程如下:

(1)     CE 1发送目的地址为2.2.2.2IPv4报文给PE 1

(2)     PE 1从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配2.2.2.2的路由,找到对应的End.T SID 200:1::1,然后为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(3)     ASBR 1收到报文后,剥掉外层IPv6头,并根据End.T SID查找IPv6 FIB表转发报文,出标签为Label 2ASBR 1为报文重新封装MPLS标签Label 2,并将报文转发给ASBR 2ASBR 1ASBR 2之间的报文只带一层MPLS标签。

(4)     ASBR 2MPLS标签Label 2替换为Label 1,添加从ASBR 2PE 2的公网隧道的标签,并将报文转发给PE 2

(5)     PE 2收到报文后,根据私网标签匹配VPN实例A,查找VPN实例A的路由表,剥离私网标签后将报文发送给CE 2

完成路由发布后,目的地址为1.1.1.1的报文从CE 1CE 2的转发过程如下:

(1)     CE 2发送目的地址为1.1.1.1IPv4报文给PE 2

(2)     PE 2从绑定了VPN实例A的接口上收到私网报文后,在VPN实例A的路由表中查找匹配1.1.1.1的路由,为报文封装私网标签Label 4ASBR 2PE 2之间的公网标签,将报文发送给ASBR 2

(3)     ASBR 2收到报文后,剥离公网标签,将私网标签Label 4替换为Label 3,并将报文发送给ASBR 1ASBR 1ASBR 2之间的报文只带一层私网标签。

(4)     ASBR 1收到报文后,将私网标签Label 3替换为End.DT4 SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(5)     PE 1收到报文后,解封装去掉IPv6报文头,并根据End.DT4 SID 100:1::1匹配VPN实例A,查找VPN实例A的路由表,将报文发送给CE 2

10.2  L2VPN over SRv6 Interworking

当承载EVPN路由的骨干网跨越SRv6网络和MPLS网络时,可以通过L2VPN over SRv6 Interworking来实现SRv6网络和MPLS网络互通。

MPLS网络为MPLS L2VPN网络或VPLS网络时,可以通过LDP PW或静态PW接入SRv6 PW功能来实现SRv6网络与MPLS网络的互通。

MPLS网络为EVPN VPWS网络或EVPN VPLS网络时,可以通过如下几种方式实现SRv6网络与MPLS网络的互通:

·     域内L2VPN over SRv6 Interworking:在同一AS内采用不同的公网承载EVPN路由,即部分PE间部署MPLS网络,部分PE间部署SRv6网络。

·     域间L2VPN over SRv6 Interworking:骨干网跨越多个不同的AS,部分AS内部署MPLS网络,部分AS内部署SRv6网络。域间L2VPN over SRv6 Interworking支持如下实现方式:

¡     L2VPN over SRv6 Option A Interworking

¡     L2VPN over SRv6 Option B Interworking

说明

在域内L2VPN over SRv6 InterworkingL2VPN over SRv6 Option B Interworking组网场景中,报文从SRv6网络转发到MPLS网络时,为了实现互通,需要将SRv6 SID(即IPv6地址)与MPLS标签关联。由于SRv6网络和MPLS网络的边界设备上无法分配End.DX2End.DT2U等类型的SID。因此,在边界设备上需要为EVPN路由分配一种和标签关联的SRv6 SID,即End.T SID,并通过IGP协议在SRv6网络内通告End.T SID所在Locator网段的路由。End.T SID对应的转发动作为剥掉外层IPv6头,并根据End.T SID查找IPv6 FIB表转发报文。

 

10.2.1  MPLS L2VPN网络(或VPLS网络)与SRv6网络互通

在向SRv6网络演进的过程中,可能会存在基于MPLS的传统MPLS L2VPN网络(也称为VPWS网络)与EVPN VPWS over SRv6网络共存、VPLS网络与EVPN VPLS over SRv6网络共存的情况。LDP PW或静态PW接入SRv6 PW功能,通过将MPLS L2VPN/VPLS网络中的LDP PW或静态PW看作SRv6网络的AC(该PW称为UPW),实现报文在SRv6 PWUPW之间相互转发,从而实现MPLS L2VPN/VPLS网络与EVPN VPWS/VPLS over SRv6网络的互通。

本功能不仅支持一条LDP PW或静态PW接入一条SRv6 PW,还支持将两条LDP PW或静态PW多归属接入两条SRv6 PW。如34所示,在MPLS L2VPN网络中,PE 1PE 2PE 3分别建立主备LDP PW或静态PW,该PW称为UPW;在EVPN VPWS over SRv6网络中,PE 4PE 2PE 3分别建立SRv6 PWUPW作为SRv6网络中的ACPE 2PE 3UPW接收到报文后,会解除MPLS封装,查找与UPW关联的SRv6 PW,为报文添加SRv6封装,并将其转发给PE 4PE 2PE 3SRv6 PW接收报文的处理方法与此类似。

图34 LDP PW或静态PW接入SRv6 PW组网示意图

 

10.2.2  EVPN VPWS over SRv6EVPN VPWS互通

1. 域内EVPN VPWS over SRv6 Interworking实现机制

域内EVPN VPWS over SRv6 Interworking是指在同一AS内,不同PE间采用不同的转发方式(SRv6MPLS),用户二层数据跨越SRv6网络和MPLS网络转发。

图35 域内EVPN VPWS over SRv6 Interworking实现机制

 

35所示,域内EVPN VPWS over SRv6 Interworking组网中,路由发布过程为:

(1)     PE 3PE 1发布路由的过程为:

a.     PE 3通过MP-IBGPPE 2发布Ethernet Auto-discovery Per EVI路由,该路由携带Local service ID和为该Local service ID分配的PW标签Label 1Label 1作为EVPN PW的入标签。

b.     PE 2接收到Ethernet Auto-discovery Per EVI路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性相同,则PE 2接收该路由。

c.     PE 2通过MP-IBGPPE 1发布Ethernet Auto-discovery Per EVI路由,将路由的下一跳地址改为自身的地址,为路由分配End.T SID 200:1::1,并为End.T SID 200:1::1PW标签Label 1建立关联。在发布的路由中,End.T SID作为End.DX2 SID使用。

d.     PE 1接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则PE 1将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则建立一条SRv6 PWPE 2通告的End.T SID 200:1::1作为该SRv6 PW的出SID

(2)     PE 1PE 3发布路由的过程为:

a.     PE 1通过MP-IBGPPE 2发布Ethernet Auto-discovery Per EVI路由,该路由携带Local service ID和为该Local service ID分配的End.DX2 SID 100:1::1。该End.DX2 SID作为SRv6 PW的入SID

b.     PE 2接收到Ethernet Auto-discovery Per EVI路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性相同,则PE 2接收该路由。

c.     PE 2通过MP-IBGPPE 1发布Ethernet Auto-discovery Per EVI路由,将路由的下一跳地址改为自身的地址,为路由分配PW标签Label 2,并为End.DX2 SID 100:1::1PW标签Label 2建立关联。

d.     PE 3接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则PE 3将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则PE 2通告的PW标签Label 2作为EVPN PW的出标签。

完成路由发布后,PE 1上将具有SRv6 PW的出入SIDPE 3上将具有EVPN PW的出入PW标签,PE 2上将具有PW标签和SRv6 SID的映射关系,用户二层数据报文可以根据上述信息在MPLS网络和SRv6网络之间转发。

CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,查找与AC关联的SRv6 PW,找到对应的End.DX2 SID 200:1::1(即PE 2通告的End.T SID)。PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 2

(2)     PE 2接收到报文后,根据End.T SID 200:1::1PW标签Label 1的关联关系,解封装去掉IPv6头,为报文封装PW标签Label 1PE 2PE 3间的公网标签,将报文转发到PE 3

(3)     PE 3接收到报文后,剥离公网标签和PW标签,根据PW标签查找与PW关联的AC,并通过该AC将报文转发给CE 2

CE 2访问CE 1的报文转发过程如下:

(1)     PE 3AC接收到CE 2发送的报文后,查找与AC关联的EVPN PW,找到对应的PW标签Label 2PE 3为报文封装PW标签Label 2PE 3PE 2间的公网标签,将报文转发到PE 2

(2)     PE 2接收到报文后,根据End.DX2 SID 100:1::1PW标签Label 2的关联关系,剥离MPLS标签,为报文封装End.DX2 SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(3)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DX2 SID 100:1::1查找与PW关联的AC,并通过该AC将报文转发给CE 1

2. 域间EVPN VPWS over SRv6 Option A Interworking实现过程

36所示,在EVPN VPWS over SRv6 Option A Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。站点网络需要跨越AS 1AS 2互通。两个ASBR设备直接相连。ASBR同时作为PE,将对方当作自己的CE设备,在ASBR上将ACPW关联。

图36 EVPN VPWS over SRv6 Option A Interworking组网示意图

 

EVPN VPWS over SRv6 Option A Interworking路由发布和报文转发过程如37所示。

图37 EVPN VPWS over SRv6 Option A Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DX2 SID所属Locator网段路由发布给该AS内的所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DX2 SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

37所示,PE 1ASBR 1之间需要建立SRv6 PWPE 2ASBR 2之间需要建立EVPN PWEVPN VPWS over SRv6 Option A Interworking组网中,SRv6 PWEVPN PW的建立过程与EVPN VPWS over SRv6EVPN VPWS组网中相同,此处不再赘述。

PW建立完成后,CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,查找与AC关联的SRv6 PW,找到对应的End.DX2 SID 200:1::1PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(2)     ASBR 1接收到报文后,解封装去掉IPv6报文头,根据End.DX2 SID 200:1::1查找与PW关联的AC,并通过该AC将报文转发给它的CE(即ASBR 2)。

(3)     ASBR 2AC接收到ASBR 1发送的报文后,查找与AC关联的EVPN PW,找到对应的PW标签Label 1ASBR 2为报文封装PW标签Label 1ASBR 2PE 2间的公网标签,将报文转发到PE 2

(4)     PE 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与PW关联的AC,并通过该AC将报文转发给CE 2

PW建立完成后,CE 2访问CE 1的报文转发过程如下:

(1)     PE 2AC接收到CE 2发送的报文后,查找与AC关联的EVPN PW,找到对应的PW标签Label 2PE 2为报文封装PW标签Label 2PE 2ASBR 2间的公网标签,将报文转发到ASBR 2

(2)     ASBR 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与PW关联的AC,并通过该AC将报文转发给它的CE(即ASBR 1)。

(3)     ASBR 1AC接收到ASBR 2发送的报文后,查找与AC关联的SRv6 PW,找到对应的End.DX2 SID 100:1::1ASBR 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(4)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DX2 SID 100:1::1查找与PW关联的AC,并通过该AC将报文转发给CE 1

3. 域间EVPN VPWS over SRv6 Option B Interworking实现过程

38所示,在EVPN VPWS over SRv6 Option B Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。站点网络需要跨越AS 1AS 2互通。两个ASBR设备直接相连。ASBR间通过MP-EBGP交换它们从各自ASPE接收的EVPN路由。

图38 EVPN VPWS over SRv6 Option B Interworking组网示意图

 

图39 EVPN VPWS over SRv6 Option B Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DX2 SIDEnd.T SID所属Locator网段路由发布给该AS内中所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DX2 SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

39所示,EVPN VPWS over SRv6 Option B Interworking组网中,PEASBR需要通过Ethernet Auto-discovery Per EVI路由发布PW标签或SRv6 SID,路由发布过程为:

(1)     PE 2PE 1发布路由的过程为:

a.     PE 2通过MP-IBGPASBR 2发布Ethernet Auto-discovery Per EVI路由,该路由携带Local service ID和为该Local service ID分配的PW标签Label 1Label 1作为EVPN PW的入标签。

b.     ASBR 2接收到Ethernet Auto-discovery Per EVI路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 2接收该路由。

c.     ASBR 2通过MP-EBGP将路由发布给ASBR 1ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配新的MPLS标签Label 2,并为MPLS标签Label 2MPLS标签Label 1建立关联。

d.     ASBR 1接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 1接收该路由。

e.     ASBR 1将路由的下一跳更新为本机地址,为路由分配End.T SID 200:1::1,并为End.T SIDMPLS标签Label 2建立关联。ASBR 1通过MP-IBGP将路由发布给PE 1。在该路由中End.T SID作为End.DX2 SID使用。

f.     PE 1接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则PE 1将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则建立一条SRv6 PWASBR 1通告的End.T SID 200:1::1作为该SRv6 PW的出SID

(2)     PE 1PE 2发布路由的过程为。

a.     PE 1通过MP-IBGPASBR 1发布Ethernet Auto-discovery Per EVI路由,该路由携带Local service ID和为该Local service ID分配的End.DX2 SID 100:1::1。该End.DX2 SID作为SRv6 PW的入SID

b.     ASBR 1接收到Ethernet Auto-discovery Per EVI路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 1接收该路由。

c.     ASBR 1通过MP-EBGP将其发布给ASBR 2ASBR 1发布路由时,将路由的下一跳更新为本机地址,为路由分配PW标签Label 3,并为PW标签Label 3End.DX2 SID建立关联。

d.     ASBR 2接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 2接收该路由。

e.     ASBR 2通过MP-IBGP将其发布给PE 2ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配PW标签Label 4,并为PW标签Label 4和私网标签Label 3建立关联。

f.     PE 2接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则PE 2将接收到的Local service ID与本地配置的Remote service ID比较。若二者相同,则ASBR 2通告的PW标签Label 4作为EVPN PW的出标签。

完成路由发布后,PE 1上将具有SRv6 PW的出入SIDPE 2上将具有EVPN PW的出入PW标签,ASBR 1ASBR 2上将具有PW标签和SRv6 SID的映射关系,用户二层数据报文可以根据上述信息在MPLS网络和SRv6网络之间转发。

CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,查找与AC关联的SRv6 PW,找到对应的End.DX2 SID 200:1::1(即ASBR 1通告的End.T SID)。PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(2)     ASBR 1接收到报文后,解封装去掉IPv6报文头,并根据End.T SID查找IPv6 FIB表转发报文,出标签为Label 2ASBR 1为报文重新封装PW标签Label 2,并将报文转发给ASBR 2ASBR 1ASBR 2之间的报文只带一层MPLS标签。

(3)     ASBR 2MPLS标签Label 2替换为Label 1,添加从ASBR 2PE 2的公网隧道的标签,并将报文转发给PE 2

(4)     PE 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与PW关联的AC,并通过该AC将报文转发给CE 2

CE 2访问CE 1的报文转发过程如下:

(1)     PE 2AC接收到CE 2发送的报文后,查找与AC关联的EVPN PW,找到对应的PW标签Label 4PE 2为报文封装PW标签Label 4PE 2ASBR 2间的公网标签,将报文转发到ASBR 2。。

(2)     ASBR 2收到报文后,剥离公网标签,将私网标签Label 4替换为Label 3,并将报文发送给ASBR 1ASBR 1ASBR 2之间的报文只带一层私网标签。

(3)     ASBR 1收到报文后,将私网标签Label 3替换为End.DX2 SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(4)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DX2 SID 100:1::1查找与PW关联的AC,并通过该AC将报文转发给CE 1

10.2.3  EVPN VPLS over SRv6EVPN VPLS网络互通

EVPN VPLS over SRv6 Interworking组网中,BUM流量和已知单播流量的SRv6网络与MPLS网络互通过程类似、不同类型SIDSRv6网络与MPLS网络互通过程类似,下文仅以已知单播流量、End.DT2U SID为例进行说明。

1. 域内EVPN VPLS over SRv6 Interworking实现机制

域内EVPN VPLS over SRv6 Interworking是指在同一AS内,不同PE间采用不同的转发方式(SRv6MPLS),用户二层数据跨越SRv6网络和MPLS网络转发。

图40 域内EVPN VPLS over SRv6 Interworking实现机制

 

40所示,域内EVPN VPLS over SRv6 Interworking组网中,路由发布过程为:

(1)     PE 3PE 1发布路由的过程为:

a.     PE 3接收到CE 2发送的报文后,将CE 2MAC地址学习到VSI实例AMAC地址表中。

b.     PE 3通过MP-IBGPPE 2发布MAC/IP发布路由,通告CE 2MAC地址。该路由携带PE 3VSI实例A分配的PW标签Label 1Label 1作为EVPN PW的入标签。

c.     PE 2接收到路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性相同,则PE 2接收该路由。

d.     PE 2通过MP-IBGPPE 1发布MAC/IP发布路由,将路由的下一跳地址改为自身的地址,为路由分配End.T SID 200:1::1,并为End.T SID 200:1::1PW标签Label 1建立关联。在发布的路由中,End.T SID作为End.DT2U SID使用。

e.     PE 1接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则建立一条SRv6 PWPE 2通告的End.T SID 200:1::1作为该SRv6 PW的出SID

(2)     PE 1PE 3发布路由的过程为:

a.     PE 1接收到CE 1发送的报文后,将CE 1MAC地址学习到VSI实例AMAC地址表中。

b.     PE 1通过MP-IBGPPE 2发布MAC/IP发布路由,通告CE 1MAC地址。该路由携带PE 1VSI实例A分配的End.DT2U SID 100:1::1。该End.DT2U SID作为SRv6 PW的入SID

c.     PE 2接收到路由后,如果路由中的Export target属性与PE 2本地配置的Import target属性相同,则PE 2接收该路由。

d.     PE 2通过MP-IBGPPE 1发布MAC/IP发布路由,将路由的下一跳地址改为自身的地址,为路由分配PW标签Label 2,并为End.DT2U SID 100:1::1PW标签Label 2建立关联。

e.     PE 3接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则PE 2通告的PW标签Label 2作为EVPN PW的出标签。

完成路由发布后,PE 1上将具有SRv6 PW的出入SIDPE 3上将具有EVPN PW的出入PW标签,PE 2上将具有PW标签和SRv6 SID的映射关系,用户二层数据报文可以根据上述信息在MPLS网络和SRv6网络之间转发。

CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的End.DT2U SID 200:1::1(即PE 2通告的End.T SID)。PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 2

(2)     PE 2接收到报文后,根据End.T SID 200:1::1PW标签Label 1的关联关系,解封装去掉IPv6头,为报文封装PW标签Label 1PE 2PE 3间的公网标签,将报文转发到PE 3

(3)     PE 3接收到报文后,剥离公网标签和PW标签,根据PW标签查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 2

CE 2访问CE 1的报文转发过程如下:

(1)     PE 3AC接收到CE 2发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的PW标签Label 2PE 3为报文封装PW标签Label 2PE 3PE 2间的公网标签,将报文转发到PE 2。。

(2)     PE 2接收到报文后,根据End.DT2U SID 100:1::1PW标签Label 2的关联关系,剥离MPLS标签,为报文封装End.DT2U SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(3)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DT2U SID 100:1::1查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 1

2. 域间EVPN VPLS over SRv6 Option A Interworking实现过程

41所示,在EVPN VPLS over SRv6 Option A Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。站点网络需要跨越AS 1AS 2互通。两个ASBR设备直接相连。ASBR同时作为PE,将对方当作自己的CE设备,在ASBR上将ACPW关联。

图41 EVPN VPLS over SRv6 Option A Interworking组网示意图

 

EVPN VPLS over SRv6 Option A Interworking路由发布和报文转发过程如42所示。

图42 EVPN VPLS over SRv6 Option A Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DT2U SID所属Locator网段路由发布给该AS内的所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DT2U SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

42所示,PE 1ASBR 1之间需要建立SRv6 PWPE 2ASBR 2之间需要建立EVPN PWEVPN VPLS over SRv6 Option A Interworking组网中,SRv6 PWEVPN PW的建立过程与EVPN VPLS over SRv6EVPN VPLS组网中相同,此处不再赘述。

PW建立完成后,CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的End.DT2U SID 200:1::1PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(2)     ASBR 1接收到报文后,解封装去掉IPv6报文头,根据End.DT2U SID 200:1::1查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给它的CE(即ASBR 2)。

(3)     ASBR 2AC接收到ASBR 1发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的PW标签Label 1ASBR 2为报文封装PW标签Label 1ASBR 2PE 2间的公网标签,将报文转发到PE 2

(4)     PE 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 2

PW建立完成后,CE 2访问CE 1的报文转发过程如下:

(1)     PE 2AC接收到CE 2发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的PW标签Label 2PE 2为报文封装PW标签Label 2PE 2ASBR 2间的公网标签,将报文转发到ASBR 2

(2)     ASBR 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给它的CE(即ASBR 1)。

(3)     ASBR 1AC接收到ASBR 2发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的End.DT2U SID 100:1::1ASBR 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(4)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DT2U SID 100:1::1查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 1

3. 域间EVPN VPLS over SRv6 Option B Interworking实现机制

43所示,在EVPN VPLS over SRv6 Option B Interworking组网中,AS 1中部署SRv6网络,AS 2中部署MPLS网络。站点网络需要跨越AS 1AS 2互通。两个ASBR设备直接相连。ASBR间通过MP-EBGP交换它们从各自ASPE接收的EVPN路由。

图43 EVPN VPLS over SRv6 Option B Interworking组网示意图

 

图44 EVPN VPLS over SRv6 Option B Interworking实现机制

 

在部署SRv6网络的AS域内,PEASBR之间需要通过IGP协议将End.DT2U SIDEnd.T SID所属Locator网段路由发布给该AS内中所有设备。例如,PE 1通过IGP协议(以IS-IS路由为例)将End.DT2U SID所属Locator网段路由100:1::/64发布给域内PASBR设备。

44所示,EVPN VPLS over SRv6 Option B Interworking组网中,PEASBR需要通过MAC/IP发布路由通告PW标签或SRv6 SID,路由发布过程为:

(1)     PE 2PE 1发布路由的过程为:

a.     PE 2接收到CE 2发送的报文后,将CE 2MAC地址学习到VSI实例AMAC地址表中。

b.     PE 2通过MP-IBGPASBR 2发布MAC/IP发布路由,通告CE 2MAC地址。该路由携带PE 2VSI实例A分配的PW标签Label 1Label 1作为EVPN PW的入标签。

c.     ASBR 2接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 2接收该路由。

d.     ASBR 2通过MP-EBGP将路由发布给ASBR 1ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配新的MPLS标签Label 2,并为MPLS标签Label 2MPLS标签Label 1建立关联。

e.     ASBR 1接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 1接收该路由。

f.     ASBR 1通过MP-IBGP将路由发布给PE 1ASBR 1发布路由时,将路由的下一跳更新为本机地址,为路由分配End.T SID 200:1::1,并为End.T SIDMPLS标签Label 2建立关联。在该路由中,End.T SID作为End.DT2U SID使用。

g.     PE 1接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则建立一条SRv6 PWASBR 1通告的End.T SID 200:1::1作为该SRv6 PW的出SID

(2)     PE 1PE 2发布路由的过程为。

a.     PE 1接收到CE 1发送的报文后,将CE 1MAC地址学习到VSI实例AMAC地址表中。

b.     PE 1通过MP-IBGPASBR 1发布MAC/IP发布路由,通告CE 2MAC地址。该路由携带PE 1VSI实例A分配的End.DT2U SID 100:1::1。该End.DT2U SID作为SRv6 PW的入SID

c.     ASBR 1接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 1接收该路由。

d.     ASBR 1通过MP-EBGP将路由发布给ASBR 2ASBR 1发布路由时,将路由的下一跳更新为本机地址,为路由分配PW标签Label 3,并为PW标签Label 3End.DT2U SID建立关联。

e.     ASBR 2接收到路由后,如果路由中的Export target属性与本地配置的Import target属性相同,则ASBR 2接收该路由。

f.     ASBR 2通过MP-IBGP将路由发布给PE 2ASBR 2发布路由时,将路由的下一跳更新为本机地址,为路由分配PW标签Label 4,并为PW标签Label 4Label 3建立关联。

g.     PE 2接收到路由后,如果路由中的Export target属性与PE 1本地配置的Import target属性匹配,则ASBR 2通告的PW标签Label 4作为EVPN PW的出标签。

完成路由发布后,PE 1上将具有SRv6 PW的出入SIDPE 2上将具有EVPN PW的出入PW标签,ASBR 1ASBR 2上将具有PW标签和SRv6 SID的映射关系,用户二层数据报文可以根据上述信息在MPLS网络和SRv6网络之间转发。

CE 1访问CE 2的报文转发过程如下:

(1)     PE 1AC接收到CE 1发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的End.DT2U SID 200:1::1(即ASBR 1通告的End.T SID)。PE 1为报文封装IPv6报文头,并通过SRv6 BESRv6 TE方式将报文发送到ASBR 1

(2)     ASBR 1接收到报文后,解封装去掉IPv6报文头,并根据End.T SID查找IPv6 FIB表转发报文,出标签为Label 2ASBR 1为报文重新封装PW标签Label 2,并将报文转发给ASBR 2ASBR 1ASBR 2之间的报文只带一层MPLS标签。

(3)     ASBR 2MPLS标签Label 2替换为Label 1,添加从ASBR 2PE 2的公网隧道的标签,并将报文转发给PE 2

(4)     PE 2接收到报文后,剥离公网标签和PW标签,根据PW标签查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 2

CE 2访问CE 1的报文转发过程如下:

(1)     PE 2AC接收到CE 2发送的报文后,在AC关联的VSI实例内查找MAC地址表,找到对应的PW标签Label 4PE 2为报文封装PW标签Label 4PE 2ASBR 2间的公网标签,将报文转发到ASBR 2

(2)     ASBR 2收到报文后,剥离公网标签,将私网标签Label 4替换为Label 3,并将报文发送给ASBR 1ASBR 1ASBR 2之间的报文只带一层私网标签。

(3)     ASBR 1收到报文后,将私网标签Label 3替换为End.DT2U SID 100:1::1,并通过SRv6 BESRv6 TE方式将报文发送到PE 1

(4)     PE 1接收到报文后,解封装去掉IPv6报文头,根据End.DT2U SID 100:1::1查找与其关联的VSI实例,并在VSI实例内查找MAC地址表,将报文转发给CE 1

11  SRv6-TE Policy尾节点保护功能

IP L3VPN over SRv6 TE/EVPN L3VPN over SRv6 TE/EVPN VPLS over SRv6 TE/EVPN VPWS over SRv6 TE组网中,公网隧道为SRv6-TE Policy隧道。SRv6-TE Policy的尾节点发生故障,会导致报文转发失败,所以需要为SRv6-TE Policy的尾节点提供保护。

SRv6-TE Policy尾节点保护仅适用于双归属的网络场景,且要求尾节点和对尾节点进行保护的节点上具有相同的转发表项。

45所示,在PE 1PE 3之间部署SRv6-TE PolicyPE 3SRv6-TE Policy的尾节点,为了增强可靠性,PE 4PE 3提供保护。

图45 SRv6-TE Policy尾节点保护示意图

 

11.1  End.M SID

SRv6-TE Policy尾节点保护场景中,End.M SID用于保护指定的Locator,即保护指定Locator段内的SRv6 SID。如果远端设备发布的SRv6 SID在指定Locator段的范围内,则使用End.M SID对该SRv6 SID(称为远端SRv6 SID)进行保护。在不同组网环境中,End.M SID对应的转发动作不同:

(1)     IP L3VPN over SRv6 TE/EVPN L3VPN over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SIDVPN实例的映射表,找到对应VPN实例,在该VPN实例的路由表中查表转发。

(2)     EVPN VPWS over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SID与交叉连接的映射表,找到对应交叉连接,通过该交叉连接关联的AC转发报文。

(3)     EVPN VPLS over SRv6 TE尾节点保护场景:End.M SID对应的转发动作为剥掉外层IPv6报文头,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SIDVSI的映射表,找到对应VSI,在该VSI内查找MAC地址表转发。

11.2  远端SRv6 SID

45所示,PE 4PE 3收到BGP路由后,如果BGP路由中的SRv6 SIDPE 4End.M SID保护的Locator范围内,则该SRv6 SID为远端SRv6 SID,同时在PE 4上生成远端SRv6 SIDVPN实例/交叉连接/VSI的映射表。

PE 3故障时,PE 4PE 3之间邻居中断,会导致PE 4PE 3收到的BGP路由删除,进而导致远端SRv6 SIDVPN实例/交叉连接/VSI的映射表被删除,造成丢包。为了避免上述情况,可以在PE 4上延迟删除远端SRv6 SIDVPN实例/交叉连接/VSI的映射表,在PE 1感知到PE 3故障并计算出新的转发路径前,保证流量通过PE 4转发,避免丢包。

11.3  路由发布

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE尾节点保护场景的路由发布过程类似,下面以IP L3VPN over SRv6 TE尾节点保护场景为例进行介绍。

45所示,P 1FRR路径的生成过程为:

(1)     PE 4通过IS-ISv6路由向邻居P 1发布End.M SID和被保护的Locator,同时PE 4上生成End.M SIDLocal SID表。

(2)     P 1收到携带End.M SID的路由后,生成到达指定LocatorFRR路由信息,动作为压入End.M SID。该FRR路由对应的转发路径为Mirror FRR路径。

45所示,PE 4上远端SRv6 SIDVPN实例的映射表生成过程为:

(1)     PE 3收到CE 2发布的私网路由之后,封装成VPNv4路由发送给PE 4,路由携带SRv6 SIDRTRD信息。

(2)     PE 4PE 3收到VPNv4路由后,获取到该VPN实例对应的SRv6 SIDPE 4使用该SRv6 SIDEnd.M SID保护的Locator段进行最长匹配。如果匹配上,则该SRv6 SID为远端SRv6 SID,在PE 4上生成远端SRv6 SIDVPN实例的映射表。

11.4  报文转发

IP L3VPN/EVPN L3VPN/EVPN VPWS/EVPN VPLS over SRv6 TE尾节点保护场景的报文转发过程类似,下面以IP L3VPN over SRv6 TE尾节点保护场景为例进行介绍。

图46 SRv6-TE Policy尾节点保护转发示意图

 

46所示,正常情况下,流量经过路径CE 1-PE 1-P 1-PE 3-CE 2转发。当尾节点PE 3故障时,报文转发过程为:

(1)     P 1感知到下一跳PE 3不可达,切换为FRR路径。P 1为报文封装IPv6报文头,其目的地址为End.M SID,然后转发给PE 4

(2)     PE 4接收到报文后,查询Local SID表,匹配到End.M SIDPE 4执行End.M SID对应的转发动作,即解封装报文,获取到内层报文信息。内层报文的目的IPv6地址作为远端SRv6 SID,查询远端SRv6 SIDVPN实例的映射表,找到对应VPN实例1。然后,在PE 4上查询VPN实例1的路由表将流量转发给CE 2

12  参考文献

·     draft-ietf-idr-bgpls-srv6-ext-05

·     draft-ietf-bess-srv6-services-02

·     draft-ietf-spring-srv6-network-programming-16

·     draft-ietf-rtgwg-segment-routing-ti-lfa-05

·     draft-ietf-spring-segment-routing-policy-09

·     draft-ietf-6man-spring-srv6-oam-05

·     draft-ietf-lsr-isis-srv6-extensions-08

·     RFC 8667IS-IS Extensions for Segment Routing

·     RFC 8754IPv6 Segment Routing Header (SRH)

联系我们