一、静态LSP
特点:类似静态路由,简单易用,手动建立lsp,定制转发路径,无需控制报文,资源消耗少。
缺点:不适合大型复杂拓扑,不能根据网络变化而动态调整,需要管理员手动调整。(结合BFD可以自动切换)
组网方式
LSR_1、LSR_2、LSR_3为MPLS骨干网设备。要求通过配置静态LSP隧道,使这分支和总部互访的报文能够通过LSP在MPLS网络中进行传输。如下图所示。
具体配置及解析如下
LSR_1:
#
sysname LSR_1
#
mpls lsr-id 10.10.1.1 //配置MPLS LSR ID
mpls //使能全局MPLS功能
#
interface GigabitEthernet1/0/0
ip address 10.1.1.1 255.255.255.0
mpls //使能接口MPLS功能
#
interface GigabitEthernet2/0/0
ip address 10.3.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.10.1.1 255.255.255.255
#
ospf 1 //配置路由
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.3.1.0 0.0.0.255
network 10.10.1.1 0.0.0.0
#
static-lsp ingress LSP1 destination 10.4.1.0 24 nexthop 10.1.1.2 out-label 20 //配置本节点为指定LSP1的Ingress
static-lsp egress LSP2 incoming-interface GigabitEthernet1/0/0 in-label 60 //配置本节点为指定LSP2的Egress
#
return
LSR_2:
#
sysname LSR_2
#
mpls lsr-id 10.10.1.2
mpls
#
interface GigabitEthernet1/0/0
ip address 10.1.1.2 255.255.255.0
mpls
#
interface GigabitEthernet2/0/0
ip address 10.2.1.1 255.255.255.0
mpls
#
interface LoopBack1
ip address 10.10.1.2 255.255.255.255
#
ospf 1
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.2.1.0 0.0.0.255
network 10.10.1.2 0.0.0.0
#
static-lsp transit LSP1 incoming-interface GigabitEthernet1/0/0 in-label 20 nexthop 10.2.1.2 out-label 40 //配置本节点为指定LSP1的Transit
static-lsp transit LSP2 incoming-interface GigabitEthernet2/0/0 in-label 30 nexthop 10.1.1.1 out-label 60 //配置本节点为指定LSP2的Transit
#
return
LSR_3:
#
sysname LSR_3
#
mpls lsr-id 10.10.1.3
mpls
#
interface GigabitEthernet1/0/0
ip address 10.2.1.2 255.255.255.0
mpls
#
interface LoopBack1
ip address 10.10.1.3 255.255.255.255
#
ospf 1
area 0.0.0.0
network 10.2.1.0 0.0.0.255
network 10.3.1.0 0.0.0.255
network 10.10.1.3 0.0.0.0
#
static-lsp ingress LSP2 destination 10.3.1.0 24 nexthop 10.2.1.1 out-label 30 //配置本节点为指定LSP2的Ingress
static-lsp egress LSP1 incoming-interface GigabitEthernet1/0/0 in-label 40 //配置本节点为指定LSP1的Egress
#
return
配置注意事项
1、配置静态LSP时需要遵循的原则是:前一节点出标签的值等于下一个节点入标签的值
2、配置静态LSP时,需要注意配置的静态LSP的路由一定要和路由信息完全匹配。
3、如果在配置静态LSP时指定了下一跳,则在配置IP静态路由时也必须指定下一跳,否则不能建立静态LSP。
4、如果LSR之间使用动态路由协议互通,则LSP的下一跳IP地址必须与路由表中的下一跳IP地址一致。
配置结果验证
1、在LSR上执行命令display mpls static-lsp,可以看到LSP的Status为Up。
2、企业分支与总部可以相互Ping通。
二、LDP LSP
LSP的建立过程实际就是将 FEC 和标签进行绑定,并将这种绑定通告 LSP上相邻LSR。这个过程是通过 LDP实现的。下面结合下游自主标签发布方式和有序标签控制方式来说明其主要步骤:
1. 当网络的路由改变时,如果有一个边缘节点发现自己的路由表中出现了新的目的地址,并且这一地址不属于任何现有的 FEC,则该边缘节点需要为这一目的地址建立一个新的 FEC。
2. 如果 MPLS 网络的出节点有可供分配的标签,则为 FEC 分配标签,并主动向上游发出标签映射消息,标签映射消息中包含分配的标签等信息;
3. 收到标签映射消息的 LSR 在其标签转发表中增加相应的条目,然后主动向上游LSR 发送标签映射消息;
4. 当入节点 LSR 收到标签映射消息时,它也需要在标签转发表中增加相应的条目。这时,就完成了 LSP 的建立,接下来就可以对该 FEC 对应的数据分组进行标签转发了。
LSP的建立过程:
当边缘节点(Eggress)发现自己的路由表出现了新的主机路由,并且这一路由不属于任何现有的FEC,则该Eggress需要位这一路由建立一个新的FEC
如果此Egress有可供分配的标签,则为FEC分配标签,并主动向上游发出标签映射消息(包含分配的标签和绑定的FEC等信息)
中间节点(Transit)收到标签映射消息后,判断标签映射信息的发送者(Egress)是否为该FEC的下一跳,若是,则在其标签转发表中增加相应的条目,然后主动向上游LSR发送对于指定FEC的标签映射消息
边缘节点(Ingress)收到标签映射消息后,判断标签映射的发送者(Transit)是否为该FEC的下一跳,若是,则在其标签转发表中增加相应的条目。
此时,LSP完成建立,接下来就可以对该FEC对应的数据报文进行标签转发
组网需求
PE和P为MPLS骨干网设备,PE_1和PE_2之间路由可达。如下图所示。
企业现要求分支和总部之间的流量通过MPLS转发,并且当主用LSP故障时,流量能够快速切换到备份LSP,尽可能地避免流量的丢失。另外,为了避免建立的LSP数量过多,影响设备性能,所有设备上只允许目的地址为10.10.1.x/32、10.6.1.0/24和10.7.1.0/24的路由表项触发建立LSP,其他路由表项不能触发建立LSP。
配置命令如下
PE_1:
#
sysname PE_1
#
bfd //全局使能BFD功能
#
mpls lsr-id 10.10.1.1 //配置MPLS LSR ID
mpls //使能全局MPLS功能
lsp-trigger ip-prefix pe1 //根据IP地址前缀列表触发LDP建立LSP
mpls bfd enable //使能BFD功能
mpls bfd-trigger fec-list tortc //指定LDP BFD以FEC列表方式触发
mpls bfd min-tx-interval 100 min-rx-interval 100
#
fec-list tortc //创建FEC列表
fec-node 10.10.1.2
#
mpls ldp //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0 //使能接口MPLS LDP功能
ip address 10.1.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
ip address 10.3.1.1 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/0/0
ip address 10.6.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.10.1.1 255.255.255.255
#
ospf 1 //配置OSPF路由
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.3.1.0 0.0.0.255
network 10.6.1.0 0.0.0.255
network 10.10.1.1 0.0.0.0
#
ip ip-prefix pe1 index 10 permit 10.10.1.1 32 //创建IP地址前缀列表
ip ip-prefix pe1 index 20 permit 10.10.1.2 32
ip ip-prefix pe1 index 30 permit 10.10.1.3 32
ip ip-prefix pe1 index 40 permit 10.10.1.4 32
ip ip-prefix pe1 index 50 permit 10.10.1.5 32
ip ip-prefix pe1 index 60 permit 10.6.1.0 24
ip ip-prefix pe1 index 70 permit 10.7.1.0 24
#
return
P_1
#
sysname P_1
#
mpls lsr-id 10.10.1.3 //配置MPLS LSR ID
mpls //使能全局MPLS功能
#
mpls ldp //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0 //使能接口MPLS LDP功能
ip address 10.1.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
ip address 10.2.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 10.10.1.3 255.255.255.255
#
ospf 1 //配置OSPF路由
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.2.1.0 0.0.0.255
network 10.10.1.3 0.0.0.0
#
return
P_2:
#
sysname P_2
#
mpls lsr-id 10.10.1.4 //配置MPLS LSR ID
mpls //使能全局MPLS功能
#
mpls ldp //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0 //使能接口MPLS LDP功能
ip address 10.3.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
ip address 10.4.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 10.10.1.4 255.255.255.255
#
ospf 1 //配置OSPF路由
area 0.0.0.0
network 10.3.1.0 0.0.0.255
network 10.4.1.0 0.0.0.255
network 10.10.1.4 0.0.0.0
#
return
P_3:
#
sysname P_3
#
mpls lsr-id 10.10.1.5 //配置MPLS LSR ID
mpls //使能全局MPLS功能
#
mpls ldp //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0 //使能接口MPLS LDP功能
ip address 10.4.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
ip address 10.5.1.1 255.255.255.0
mpls
mpls ldp
#
interface LoopBack1
ip address 10.10.1.5 255.255.255.255
#
ospf 1 //配置OSPF路由
area 0.0.0.0
network 10.4.1.0 0.0.0.255
network 10.5.1.0 0.0.0.255
network 10.10.1.5 0.0.0.0
#
return
PE_2:
#
sysname PE_2
#
bfd //全局使能BFD功能
mpls-passive //使能被动创建BFD会话功能
#
mpls lsr-id 10.10.1.2 //配置MPLS LSR ID
mpls //使能全局MPLS功能
lsp-trigger ip-prefix pe2 //根据IP地址前缀列表触发LDP建立LSP
#
mpls ldp //使能全局MPLS LDP功能
#
interface GigabitEthernet1/0/0 //使能接口MPLS LDP功能
ip address 10.2.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet2/0/0
ip address 10.5.1.2 255.255.255.0
mpls
mpls ldp
#
interface GigabitEthernet3/0/0
ip address 10.7.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.10.1.2 255.255.255.255
#
ospf 1 //配置OSPF路由
area 0.0.0.0
network 10.2.1.0 0.0.0.255
network 10.5.1.0 0.0.0.255
network 10.7.1.0 0.0.0.255
network 10.10.1.2 0.0.0.0
#
ip ip-prefix pe2 index 10 permit 10.10.1.1 32 //创建IP地址前缀列表
ip ip-prefix pe2 index 20 permit 10.10.1.2 32
ip ip-prefix pe2 index 30 permit 10.10.1.3 32
ip ip-prefix pe2 index 40 permit 10.10.1.4 32
ip ip-prefix pe2 index 50 permit 10.10.1.5 32
ip ip-prefix pe2 index 60 permit 10.6.1.0 24
ip ip-prefix pe2 index 70 permit 10.7.1.0 24
#
return
验证配置结果及注意事项
1、在LSR上执行命令display mpls ldp lsp,可以看到去往对应目的地址的LSP已经建立。将同一台测试仪的两个接口(Port1和Port2)分别接入PE_1和PE_2,从Port1向Port2打MPLS流。当对P_1的GE1/0/0接口进行shutdown操作来模拟主用LSP故障时,发现流量快速切换到备份LSP。
2、企业分支与总部可以相互Ping通。
3、配置LSR ID是配置其它MPLS命令的前提。
4、MPLS是基于路由来建立LSP,需确保路由可达。
MPLS TE实现分支和总部的互通
企业分支和总部通过MPLS网络进行互联。要求创建一条沿显式路径:LSR_1→LSR_2→LSR_3→LSR_4的主隧道。在中间节点LSR_2上配置一条TE FRR的旁路保护隧道,路径为LSR_2→LSR_5→LSR_3,并在入节点LSR_1上配置普通备份CR-LSP,路径为LSR_1→LSR_6→LSR_3→LSR_4。当LSR_2和LSR_3之间的链路出现故障后,设备启用TE FRR旁路保护隧道(即主CR-LSP处于Frr-in-use状态)并尝试恢复主CR-LSP的同时,也会尝试创建备份CR-LSP。组网图如下:
配置命令如下
LSR_1:
#
sysname LSR_1
#
bfd //使能BFD功能
#
mpls lsr-id 10.10.1.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
mpls te cspf
#
explicit-path backup-path //配置备份CR-LSP的显式路径
next hop 10.6.1.2
next hop 10.7.1.2
next hop 10.3.1.2
next hop 10.10.4.9
#
explicit-path pri-path //配置主CR-LSP的显式路径
next hop 10.1.1.2
next hop 10.2.1.2
next hop 10.3.1.2
next hop 10.10.4.9
#
interface GigabitEthernet1/0/0 //使能接口MPLS TE
ip address 10.1.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
ip address 10.6.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.1.9 255.255.255.255
#
interface Tunnel0/0/1 //配置主CR-LSP的MPLS TE隧道接口
ip address unnumbered interface LoopBack1
tunnel-protocol mpls te
destination 10.10.4.9
mpls te tunnel-id 100
mpls te bfd enable //配置动态BFD for CR-LSP功能
mpls te bfd min-tx-interval 500 min-rx-interval 500
mpls te record-route label
mpls te path explicit-path pri-path
mpls te path explicit-path backup-path secondary
mpls te fast-reroute //使能TE FRR功能
mpls te backup ordinary
mpls te backup frr-in-use
mpls te commit
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.6.1.0 0.0.0.255
network 10.10.1.9 0.0.0.0
mpls-te enable
#
return
LSR_2:
#
sysname LSR_2
#
mpls lsr-id 10.10.2.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
mpls te cspf
#
explicit-path by-path //配置Bypass CR-LSP的显式路径
next hop 10.4.1.2
next hop 10.5.1.2
next hop 10.10.3.9
#
interface GigabitEthernet1/0/0 //使能接口MPLS TE
ip address 10.1.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
ip address 10.2.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet3/0/0
ip address 10.4.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.2.9 255.255.255.255
#
interface Tunnel0/0/2 //配置Bypass CR-LSP的隧道接口
ip address unnumbered interface LoopBack1
tunnel-protocol mpls te
destination 10.10.3.9
mpls te tunnel-id 300
mpls te record-route
mpls te path explicit-path by-path
mpls te bypass-tunnel
mpls te protected-interface GigabitEthernet2/0/0
mpls te commit
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.1.1.0 0.0.0.255
network 10.2.1.0 0.0.0.255
network 10.4.1.0 0.0.0.255
network 10.10.2.9 0.0.0.0
mpls-te enable
#
return
LSR_3:
#
sysname LSR_3
#
bfd //使能被动创建BFD会话
mpls-passive
#
mpls lsr-id 10.10.3.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
#
interface GigabitEthernet1/0/0 //使能接口MPLS TE
ip address 10.2.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
ip address 10.3.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet3/0/0
ip address 10.5.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet4/0/0
ip address 10.7.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.3.9 255.255.255.255
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.2.1.0 0.0.0.255
network 10.3.1.0 0.0.0.255
network 10.5.1.0 0.0.0.255
network 10.7.1.0 0.0.0.255
network 10.10.3.9 0.0.0.0
mpls-te enable
#
return
LSR_4
#
sysname LSR_4
#
mpls lsr-id 10.10.4.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
#
interface GigabitEthernet1/0/0 //接口使能MPLS TE
ip address 10.3.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.4.9 255.255.255.255
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.3.1.0 0.0.0.255
network 10.10.4.9 0.0.0.0
mpls-te enable
#
return
LSR_5
#
sysname LSR_5
#
mpls lsr-id 10.10.5.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
#
interface GigabitEthernet1/0/0 //接口使能MPLS TE
ip address 10.4.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
ip address 10.5.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.5.9 255.255.255.255
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.4.1.0 0.0.0.255
network 10.5.1.0 0.0.0.255
network 10.10.5.9 0.0.0.0
mpls-te enable
#
return
LSR_6
#
sysname LSR_6
#
mpls lsr-id 10.10.6.9
mpls //使能MPLS TE
mpls te
mpls rsvp-te
#
interface GigabitEthernet1/0/0 //接口使能MPLS TE
ip address 10.6.1.2 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface GigabitEthernet2/0/0
ip address 10.7.1.1 255.255.255.0
mpls
mpls te
mpls rsvp-te
#
interface LoopBack1
ip address 10.10.6.9 255.255.255.255
#
ospf 1 //配置OSPF路由
opaque-capability enable
area 0.0.0.0
network 10.6.1.0 0.0.0.255
network 10.7.1.0 0.0.0.255
network 10.10.6.9 0.0.0.0
mpls-te enable
#
return
配置结果验证及注意事项
配置验证
将LSR_2的GE2/0/0接口Shutdown后,在LSR_1上执行display mpls te tunnel-interface命令,可以看到隧道状态为“Up”,说明主隧道处于Frr-in-use状态的同时,正在创建普通备份的CR-LSP和恢复主CR-LSP。即当主CR-LSP故障后,系统启用TE FRR旁路保护隧道(即主CR-LSP处于Frr-in-use状态)并尝试恢复主CR-LSP的同时,也会尝试创建备份CR-LSP。
注意事项
1、在采用RSVP-TE动态建立CR-LSP时,必须配置IGP的TE扩展(目前支持OSPF TE和ISIS TE)。在不配置IGP的TE扩展时计算出的路径是由IGP路由得到的,而不是CSPF计算出来的。
2、只有使用RSVP-TE信令协议建立的MPLS TE隧道支持FRR功能。
3、同一个Tunnel接口不能同时作为旁路隧道和备份隧道。
4、同一个Tunnel接口不能同时作为旁路隧道和主隧道。
5、配置旁路隧道时,需要先规划好它所保护的链路或节点,并确保该旁路隧道不会经过它所保护的链路或节点,否则不能真正起到保护作用。