• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 关于我们

11-Segment Routing配置指导

目录

10-公网IP over SRv6配置

本章节下载 10-公网IP over SRv6配置  (449.57 KB)

10-公网IP over SRv6配置


1 公网IP over SRv6

1.1  公网IP over SRv6简介

公网IP over SRv6是指通过SRv6隧道承载公网IP业务,通过IPv6网络透明传输用户三层数据,实现属于同一个VPN、位于不同地理位置的用户互通。

1.1.1  公网IP over SRv6基本原理

图1-1所示,通过BGP协议在IPv6骨干网上发布用户站点的IPv6公网路由,使用PE间的SRv6隧道承载公网报文,从而实现通过IPv6骨干网连接属于同一个VPN、位于不同地理位置的用户。

图1-1 公网IP over SRv6组网示意图

 

1.1.2  路由信息发布

公网IPv4 over SRv6和公网IPv6 over SRv6的路由发布过程类似,以公网IPv4 over SRv6为例,如公网IP over SRv6基本原理中的组网图所示,CE 1路由发布到CE 2的过程为:

(1)     CE 1使用静态路由、RIP、OSPF、IS-IS、EBGP或IBGP,将本站点的路由发布给PE 1。

(2)     PE 1从CE 1学习到路由信息后,PE 1将公网路由存放到公网路由表中。PE 1为公网路由分配End.DT4 SID/End.DT46 SID(即为所有公网路由分配相同的End.DT4 SID),或按下一跳分配End.DX4 SID(即为所有相同下一跳的公网路由分配相同的End.DX4 SID),PE 1将携带End.DT4 SID/End.DT46 SID/End.DX4 SID的IPv4单播路由发布给PE 2。

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

(4)     CE 2收到路由后,学习到路由表中,即CE 2学习到CE 1的路由。

1.1.3  报文转发

公网IP over SRv6支持SRv6 BE、SRv6 TE和SRv6 TE/SRv6 BE混合三种路由迭代方式。采用不同的路由迭代方式时,报文转发过程有所不同。

1. SRv6 BE方式

又称为基于SID的转发方式。该方式根据封装的SRv6 SID查找IPv6路由表进行转发。

公网IPv4 over SRv6和公网IPv6 over SRv6的报文转发过程类似,以公网IPv4 over SRv6为例,完成路由发布后,报文从CE 2到CE 1的转发过程为:

(1)     CE 2发送IPv4报文给PE 2。

(2)     PE 2收到报文后,在公网路由表中查找匹配IPv4目的地址的路由,找到对应的End.DT4 SID、End.DT46 SID或End.DX4 SID。然后为报文封装IPv6报文头,在IPv6报文头中End.DT4 SID、End.DT46 SID或End.DX4 SID作为其目的地址。

(3)     PE 2根据End.DT4 SID、End.DT46 SID或End.DX4 SID查找IPv6路由表,通过最优IGP路由将报文转发给P。

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

(5)     PE 1接收到报文后,根据报文携带的SID类型的不同,处理方式不同:

¡     如果报文头携带的是End.DT4 SID或End.DT46 SID,PE 1根据End.DT4 SID查找Local SID表,执行End.DT4 SID或End.DT46 SID对应的转发动作,即解封装报文去掉IPv6报文头,并根据End.DT4 SID或End.DT46 SID匹配公网实例,在公网路由表中,查表转发,将报文发送给CE 1。

¡     如果报文头携带的是End.DX4 SID,PE 1根据End.DX4 SID查找Local SID表,执行End.DX4 SID对应的转发动作,即解封装报文去掉IPv6报文头,并按照End.DX4 SID绑定的下一跳和出接口将报文发送给CE 1。

2. SRv6 TE方式

又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带SRv6 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。

可以通过如下方式将报文引入到SRv6 TE Policy进行转发(即SRv6 TE Policy引流):

·     基于Color引流:查找是否存在Color和Endpoint地址与BGP路由的Color扩展团体属性和下一跳地址完全相同的SRv6 TE Policy。若存在,则将该BGP路由迭代到SRv6 TE Policy。当设备收到匹配该BGP路由的报文时,会通过SRv6 TE Policy转发该报文。

·     基于隧道策略引流:根据路由下一跳地址在隧道策略中查找匹配的SRv6 TE Policy。通过首选隧道策略或负载分担隧道策略,可以实现用指定SRv6 TE Policy的路径作为承载SRv6 PW的公网隧道来转发报文。

隧道策略的详细介绍,请参见“MPLS配置指导”中的“隧道策略”;SRv6 TE Policy的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

3. SRv6 TE/SRv6 BE快速切换方式

SRv6 TE/SRv6 BE快速切换方式:SRv6 TE方式选择的路径和SRv6 BE方式选择的路径形成FRR,主路径为SRv6 TE方式选择的路径。如果SRv6 TE方式未找到可用的SRv6 TE Policy,则快速切换到SRv6 BE备份路径转发。该方式缩短了迭代方式切换后路径重新收敛的时间,可以实现快速保护,避免流量长时间丢失。

4. SRv6多级FRR(主SRv6 TE路径->备SRv6 TE路径->主SRv6 BE路径->备SRv6 BE)

