SRv6网络编程自学系列 | SRv6网络设计

书籍来源:《SRv6网络编程:开启IP网络新时代》

这本书已经出了很多年了,但多年之后因为工作需要再来读一遍,除了温习之外,发现自己学到了更多的知识。一边学习一边整理读书笔记,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:SRv6网络编程自学系列 | 汇总_COCOgsta的博客-CSDN博客


8.3.1 SRv6网络基础配置

在配置SRv6网络之前,需要先配置接口的IPv6地址,配置样例如下。

<HUAWEI> system-view
[~HUAWEI] interface GigabitEthernet 1/0/0
[~HUAWEI-GigabitEthernet1/0/0] ipv6 enable
[*HUAWEI-GigabitEthernet1/0/0] ipv6 address 2001:db8::1 127
[*HUAWEI-GigabitEthernet1/0/0] commit
复制代码

SRv6基础配置包括使能SRv6;配置封装源地址,该源地址用作SRv6封装中IPv6报文头的源地址;配置Locator,Locator的配置中会指定前缀、掩码,以及为静态配置的Function预留的长度。配置样例如下。

[~HUAWEI] segment-routing ipv6
[*HUAWEI-segment-routing-ipv6] encapsulation source-address 1::1
[*HUAWEI-segment-routing-ipv6] locator SRv6_locator ipv6-prefix A1::64 static 32
[*HUAWEI-segment-routing-ipv6] commit
复制代码

在配置完成之后,可以使用以下命令查看Locator状态。

[~HUAWEI] display segment-routing ipv6 locator verbose 

                        Locator Configuration Table
                        --------------------------
LocatorName  : SRv6_locator                 LocatorID  : 1
IPv6Prefix  : A1::                      PrefixLength : 64
StaticLength : 32                       Reference  : 4
ArgsLength  : 0
AutoSIDPoolID : 8193
AutoSIDBegin : A1::1:0:0
AutoSIDEnd  : A1::FFFF:FFFF:FFFF:FFFF   

Total Locator(s): 1
复制代码

上述信息中包含配置的Locator名称、IPv6前缀和掩码、静态段长度以及动态SID的起始范围。

8.3.2 IGP设计

在完成节点的本地配置之后,还需要通过IGP把接口地址、SRv6 SID等信息发布到网络中,连通基础网络。在SRv6网络中,IGP可以选用IS-IS IPv6协议或者OSPFv3协议。

以单AS网络为例,一个典型的IGP设计如图8-18所示,不同的网络层次部署了不同的IGP域。

图8-18 IGP设计

整网在一个AS内,接入层、汇聚层和骨干层分为3个IGP域,可以有以下两种部署方式。

方式一:在骨干层部署IS-IS Level-2/OSPFv3 Area 0,在汇聚层部署IS-IS Level-1/OSPF Area X,在接入层部署单独的IS-IS/OSPFv3进程,此方式是比较常见的部署方式。

方式二:在骨干层、汇聚层、接入层分别部署不同的IGP进程。

无论选用哪种部署方式,不同Level/Area或者不同进程的IGP域之间只会按需发布聚合后的路由,这样可以有效减少每个节点需要维护的IGP路由。

以IS-IS为例,必要的基础配置包括Network-entity配置、Level配置和Cost-style配置。配置样例如下。

[~HUAWEI] isis 1
[~HUAWEI-isis-1] display this
#
isis 1
 is-level level-2
 cost-style wide
 network-entity 01.0000.0000.0007.00
 #
 ipv6 enable topology ipv6
 segment-routing ipv6 locator SRv6_locator
#
复制代码

在IS-IS中引用了Locator之后,系统将会自动分配End SID,并在ISIS中发布Locator子网路由。下面这个样例是系统分配的End SID,总计有两个,Flavor字段为“PSP”的SID用于倒数第二跳弹出,Flavor字段为空的SID用于最后一跳弹出。

[~HUAWEI] display segment-routing ipv6 local-sid end forwarding

                 My Local-SID End Forwarding Table
                 --------------------------------
SID     : A1::1:0:72/128            FuncType : End
Flavor   : PSP
LocatorName : SRv6_locator             LocatorID: 1

SID     : A1::1:0:73/128            FuncType : End
Flavor   : --
LocatorName : SRv6_locator             LocatorID: 1

