书籍来源:《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要求高的业务。
- Locator路由发布
在SRv6 BE路径中,报文根据Locator路由按照最短路径转发,该路径天然支持ECMP。
为了减小边缘节点的路由表规模,需要提前规划好整网的Locator,逐级分配。给每对MC(Metro Core,城域核心)节点分配一个独立的较大网段,并预留一定的扩展性,从MC下的网段中给每对AGG分配一个子网段,从AGG的网段中给每个ACC分配一个子网段。
- 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
复制代码
- 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网络演进。
- SRv6 Policy
SRv6 Policy是建立SRv6 TE隧道的一种方式。控制器可以基于Color统一规划网络时延、带宽等路径约束。节点可以通过比较BGP路由的Color属性和SRv6 Policy的Color属性,完成业务和隧道的关联。
- 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
复制代码
- 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
复制代码
- 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业务部署模型
- 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
复制代码
- 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配置大致相同,由于篇幅限制,此处不再展开介绍,读者可以阅读华为相关的产品文档。
- 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 : -