配置静态BFD检测SR-MPLS TE隧道示例
本示例中,通过配置静态BFD检测SR-MPLS TE隧道,使网络快速感知隧道故障,从而进行流量切换。
组网需求
如图2-17所示,PE1要建立一条到PE2的隧道,同时建立一条PE1到PE2的LSP,路径的生成和数据的转发采用SR(segment routing)协议。PE1为路径的Ingress节点,PE2为Egress节点,P1负责收集网络拓扑并通过IS-IS泛洪上报给控制器,控制器通过收集的拓扑信息计算标签路径,并将路径信息下发给第三方适配器,通过第三方适配器将路径信息下发给PE1 Ingress节点。
因为路径的下发通过第三方适配器完成,因此无需配置PCC(PCE Client)。
与第三方对接时,如果对端不支持BFD功能,可通过配置BFD单臂检测,对链路进行检测。
配置思路
采用如下的思路配置静态BFD检测SR-MPLS TE隧道:
配置各节点接口的IP地址及作为MPLS LSR-ID的Loopback接口的地址。
配置LSR-ID并全局使能各节点的MPLS TE和各接口的MPLS TE。
在各节点使能全局segment routing能力。
在各节点配置IS-IS TE。
在P1节点和控制器之间建立IS-IS邻居,以便通过IS-IS泛洪上报网络拓扑
。
在PE1 Ingress节点创建隧道接口,指定隧道的IP地址、隧道协议、目的地址以及隧道带宽。
在PE1上配置BFD会话,检测主路径上的SR-MPLS TE隧道。
操作步骤
- 配置各接口的IP地址
配置各接口的IP地址和掩码,具体配置过程见配置文件。
- 配置IS-IS协议发布各节点接口所连网段和LSR-ID的主机路由
在各个节点上配置IS-IS,使各设备间网络能互通。具体配置过程请参见配置文件。
- 在控制器和P1之间配置IS-IS邻居
在控制器和P1之间配置IS-IS邻居,使控制器和P1能够互通,以便P1通过IS-IS泛洪给控制器网络拓扑。具体配置过程参见配置文件。
- 配置MPLS基本能力,使能MPLS TE
# 配置PE1。
[~PE1] mpls lsr-id 10.21.2.9
[~PE1] mpls
[*PE1-mpls] mpls te
[*PE1-mpls] quit
[~PE1] interface gigabitethernet 0/1/0
[*PE1-GigabitEthernet0/1/0] mpls
[*PE1-GigabitEthernet0/1/0] mpls te
[*PE1-GigabitEthernet0/1/0] commit
[~PE1-GigabitEthernet0/1/0] quit
P1、PE2与PE1的配置除lsr-id外,其它配置相同,不再赘述。
- 在各节点使能segment routing能力
# 配置PE1。
[~PE1] segment-routing
[~PE1] commit
P1、PE2与PE1的配置相同,不再赘述。
- 在各节点配置IS-IS TE能力
# 配置PE1。
[~PE1] isis 1
[*PE1-isis-1] cost-style wide
[*PE1-isis-1] traffic-eng level-2
[*PE1-isis-1] segment-routing mpls
[*PE1-isis-1] commit
[~PE1-isis-1] quit
P1、PE2与PE1的配置相同,不再赘述。
- 在PE1 Ingress节点配置隧道接口
# 配置PE1。
[~PE1] interface Tunnel10
[*PE1-Tunnel10] ip address unnumbered interface loopback 0
[*PE1-Tunnel10] tunnel-protocol mpls te
[*PE1-Tunnel10] destination 10.41.2.9
[*PE1-Tunnel10] mpls te tunnel-id 1
[*PE1-Tunnel10] mpls te signal-protocol segment-routing
[*PE1-Tunnel10] commit
[~PE1-Tunnel10] quit
- 检查配置结果
配置完成后,在PE1上执行display interface tunnel命令,可以看到Tunnel接口的状态为Up。
在各节点上执行display mpls te tunnel命令,可以看到MPLS TE隧道的建立情况。
[~PE1] display mpls te tunnel
------------------------------------------------------------------------------ Ingress LsrId Destination LSPID In/Out Label R Tunnel-name ------------------------------------------------------------------------------ 10.21.2.9 10.41.2.9 1 --/20 I Tunnel10
[~PE2] display mpls te tunnel
------------------------------------------------------------------------------ Ingress LsrId Destination LSPID In/Out Label R Tunnel-name ------------------------------------------------------------------------------ 10.41.2.9 10.21.2.9 1 --/120 I Tunnel10
- 配置BFD for SR-MPLS TE
# 在PE1上配置BFD会话,检测SR-MPLS TE隧道。并指定发送BFD报文的最小时间间隔和允许接收BFD报文的最小时间间隔。
[~PE1] bfd
[*PE1-bfd] quit
[*PE1] bfd pe1tope2 bind mpls-te interface Tunnel10
[*PE1-bfd-lsp-session-pe1tope2] discriminator local 12
[*PE1-bfd-lsp-session-pe1tope2] discriminator remote 21
[*PE1-bfd-lsp-session-pe1tope2] min-tx-interval 100
[*PE1-bfd-lsp-session-pe1tope2] min-rx-interval 100
[*PE1-bfd-lsp-session-pe1tope2] commit
# 在PE2上配置BFD会话,检测反向SR-MPLS TE隧道。并指定发送BFD报文的最小时间间隔和允许接收BFD报文的最小时间间隔。
[~PE2] bfd
[*PE2-bfd] quit
[*PE2] bfd pe2tope1 bind mpls-te interface Tunnel10
[*PE2-bfd-lsp-session-pe2tope1] discriminator local 21
[*PE1-bfd-lsp-session-pe1tope2] discriminator remote 12
[*PE2-bfd-lsp-session-pe2tope1] min-tx-interval 100
[*PE2-bfd-lsp-session-pe2tope1] min-rx-interval 100
[*PE2-bfd-lsp-session-pe2tope1] commit
# 完成此配置后,在PE1和PE2上执行命令display bfd session { all | discriminator discr-value | mpls-te interface interface-type interface-number } [ verbose ]命令,可发现BFD会话状态为Up。
配置文件
PE1的配置文件
# sysname PE1 # mpls lsr-id 10.21.2.9 # mpls mpls te # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 11.1111.1111.1111.00 segment-routing mpls import-route static traffic-eng level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.23.2 255.255.255.0 isis enable 1 mpls mpls te # interface LoopBack0 ip address 10.21.2.9 255.255.255.255 isis enable 1 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 10.41.2.9 mpls te signal-protocol segment-routing mpls te tunnel-id 1 # bfd # bfd pe2tope1 bind mpls-te interface Tunnel10 discriminator local 12 discriminator remote 21 min-tx-interval 100 min-rx-interval 100 # return
P1的配置文件
# sysname P1 # mpls lsr-id 10.31.2.9 # mpls mpls te # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 11.2222.2222.2222.00 segment-routing mpls import-route static traffic-eng level-2 # interface GigabitEthernet0/1/0 undo shutdown ip address 10.1.23.3 255.255.255.0 isis enable 1 mpls mpls te # interface GigabitEthernet0/1/1 undo shutdown ip address 10.7.2.10 255.255.255.0 isis enable 1 # interface GigabitEthernet0/2/0 undo shutdown ip address 10.20.34.3 255.255.255.0 isis enable 1 mpls mpls te # interface LoopBack0 ip address 10.31.2.9 255.255.255.255 isis enable 1 # return
PE2的配置文件
# sysname PE2 # mpls lsr-id 10.41.2.9 # mpls mpls te # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 11.3333.3333.3333.00 segment-routing mpls import-route static traffic-eng level-2 # interface GigabitEthernet0/2/0 undo shutdown ip address 10.20.34.4 255.255.255.0 isis enable 1 mpls mpls te # interface LoopBack0 ip address 10.41.2.9 255.255.255.255 isis enable 1 # interface Tunnel10 ip address unnumbered interface LoopBack0 tunnel-protocol mpls te destination 10.21.2.9 mpls te signal-protocol segment-routing mpls te tunnel-id 2 # bfd # bfd pe2tope1 bind mpls-te interface Tunnel10 discriminator local 21 discriminator local 12 min-tx-interval 100 min-rx-interval 100 # return