Total SID(s): 2
复制代码

以下是节点在IS-IS中发布的Locator路由信息。

[~HUAWEI] display ipv6 routing-table A1::
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
--------------------------------------
Routing Table : _public_
Summary Count : 1

Destination  : A1::             PrefixLength : 64
NextHop    : ::               Preference  : 15
Cost      : 0              Protocol   : ISIS-L2
RelayNextHop : ::              TunnelID   : 0x0
Interface   : NULL0            Flags    : DB
复制代码

除了IS-IS进程的配置之外,接口下的配置与普通的IS-IS IPv6接口下的配置相同,典型配置包括使能IS-IS IPv6、配置IS-IS IPv6 Cost和配置ISIS Circuit-type等。样例如下。

[~HUAWEI] interface gigabitethernet1/0/1
[~HUAWEI-GigabitEthernet1/0/1] display this
#
interface GigabitEthernet1/0/1
 undo shutdown
 ipv6 enable
 ipv6 address 2001:db8::1/127
 isis ipv6 enable 1
 isis circuit-type p2p
 isis ipv6 cost 10
#
复制代码

接口下使能IS-IS IPv6之后,系统会自动为每个接口生成End.X SID。此样例中一共有两个接口,每个接口各分配两个End.X SID,Flavor字段为PSP的SID用于倒数第二跳弹出,Flavor字段为空的SID用于最后一跳弹出。

[~HUAWEI] display segment-routing ipv6 local-sid end-x forwarding 

               My Local-SID End.X Forwarding Table
               ----------------------------------
SID    : A1::1:0:74/128            FuncType :End.X
Flavor   : PSP
LocatorName: SRv6_locator             LocatorID: 1
NextHop  :         Interface :     ExitIndex:
FE80::82B5:75FF:FE4C:2B1A   GE1/0/1       0x0000001d

SID    : A1::1:0:75/128            FuncType :End.X
Flavor   : --
LocatorName: SRv6_locator             LocatorID: 1
NextHop  :         Interface :     ExitIndex:
FE80::82B5:75FF:FE4C:2B1A   GE1/0/1       0x0000001d

SID    : A1::1:0:76/128            FuncType :End.X
Flavor   : PSP
LocatorName: SRv6_locator             LocatorID: 1
NextHop  :         Interface :     ExitIndex:
FE80::82B5:75FF:FE4C:326A   GE1/0/2       0x0000001e

SID    : A1::1:0:77/128            FuncType :End.X
Flavor   : --
LocatorName: SRv6_locator             LocatorID: 1
NextHop  :         Interface :     ExitIndex:
FE80::82B5:75FF:FE4C:326A   GE1/0/2       0x0000001e

Total SID(s): 4
复制代码

End SID和End.X SID也支持手工配置,在配置了Locator之后,使用opcode命令可以手工配置Function,Opcode是在Locator前缀的基础上继续指定后面的Function值。配置样例如下。

[~HUAWEI-segment-routing-ipv6] display this
#
segment-routing ipv6
 encapsulation source-address 1::1
 locator SRv6_locator ipv6-prefix A1:: 64 static 32
  opcode ::1 end
  opcode ::2 end-x interface GigabitEthernet1/0/1 nexthop 2001:db8:12::1
#
复制代码

8.3.3 BGP设计

在SRv6网络中,BGP设计除了需要考虑传统网络设计中的IPv6单播地址族邻居和VPN/EVPN地址族邻居外,还需要考虑BGP-LS地址族和BGP IPv6 SR-Policy地址族邻居的设计。

BGP IPv6单播地址族邻居在单AS网络中不是必要的元素,可以通过互相引入路由来实现Locator/Loopback网段路由在不同IGP域的传递,不需要通过BGP传递。但是在多AS网络中,跨AS的Locator/Loopback网段路由还是需要通过BGP来传送。

8.3.4 SRv6 BE设计

SRv6的路径分为两种类型:SRv6 BE和SRv6 TE。SRv6 BE不需要控制器即可基于IGP最短路径和BGP最优路由来自动计算路径,适用于对路径规划无特殊要求的业务,如普通上网业务、普通专线业务等。SRv6 TE隧道需要用控制器规划路径,适用于对路径SLA要求高的业务。

  1. Locator路由发布

