MPLS
流量工程(
MPLS TE
——
MPLS Traffic Engineering
)是一种将流量工程技术与
MPLS
这种叠加模型相结合的技术。通过
MPLS
流量工程,可以建立指定路径的
LSP
隧道,进行资源预留,并且可以进行重新优化;在资源紧张的情况下,可以根据优先级和抢占参数的情况,抢占低优先级的
LSP
隧道的带宽资源等等。同时,还可以通过备份路径和快速重路由技术,在链路或节点失败的情况下,提供保护。
使用
MPLS
流量工程,网络管理员只需要建立一些
LSP
和旁路拥塞节点,就可以消除网络拥塞。随着
LSP
数量的增长,还需要使用一些特殊的离线工具进行业务量分析。
为了实现流量工程,策略是非常重要的一个方面。
MPLS
流量工程需要下列策略的支持:
图1-1
备份策略:
当前
CR-LSP
隧道的备份策略是建立与基本
CR-LSP
路径完全不同的备份路径。这些
CR-LSP
只与基本
CR-LSP
具有相同的入口和出口节点,并且备份支持
Ordinary
方式。
图1-2
容错策略:
l
基本
CR-LSP
,没有快速重路由,没有备份
CR-LSP
;
l
基本
CR-LSP
,备份使能;
l
基本
CR-LSP
,快速重路由使能;
l
基本
CR-LSP
,备份和快速重路由都使能。
图1-3
抢占策略;
图1-4
重试策略。
对于一个由
NE
路由器组成的链路,要使其具备流量工程特性,需要进行以下配置:
l
设备配置,全局使能
MPLS TE
特性
l
接口及其
MPLS TE
参数配置
l
MPLS TE
隧道及其参数配置
l
MPLS TE IGP
协议(
OSPF
)配置
每台设备都经过上述配置后,则该链路就具备了
MPLS TE
特性。总的来说,
MPLS
流程工程的配置项包括:
l
使能
MPLS
流量工程
l
使能
RSVP-TE
特性
l
配置
OSPF TE
l
配置
MPLS TE
显示路径
l
配置隧道显示路径
l
配置
MPLS TE
接口最大使用带宽
l
配置
MPLS TE
接口最大可预留带宽
l
指定建立隧道使用的资源预留风格
l
指定建立隧道时支持路由记录和标记记录
l
指定建立隧道时支持环路检测
l
提交隧道当前配置
l
指定建立隧道使用的信令协议类型为
RSVP
l
设置隧道重试建立的次数
l
指定重建隧道的间隔时间
l
启动
Hello
机制,用来检测邻居的存在
l
设定允许
Hello
消息丢失的最大次数
l
设定
Hello
消息刷新时间间隔
l
设置
PSB
和
RSB
的超时倍数
l
启动预留确认机制
l
设置处于阻塞状态的超时倍数
l
设置节点的
Path
、
Resv
消息的刷新周期
首先要配置
LSR ID
,使能
MPLS
,然后才能执行
mpls te
命令使能流量工程特性。
需在系统视图下执行该命令全局使能
MPLS
流量工程特性,然后才能在相应接口下使能流量工程特性。
请在
MPLS
视图或接口视图下进行下列配置。
表1-1
使能MPLS流量工程特性
操作
|
命令
|
使能
MPLS
流量工程
|
mpls te
|
去使能
MPLS
流量工程
|
undo mpls te
|
接口视图下关闭流量工程特性,将删除接口上所有
CR-LSP
,关闭流量工程特性。
系统视图下关闭流量工程特性,将删除所有
CR-LSP
隧道,接口流量工程特性同时被关闭。
如使用
RSVP
控制协议,需要先在系统模视图下全局使能
RSVP-TE
特性,并在相应接口视图下使能
RSVP-TE
特性。
请在系统视图、接口视图或隧道视图下进行下列配置。
表1-2
使能
RSVP-TE
特性
操作
|
命令
|
使能
RSVP-TE
特性
|
mpls rsvp-te
|
去
使能
RSVP-TE
特性
|
undo mpls rsvp-te
|
全局去使能
RSVP-TE
特性,同时会去使能每个接口上的
RSVP-TE
特性。
OSPF TE
是基于
Opaque LSA
的,在使能
OSPF TE
之前,必须使能
Opaque
能力。
请在
OSPF
视图下进行下列配置。
表1-3
使能进程的Opaque能力
操作
|
命令
|
使能进程的
Opaque
能力
|
opaque-capability enable
|
取消使能
|
undo opaque-capability
|
若某个区域已经使能了
OSPF TE
,则“
undo opaque-capability
”命令会执行失败。
请在
OSPF
区域视图下进行下列配置。
表1-4
使能区域的
TE
能力
操作
|
命令
|
使能
|
mpls-te enable
|
取消使能
|
undo mpls-te
|
若进程还没有使能
Opaque
,则“
mpls-te enable
”命令会执行失败。
进入显式路径的子命令模式,创建或修改指定的路径
请在系统视图下进行下列配置。
表1-5
进入
显式路径
的子命令模式
操作
|
命令
|
进入
显式路径
的子命令模式,创建或修改指定的路径
|
mpls te explicit-path
pathname [ enable | disable ]
|
删除该路径
|
undo mpls te explicit-path
pathname
|
为显示路径插入和删除节点
请在显式路径视图下进行下列配置。
表1-6
为显示路径插入和删除节点
操作
|
命令
|
插入一个节点
|
add hop
ip-address1
[ strict | loose ]
[ afterip-address2 ]
|
删除一个节点
|
delete hop
ip-address
|
根据
index
插入或者修改显示路径的结点地址。
|
modify hop
ip-address1
ip-address2
[ strict | loose ]
|
指定显式路径的下一个
IP
地址
|
next hop
ip-address
[ strict | loose ]
|
查看显式路径节点信息
|
display hop
[ ip-address ]
|
请把隧道设置成
mpls te
隧道,然后在隧道视图下进行下列配置
表1-7
配置
MPLS TE
显示路径
操作
|
命令
|
配置
MPLS TE
显示路径
|
mpls te path explicit-path
pathname
|
取消该路径的配置
|
undo mpls te path explicit-path
|
请在接口视图下进行下列配置。
表1-8
配置
MPLS TE
接口最大使用带宽
操作
|
命令
|
配置
MPLS TE
接口最大使用带宽
|
mpls te max-link-bandwidth
bandwidth-value
|
恢复缺省值
|
undo mpls te max-link-bandwidth
|
请在接口视图下进行下列配置。
表1-9
配置
MPLS TE
接口最大可预留带宽
操作
|
命令
|
配置
MPLS TE
接口最大可预留带宽
|
mpls te max-reservable-bandwidth
bandwidth-value
|
恢复缺省值
|
undo mpls te max-reservable-bandwidth
|
请在隧道视图下进行下列配置。
表1-10
指定建立隧道使用的资源预留风格
操作
|
命令
|
指定建立隧道使用的资源预留风格
|
mpls te resv-style
[ ff | se ]
|
恢复缺省的资源预留样式
|
undo mpls te resv-style
|
系统缺省为
FF
样式。
请在隧道视图下进行下列配置。
表1-11
指定建立隧道时支持路由记录和标记记录
操作
|
命令
|
指定建立隧道时支持路由记录和标记记录
|
mpls te record-route
[ label ]
|
取消该配置,恢复缺省情况
|
undo mpls te record-route
|
缺省情况下不支持路由记录和标记记录。
请在隧道视图下进行下列配置。
表1-12
指定建立隧道时支持环路检测
操作
|
命令
|
指定建立隧道时支持环路检测
|
mpls te loop-detection
|
取消环路检测
|
undo mpls te loop-detection
|
缺省情况下不支持环路检测
请在隧道视图下进行下列配置。
表1-13
提交隧道当前配置
操作
|
命令
|
提交隧道当前配置
|
mpls te commit
|
请在隧道视图下进行下列配置。
表1-14
指定建立隧道使用的信令协议类型为
RSVP
操作
|
命令
|
指定建立隧道使用的信令协议类型为
RSVP
|
mpls te signal-protocol rsvp-te
|
请在隧道视图下进行下列配置。
表1-15
建立静态CR-LSP
操作
|
命令
|
配置
CR-LSP
的入口节点
|
mpls te retry
value
|
恢复缺省值
|
undo mpls te retry
|
缺省重建次数为
50
。
请在隧道视图下进行下列配置。
表1-16
指定重建隧道的间隔时间
操作
|
命令
|
指定重建隧道的间隔时间
|
mpls te timer retry
seconds
|
恢复缺省值
|
undo mpls te timer retry
|
缺省重建隧道时间为
10
秒。
请在系统视图下进行下列配置。
表1-17
启动
Hello
机制用来检测邻居的存在
操作
|
命令
|
启动
Hello
机制用来检测邻居的存在
|
mpls rsvp-te hello
|
关闭
Hello
机制
|
undo mpls rsvp-te hello
|
设定连续未接收到
Hello
消息的次数,当超过此次数时判定链路故障。
请在系统视图下进行下列配置。
表1-18
设定允许
Hello
消息丢失的最大次数
操作
|
命令
|
设定允许
Hello
消息丢失的最大次数
|
mpls rsvp-te hello-lost
[ times ]
|
恢复连续未收到
HELLO
应答消息的缺省次数
|
undo mpls rsvp-te hello-lost
[ times ]
|
缺省值为
3
。
请在系统视图下进行下列配置。
表1-19
设定
Hello
消息刷新时间间隔
操作
|
命令
|
设定
Hello
消息刷新时间间隔
|
mpls rsvp-te timer hello
[ timevalue ]
|
恢
复发送
Hello
刷新消息的间隔周期的缺省值
|
undo mpls rsvp-te timer hello
[ timevalue ]
|
缺省值为
3
。
请在系统视图下进行下列配置。
表1-20
设置
PSB
和
RSB
的超时倍数
操作
|
命令
|
设置
PSB
和
RSB
的超时倍数
|
mpls rsvp-te keep-multiplier
[ number ]
|
恢复缺省值
|
undo mpls rsvp-te keep-multiplier
[ number ]
|
缺省值为
3
。
请在系统视图下进行下列配置。
表1-21
启动预留确认机制
操作
|
命令
|
启动预留确认机制
|
mpls rsvp-te resvconfirm
|
关闭预留确认机制
|
undo mpls rsvp-te resvconfirm
|
请在系统视图下进行下列配置。
表1-22
设置处于阻塞状态的超时倍数
操作
|
命令
|
设置处于阻塞状态的超时倍数
|
mpls rsvp-te blockade-multiplier
[ number ]
|
恢复缺省值
|
undo mpls rsvp-te blockade-multiplier
[ number ]
|
缺省值为
3
。
请在系统视图下进行下列配置。
表1-23
设置节点的
Path
、
Resv
消息的刷新周期
操作
|
命令
|
设置节点的
Path
、
Resv
消息的刷新周期
|
mpls rsvp-te timer refresh
[ timevalue ]
|
恢复缺省值
|
undo mpls rsvp-te timer refresh
[ timevalue ]
|
缺省的
Path/Resv
刷新周期为
30
秒
在完成上述配置后,在所有视图下执行
display
命令可以显示配置后
MPLS TE
的运行情况,通过查看显示信息验证配置的效果。
表1-24
MPLS TE
显示和调试命令
操作
|
命令
|
显示已经配置的显式路径
|
display mpls te explicit-path
[ pathname ]
|
显示本地接纳的隧道,以及它们的参数(如优先级、带宽、入接口和出接口、状态)
|
display mpls te link-administration admission-control interface
[ interface-name | { interface-type interface-num } ]
|
显示当前链路信息
|
display mpls te link-administration bandwidth-distribution interface
[ interface-name | { interface-type interface-num } ]
|
显示隧道信息
|
display mpls te tunnel
[ destinationaddress ] [ lsp-id { num | ipaddress | ipaddress num } ] [ lsr-role { all | ingress | transit | egress | remote } ] [ { up | down } ] [ name string ] [ [ incoming-interface { interface-name | interface-type interface-number } ] [ outgoing-inteface { interface-name | interface-type interface-number } ] | [ interface { interface-name | interface-type interface-number } ] ]
|
显示隧道统计信息
|
display mpls te tunnel
statistics
|
显示配置节点信息
|
display hop
|
在完成上述配置后,在所有视图下执行
display
命令可以显示配置后
RSVP
的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行
debugging
命令可对
RSVP-TE
模块进行调试。
表1-25
RSVP-TE
的显示和调试命令
操作
|
命令
|
显示
RSVP
接口的相关信息
|
display mpls rsvp-te
[ interface interface-type interface-number ]
|
显示
RSVP
LSP
和带宽信息
|
display mpls rsvp-te established
[ interfaceinterface-type interface-number ]
|
显示
RSVP
邻居
|
display mpls rsvp-te neighbor
[ interfaceinterface-type interface-number ]
|
显示
RSVP LSP
发送方请求的资源预留信息
|
display mpls rsvp-te request
[ interfaceinterface-type interface-number ]
|
显示
RSVP
资源预留信息
|
display mpls rsvp-te reservation
[ interfaceinterface-type interface-number ]
|
显示
RSVP
发送方信息
|
display mpls rsvp-te sender
[ interfaceinterface-type interface-number ]
|
打开
RSVP-TE
不同模块的告警开关
|
debugging mpls rsvp-te
{ all | error | path | ptear | resv | rtear | rconf | hello | perr | rerr | encdec | socket | traffic-control | main | tool }
|
关闭
RSVP-TE
不同模块的告警开关
|
undo
debugging mpls rsvp-te { all | error | path | ptear | resv | rtear | rconf | hello | perr | rerr | encdec | socket | traffic-control | main | tool }
|
1.
组网需求
配置一条动态的隧道,如下图所示,该路径由
RT1
、
RT3
、
RT4
和
RT6
组成,设置带宽
为
20
,
预留风格为
FF
风格。
2.
组网图
图1-1
MPLS TE
隧道典型配置举例图
3.
配置步骤
# RT1
的配置:
<Quidway> system
[Quidway] sysname RT1
#
配置
LSR ID
,使能
MPLS
。
[RT1] mpls lsr-id 11.2.1.1
[RT1]
mpls
#
使能
MPLS TE
,使能
RSVP TE
。
[RT1] mpls te
[RT1] mpls rsvp-te
#
配置
LOOPBACK
接口,并配置名为
huawei
的显示路径。
[RT1] interface LoopBack0
[RT1-LoopBack0] ip address 11.2.1.1 255.255.0.0
[RT1] mpls te explicit-path Huawei
[RT1-mpls-te-expl-path-huawei] next hop 110.1.1.2
[RT1-mpls-te-expl-path-huawei] next hop 100.1.1.2
[RT1-mpls-te-expl-path-huawei] next hop 60.1.1.2
#
配置
Serial1/0/0
。
[RT1] interface Serial1/0/0
[RT1-Serial1/0/0] link-protocol ppp
[RT1-Serial1/0/0] ip address 110.1.1.1 255.255.0.0
[RT1-Serial1/0/0] mpls
[RT1-Serial1/0/0] mpls te
[RT1-Serial1/0/0] mpls te max-link-bandwidth 100
[RT1-Serial1/0/0] mpls te max-reservable-bandwidth 80
[RT1-Serial1/0/0] mpls rsvp-te
#
配置
tunnel1/0/0
。
[RT1] interface Tunnel1/0/0
[RT1-tunnel1/0/0] tunnel-protocol mpls te
[RT1-tunnel1/0/0] destination 16.2.1.1
[RT1-tunnel1/0/0] mpls te path explicit-path pathname
[RT1-tunnel1/0/0] mpls te resv-style ff
[RT1-tunnel1/0/0] mpls te bandwidth 20
[RT1-tunnel1/0/0] mpls te commit
[RT1-tunnel1/0/0] quit
#
配置
RT1
上
OSPF
。
[RT1] ospf 1
[RT1-ospf-1] area 0.0.0.1
[RT1-ospf-1-area-0.0.0.0] network 11.2.0.0 0.0.255.255
[RT1-ospf-1-area-0.0.0.0] network 110.1.0.0 0.0.255.255
[RT1-ospf-1-area-0.0.0.0] quit
# RT3
上的配置。
<Quidway> system
[Quidway] sysname RT3
[RT3] mpls lsr-id 13.2.1.1
[RT3] mpls
#
使能
MPLS TE
,使能
RSVP TE
。
[RT3] mplste
[RT3] mpls rsvp-te
[RT3] interface LoopBack0
[RT3-LoopBack0] ip address 13.2.1.1 255.255.0.0
#
配置接口
Serial0/0/0
。
[RT3] interface Serial
0
/0/0
[RT3-Serial0/0/0] link-protocol ppp
[RT3-Serial0/0/0] ip address 100.1.1.1 255.255.0.0
[RT3-Serial0/0/0] mpls
[RT3-Serial0/0/0] mplste
[RT3-Serial0/0/0] mpls te max-link-bandwidth 100
[RT3-Serial0/0/0] mpls te max-reservable-bandwidth 80
[RT3-Serial0/0/0] mpls rsvp-te
#
配置接口
Serial1/0/0
。
[RT3] interface Serial1/0/0
[RT3-Serial1/0/0] link-protocol ppp
[RT3-Serial1/0/0] ip address 110.1.1.2 255.255.0.0
[RT3-Serial1/0/0] mpls
[RT3-Serial1/0/0] mpls te
[RT3-Serial1/0/0] mpls te max-link-bandwidth 100
[RT3-Serial1/0/0] mpls te max-reservable-bandwidth 80
[RT3-Serial1/0/0] mpls rsvp-te
#
配置接口
Serial2/0/0
。
[RT3] interface Serial2/0/0
[RT3-Serial2/0/0] link-protocol ppp
[RT3-Serial2/0/0] ip address 120.1.1.2 255.255.0.0
[RT3-Serial2/0/0] mpls
[RT3-Serial2/0/0] mpls te
[RT3-Serial2/0/0] mpls te max-link-bandwidth 100
[RT3-Serial2/0/0] mpls te max-reservable-bandwidth 80
[RT3-Serial2/0/0] mpls rsvp-te
#
配置接口
Serial3/0/0
。
[RT3] interface Serial3/0/0
[RT3-Serial3/0/0] link-protocol ppp
[RT3-Serial3/0/0] ip address 150.1.1.1 255.255.0.0
[RT3-Serial3/0/0] mpls
[RT3-Serial3/0/0] mpls te
[RT3-Serial3/0/0] mpls te max-link-bandwidth 100
[RT3-Serial3/0/0] mpls te max-reservable-bandwidth 80
[RT3-Serial3/0/0] mpls rsvp-te
#
配置
OSPF
。
[RT3] ospf 1
[RT3-ospf-1] area 0.0.0.0
[RT3-ospf-1-area-0.0.0.0] network 100.1.0.0 0.0.255.255
[RT3-ospf-1-area-0.0.0.0] network 150.1.0.0 0.0.255.255
[RT3-ospf-1-area-0.0.0.0] quit
[RT3-ospf-1] area 0.0.0.1
[RT3-ospf-1-area-0.0.0.1] network 120.1.0.0 0.0.255.255
[RT3-ospf-1-area-0.0.0.1] network 110.1.0.0 0.0.255.255
[RT3-ospf-1-area-0.0.0.1] quit
[RT3-ospf-1] quit
# RT4
上的配置:
<Quidway> system
[Quidway] sysname RT4
# MPLS
基本能力配置。
[RT4] mplslsr-id 14.2.1.1
[RT4] mpls
[RT4] mplste
[RT4] quit
[RT4] mplsrsvp-te
#
配置
LOOKPBSACK0
。
[RT4] interface LoopBack0
[RT4-LoopBack0] ip address 14.2.1.1 255.255.0.0
#
配置接口
Serial0/0/0
。
[RT4] interface Serial0/0/0
[RT4-Serial0/0/0] link-protocol ppp
[RT4-Serial0/0/0] ip address 100.1.1.2 255.255.0.0
[RT4-Serial0/0/0] mpls
[RT4-Serial0/0/0] mplste
[RT4-Serial0/0/0] mpls te max-link-bandwidth 100
[RT4-Serial0/0/0] mpls te max-reservable-bandwidth 80
[RT4-Serial0/0/0] mpls rsvp-te
[RT4-Serial0/0/0] quit
#
配置接口
Serial3/0/0
。
[RT4] interface Serial1/0/0
[RT4-Serial1/0/0] link-protocol ppp
[RT4-Serial1/0/0] ip address 60.1.1.1 255.255.0.0
[RT4-Serial1/0/0] mpls
[RT4-Serial1/0/0] mpls te
[RT4-Serial1/0/0] mpls te max-link-bandwidth 100
[RT4-Serial1/0/0] mpls te max-reservable-bandwidth 80
[RT4-Serial1/0/0] mpls rsvp-te
[RT4-Serial1/0/0] quit
#
配置接口
Serial2/0/0
。
[RT4] interfaceSerial2/0/0
[RT4-Serial2/0/0] link-protocolppp
[RT4-Serial2/0/0] ip address 70.1.1.1 255.255.0.0
[RT4-Serial2/0/0] mpls
[RT4-Serial2/0/0] mplste
[RT4-Serial2/0/0] mpls te max-link-bandwidth 100
[RT4-Serial2/0/0] mpls te max-reservable-bandwidth 80
[RT4-Serial2/0/0] mpls rsvp-te
[RT4-Serial2/0/0] quit
#
配置接口
Serial4/0/0
。
[RT4] interface Serial4/0/0
[RT4-Serial4/0/0] link-protocol ppp
[RT4-Serial4/0/0] ip address 40.1.1.2 255.255.0.0
[RT4-Serial4/0/0] mpls
[RT4-Serial4/0/0] mplste
[RT4-Serial4/0/0] mpls te max-link-bandwidth 100
[RT4-Serial4/0/0] mpls te max-reservable-bandwidth 80
[RT4-Serial4/0/0] mpls rsvp-te
[RT4-Serial4/0/0] quit
#
配置
OSPF
。
[RT4] ospf 1
[RT4-ospf-1] area 0.0.0.0
[RT4-ospf-1-area 0.0.0.0] network 40.1.0.0 0.0.255.255
[RT4-ospf-1-area 0.0.0.0] network 100.1.0.0 0.0.255.255
[RT4-ospf-1-area 0.0.0.0] quit
[RT4-ospf-1] area 0.0.0.1
[RT4-ospf-1-area 0.0.0.1] network 60.1.0.0 0.0.255.255
[RT4-ospf-1-area 0.0.0.1] network 70.1.0.0 0.0.255.255
[RT4-ospf-1-area 0.0.0.1] quit
[RT4-ospf-1] quit
# RT6
上的配置:
<Quidway> system
[Quidway] sysname RT6
# MPLS
基本能力配置。
[RT6] mpls lsr-id 16.2.1.1
[RT6] mpls
[RT6] mpls te
[RT6] quit
[RT6] mpls rsvp-te
[RT6] interface LoopBack0
[RT6-LoopBack0] ip address 16.2.1.1 255.255.0.0
[RT6-LoopBack0] quit
#
配置接口
Serial1/0/0
。
[RT6] interface Serial1/0/0
[RT6-Serial1/0/0] link-protocol ppp
[RT6-Serial1/0/0] ip address 60.1.1.2 255.255.0.0
[RT6-Serial1/0/0] mpls
[RT6-Serial1/0/0] mplste
[RT6-Serial1/0/0] mpls te max-link-bandwidth 100
[RT6-Serial1/0/0] mpls te max-reservable-bandwidth 80
[RT6-Serial1/0/0] mpls rsvp-te
[RT6-Serial1/0/0] quit
#
配置
OSPF
。
[RT6] ospf 1
[RT6-ospf-1] area 0.0.0.1
[RT6-ospf-1-area 0.0.0.1] network 16.2.0.0 0.0.255.255
[RT6-ospf-1-area 0.0.0.1] network 60.1.0.0 0.0.255.255
[RT6-ospf-1-area 0.0.0.1] quit
故障之一:无法产生描述
MPLS TE
信息的
TE LSA
。
故障排除:打开
OSPF TE
的调试开关,具体操作请参见
debugging
命令中的
debugging ospf te
。根据路由器上的调试信息,初步定位错误,然后使用其它命令作进一步的判断。如果发现
OSPF
没有收到建立
TE LINK
的消息,则可能是还没有配置
MPLS TE
或者相关接口没有
UP
。否则,可以检查
OSPF
邻居是否正常建立。