SRv6 TE路径和SRv6 BE路径形成多级FRR。其中,主路径中存在一条主SRv6 TE路径和一条备SRv6 TE路径,备份路径中存在一条主SRv6 BE路径和一条备SRv6 BE路径。设备按照主SRv6 TE路径->备SRv6 TE路径->主SRv6 BE路径->备SRv6 BE路径的优先级顺序选择转发路径。多条SRv6 TE路径和SRv6 BE路径形成多级FRR,实现快速保护,避免流量长时间丢失。

5. SRv6多级FRR(主SRv6 TE路径->主SRv6 BE路径->备SRv6 TE路径->备SRv6 BE路径)

SRv6 TE路径和SRv6 BE路径形成多级FRR。其中,主路径中存在一条主SRv6 TE路径和一条主SRv6 BE路径,备份路径中存在一条备SRv6 TE路径和一条备SRv6 BE路径。设备按照主SRv6 TE路径->主SRv6 BE路径->备SRv6 TE路径->备SRv6 BE路径的优先级顺序选择转发路径。多条SRv6 TE路径和SRv6 BE路径形成多级FRR,实现快速保护,避免流量长时间丢失。

1.1.4  公网IP over SRv6快速重路由

公网IP over SRv6快速重路由功能用来在CE双归属(即一个CE同时连接两个PE)的组网环境下,通过为流量转发的主路径指定一条备份路径,并通过静态BFD检测主路径的状态,实现当主路径出现故障时,将流量迅速切换到备份路径,大大缩短了故障恢复时间。在使用备份路径转发报文的同时,会重新进行路由优选,优选完毕后,使用新的最优路由来转发报文。

目前,公网IP over SRv6快速重路由的路径备份方式为IPv4单播路由备份IPv4单播路由和IPv6单播路由备份IPv6单播路由。

图1-2 公网IP over SRv6快速重路由示意图

 

IPv4单播路由备份IPv4单播路由和IPv6单播路由备份IPv6单播路由功能类似,以IPv4单播路由备份IPv4单播路由为例,如图1-2所示,在入节点PE 1上指定去往CE2的IPv4公网路由的FRR备份下一跳为PE 3,则PE 1接收到PE 2和PE 3发布的到达CE 2的BGP IPv4单播路由后,PE 1会记录这两条IPv4单播路由,并将PE 2发布的BGP IPv4单播当作主路径,PE 3发布的BGP IPv4单播当作备份路径。

在PE 1上配置静态BFD检测,通过BFD检测PE 1到PE 2之间公网隧道的状态。当公网隧道正常工作时,CE 1和CE 2通过主路径CE 1—PE 1—PE 2—CE 2通信。当PE 1检测到该公网隧道出现故障时,PE 1将通过备份路径CE 1—PE 1—PE 3—CE 2转发CE 1访问CE 2的流量。

在这种备份方式中,PE 1负责主路径检测和流量切换。

有关静态BFD功能的详细介绍,请参见“可靠性配置指导”中“BFD”。

1.2  公网IP over SRv6配置限制和指导

在公网IP over SRv6组网场景下,对于从公网邻居收到的路由,在公网实例视图/公网实例IPv4地址族视图/公网实例IPv6地址族视图下使用import route-policy命令应用的入方向路由策略和使用export route-policy命令应用的出方向路由策略不生效,请勿配置。

仅在公网和VPN实例的BGP路由互相引入的场景下,可以使用import route-policy命令和export route-policy命令部署路由策略。关于公网和VPN实例的BGP路由互相引入的详细介绍,请参见“MPLS配置指导”中的“MPLS L3VPN”。

standard工作模式下,仅以下表格中的单板支持本功能。

表1-1 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200-E

 

sdn-wan工作模式下,仅以下表格中的单板支持本功能。

表1-2 单板信息一览表

单板类型

单板丝印

CEPC单板

CEPC-XP4LX、CEPC-XP24LX、CEPC-XP48RX、CEPC-CP4RX、CEPC-CP4RXA、CEPC-CP4RX-L、CEPC-CQ8L、CEPC-CQ8LA、CEPC-CQ8L1A、CEPC-CQ8L3A、CEPC-CQ16L1、CEPC-DQ2L1-G

CSPEX单板

CSPEX-1304X、CSPEX-1404X、CSPEX-1502X、CSPEX-1504X、CSPEX-1504XA、CSPEX-1602X、CSPEX-1602XA、CSPEX-1804X、CSPEX-1512X、CSPEX-1612X、CSPEX-1812X、CSPEX-1502XA、CSPEX-1802X、CSPEX-1802XA、CSPEX-1812X-E、CSPEX-2304X-G、CSPEX-2304X-LG、CSPEX-2612XA、CSPEX-2612X3A

SPE单板

RX-SPE200、RX-SPE200-E

OAA单板

IM-NGFWX-IV

 

 

1.3  公网IP over SRv6配置任务简介

公网IP over SRv6配置任务如下:

(1)     配置PE-CE间的路由交换

在PE-CE间配置IPv4路由协议(包括静态路由、RIP、OSPF、IS-IS、EBGP或IBGP)或IPv6路由协议(包括IPv6静态路由、RIPng、OSPFv3、IPv6 IS-IS、EBGP或IBGP)