在SRv6 BE路径中,报文根据Locator路由按照最短路径转发,该路径天然支持ECMP。

为了减小边缘节点的路由表规模,需要提前规划好整网的Locator,逐级分配。给每对MC(Metro Core,城域核心)节点分配一个独立的较大网段,并预留一定的扩展性,从MC下的网段中给每对AGG分配一个子网段,从AGG的网段中给每个ACC分配一个子网段。

  1. IS-IS路由的引入和聚合

通过下面的配置,可以从isis 100引入路由到isis 1并聚合,在引入的时候为路由设置tag 为100,并设置路由策略,拒绝从isis 1向isis 100引入的路由(tag为1的路由),以防止路由互引时成环。

[~HUAWEI] isis 1
[*HUAWEI-isis-1] ipv6 import-route isis 100 route-policy 100TO1
[*HUAWEI-isis-1] ipv6 summary A1::1:0:0 96
[*HUAWEI-isis-1] quit
[*HUAWEI] route-policy 100TO1 deny node 10
[*HUAWEI-route-policy] if-match tag 1
[*HUAWEI-route-policy] quit
[*HUAWEI] route-policy 100TO1 permit node 20
[*HUAWEI-route-policy] apply tag 100
复制代码
  1. SRv6 BE TI-LFA保护

在设计SRv6解决方案的时候,还需要考虑网络的可靠性,所以需要设计保护和故障恢复方案。

SRv6 BE路径的中间节点在IGP域内可以通过TI-LFA FRR实现对网络的保护,这种保护与拓扑无关。对于可能存在的微环场景,可以通过防微环技术实现快速切换。端到端的可靠性保护场景和技术如图8-20所示。

图8-20 端到端的可靠性保护场景和技术

TI-LFA FRR和防微环的配置样例如下。

[~HUAWEI-isis-1] display this
#
isis 1
 is-level level-2
 cost-style wide
 network-entity 01.0000.0000.0007.00
 avoid-microloop frr-protected
 avoid-microloop frr-protected rib-update-delay 5000
 #
 ipv6 enable topology ipv6
 segment-routing ipv6 locator SRv6_locator
 ipv6 avoid-microloop segment-routing
 ipv6 avoid-microloop segment-routing rib-update-delay 10000
 ipv6 frr
  loop-free-alternate level-2
  ti-lfa level-2
#
复制代码

配置之后,路由就生成了备份路径。

验证TI-LFA FRR和防微环的配置样例如下。

[~HUAWEI] display isis route ipv6 A1:: verbose

                      Route information for ISIS(1)
                      ----------------------------

                      ISIS(1) Level-1 Forwarding Table
                      -------------------------------
IPV6 Dest : A1::/128       Cost: 20     Flags: A/-/-/
Admin Tag : -        Src Count: 1    Priority: Low
NextHop  :          Interface:    ExitIndex :
FE80::82B5:75FF:FE4C:3268   GE1/0/2     0x0000001e
SRv6 TI-LFA:
Interface : GE1/0/1
Nexthop   : FE80::82B5:75FF:FE4C:2B1A IID:0x01000227
Backup sid Stack(Top->Bottom): {A2::5}
Flags: D-Direct, A-Added to URT, L-Advertised in LSPs, S-IGP Shortcut, U-Up/Down Bit Set, LP-Local Prefix-Sid
复制代码

以上就是SRv6 BE部署方案需要考虑和设计的内容,主要包含路由发布和保护方案部署两部分。

8.3.5 SRv6 TE设计

对路径SLA要求较高的业务,需要通过控制器约束算路,部署SRv6 TE隧道来确保网络满足业务需求。

控制器对SRv6 TE的算路结果可以是严格的显式路径(每一跳都指定出口链路),也可以是松散的显式路径(只指定部分节点的出口链路)。

在松散的显式路径的场景中,未指定的节点可以不支持SRv6,只需要支持普通的IPv6路由转发即可。这是SRv6相对于SR-MPLS的一个较大的优势,这个优势使得传统IP/MPLS网络更容易向SRv6网络演进。

  1. SRv6 Policy

SRv6 Policy是建立SRv6 TE隧道的一种方式。控制器可以基于Color统一规划网络时延、带宽等路径约束。节点可以通过比较BGP路由的Color属性和SRv6 Policy的Color属性,完成业务和隧道的关联。

  1. BGP-LS和BGP SRv6 Policy

