配置基于CR-LDP的MPLS TE隧道
应用环境
动态信令协议可以根据网络的动态变化调整TE隧道的路径,并能够应用备份、快速重路由等高级特性。
使用动态信令协议建立MPLS TE隧道的过程可以简要描述为以下几个部分:
1. 配置链路的MPLS TE属性,并通过IGP的TE扩展发布,形成TEDB;
2. 配置隧道的约束条件;
3. 使用CSPF算法,通过TEDB和隧道约束条件计算出符合要求的路径;
4. 利用动态信令协议CR-LDP建立路径。
配置思路
采用如下的思路配置基于CR-LDP的MPLS TE隧道:
1. 配置各路由器接口的IP地址及作为LSR ID的Loopback地址。
2. 使用OSPF协议通告各接口所连网段和LSR ID主机路由;在OSPF进程下使能opaque-capability,在OSPF区域视图下使能MPLS TE,从而使能OSPF TE。
3. 配置MPLS TE显式路径。
4. 全局使能MPLS、MPLS TE、MPLS、CR-LDP、MPLS CSPF。
5. 使能各接口的MPLS、MPLS TE和MPLS RSVP-TE。
6. 在隧道沿途的各路由器接口上配置链路的最大带宽和最大可预留带宽。
7. 在入节点创建隧道接口,指定隧道的IP地址、隧道协议、目的地址、隧道ID、动态信令协议CR-LDP以及隧道带宽。
配置注意事项
无
组网需求
如下图所示,路由器RouterA、RouterB、RouterC和RouterD运行ISIS,都在区域0内。
RouterA→RouterD链路最大带宽为100Mbit/s,最大可预留带宽为50Mbit/s。
RouterA→RouterB链路最大带宽为10Mbit/s,最大可预留带宽为5Mbit/s。
RouterB→RouterC链路最大带宽为100Mbit/s,最大可预留带宽为50Mbit/s。
RouterC→RouterD链路最大带宽为100Mbit/s,最大可预留带宽为50Mbit/s。
要求使用CR-LDP从RouterA→RouterC建立一条TE隧道,带宽为20Mbit/s。
CR-LDP配置MPLS TE隧道组网图
适用产品和版本
路由器可以使用任意一款NE产品。版本为(VRP5.10)及后续版本
配置步骤
步骤 1 配置各接口的IP地址
按照上图配置各接口的IP地址和掩码,具体配置过程略。
步骤 2 配置ISIS协议发布各网段路由
# 配置RouterA [RouterA] isis 1 [RouterA-isis-1] network-entity 00.0005.0000.0000.0001.00 [RouterA-isis-1] is-level level-2 [RouterA-isis-1] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] isis enable 1 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] isis enable 1 [RouterA-GigabitEthernet2/0/0] quit [RouterA] interface loopback 1 [RouterA-LoopBack1] isis enable 1 [RouterA-LoopBack1] quit # 配置RouterB [RouterB] isis 1 [RouterB-isis-1] network-entity 00.0005.0000.0000.0002.00 [RouterB-isis-1] is-level level-2 [RouterB-isis-1] quit [RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] isis enable 1 [RouterB-GigabitEthernet1/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] isis enable 1 [RouterB-GigabitEthernet2/0/0] quit [RouterB] interface loopback 1 [RouterB-LoopBack1] isis enable 1 [RouterB-LoopBack1] quit # 配置RouterC [RouterC] isis 1 [RouterC-isis-1] network-entity 00.0005.0000.0000.0003.00 [RouterC-isis-1] is-level level-2 [RouterC-isis-1] quit [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] isis enable 1 [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] isis enable 1 [RouterC-GigabitEthernet2/0/0] quit [RouterC] interface loopback 1 [RouterC-LoopBack1] isis enable 1 [RouterC-LoopBack1] quit # 配置RouterD [RouterD] isis 1 [RouterD-isis-1] network-entity 00.0005.0000.0000.0004.00 [RouterD-isis-1] is-level level-2 [RouterD-isis-1] quit [RouterD] interface gigabitethernet 1/0/0 [RouterD-GigabitEthernet1/0/0] isis enable 1 [RouterD-GigabitEthernet1/0/0] quit [RouterD] interface gigabitethernet 2/0/0 [RouterD-GigabitEthernet2/0/0] isis enable 1 [RouterD-GigabitEthernet2/0/0] quit [RouterD] interface loopback 1 [RouterD-LoopBack1] isis enable 1 [RouterD-LoopBack1] quit
配置完成后,在各路由器上执行display ip routing-table命令,可以看到相互之间都学到了到对方的路由。以RouterA的显示为例:
[RouterA] display ip routing-table
Routing Tables: Public
Destinations : 12 Routes : 13
Destination/Mask Proto Pre Cost NextHop Interface
1.1.1.9/32 Direct 0 0 127.0.0.1 InLoopBack0
2.2.2.9/32 ISIS 15 10 10.1.1.2 GigabitEthernet1/0/0
3.3.3.9/32 ISIS 15 20 10.1.1.2 GigabitEthernet1/0/0
ISIS 15 20 40.1.1.2 GigabitEthernet2/0/0
4.4.4.9/32 ISIS 15 10 40.1.1.2 GigabitEthernet2/0/0
10.1.1.0/24 Direct 0 0 10.1.1.1 GigabitEthernet1/0/0
10.1.1.1/32 Direct 0 0 127.0.0.1 InLoopBack0
20.1.1.0/24 ISIS 15 20 10.1.1.2 GigabitEthernet1/0/0
30.1.1.0/24 ISIS 15 20 40.1.1.2 GigabitEthernet2/0/0
40.1.1.0/24 Direct 0 0 40.1.1.1 GigabitEthernet2/0/0
40.1.1.1/32 Direct 0 0 127.0.0.1 InLoopBack0
127.0.0.0/8 Direct 0 0 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 127.0.0.1 InLoopBack0
步骤 3 配置MPLS基本能力,使能MPLS TE和CSPF
# 配置RouterA。 [RouterA] mpls lsr-id 1.1.1.9 [RouterA] mpls [RouterA-mpls] mpls te [RouterA-mpls] mpls te cspf [RouterA-mpls] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] mpls [RouterA-GigabitEthernet1/0/0] mpls te [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] mpls [RouterA-GigabitEthernet2/0/0] mpls te [RouterA-GigabitEthernet2/0/0] quit # 配置RouterB。 [RouterB] mpls lsr-id 2.2.2.9 [RouterB] mpls [RouterB-mpls] mpls te [RouterB-mpls] quit [RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] mpls [RouterB-GigabitEthernet1/0/0] mpls te [RouterB-GigabitEthernet1/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] mpls [RouterB-GigabitEthernet2/0/0] mpls te [RouterB-GigabitEthernet2/0/0] quit # 配置RouterC。 [RouterC] mpls lsr-id 3.3.3.9 [RouterC] mpls [RouterC-mpls] mpls te [RouterC-mpls] quit [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] mpls [RouterC-GigabitEthernet1/0/0] mpls te [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] mpls [RouterC-GigabitEthernet2/0/0] mpls te [RouterC-GigabitEthernet2/0/0] quit # 配置RouterD。 [RouterD] mpls lsr-id 4.4.4.9 [RouterD] mpls [RouterD-mpls] mpls te [RouterD-mpls] quit [RouterD] interface gigabitethernet 1/0/0 [RouterD-GigabitEthernet1/0/0] mpls [RouterD-GigabitEthernet1/0/0] mpls te [RouterD-GigabitEthernet1/0/0] quit [RouterD] interface gigabitethernet 2/0/0 [RouterD-GigabitEthernet2/0/0] mpls [RouterD-GigabitEthernet2/0/0] mpls te [RouterD-GigabitEthernet2/0/0] quit
步骤 4 配置ISIS TE
# 配置RouterA。 [RouterA] isis 1 [RouterA-isis-1] cost-style wide [RouterA-isis-1] traffic-eng level-2 [RouterA-isis-1] quit # 配置RouterB。 [RouterB] isis 1 [RouterB-isis-1] cost-style wide [RouterB-isis-1] traffic-eng level-2 [RouterB-isis-1] quit # 配置RouterC。 [RouterC] isis 1 [RouterC-isis-1] cost-style wide [RouterC-isis-1] traffic-eng level-2 [RouterC-isis-1] quit # 配置RouterD。 [RouterD] isis 1 [RouterD-isis-1] cost-style wide [RouterD-isis-1] traffic-eng level-2 [RouterD-isis-1] quit
步骤 5 配置链路的MPLS TE属性
# 在RouterA上配置链路的最大带宽和最大可预留带宽。 [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] mpls te max-link-bandwidth 10000 [RouterA-GigabitEthernet1/0/0] mpls te max-reservable-bandwidth 5000 [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] mpls te max-link-bandwidth 100000 [RouterA-GigabitEthernet2/0/0] mpls te max-reservable-bandwidth 50000 [RouterA-GigabitEthernet2/0/0] quit # 在RouterB上配置链路的最大带宽和最大可预留带宽。 [RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] mpls te max-link-bandwidth 10000 [RouterB-GigabitEthernet1/0/0] mpls te max-reservable-bandwidth 5000 [RouterB-GigabitEthernet1/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] mpls te max-link-bandwidth 100000 [RouterB-GigabitEthernet2/0/0] mpls te max-reservable-bandwidth 50000 [RouterB-GigabitEthernet2/0/0] quit # 在RouterC上配置链路的最大带宽和最大可预留带宽。 [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] mpls te max-link-bandwidth 100000 [RouterC-GigabitEthernet1/0/0] mpls te max-reservable-bandwidth 50000 [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] mpls te max-link-bandwidth 100000 [RouterC-GigabitEthernet2/0/0] mpls te max-reservable-bandwidth 50000 [RouterC-GigabitEthernet2/0/0] quit # 在RouterD上配置链路的最大带宽和最大可预留带宽。 [RouterD] interface gigabitethernet 1/0/0 [RouterD-GigabitEthernet1/0/0] mpls te max-link-bandwidth 100000 [RouterD-GigabitEthernet1/0/0] mpls te max-reservable-bandwidth 50000 [RouterD-GigabitEthernet1/0/0] quit [RouterD] interface gigabitethernet 2/0/0 [RouterD-GigabitEthernet2/0/0] mpls te max-link-bandwidth 100000 [RouterD-GigabitEthernet2/0/0] mpls te max-reservable-bandwidth 50000 [RouterD-GigabitEthernet2/0/0] quit
配置完成后,在RouterA上执行display mpls te cspf tedb all命令可以看到TEDB中的链路信息。
[RouterA] display mpls te cspf tedb all
Maximum Node Supported: 128 Maximum Link Supported: 256
Current Total Node Number: 4 Current Total Link Number: 8
Id Router-Id IGP Process-Id Area Link-Count
1 1.1.1.9 ISIS 1 Level-2 2
2 2.2.2.9 ISIS 1 Level-2 2
3 3.3.3.9 ISIS 1 Level-2 2
4 4.4.4.9 ISIS 1 Level-2 2
步骤 6 配置LDP
# 配置RouterA。 [RouterA] mpls ldp [RouterA-mpls-ldp] quit [RouterA] interface gigabitethernet 1/0/0 [RouterA-GigabitEthernet1/0/0] mpls ldp [RouterA-GigabitEthernet1/0/0] quit [RouterA] interface gigabitethernet 2/0/0 [RouterA-GigabitEthernet2/0/0] mpls ldp [RouterA-GigabitEthernet2/0/0] quit # 配置RouterB。 [RouterB] mpls ldp [RouterB-mpls-ldp] quit [RouterB] interface gigabitethernet 1/0/0 [RouterB-GigabitEthernet1/0/0] mpls ldp [RouterB-GigabitEthernet1/0/0] quit [RouterB] interface gigabitethernet 2/0/0 [RouterB-GigabitEthernet2/0/0] mpls ldp [RouterB-GigabitEthernet2/0/0] quit # 配置RouterC。 [RouterC] mpls ldp [RouterC-mpls-ldp] quit [RouterC] interface gigabitethernet 1/0/0 [RouterC-GigabitEthernet1/0/0] mpls ldp [RouterC-GigabitEthernet1/0/0] quit [RouterC] interface gigabitethernet 2/0/0 [RouterC-GigabitEthernet2/0/0] mpls ldp [RouterC-GigabitEthernet2/0/0] quit # 配置RouterD。 [RouterD] mpls ldp [RouterD-mpls-ldp] quit [RouterD] interface gigabitethernet 1/0/0 [RouterD-GigabitEthernet1/0/0] mpls ldp [RouterD-GigabitEthernet1/0/0] quit [RouterD] interface gigabitethernet 2/0/0 [RouterD-GigabitEthernet2/0/0] mpls ldp [RouterD-GigabitEthernet2/0/0] quit
配置完成后,在各路由器上执行display mpls ldp session命令,可以看到LDP会话已经建立,会话状态为Operational。以RouterA的显示为例:
[RouterA] display mpls ldp session
LDP Session(s) in Public Network
------------------------------------------------------------------------------
Peer-ID Status LAM SsnRole SsnAge KA-Sent/Rcv
------------------------------------------------------------------------------
2.2.2.9:0 Operational DU Passive 000:00:02 9/9
3.3.3.9:0 Operational DU Passive 000:00:01 7/7
4.4.4.9:0 Operational DU Passive 000:00:00 4/4
------------------------------------------------------------------------------
TOTAL: 3 session(s) Found.
LAM : Label Advertisement Mode SsnAge Unit : DDD:HH:MM
步骤 7 配置MPLS TE隧道
# 在RouterA上配置MPLS TE隧道。 [RouterA] interface tunnel 1/0/0 [RouterA-Tunnel1/0/0] ip address unnumbered interface loopback 1 [RouterA-Tunnel1/0/0] tunnel-protocol mpls te [RouterA-Tunnel1/0/0] destination 3.3.3.9 [RouterA-Tunnel1/0/0] mpls te tunnel-id 100 [RouterA-Tunnel1/0/0] mpls te signal-protocol crldp [RouterA-Tunnel1/0/0] mpls te bandwidth 20000 [RouterA-Tunnel1/0/0] mpls te commit [RouterA-Tunnel1/0/0] quit
验证结果
配置完成后,在RouterA上执行display interface tunnel命令可以看到隧道接口状态为UP。
[RouterA] display interface tunnel
Tunnel1/0/0 current state : UP
Line protocol current state : UP
Description : HUAWEI, Quidway Series, Tunnel1/0/0 Interface, Route Port
The Maximum Transmit Unit is 1500 bytes
Internet Address is unnumbered, using address of LoopBack1(1.1.1.9/32)
Encapsulation is TUNNEL, loopback not set
Tunnel destination 3.3.3.9
Tunnel protocol/transport MPLS/MPLS, ILM is available
primary tunnel id is 0x1002007, secondary tunnel id is 0x0
The tunnelIfIndex is 0x4000185
QoS max-bandwidth : 64 Kbps
Output queue : (Urgent queue : Size/Length/Discards) 0/50/0
Output queue : (Protocol queue : Size/Length/Discards) 0/1000/0
Output queue : (FIFO queuing : Size/Length/Discards) 0/75/0
5 minutes output rate 0 bytes/sec, 0 packets/sec
0 packets output, 0 bytes
0 output error
在RouterA上执行display mpls te tunnel-interface命令可以看到隧道详细信息。
[RouterA] display mpls te tunnel-interface
Tunnel Name : Tunnel1/0/0
Tunnel Desc : HUAWEI, Quidway Series, Tunnel1/0/0 Interface
Tunnel State Desc : CR-LSP is Up
Tunnel Attributes :
LSP ID : 1.1.1.9:0
Session ID : -
Admin State : UP Oper State : UP
Ingress LSR ID : 1.1.1.9 Egress LSR ID: 3.3.3.9
Signaling Prot : CR LDP Resv Style : -
Class Type : CLASS 0 Tunnel BW : 20000 kbps
Reserved BW : 20000 kbps
Setup Priority : 7 Hold Priority: 7
Affinity Prop/Mask : 0x0/0x0
Explicit Path Name : -
Tie-Breaking Policy : None
Metric Type : None
Record Route : Disabled Record Label : Disabled
FRR Flag : Disabled BackUpBW Flag: Not Supported
BackUpBW Type : - BackUpBW : -
Route Pinning : Disabled
Retry Limit : 5 Retry Interval: 10 sec
Reopt : Disabled Reopt Freq : -
Back Up Type : None
Back Up LSPID : -
Auto BW : Disabled Auto BW Freq : -
Min BW : - Max BW : -
Current Collected BW: -
Interfaces Protected: -
ACL Bind Value :
VRF Bind Value :
L2VPN Bind Value :
Car Policy : Disabled
Tunnel Group : Primary
Primary Tunnel : -
Backup Tunnel : -
IPTN InLabel : -
Group Status : Up
Oam Status : -
# 在RouterA上执行tracert lsp te tunnel 1/0/0命令可以查看隧道所经过的路径。
[RouterA]tracert lsp te Tunnel 1/0/0
LSP Trace Route FEC: TE TUNNEL IPV4 SESSION QUERY Tunnel1/0/0 , press CTRL_C t
o break.
TTL Replier Time Type Downstream
0 Ingress 40.1.1.2/[1029 ]
1 40.1.1.2 60 ms Transit 30.1.1.1/[1029 ]
2 3.3.3.9 20 ms Egress
从上面的结果可以看出,由于RouterA→RouterB链路最大带宽只有10Mbit/s,不能满足隧道带宽的要求,故建立的TE隧道的路径为RouterA→RouterD→RouterC