CE使用IPv4路由协议或IPv6路由协议,将本站点的路由发布给PE。关于各个路由协议的具体配置,请参见“三层技术-IP路由配置指导”。

(2)     配置PE-PE间的路由交换

a.     配置SRv6 SID

本功能用来静态配置End.DT4 SID、End.DT6 SID、End.DT46 SID、End.DX4 SID或End.DX6 SID。

b.     配置BGP引用Locator段

通过BGP IPv4/IPv6单播路由通告Locator段内的SRv6 SID。

c.     配置PE-PE间交互BGP IPv4/IPv6单播路由

d.     配置IPv6对等体之间交换SRv6 SID

只有配置本功能后,PE设备之间交换IPv4/IPv6单播路由时才可以携带End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID。

e.     (可选)配置为公网路由按下一跳分配End.DX4 SID/End.DX6 SID

f.     (可选)配置BGP IPv4/IPv6单播路由

BGP IPv4/IPv6单播路由的属性请根据实际情况配置,具体内容请参见“三层技术-IP路由配置指导”中的“BGP”。

(3)     配置路由迭代方式

(4)     配置封装的IPv6报文头的源地址

本功能用来指定公网IP over SRv6骨干网中报文封装的IPv6报文头的源地址。

(5)     (可选)配置公网IP over SRv6快速重路由

(6)     (可选)配置SRv6 Locator的SBFD检测功能

1.4  配置SRv6 SID

1.4.1  配置普通的SRv6 SID

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     配置Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

(4)     配置Opcode段。

¡     配置End.DT4 SID。

opcode { opcode | hex hex-opcode } end-dt4

¡     配置End.DT6 SID。

opcode { opcode | hex hex-opcode } end-dt6

¡     配置End.DT46 SID。

opcode { opcode | hex hex-opcode } end-dt46

¡     配置End.DX4 SID。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address

不同下一跳和出接口不能配置相同End.DX4 SID。

¡     配置End.DX6 SID。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv6-address

不同下一跳和出接口不能配置相同End.DX6 SID。

1.4.2  在coc16类型Locator中配置SRv6 SID

1. 功能简介

指定compress-16参数的Locator为coc16类型的Locator。这类Locator用于16bit G-SRv6场景中分配SID,coc16类型的Locator可以分为:

·     Default模式的Locator:未指定next参数的Locator。可以分配带COC附加行为、NEXT附加行为、COC&NEXT附加行为的G-SID或不携带COC和NEXT附加行为的普通SID,适用于所有16bit压缩G-SRv6封装方案。

·     Next模式的Locator:指定next参数的Locator。用于分配不带COC附加行为仅携带NEXT附加行为的G-SID或不携带COC和NEXT附加行为的普通SID。H3C设备对接某些第三方设备时,如果第三方设备仅支持“位移”操作的16bit压缩G-SRv6封装方案,可以配置Next模式的Locator用于分配SID。

·     Wlib模式的Locator:指定了next-wlib参数的Locator,可以从扩展出W-LIB空间中分配携带NEXT附加行为的G-SID或者从压缩Function中分配携带NEXT附加行为的G-SID。目前Wlib模式的Locator中W-LIB空间主要用于分配VPN业务的SID。

2. 配置限制和指导

对于Wlib模式的Locator,如果需要从W-LIB空间中分配Opcode操作码,则在执行opcode命令配置End.DT4等VPN业务相关SID时,指定的opcode或十六进制hex-opcode需要先包含locator命令中的wlib-static-valuewlib-start-value+7值之一,再指定W-LIB空间中的操作码,此时,建议采用十六进制hex-opcode参数配置Opcode操作码。例如wlib-start-value取值为0xFFF3,wlib-static-value取值为0xFFF7,则hex-opcode应该先指定FFF7~FFFA中的一个值,再指定W-LIB空间中分配Opcode操作码。

3. 在Default模式的Locator配置SRv6 SID

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6压缩功能。

srv6 compress enable

缺省情况下,SRv6压缩功能处于关闭状态。

(4)     配置Default模式的Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length compress-16 [ non-compress-static non-compress-static-length ] [ args args-length | static static-length ] * ]

(5)     配置Opcode段,即静态指定SRv6 SID并指定SID的转发行为和附加行为。

¡     配置从非压缩Function段中分配普通SRv6 SID,普通SRv6 SID不会携带COC和NEXT附加行为。(略)

¡     配置从压缩Function段中分配携带COC或NEXT附加行为的SRv6 SID。

opcode { opcode | hex hex-opcode } end-dt4 compress { next | coc-next }

SID的转发指令为End.DT4。

opcode { opcode | hex hex-opcode } end-dt46 compress { next | coc-next }

SID的转发指令为End.DT46。

opcode { opcode | hex hex-opcode } end-dt6 compress { next | coc-next }

SID的转发指令为End.DT6。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address compress { next | coc-next }

SID的转发指令为End.DX4。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv4-address compress { next | coc-next }

SID的转发指令为End.DX6。

4. 在Next模式的Locator配置SRv6 SID

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6压缩功能。

srv6 compress enable

缺省情况下,SRv6压缩功能处于关闭状态。