BGP-LS用来向控制器上报拓扑信息、SLA信息、隧道状态信息和SR信息。为了减少控制器的BGP邻居数量,建议由控制器和RR建立BGP-LS邻居,再由RR和各节点建立BGP-LS邻居。

控制器用BGP IPv6 SR-Policy向转发器下发隧道路径。为了减少控制器的BGP邻居数量,建议由控制器和RR建立BGP IPv6 SR-Policy邻居,再由RR和各节点建立BGP IPv6 SR-Policy邻居。同时,一个BGP IPv6 SR-Policy消息只会在某个指定的业务节点上生效,为了减少BGP IPv6 SR-Policy消息的扩散范围,需要RR只向指定的业务节点转发控制器下发的BGP IPv6 SR Policy消息。

图8-21 BGP-SRv6 Policy邻居关系的设计方法

BGP-LS的配置样例如下。

[~HUAWEI] bgp 100
[*HUAWEI-bgp] peer 100::100 as-number 100
[*HUAWEI-bgp] link-state-family unicast
[*HUAWEI-bgp-af-ls] peer 100::100 enable
复制代码

BGP-SRv6 Policy的配置样例如下。

[~HUAWEI] bgp 100
[*HUAWEI-bgp] ipv6-family sr-policy
[*HUAWEI-bgp-af-ipv6-srpolicy] peer 100::100 enable
复制代码
  1. SRv6 Policy路径计算

为了满足业务的SLA需求,需要基于约束条件计算SRv6 Policy路径,这些约束条件包括优先级、带宽、亲和属性、显式路径、时延门限、主备路径和路径分离等。

在满足约束条件的情况下,最优的算路结果可能是开销最小、时延最小或带宽均衡的算路。

SRv6 Policy的路径计算可以在控制器上集中进行,控制器根据定义的Color信息和头尾节点,计算一条满足约束条件的路径,并将算路结果通过BGP IPv6 SR-Policy下发到入节点的业务节点。

SRv6 Policy的配置样例如下。

[~HUAWEI] segment-routing ipv6
[~HUAWEI-segment-routing-ipv6] segment-list list1
[*HUAWEI-segment-routing-ipv6-segment-list-list1] index 5 sid ipv6 A2::1:0:0
[*HUAWEI-segment-routing-ipv6-segment-list-list1] index 10 sid ipv6 A3::1:0:0
[*HUAWEI-segment-routing-ipv6-segment-list-list1] commit
[~HUAWEI-segment-routing-ipv6-segment-list-list1] quit
[~HUAWEI-segment-routing-ipv6] srv6-te-policy locator SRv6_locator
[*HUAWEI-segment-routing-ipv6] srv6-te policy policy1 endpoint 3::3 color 101
[*HUAWEI-segment-routing-ipv6-policy-policy1] binding-sid A1::100
[*HUAWEI-segment-routing-ipv6-policy-policy1] candidate-path preference 100
[*HUAWEI-segment-routing-ipv6-policy-policy1-path] segment-list list1
复制代码
  1. SRv6 Policy的可靠性

建议将SRv6 BE作为SRv6 Policy的逃生路径,也就是说SRv6Policy发生故障,业务切换到SRv6 BE路径上尽力转发。

图8-22 SRv6 TE的SRv6 Policy隧道可靠性设计

相比于SRv6 BE设计,SRv6TE增加了TE路径计算和部署的设计。

8.3.6 VPN业务设计

基于SRv6部署VPN业务,可以使用BGP作为统一的信令控制平面,同时提供二层或三层业务连接,不再需要MPLS LDP。

从简化协议的角度出发,建议在SRv6中使用EVPN统一承载L3VPN与L2VPN。

典型的VPN业务部署模型如图8-23所示。

图8-23 典型的VPN业务部署模型

  1. SRv6 EVPN L3VPN

SRv6 EVPN L3VPN是实际部署中常用的SRv6 VPN技术。对于SRv6 EVPN L3VPN,配置过程如下。

① 配置EVPN L3VPN实例和接口接入L3VPN实例,配置样例如下。

[~HUAWEI-vpn-instance-srv6_vpn2] display this
#
ip vpn-instance srv6_vpn2
 ipv4-family
  route-distinguisher 100:2
  vpn-target 100:2 export-extcommunity evpn
  vpn-target 100:2 import-extcommunity evpn
