配置LDP与静态路由联动示例
LDP与静态路由联动功能主要用来解决依赖静态路由建立的LSP存在主备链路的组网中,主链路正切和回切过程中导致的MPLS流量丢失问题。
组网需求
在存在主备LSP的MPLS组网中,LSR之间依靠静态路由建立LSP,当主链路的LDP会话故障(非链路故障导致)时,或者主链路故障后再恢复时,由于静态路由与LDP的不联动,都会导致MPLS流量的中断(短时中断)。
如图3-9所示,LSRA有分别经过LSRB和LSRC到LSRD的静态路由,并基于静态路由建立了LDP会话,其中LinkA为主用链路,LinkB为备用链路。现通过配置LDP与静态路由联动功能,使得LinkA上的LDP会话中断或者LinkA发生故障再恢复的情况下,保证MPLS流量不中断。
设备名称 |
接口 |
IP地址 |
设备名称 |
接口 |
IP地址 |
---|---|---|---|---|---|
LSRA |
GE0/1/0 |
10.1.1.1/30 |
LSRC |
GE0/1/0 |
10.2.1.2/30 |
GE0/2/0 |
10.2.1.1/30 |
GE0/2/0 |
10.4.1.2/30 |
||
Loopback0 | 1.1.1.1/32 | Loopback0 | 3.3.3.3/32 | ||
LSRB |
GE0/1/0 |
10.1.1.2/30 |
LSRD |
GE0/1/0 |
10.3.1.2/30 |
GE0/2/0 |
10.3.1.1/30 |
GE0/2/0 |
10.4.1.2/30 |
||
Loopback0 | 2.2.2.2/32 | Loopback0 | 4.4.4.4/32 |
配置思路
采用如下的思路配置LDP和静态路由联动:
各LSR上配置到其他LSR的静态路由,使网络互通。
LSR的全局及接口下使能MPLS、MPLS LDP能力。
使能LDP和静态路由联动能力,并检查配置结果。
操作步骤
- 配置各接口的IP地址
根据图3-9配置各接口的IP地址,具体配置过程略。
- 在各节点上配置静态路由,使网络互通
# LSRA上配置到LSRD的两条优先级不同的静态路由,同时LSRD上也相应配置到LSRA的两条优先级不同的静态路由。
# 配置LSRA。
[~LSRA] ip route-static 2.2.2.2 32 GigabitEthernet0/1/0 10.1.1.2
[*LSRA] ip route-static 3.3.3.3 32 GigabitEthernet0/2/0 10.2.1.2
[*LSRA] ip route-static 10.3.1.1 30 GigabitEthernet0/1/0
[*LSRA] ip route-static 10.4.1.1 30 GigabitEthernet0/2/0
[*LSRA] ip route-static 4.4.4.4 32 GigabitEthernet0/1/0 10.1.1.2 preference 40
[*LSRA] ip route-static 4.4.4.4 32 GigabitEthernet0/2/0 10.2.1.2 preference 60
[*LSRA] commit
# 配置LSRB。
[~LSRB] ip route-static 1.1.1.1 32 GigabitEthernet0/1/0 10.1.1.1
[*LSRB] ip route-static 4.4.4.4 32 GigabitEthernet0/2/0 10.3.1.2
[*LSRB] commit
# 配置LSRC。
[~LSRC] ip route-static 1.1.1.1 32 GigabitEthernet0/1/0 10.2.1.1
[*LSRC] ip route-static 4.4.4.4 32 GigabitEthernet0/2/0 10.4.1.2
[*LSRC] commit
# 配置LSRD。
[~LSRD] ip route-static 2.2.2.2 32 GigabitEthernet0/1/0 10.3.1.1
[*LSRD] ip route-static 3.3.3.3 32 GigabitEthernet0/2/0 10.4.1.1
[*LSRD] ip route-static 10.1.1.2 30 GigabitEthernet0/1/0
[*LSRD] ip route-static 10.2.1.2 30 GigabitEthernet0/2/0
[*LSRD] ip route-static 1.1.1.1 32 GigabitEthernet0/1/0 10.3.1.1 preference 40
[*LSRD] ip route-static 1.1.1.1 32 GigabitEthernet0/2/0 10.4.1.1 preference 60
[*LSRD] commit
# 配置完成后,在各节点上执行display ip routing-table protocol static命令可以查看到配置的静态路由。以LSRA为例:
[~LSRA] display ip routing-table protocol static
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B - black hole route ------------------------------------------------------------------------------ _public_ Routing Table : Static Destinations : 5 Routes : 5 Configured Routes : 5 Static routing table status : Destinations : 5 Routes : 5 Destination/Mask Proto Pre Cost Flags NextHop Interface 2.2.2.2/32 Static 60 0 D 10.1.1.1 GigabitEthernet0/1/0 3.3.3.3/32 Static 60 0 D 10.2.1.1 GigabitEthernet0/2/0 4.4.4.4/32 Static 40 0 D 10.1.1.1 GigabitEthernet0/1/0 10.3.1.0/30 Static 60 0 D 10.1.1.1 GigabitEthernet0/1/0 10.4.1.0/30 Static 60 0 D 10.2.1.1 GigabitEthernet0/2/0 Static routing table status : <Inactive> Destinations : 0 Routes : 0
- 在各LSR上使能MPLS LDP能力,建立LDP LSP
# 配置LSRA。
[~LSRA] mpls lsr-id 1.1.1.1
[*LSRA] mpls
[*LSRA-mpls] quit
[*LSRA] mpls ldp
[*LSRA-mpls-ldp] commit
[~LSRA-mpls-ldp] quit
[~LSRA] interface GigabitEthernet0/1/0
[~LSRA-GigabitEthernet0/1/0] mpls
[*LSRA-GigabitEthernet0/1/0] mpls ldp
[*LSRA-GigabitEthernet0/1/0] commit
[~LSRA-GigabitEthernet0/1/0] quit
[~LSRA] interface GigabitEthernet0/2/0
[~LSRA-GigabitEthernet0/2/0] mpls
[*LSRA-GigabitEthernet0/2/0] mpls ldp
[*LSRA-GigabitEthernet0/2/0] commit
[~LSRA-GigabitEthernet0/2/0] quit
LSRB、LSRC和LSRD的配置与LSRA类似,具体配置过程请参见配置文件。
# 在各节点上执行display mpls ldp session命令可以看到LDP Session已经建立(状态为Operational)。以LSRA为例:
[~LSRA] display mpls ldp session LDP Session(s) in Public Network Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM) An asterisk (*) before a session means the session is being deleted. ------------------------------------------------------------------------------ PeerID Status LAM SsnRole SsnAge KASent/Rcv ------------------------------------------------------------------------------ 2.2.2.2:0 Operational DU Passive 0000:15:34 3738/3738 3.3.3.3:0 Operational DU Passive 0000:00:45 182/182 ------------------------------------------------------------------------------ TOTAL: 2 Session(s) Found.
- 在LSRA和LSRD上分别配置LDP和静态路由联动功能
# 配置LSRA。
[~LSRA] ip route-static 4.4.4.4 32 GigabitEthernet0/1/0 10.1.1.2 preference 40 ldp-sync
[*LSRA] interface GigabitEthernet0/1/0
[*LSRA-GigabitEthernet0/1/0] static-route timer ldp-sync hold-down 20
[*LSRA-GigabitEthernet0/1/0] commit
[~LSRA-GigabitEthernet0/1/0] quit
# 配置LSRD。
[~LSRD] ip route-static 1.1.1.1 32 GigabitEthernet0/1/0 10.3.1.1 preference 40 ldp-sync
[*LSRD] interface GigabitEthernet0/1/0
[*LSRD-GigabitEthernet0/1/0] static-route timer ldp-sync hold-down 20
[*LSRD-GigabitEthernet0/1/0] commit
[~LSRD-GigabitEthernet0/1/0] quit
- 检查配置结果
# 在LSRA上查看使能了LDP和静态路由联动功能的静态路由出接口的状态信息。
[~LSRA] display static-route ldp-sync
Total number of routes enable Ldp-Sync: 1 ----------------------------------------------------- Interface GigabitEthernet0/1/0 Enable ldp-sync static routes number: 1 Static-route ldp-sync holddown timer: 20s Sync state: Normal Dest = 4.4.4.4, Mask = 32, NextHop = 10.1.1.2. -----------------------------------------------------
可以看到,LDP和静态路由联动功能已经配置(状态为Normal)。
当主链路的LDP会话中断时,为了保证静态路由与LSP的联动,流量立即切换到备份链路(LinkB)来保证流量不中断。
当主链路(LinkA)发生故障再恢复时,下一跳为10.1.1.2的静态路由并不会马上被优选。只有等到hold-down定时器超时(20秒),主链路的LDP会话建立后,才会看到下一跳为10.1.1.2的静态路由活跃,流量切换到主链路,达到静态路由和LDP的联动,从而保证MPLS流量不中断。
配置文件
- LSRA的配置文件
# sysname LSRA # mpls lsr-id 1.1.1.1 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch ip address 10.1.1.1 255.255.255.252 static-route timer ldp-sync hold-down 20 mpls mpls ldp # interface GigabitEthernet0/2/0 undo portswitch ip address 10.2.1.1 255.255.255.252 mpls mpls ldp # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # ip route-static 2.2.2.2 255.255.255.255 GigabitEthernet0/1/0 10.1.1.2 ip route-static 3.3.3.3 255.255.255.255 GigabitEthernet0/2/0 10.2.1.2 ip route-static 4.4.4.4 255.255.255.255 GigabitEthernet0/1/0 10.1.1.2 preference 40 ldp-sync ip route-static 4.4.4.4 255.255.255.255 GigabitEthernet0/2/0 10.2.1.2 ip route-static 10.3.1.0 255.255.255.252 GigabitEthernet0/1/0 ip route-static 10.4.1.0 255.255.255.252 GigabitEthernet0/2/0 # return
- LSRB的配置文件
# sysname LSRB # mpls lsr-id 2.2.2.2 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch ip address 10.1.1.2 255.255.255.252 mpls mpls ldp # interface GigabitEthernet0/2/0 undo portswitch ip address 10.3.1.1 255.255.255.252 mpls mpls ldp # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 # ip route-static 1.1.1.1 255.255.255.255 GigabitEthernet0/1/0 10.1.1.1 ip route-static 4.4.4.4 255.255.255.255 GigabitEthernet0/2/0 10.3.1.2 # return
- LSRC的配置文件
# sysname LSRC # mpls lsr-id 3.3.3.3 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch ip address 10.2.1.2 255.255.255.252 mpls mpls ldp # interface GigabitEthernet0/2/0 undo portswitch ip address 10.4.1.1 255.255.255.252 mpls mpls ldp # interface LoopBack0 ip address 3.3.3.3 255.255.255.255 # ip route-static 1.1.1.1 255.255.255.255 GigabitEthernet0/1/0 10.2.1.1 ip route-static 4.4.4.4 255.255.255.255 GigabitEthernet0/2/0 10.4.1.2 # return
- LSRD的配置文件
# sysname LSRD # mpls lsr-id 4.4.4.4 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo portswitch ip address 10.3.1.2 255.255.255.252 static-route timer ldp-sync hold-down 20 mpls mpls ldp # interface GigabitEthernet0/2/0 undo portswitch ip address 10.4.1.2 255.255.255.252 mpls mpls ldp # interface LoopBack0 ip address 4.4.4.4 255.255.255.255 # ip route-static 1.1.1.1 255.255.255.255 GigabitEthernet0/1/0 10.3.1.1 preference 40 ldp-sync ip route-static 1.1.1.1 255.255.255.255 GigabitEthernet0/2/0 10.4.1.1 ip route-static 2.2.2.2 255.255.255.255 GigabitEthernet0/1/0 10.3.1.1 ip route-static 3.3.3.3 255.255.255.255 GigabitEthernet0/2/0 10.4.1.1 ip route-static 10.1.1.0 255.255.255.252 GigabitEthernet0/1/0 ip route-static 10.2.1.0 255.255.255.252 GigabitEthernet0/2/0 # return