(4)     配置Next模式的Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length compress-16 next [ non-compress-static non-compress-static-length ] [ args args-length | static static-length ] * ]

(5)     配置Opcode段,即静态指定SRv6 SID并指定SID的转发行为和附加行为。

¡     配置从非压缩Function段中分配普通SRv6 SID,普通SRv6 SID不会携带COC和NEXT附加行为。(略)

¡     配置从压缩Function段中分配携带NEXT附加行为的SRv6 SID。

opcode { opcode | hex hex-opcode } end-dt4 compress next

SID的转发指令为End.DT4。

opcode { opcode | hex hex-opcode } end-dt46 compress next

SID的转发指令为End.DT46。

opcode { opcode | hex hex-opcode } end-dt6 compress next

SID的转发指令为End.DT6。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address compress next

SID的转发指令为End.DX4。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv4-address compress next

SID的转发指令为End.DX6。

5. 在Wlib模式的Locator配置SRv6 SID

(1)     进入系统视图。

system-view

(2)     开启SRv6功能,并进入SRv6视图。

segment-routing ipv6

(3)     开启SRv6压缩功能。

srv6 compress enable

缺省情况下,SRv6压缩功能处于关闭状态。

(4)     配置Wlib模式的Locator段,并进入SRv6 Locator视图。

locator locator-name [ ipv6-prefix ipv6-address prefix-length compress-16 next-wlib [ wlib-start wlib-start-value ] [ wlib-static-start wlib-static-value ] [ args args-length | static static-length ] * ]

(5)     配置Opcode段,即静态指定SRv6 SID并指定SID的转发行为和附加行为。

¡     配置从扩展的W-LIB空间中分配携带NEXT附加行为的SRv6 SID。

opcode { opcode | hex hex-opcode } end-dt4 compress next

SID的转发指令为End.DT4。

opcode { opcode | hex hex-opcode } end-dt46 compress next

SID的转发指令为End.DT46。

opcode { opcode | hex hex-opcode } end-dt6 compress next

SID的转发指令为End.DT6。

opcode { opcode | hex hex-opcode } end-dx4 interface interface-type interface-number nexthop nexthop-ipv4-address compress next

SID的转发指令为End.DX4。

opcode { opcode | hex hex-opcode } end-dx6 interface interface-type interface-number nexthop nexthop-ipv4-address compress next

SID的转发指令为End.DX6。

1.5  配置BGP引用Locator段

1. 功能简介

在公网IP over SRv6组网场景中,在BGP IPv4/IPv6单播地址族视图下配置本功能后,PE设备将为IPv4/IPv6路由在引用的Locator段内申请SRv6 SID。

使用End.DT4 SID/End.DT6 SID/End.DT46 SID/End.DX4 SID/End.DX6 SID时,都需要执行本配置。在16bit压缩的G-SRv6场景中,通过配置本命令引用coc16类型的Locator段并指定compress-16参数后,可以从该Locator段中分配携带COC&NEXT附加行为或NEXT附加行为的End.DT4、End.DT6、End.DT46、End.DX4、End.DX6这类VPN SID。在SRv6报文封装时,源节点先将上述VPN SID压缩为16bit长度封装到SRv6报文中,降低SRv6报文头的长度,作为PE设备的尾节点接收到16bit压缩SRv6报文后,可以根据VPN SID携带的COC或NEXT附加行为执行“替换”或“位移”操作。关于“替换”或“位移”操作的详细介绍,请参见“Segment Routing配置指导”中的“SRv6”。

2. 配置限制和指导

配置本功能前,指定的Locator必须存在。

执行segment-routing ipv6 locator命令指定compress-16参数时,命令必须引用coc16类型的Locator,否则Locator分配SID可能无法达到预期效果:

·     执行segment-routing ipv6 locator命令引用非coc16类型的Locator时,指定compress-16参数不生效,即无法正常从该Locator段内分配SID。

·     执行segment-routing ipv6 locator命令引用Default模式或Next模式的coc16类型的Locator时,如果未指定compress-16参数,则从该Locator的非压缩Function段中分配普通类型的SID,普通类型的SID不会携带COC或NEXT附加行为。

·     执行segment-routing ipv6 locator命令引用Wlib模式的coc16类型的Locator时,如果未指定compress-16参数,则无法从该Locator段内分配SID。

配置segment-routing ipv6 locator命令并指定compress-16参数后,还可以执行segment-routing ipv6 apply-sid compress命令来修改从Locator中分配SID所携带的附加行为。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图或BGP IPv6单播地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置BGP引用Locator段。

segment-routing ipv6 locator locator-name [ auto-sid-disable | auto-sid-dt46 ] [ compress-16 ]

缺省情况下,未引用Locator段。

(5)     (可选)配置从BGP引用的coc16类型的Locator段动态分配SID时所携带的附加行为。

segment-routing ipv6 apply-sid compress { coc-next | next [ wlib ] } [ end-dt46 ]

缺省情况下,对于Default模式的coc16类型Locator,从压缩Function段分配带COC和NEXT的SRv6 SID。对于Next模式的coc16类型Locator,从压缩Function段分配带NEXT的SRv6 SID。对于Wlib模式的coc16类型Locator,从W-LIB空间中分配携带NEXT附加行为的SRv6 SID。