#
[~HUAWEI-GigabitEthernet1/0/0.2] display this
#
interface GigabitEthernet1/0/0.2
 vlan-type dot1q 2
 ip binding vpn-instance srv6_vpn2
 ip address 10.78.2.2 255.255.255.0
#
复制代码

② 配置BGP IPv6邻居,并在EVPN地址族下使能邻居,配置样例如下。

[~HUAWEI-bgp] display this
#
bgp 100
 peer 2::2 as-number 100
 peer 2::2 connect-interface LoopBack0
 #
 l2vpn-family evpn
  policy vpn-target
  peer 2::2 enable
  peer 2::2 advertise encap-type srv6
#
复制代码

为了应用SRv6,需要用IPv6地址建立BGP邻居,并且需要在邻居上配置peer 2::2advertise encap-type srv6命令使能SRv6封装。

③ 配置VPN路由迭代SRv6 BE路径,需要在BGP VPN实例视图下进行配置。配置样例如下。

[~HUAWEI-bgp-srv6_vpn1] display this
#
ipv4-family vpn-instance srv6_vpn1
 import-route direct
 advertise l2vpn evpn
 segment-routing ipv6 locator SRv6_locator
 segment-routing ipv6 best-effort
 peer 10.78.1.1 as-number 65002
#
复制代码

其中segment-routing ipv6 locator命令用来指定使用的Locator,并且从该Locator动态分配End.DT4 SID给EVPN L3VPN实例。segment-routing ipv6 best-effort命令用来指定使用SRv6 BE路径承载VPN业务。

可以通过以下命令行查看本地SID表中的End.DT4 SID表项。

[~HUAWEI] display segment-routing ipv6 local-sid end-dt4 forwarding

                 My Local-SID End.DT4 Forwarding Table
                 -------------------------------------
SID    : A1::1:0:9B/128          FuncType : End.DT4
VPN Name  : srv6_vpn1             VPN ID  : 2
LocatorName: SRv6_locator           LocatorID: 1

SID    : A1::1:0:9C/128          FuncType : End.DT4
VPN Name  : srv6_vpn2             VPN ID  : 5
LocatorName: SRv6_locator           LocatorID: 1

Total SID(s): 2
复制代码

④ 也可以静态配置VPN使用的End.DT4 SID,样例如下。

[~HUAWEI-segment-routing-ipv6-locator] display this
#
locator SRv6_locator ipv6-prefix A1:: 64 static 32 
 opcode ::80 end-dt4 vpn-instance srv6_vpn1
#
复制代码

通过以下命令查看静态配置的End.DT4 SID。

[~HUAWEI] display segment-routing ipv6 local-sid end-dt4 forwarding

                 My Local-SID End.DT4 Forwarding Table
                 -------------------------------------
SID    : A1::80/128            FuncType : End.DT4
VPN Name  : srv6_vpn1             VPN ID  : 2
LocatorName: SRv6_locator           LocatorID: 1

SID    : A1::1:0:9C/128          FuncType : End.DT4
VPN Name  : srv6_vpn2             VPN ID  : 5
LocatorName: SRv6_locator           LocatorID: 1

Total SID(s): 2
复制代码

可以看到,为VPN配置了静态SID后,系统自动使用静态SID,不再动态分配SID。

配置完成之后,查看对端PE的路由表项,可以看到路由携带了Prefix SID:A1::80。

<HUAWEI> display bgp vpnv4 vpn-instance srv6_vpn2 routing-table10.7.7.0
BGP local router ID : 10.37.112.122
Local AS number :100

VPN-Instance srv6_vpn2 Router ID 10.37.112.122:
Paths: 1 available, 1 best, 1 select, 0 best-external, 0 add-path
BGP routing table entry information of 10.78.1.0/24:
Route Distinguisher: 100:1
Remote-Cross route
Label information (Received/Applied): 3/NULL
From: 2::2 (10.37.112.119)
Route Duration: 0d00h29m01s
Relay IP NextHop: FE80::E45:BAFF:FE28:7258
Relay IP Out-Interface: GigabitEthernet1/0/2
Relay Tunnel Out-Interface:
Original NextHop: 1::1
Qos information : 0x0
Ext-Community: RT <100:1>
Prefix - sid: A1:: 80
AS-path Nil, origin incomplete, MED 0, local preference 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 20
Originator: 10.37.112.117
Cluster List: 10.37.112.119
Advertised to such 1 peers:
  10.79.1.1
复制代码
  1. SRv6 EVPN E-line

对于EVPN E-Line over SRv6,配置过程如下。

① 配置EVPN实例,配置样例如下。

[~HUAWEI-vpws-evpn-instance-srv6_vpws] display this
#
evpn vpn-instance srv6_vpws vpws
 route-distinguisher 100:2
 segment-routing ipv6 best-effort
 vpn-target 100:2 export-extcommunity
 vpn-target 100:2 import-extcommunity
#
复制代码

② 配置EVPL实例(EVPN E-Line实例),并指定为SRv6模式,配置样例如下。

[~HUAWEI-evpl-srv6-1] display this
#
evpl instance 1 srv6-mode
 evpn binding vpn-instance srv6_vpws
 local-service-id 100 remote-service-id 200
 segment-routing ipv6 locator SRv6_locator
#
复制代码

其中segment-routing ipv6 locator命令用来指定本EVPL实例使用的Locator,并且从该Locator中动态分配End.DX2 SID给EVPN E-Line实例。可以通过以下命令查看SID信息。

[~HUAWEI] display segment-routing ipv6 local-sid end-dx2 forwarding

                 My Local-SID End.DX2 Forwarding Table
                 -------------------------------------
SID    : A1::82/128            FuncType : End.DX2
EVPL ID  : 1
LocatorName: SRv6_locator           LocatorID: 1

Total SID(s): 1
复制代码

也可以静态配置EVPL实例的SID,配置样例如下。

[~HUAWEI-segment-routing-ipv6-locator] display this
#
locator SRv6_locator ipv6-prefix A1:: 64 static 32
 opcode ::82 end-dx2 evpl-instance 1
#
复制代码

③ 配置接口绑定EVPL实例,配置样例如下。

[~HUAWEI-GigabitEthernet1/0/0.100] display this
#
interface GigabitEthernet1/0/0.100 mode l2
 encapsulation dot1q vid 100
 rewrite pop single
 evpl instance 1
#
复制代码

④ 配置完成后,执行以下命令,在远端PE上查看A-D路由。可以看到A-D路由中携带了Prefix SID:A1::82。

[~HUAWEI] display bgp evpn vpn-instance srv6_vpws routing-table ad-route 0000.0000.0000.0000.0000:100
BGP local router ID : 10.37.112.122
Local AS number : 100

EVPN-Instance srv6_vpws:
Number of A-D Routes: 1
BGP routing table entry information of 0000.0000.0000.0000.0000:100:
Route Distinguisher: 100:2
Remote-Cross route
Label information (Received/Applied): 3/NULL
From: 2::2 (10.37.112.119)
Route Duration: 0d06h07m06s
Relay IP NextHop: FE80::82B5:75FF:FE4C:326D
Relay IP Out-Interface: GigabitEthernet1/0/2
Relay Tunnel Out-Interface:
Original NextHop: 1::1
Qos information : 0x0
Ext-Community: RT <100 : 2>, EVPN L2 Attributes <MTU:1500 C:0 P:1B:0>
AS-path Nil, origin incomplete, localpref 100, pref-val 0, valid, internal, best, select, pre 255, IGP cost 20
Originator: 10.37.112.117
Cluster list: 10.37.112.119
Prefix - sid: A1:: 82
Route Type: 1 (Ethernet Auto-Discovery (A-D) route)
ESI: 0000.0000.0000.0000.0000, Ethernet Tag ID: 100
    Not advertised to any peer yet
复制代码

EVPN E-LAN over SRv6的配置和上述的E-Line配置大致相同,由于篇幅限制,此处不再展开介绍,读者可以阅读华为相关的产品文档。

  1. EVPN SRv6 Policy

如果希望EVPN流量通过SRv6 TE路径转发,还需要以下几个步骤的操作。

  • 配置EVPN业务迭代SRv6 Policy隧道的功能。
  • 配置隧道策略。
  • 在VPN下引用隧道策略。
  • 为路由添加Color属性。

详细配置介绍如下。