1.6  配置PE-PE间交互BGP IPv4/IPv6单播路由

1. 配置限制和指导

本节所有命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

设备之间不能同时建立IPv4和IPv6对等体,否则影响路由优选,无法通过SRv6隧道转发流量。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     将对端PE配置为IPv6对等体。

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

(4)     指定与IPv6对等体/对等体组创建BGP会话时建立TCP连接使用的源接口。

peer { group-name | ipv6-address [ prefix-length ] } connect-interface interface-type interface-number

缺省情况下,BGP使用到达BGP对等体的最佳路由的出接口作为与对等体/对等体组创建BGP会话时建立TCP连接的源接口。

(5)     进入BGP IPv4单播地址族视图或BGP IPv6单播地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(6)     使能本地路由器与指定IPv6对等体交换IPv4/IPv6单播路由信息的能力。

peer { group-name | ipv6-address [ prefix-length ] } enable

缺省情况下,本地路由器不能与对等体交换IPv4/IPv6单播路由信息。

1.7  配置IPv6对等体之间交换SRv6 SID

1. 功能简介

配置本功能后,IPv6对等体之间可以通过IPv6单播路由交换SRv6 SID信息。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图或BGP IPv6单播地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置与指定IPv6对等体之间交换SRv6 SID信息。

peer { group-name | ipv6-address [ prefix-length ] } prefix-sid

缺省情况下,IPv6对等体之间不能交换SRv6 SID信息。

1.8  配置为公网路由按下一跳分配End.DX4 SID/End.DX6 SID

1. 功能简介

在公网IPv6 over SRv6组网场景中,缺省情况下,PE为所有公网路由都分配相同的SID。PE对接收到的报文解封装后,会在SID所标识的公网路由表中查表转发该报文。

如果希望不查路由表,直接快速地将报文转发给下一跳,则可以基于下一跳地址为公网路由分配End.DX4/End.DX6 SID。

2. 配置限制和指导

本功能不会为直连路由分配End.DX4 SID或者End.DX6 SID。

3. 配置准备

配置本功能前,必须先在BGP IPv4单播地址族视图或BGP IPv6单播地址族引用Locator段。

4. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图、BGP IPv6单播地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置根据下一跳分配End.DX4 SID或End.DX6 SID。请选择其中一项进行配置。

¡     配置BGP公网路由为所有下一跳分配End.DX4/End.DX6 SID。

segment-routing ipv6 apply-sid all-nexthop

¡     依次执行以下命令,配置BGP公网路由为指定下一跳分配End.DX4/End.DX6 SID。

segment-routing ipv6 apply-sid specify-nexthop

nexthop nexthop-address interface interface-type interface-number

缺省情况下,根据公网实例为路由分配SID。

 

1.9  配置路由迭代方式

1. 功能简介

公网IP over SRv6网络中,设备为用户流量封装SRv6 SID后,可以根据如下路由迭代方式为封装后的报文查找转发路径:

·     SRv6 BE方式:又称为基于SID的转发方式。该方式根据封装的End.DT4 SID/End.DT6 SID/End.DT46 SID查找IPv6路由表进行转发。

·     SRv6 TE方式:又称为基于SRv6 TE Policy的转发方式。该方式根据报文属性查找匹配的SRv6 TE Policy,为报文添加携带End.DT4 SID/End.DT6 SID/End.DT46 SID和SRv6 TE Policy SID列表的SRH头后,通过SRv6 TE Policy转发该报文。有关基于SRv6 TE Policy的转发方式的详细介绍,请参见“Segment Routing配置指导”中的“SRv6 TE Policy”。

·     SRv6 TE/SRv6 BE快速切换方式(指定best-effort参数):SRv6 TE方式选择的路径和SRv6 BE方式选择的路径形成FRR,主路径为SRv6 TE方式选择的路径。如果SRv6 TE方式未找到可用的SRv6 TE Policy,则快速切换到SRv6 BE备份路径转发。该方式缩短了迭代方式切换后路径重新收敛的时间,可以实现快速保护,避免流量长时间丢失。

·     SRv6 TE路径和SRv6 BE路径形成多级FRR:

¡     指定best-effort参数、但不指定local-preference参数:SRv6 TE路径和SRv6 BE路径形成多级FRR。其中,主路径中存在一条主SRv6 TE路径和一条备SRv6 TE路径,备份路径中存在一条主SRv6 BE路径和一条备SRv6 BE路径。设备按照主SRv6 TE路径->备SRv6 TE路径->主SRv6 BE路径->备SRv6 BE路径的优先级顺序选择转发路径。多条SRv6 TE路径和SRv6 BE路径形成多级FRR,实现快速保护,避免流量长时间丢失。本参数用于双归属场景。

¡     指定best-effortlocal-preference参数:SRv6 TE路径和SRv6 BE路径形成多级FRR。其中,主路径中存在一条主SRv6 TE路径和一条主SRv6 BE路径,备份路径中存在一条备SRv6 TE路径和一条备SRv6 BE路径。设备按照主SRv6 TE路径->主SRv6 BE路径->备SRv6 TE路径->备SRv6 BE路径的优先级顺序选择转发路径。多条SRv6 TE路径和SRv6 BE路径形成多级FRR,实现快速保护,避免流量长时间丢失。本参数用于双归属场景。