① 配置EVPN业务迭代SRv6 Policy隧道的功能。

EVPN L3VPN对应的配置样例如下。

[*PE1] bgp 100
[*PE1-bgp] ipv4-family vpn-instance srv6_vpn2
[*PE1-bgp-srv6_vpn2] segment-routing ipv6 traffic-engineer evpn
复制代码

EVPN E-Line对应的配置样例如下。

[*PE1] evpn vpn-instance srv6_vpws vpws
[*PE1-vpws-evpn-instance-srv6_vpws] segment-routing ipv6 traffic-engineer
复制代码

② 配置隧道策略,配置样例如下。

[*PE1] tunnel-policy p1
[*PE1-tunnel-policy-p1] tunnel select-seq ipv6 srv6-te-policy load-balance-number 1
复制代码

③ 在VPN下引用隧道策略。

EVPN L3VPN对应的配置样例如下。

[*PE1] ip vpn-instance srv6_vpn2
[*PE1-vpn-instance-srv6_vpn2] ipv4-family
[*PE1-vpn-instance-srv6_vpn2-af-ipv4] tnl-policy p1 evpn
复制代码

EVPN E-Line对应的配置样例如下。

[*PE1] evpn vpn-instance srv6_vpws vpws
[*PE1-vpws-evpn-instance-srv6_vpws] tnl-policy p1
复制代码

④ 为路由添加Color属性。路由中的Color要和SRv6 Policy中的Color一致,才能将流量引入对应的SRv6 Policy中。可以在路由发送端PE的出口路由策略中添加Color属性,也可以在路由接收端PE的入口路由策略中添加。此处以在路由接收端PE的入口路由策略中添加为例,样例如下。

[~PE1] route-policy color100 permit node 1
[*PE1-route-policy] apply extcommunity color 0:100
[*PE1-route-policy] quit
[*PE1] commit
[~PE1] bgp 100
[*PE1-bgp] l2vpn-family evpn
[*PE1-bgp-af-evpn] peer 2::2 route-policy color100 import
[*PE1-bgp-af-evpn] quit
[*PE1-bgp] quit
[*PE1] commit
复制代码

配置完成后查看EVPN L3VPN的路由表,可以看到远端私网路由(10.7.7.0)迭代到了SRv6 Policy。

[~PE1] display ip routing-table vpn-instance srv6_vpn2 10.7.7.0 verbose
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route
-----------------------------------------------------------------
Routing Table : srv6_vpn2
Summary Count : 1

 Destination: 10.7.7.0/24
    Protocol: IBGP           Process ID: 0
  Preference: 255               Cost: 0
     NextHop: 2::2            Neighbour: 2::2
       State: Active Adv Relied         Age: 00h03m15s
         Tag: 0              Priority: low
       Label: 3              QoSInfo: 0x0
  IndirectID: 0x10000E0         Instance:
RelayNextHop: 0.0.0.0          Interface: SRv6-TE Policy
    TunnelID: 0x000000003400000001    Flags: RD
复制代码

通过查看EVPN E-Line状态,可以看到对应的EVPL实例中迭代到了SRv6 Policy。

[~PE1] display bgp evpn evpl
Total EVPLs: 1   1 Up   0 Down
EVPL ID : 1
State : up
Evpl Type : srv6-mode
Interface : GigabitEthernet1/0/0.100
Ignore AcState : disable
Local MTU : 1500
Local Control Word : false
Local Redundancy Mode : all-active
Local DF State : primary
Local ESI : 0000.0000.0000.0000.0000
Remote Redundancy Mode : all-active
Remote Primary DF Number : 1
Remote Backup DF Number : 0
Remote None DF Number : 0
Peer IP : 2::2
 Origin NextHop IP : 2::2
 DF State : primary
 Eline Role : primary
 Remote MTU : 1500
 Remote Control Word : false
 Remote ESI : 0000.0000.0000.0000.0000
 Tunnel info : 1 tunnels
  NO.0  Tunnel Type : srv6te-policy, Tunnel ID : 0x000000003400000001
Last Interface UP Timestamp : 2019-8-14 3:21:34:196
Last Designated Primary Timestamp : 2019-8-14 3:23:45:839
Last Designated Backup Timestamp : -

猜你喜欢

转载自blog.csdn.net/guolianggsta/article/details/130448315