当路由的迭代方式为SRv6 BE方式、SRv6 TE/SRv6 BE快速切换方式以及SRv6 TE路径和SRv6 BE路径形成多级FRR时,如果BGP为路由分配的SRv6 SID对应的Locator匹配到多条IGP路由(即IGP发布的Locator网段路由存在多个下一跳),则BGP路由能迭代到多个SRv6 BE路径。Locator匹配到的多条IGP路由形成FRR时,BGP路由迭代到的多个SRv6 BE路径之间也能形成相同类型的FRR,具体形成的FRR规则与IGP协议的配置有关,请参见IGP相关协议的配置指导。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(3)     进入BGP IPv4单播地址族视图、BGP IPv6单播地址族视图。

¡     进入BGP IPv4单播地址族视图。

address-family ipv4 [ unicast ]

¡     进入BGP IPv6单播地址族视图。

address-family ipv6 [ unicast ]

(4)     配置路由迭代方式。

segment-routing ipv6 { best-effort | traffic-engineering | traffic-engineering best-effort [ local-preference ] }

缺省情况下,根据路由的下一跳地址查找IPv6路由表进行转发。

1.10  配置封装的IPv6报文头的源地址

1. 配置限制和指导

在公网IPv6 over SRv6组网环境中,必须指定封装的IPv6报文头的源地址。否则,无法通过SRv6转发数据流量。

配置源地址时,不能为环回地址、链路本地地址、组播地址和未指定地址。指定的源地址必须为本机地址,且已经由路由协议发布,建议指定本设备的Loopback接口地址。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置封装的IPv6报文头的源地址。

encapsulation source-address ipv6-address [ ip-ttl ttl-value ]

缺省情况下,未指定封装的IPv6报文头的源地址。

1.11  配置公网IP over SRv6快速重路由

1. 功能简介

公网IP over SRv6快速重路由功能可以通过开启指定地址族的快速重路由功能实现。采用这种方式时,设备会为当前公网地址族下的所有BGP路由自动计算备份下一跳,即只要从不同BGP对等体学习到了到达同一目的网络的路由,且这些路由不等价,就会生成主备两条路由。

在缺省情况下,由于公网实例的IP路由表中没有SRv6 SID的路由信息,快速重路由功能如需使用静态BFD会话来检测主路径的可达性,只能使用检测两端PE间Locator网段地址的静态BFD会话。如果多个地址族引用了相同的Locator,则这些地址族下的快速重路由功能可能会使用同一个静态BFD会话来检测主路径的可达性。一旦BFD检测到路径不可用,则多个地址族下的BGP路由将同时进行路径切换,不利于精细化管理。

为了解决上述问题,可以在BGP IPv4单播地址族视图或BGP IPv6单播地址族视图下配置segment-routing ipv6 primary-path-detect sid-bfd命令。配置该命令后,携带SRv6 SID的BGP IPv4/IPv6单播路由在添加公网IP路由表时,会将SRv6 SID作为路由的下一跳,使得快速重路由功能在使用静态BFD会话来检测主路径的可达性时,可以使用检测两端PE间SRv6 SID的静态BFD会话,并且会优先关联检测两端PE间SRv6 SID的静态BFD会话。这样BFD在检测到SRv6 SID不可达时,仅影响一个地址族内BGP路由的路径切换,为快速重路由功能提供更小的控制粒度。

2. 配置限制和指导

在某些组网情况下,执行pic命令开启该地址族的快速重路由功能,为所有BGP路由生成备份下一跳后,可能会导致路由环路,请谨慎使用本命令。

segment-routing ipv6 primary-path-detect sid-bfd命令仅为迭代方式为SRv6 BE方式的路由生效。当路由的迭代方式为SRv6 TE/SRv6 BE混合方式、SRv6 TE/SRv6 BE快速切换方式或SRv6 TE路径和SRv6 BE路径形成多级FRR时,只有在优先级更高的SRv6 TE路径不可用时,该命令才能生效。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置静态BFD检测。

bfd static session-name [ peer-ipv6 ipv6-address [ vpn-instance vpn-instance-name ] source-ipv6 ipv6-address [ discriminator local local-value remote remote-value ] [ track-interface interface-type interface-number ] ]

未配置segment-routing ipv6 primary-path-detect sid-bfd命令时,指定的peer-ipv6 ipv6-address参数和source-ipv6 ipv6-address参数必须是链路两端设备发布的Locator网段地址。

配置segment-routing ipv6 primary-path-detect sid-bfd命令后,指定的peer-ipv6 ipv6-address参数和source-ipv6 ipv6-address参数可以是链路两端设备在公网实例内分配的SRv6 SID。

有关本命令的详细介绍,请参见“可靠性命令参考”中的“BFD”。

(3)     退回系统视图。

quit

(4)     进入BGP实例视图。

bgp as-number [ instance instance-name ]

(5)     配置通过控制报文方式或Echo方式的BFD会话检测主路由的下一跳是否可达。

primary-path-detect bfd { ctrl | echo }

缺省情况下,通过ARP检测主路由的下一跳是否可达。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

(6)     (可选)配置通过检测SRv6 SID的静态BFD会话,来检测快速重路由功能的主路径是否可达。

¡     请依次执行以下命令,在BGP IPv4单播地址族视图下配置通过检测SRv6 SID的静态BFD会话,来检测快速重路由功能的主路径是否可达。

address-family ipv4 [ unicast ]

segment-routing ipv6 primary-path-detect sid-bfd

¡     请依次执行以下命令,在BGP IPv6单播地址族视图下配置通过检测SRv6 SID的静态BFD会话,来检测快速重路由功能的主路径是否可达。

address-family ipv6 [ unicast ]

segment-routing ipv6 primary-path-detect sid-bfd

缺省情况下,设备只能通过检测Locator网段的静态BFD会话,来检测快速重路由功能的主路径是否可达。

(7)     开启当前地址族的快速重路由功能。

pic

缺省情况下,快速重路由功能处于关闭状态。

本命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

1.12  配置SRv6 Locator的SBFD检测功能

1. 功能简介

图1-3所示,在公网IP over SRv6 BE场景中,对端CE 2双归属接入到PE 2和PE 3时,在本端PE 1上开启FRR功能后,本端PE 1上将形成主备两条路径。主路径发生故障时,为了使流量快速切换到备份路径进行转发,可以在本端PE 1配置本功能,通过SBFD快速检测对端PE设备发布的SRv6 Locator网段的连通性(该SRv6 Locator网段为公网路由迭代的下一跳地址),以便快速发现主路径故障,并引导流量快速切换至备份路径。

图1-3 双归属组网中SBFD检测SRv6 Locator示意图

 

SBFD检测SRv6 Locator网段的连通性过程如下:

(1)     ‍本端PE 1作为Initiator发送SBFD报文,SBFD报文将SRv6 Locator网段作为目的地址,将sbfd source-ipv6指定的地址作为SBFD报文源地址。

(2)     对端PE 2和PE 3作为Reflector收到SBFD报文后,检查报文中携带的远端标识符是否与本地配置的标识符一致。如果一致,Reflector将通过IPv6路由向Initiator发送SBFD响应报文。如果不一致,Reflector将丢弃收到的SBFD报文。

(3)     如果Initiator在检测时间超时前能够收到SBFD响应报文,则认为SRv6 Locator网段的连通性正常。否则,Initiator认为SRv6 Locator网段不可达,快速切换至备份路径。

2. 配置限制和指导

为保证本功能正常生效,请在本端PE 1上执行sbfd destination ipv6 remote-discriminator命令配置被检测SRv6 Locator网段和远端标识符的映射关系,在PE 2和PE 3上执行sbfd local-discriminator命令设置Reflector端的本地标识符,并保证本端PE 1和对端PE 2和PE 3上的标识符一致。关于sbfd destination ipv6 remote-discriminator命令和sbfd local-discriminator命令的详细介绍请参见“可靠性命令参考”中的“BFD”。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入SRv6视图。

segment-routing ipv6

(3)     配置SRv6 Locator的SBFD检测功能。

locator-sbfd enable [ template template-name ] [ prefix-list prefix-list-name ]

缺省情况下,未配置SRv6 Locator的SBFD检测功能。

1.13  公网IP over SRv6显示和维护

1.13.1  复位BGP会话

当BGP配置变化后,可以通过复位BGP会话使新的配置生效。复位BGP会话是指断开并重新建立BGP邻居关系的情况下,更新BGP路由信息。

请在用户视图下进行下列操作。下表中各命令的详细介绍,请参见“三层技术-IP路由命令参考”中的“BGP”。

表1-3 复位BGP会话

操作

命令

复位IPv6单播地址族下的BGP会话

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 [ unicast ]

 

1.13.2  显示和维护公网IP over SRv6的运行状态

在完成上述配置后,在任意视图下执行display命令可以显示配置后公网IP over SRv6的运行情况,通过查看显示信息验证配置的效果。

在用户视图下,用户可以执行reset命令来清除公网IP over SRv6的相关信息。

display bgp routing-tablereset bgp flap-info命令的详细介绍请参见“三层技术-IP路由命令参考”中的“BGP”。

表1-4 显示和维护公网IP over SRv6的运行状态

操作

命令

显示BGP IPv6单播路由信息

display bgp [ instance instance-name ] routing-table ipv6 [ unicast ] [ ipv6-address prefix-length [ advertise-info ] | as-path-acl as-path-acl-number | community-list { { basic-community-list-number | comm-list-name } [ whole-match ] | adv-community-list-number } | peer ipv6-address { advertised-routes | received-routes } [ ipv6-address prefix-length | statistics ] | statistics ]

清除BGP IPv6单播路由的震荡统计信息

reset bgp [ instance instance-name ] flap-info ipv6 [ unicast ] [ ipv6-address prefix-length | as-path-acl as-path-acl-number | peer ipv6-address [ prefix-length ] ]

 

1.14  公网IP over SRv6典型配置举例‌

1.14.1  公网IPv6 over SRv6 BE配置举例

1. 组网需求

图1-4所示,核心网为IPv6网络,在IPv6网络中PE设备之间部署公网IPv6 over SRv6 BE,通过SRv6隧道传递IPv6数据。

·     CE与PE之间配置EBGP交换公网路由信息。

·     同一自治系统内的PE设备之间运行IS-IS实现IPv6网络互通,配置IBGP交换IPv6路由信息。

2. 组网图

图1-4 公网IPv6 over SRv6配置组网图

设备

接口

IP地址

设备

接口

IP地址

CE 1

XGE3/1/1

111::1/96

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

XGE3/1/1

222::2/96

 

XGE3/1/1

111::2/96

 

XGE3/1/2

2002::1/96

 

XGE3/1/2

2001::1/96

CE 2

XGE3/1/1

222::1/96

P

Loop0

2::2/128

 

 

 

 

XGE3/1/1

2001::2/96

 

 

 

 

XGE3/1/2

2002::2/96

 

 

 

 

3. 配置准备

按照图1-4配置各接口IP地址和掩码,包括Loopback接口,具体配置过程略。

4. 配置步骤

(1)     在PE和P设备上配置IPv6 IS-IS,实现骨干网PE和P的互通

# 配置PE 1。

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface ten-gigabitethernet 3/1/2

[PE1-Ten-GigabitEthernet3/1/2] isis ipv6 enable

[PE1-Ten-GigabitEthernet3/1/2] quit

# 配置P。

<P> system-view

[P] isis

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] isis ipv6 enable

[P-LoopBack0] quit

[P] interface ten-gigabitethernet 3/1/1

[P-Ten-GigabitEthernet3/1/1] isis ipv6 enable

[P-Ten-GigabitEthernet3/1/1] quit

[P] interface ten-gigabitethernet 3/1/2

[P-Ten-GigabitEthernet3/1/2] isis ipv6 enable

[P-Ten-GigabitEthernet3/1/2] quit

# 配置PE 2。

<PE2> system-view

[PE2] isis

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] isis ipv6 enable

[PE2-LoopBack0] quit

[PE2] interface ten-gigabitethernet 3/1/2

[PE2-Ten-GigabitEthernet3/1/2] isis ipv6 enable

[PE2-Ten-GigabitEthernet3/1/2] quit

(2)     在PE与CE之间建立EBGP对等体,引入CE路由

# 配置CE 1。

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 111::2 as-number 100

[CE1-bgp-default] address-family ipv6 unicast

[CE1-bgp-default-ipv6] peer 111::2 enable

[CE1-bgp-default-ipv6] import-route direct

[CE1-bgp-default-ipv6] quit

[CE1-bgp-default] quit

# CE 2配置与CE 1设备配置类似,配置过程省略。

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] peer 111::1 as-number 65410

[PE1-bgp-default] address-family ipv6 unicast

[PE1-bgp-default-ipv6] peer 111::1 enable

[PE1-bgp-default-ipv6] import-route direct

[PE1-bgp-default-ipv6] quit

[PE1-bgp-default] quit

# PE 2配置与PE 1设备配置类似,配置过程省略。

(3)     在PE之间建立IBGP对等体

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] address-family ipv6 unicast

[PE1-bgp-default-ipv6] peer 3::3 enable

[PE1-bgp-default-ipv6] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] address-family ipv6 unicast

[PE2-bgp-default-ipv6] peer 1::1 enable

[PE2-bgp-default-ipv6] quit

[PE2-bgp-default] quit

(4)     在PE设备上配置IPv6报文头的源地址

# 配置PE 1。

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

# 配置PE 2。

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

(5)     在PE设备上配置IPv6报文头的目的地址End.DT6 SID

# 配置PE 1。

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# 配置PE 2。

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

(6)     在PE设备上配置为公网路由添加End.DT6 SID

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family ipv6 unicast

[PE1-bgp-default-ipv6] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv6] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family ipv6 unicast

[PE2-bgp-default-ipv6] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv6] quit

[PE2-bgp-default] quit

(7)     在PE设备上配置IPv6对等体之间交换End.DT6 SID,同时允许将路由迭代到End.DT6 SID的路由条目上

# 配置PE 1。

[PE1] bgp 100

[PE1-bgp-default] address-family ipv6 unicast

[PE1-bgp-default-ipv6] peer 3::3 prefix-sid

[PE1-bgp-default-ipv6] segment-routing ipv6 best-effort

[PE1-bgp-default-ipv6] quit

[PE1-bgp-default] quit

# 配置PE 2。

[PE2] bgp 100

[PE2-bgp-default] address-family ipv6 unicast

[PE2-bgp-default-ipv6] peer 1::1 prefix-sid

[PE2-bgp-default-ipv6] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv6] quit

[PE2-bgp-default] quit

5. 验证配置

# 在PE设备上执行display ipv6 routing-table命令,可以看到去往对端CE的路由,并且路由下一跳值为路由携带的End.DT6 SID。

以PE 1为例:

[PE1] display ipv6 routing-table 222::1 96

 

Summary count : 1

 

Destination: 222::/96                                    Protocol  : BGP4+

NextHop    : 6:5::                                       Preference: 255

Interface  : XGE3/1/2                                    Cost      : 0

CE 1和CE 2之间能够ping通。

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们