本节书摘来自异步社区《MPLS在Cisco IOS上的配置》一书中的第2章,第2.2节,作者 【美】Lancy Lobo, CCIE #4690 , Umesh Lakshman,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.2 信元模式MPLS的概述、配置和验证
MPLS在Cisco IOS上的配置
本节介绍了在ATM网络中配置信元模式MPLS。提供商的ATM网络由ATM交换机组成,这些ATM交换机为客户提供VC(Virtual Circuit,虚电路)服务;客户的路由器通过ATM链路连接到提供商的ATM交换机。ISP在ATM网络上部署了信元模式MPLS以后,ATM信元头的VPI/VCI字段保存了标签值。
ATM VC是存在于两台相邻ATM交换机之间或两台CPE之间的逻辑连接,由VPI和VCI标识,常表示为VPI/VCI。每个ATM信元的信元头都包含VPI和VCI。在VPI和VCI的帮助下,ATM网络可以提供两种连接:VP(Virtual Path,虚通道)和VC。VP和VC是具有层次化的概念,允许将两个站点之间的大量VC整合到一个VP中。
ATM交换机的作用是为VP或VC转发ATM信元。当转发VC的ATM信元时,ATM交换机用信元头的VPI和VCI值,在信元转发表中匹配(接口,VPI,VCI)三元组。这样,ATM交换机可以对每个ATM信元做出转发决策,即决定ATM信元的出向接口,称为VC交换。CiscoIOS的ATM交换机可以使用命令show atm vc查看信元转发表的VC交换信息。ATM交换机也可以只基于接口和VPI转发信元,称为VP交换。在VP交换中,ATM交换机通过匹配信元转发表中的(接口,VPI)二元组来转发信元。CiscoIOS的ATM交换机可以使用命令show atm vp查看信元转发表的VP交换信息。在VP交换过程中,ATM交换机只需使用VPI即可确定转发策略,因此可以减少处理ATM信元的时间。在执行信元头重写的过程中,VC交换方式可能需要修改VPI和VCI;但是VP交换方式只需修改VPI,而保持VCI不变。
2.2.1 基本的信元模式MPLS的配置和验证
图2-7是一个基本的信元模式MPLS网络,其中R1和R2是ATM E-LSR,ATM交换机A1和A2是LSR。A1和A2是LS1010 ATM交换机。

1.基本的信元模式MPLS的E-LSR的配置流程图
图2-8是ATM E-LSR R1和R2配置基本的信元模式MPLS的流程图。

2.基本的信元模式MPLS的LSR的配置流程图
图2-9是ATM LSR A1和A2配置基本的信元模式MPLS的流程图。
3.基本的信元模式MPLS的配置步骤
(1)ATM E-LSR的配置步骤
本节概述了在ATM E-LSR R1上配置信元模式MPLS的步骤。在配置信元模式MPLS之前,需要预先配置IP地址。
步骤1:开启CEF。R1全局开启CEF,如例2-24所示。R2也执行相同命令。
例2-24 开启CEF
R1(config)#ip cef
步骤2:配置IGP路由协议。R1配置OSPF作为IGP路由协议,如例2-25所示。R2也执行相似命令。
例2-25 配置IGP
R1(config)#router ospf 100
R1(config-router)#network 10.10.0.0 0.0.0.255 area 0

步骤3:接口下配置MPLS转发。创建ATM子接口,与ATM交换机互连,并开启ATM子接口的MPLS转发功能,如例2-26所示。
例2-26 开启MPLS转发
R1(config)#interface atm2/0.1 mpls
R1(config-subif)#description Connection to A1
R1(config-subif)#ip address 10.10.20.1 255.255.255.252
R1(config-subif)#mpls ip
R2(config)#interface atm2/0.1 mpls
R2(config-subif)#description Connection to A2
R2(config-subif)#ip address 10.10.20.10 255.255.255.252
R2(config-subif)#mpls ip
(2)ATM LSR的配置步骤
本节概述了在ATM LSR A1上配置信元模式MPLS的步骤。在配置信元模式MPLS之前,需要预先开启CEF和配置IP地址。
步骤1:配置OSPF作为IGP路由协议。A1上配置OSPF的命令如例2-27所示。A2执行相似命令。
例2-27 配置IGP
A1(config)#router ospf 100
A1(config-router)#network 10.10.0.0 0.0.255.255 area 0
步骤2:接口下配置MPLS转发。在ATM物理接口下开启MPLS转发,如例 2-28所示。
例2-28 开启MPLS转发
A1(config)#interface atm1/0/0
A1(config-if)#mpls ip
A1(config)#interface atm1/0/1
A1(config-if)#mpls ip
请读者注意,我们已经多次提到控制VC的默认值是32。在以上配置中,ATM LSR和E-LSR还可以使用mpls atm control-vc命令修改控制VC的默认值。但是,在信元模式MPLS网络中,一旦ATM LSR或E-LSR的某个子接口修改了控制VC的默认值,那么与子接口相连的ATM LSR或E-LSR的子接口也需要修改控制VC,这样两台设备之间才能使用正确的控制VC交互控制信息。
4.基本的信元模式MPLS的验证步骤
以下步骤可以验证信元模式MPLS。所有验证步骤都以ATM E-LSR R1和LSR A1为例。
步骤1:验证R1的接口已经开启了CEF,如例2-29所示。
例2-29 验证接口开启CEF
R1#show cef interface atm2/0
ATM2/0 is up (if_number 12)
<truncated>
IP CEF switching enabled
IP Feature Fast switching turbo vector
IP Feature CEF switching turbo vector
步骤2:验证R1和A1的接口已经开启MPLS转发,如例2-30所示。
例2-30 验证MPLS转发
R1#show mpls interfaces
Interface IP Tunnel Operational
ATM2/0.1 Yes No Yes (ATM tagging)
A1#show mpls interfaces
Interface IP Tunnel Operational
ATM1/0/0 Yes No Yes (ATM tagging)
ATM1/0/1 Yes No Yes (ATM tagging)
步骤3:使用命令show mpls ldp discovery验证LDP发现过程。此命令可以显示LDP的邻居发现信息和运行LDP发现的接口。例2-31显示了R1和A1的LDP发现信息和接口。“xmit/recv”字段表示接口可以发送和接收LDP发现(Hello)数据包。
例2-31 验证LDP发现
R1#show mpls ldp discovery
Local LDP Identifier:
10.10.10.101:0
LDP Discovery Sources:
Interfaces:
ATM2/0.1: xmit/recv
LDP Id: 10.10.20.101:1; IP addr: 10.10.20.2
LDP Id: 10.10.20.102:2; IP addr: 10.10.20.6
A1#show mpls ldp discovery
Local LDP Identifier:
10.10.20.101:0
LDP Discovery Sources:
Interfaces:
ATM1/0/0: xmit/recv
LDP Id: 10.10.10.101:1; IP addr: 10.10.20.1
ATM1/0/1: xmit/recv
步骤4:使用命令show mpls ldp neighbor验证LDP会话的状态。如例2-32所示,R1和A1已经建立了LDP会话,状态是“Operational”。 “Downstream on demand”字段的含义是,R1和A1使用下游按需方式分发本地标签,即R1必须接收A1发送的标签请求以后,才向A1发送本地标签,反之亦然。
例2-32 验证LDP会话
R1#show mpls ldp neighbor
Peer LDP Ident: 10.10.20.101:1; Local LDP Ident 10.10.10.101:1
TCP connection: 10.10.20.2.38767 - 10.10.20.1.646
State: Oper; PIEs s1ent/rcvd: 371/366; ; Downstream on demand
Up time: 05:04:40
LDP discovery sources:
ATM2/0.1
A1#show mpls ldp neighbor
Peer LDP Ident: 10.10.20.102:2; Local LDP Ident 10.10.20.101:2
TCP connection: 10.10.20.6.11002 - 10.10.20.5.646
State: Oper; PIEs sent/rcvd: 28096/28083; ; Downstream on demand
Up time: 2w3d
LDP discovery sources:
ATM1/0/1
Peer LDP Ident: 10.10.10.101:1; Local LDP Ident 10.10.20.101:1
TCP connection: 10.10.20.1.646 - 10.10.20.2.38767
State: Oper; PIEs sent/rcvd: 365/369; ; Downstream on demand
Up time: 05:03:28
LDP discovery sources:
ATM1/0/0
步骤5:验证R1的OSPF路由,如例2-33所示。
例2-33 验证OSPF路由
R1#show ip route ospf
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O 10.10.20.4/30 [110/2] via 10.10.20.2, 05:51:42, ATM2/0.1
O 10.10.20.8/30 [110/3] via 10.10.20.2, 05:51:42, ATM2/0.1
O 10.10.10.104/32 [110/4] via 10.10.20.2, 05:51:42, ATM2/0.1
O 10.10.20.101/32 [110/2] via 10.10.20.2, 05:51:42, ATM2/0.1
O 10.10.20.102/32 [110/3] via 10.10.20.2, 05:51:42, ATM2/0.1
步骤6:R1验证R4的连通性,如例2-34所示。
例2-34 验证连通性
R1#ping 10.10.10.104
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.104, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
5.基本的信元模式MPLS的控制层和数据层
信元模式MPLS的控制层和数据层操作如图2-10所示。

(1)基本的信元模式MPLS的控制层操作
控制层操作显示了网络前缀10.10.10.101/32的标签信息从R1向R2分发的过程。网络前缀10.10.10.101/32的标签分发步骤如下。
步骤1:ATM E-LSR R2向下游ATM LSR A2发送LDP标签映射请求消息,用来请求网络前缀10.10.10.101/32的标签。A2向下游ATM LSR A1发送LDP标签映射请求消息,用来请求网络前缀10.10.10.101/32的标签。A1向下游ATM E-LSR R1发送LDP标签映射请求消息,用来请求网络前缀10.10.10.101/32的标签。10.10.10.101/32是R1的直连地址,因此R1为网络前缀10.10.10.101/32分配本地标签1/34,写入标签转发表中,并使用LDP应答消息将标签分发给A1。例2-35显示了命令show mpls atm-ldp bindings的输出结果。
例2-35 R1验证标签分配和分发
R1#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
18 1/35 10.10.10.104/32 0 AT2/0.1 point2point
25 1/37 10.10.20.8/30 0 AT2/0.1 point2point
26 1/36 10.10.20.4/30 0 AT2/0.1 point2point
27 1/38 10.10.20.101/32 0 AT2/0.1 point2point
28 1/39 10.10.20.102/32 0 AT2/0.1 point2point
R1#show mpls atm-ldp bindings
Destination: 10.10.10.104/32
Headend Router ATM2/0.1 (3 hops) 1/35 Active, VCD=19
Destination: 10.10.20.4/30
Headend Router ATM2/0.1 (1 hop) 1/36 Active, VCD=13
Destination: 10.10.20.8/30
Headend Router ATM2/0.1 (2 hops) 1/37 Active, VCD=15
Destination: 10.10.20.101/32
Headend Router ATM2/0.1 (1 hop) 1/38 Active, VCD=14
Destination: 10.10.20.102/32
Headend Router ATM2/0.1 (2 hops) 1/39 Active, VCD=16
Destination: 10.10.10.101/32
Tailend Router ATM2/0.1 1/34 Active, VCD=18
步骤2:A1从R1接收标签1/34,A1将1/34作为网络前缀10.10.10.101/32的出向标签。同时,A1为10.10.10.101/32分配本地标签1/45,写入标签转发表中,并使用LDP应答消息将标签分发给A2。例2-36显示了命令show mpls atm-ldp bindings的输出结果。ATM LSR A1为10.10.10.101/32分配了本地标签1/45,出向标签是1/34。对于10.10.10.104/32,A1分配了本地标签1/35,出向标签是A2分发的1/43。
例2-36 A1验证标签分配和分发
A1#show mpls atm-ldp bindings
Destination: 10.10.20.101/32
Tailend Switch ATM1/0/1 1/42 Active -> Terminating Active
Tailend Switch ATM1/0/0 1/38 Active -> Terminating Active
Destination: 10.10.20.0/30
Tailend Switch ATM1/0/1 1/43 Active -> Terminating Active
Destination: 10.10.10.104/32
Transit ATM1/0/0 1/35 Active -> ATM1/0/1 1/43 Active
Destination: 10.10.20.4/30
Tailend Switch ATM1/0/0 1/36 Active -> Terminating Active
Destination: 10.10.20.8/30
Transit ATM1/0/0 1/37 Active -> ATM1/0/1 1/44 Active
Destination: 10.10.20.102/32
Transit ATM1/0/0 1/39 Active -> ATM1/0/1 1/45 Active
Destination: 10.10.10.101/32
Transit ATM1/0/1 1/45 Active -> ATM1/0/0 1/34 Active
步骤3:A2从A1接收标签1/45,A2将1/45作为网络前缀10.10.10.101/32的出向标签。同时,A2为10.10.10.101/32分配本地标签1/44,写入标签转发表中,并使用LDP应答消息将标签分发给R2。例2-37显示了命令show mpls atm-ldp bindings的输出结果。ATM LSR A2为10.10.10.101/32分配了本地标签1/44,出向标签是1/45。对于10.10.10.104/32,A2分配了本地标签1/43,出向标签是R2分发的1/35。
例2-37 A2验证标签分配和分发
A2#show mpls atm-ldp bindings
Destination: 10.10.20.4/30
Tailend Switch ATM1/0/0 1/33 Active -> Terminating Active
Destination: 10.10.20.101/32
Transit ATM1/0/0 1/34 Active -> ATM1/0/1 1/42 Active
Destination: 10.10.20.102/32
Tailend Switch ATM1/0/0 1/35 Active -> Terminating Active
Tailend Switch ATM1/0/1 1/45 Active -> Terminating Active
Destination: 10.10.20.0/30
Transit ATM1/0/0 1/36 Active -> ATM1/0/1 1/43 Active
Destination: 10.10.10.104/32
Transit ATM1/0/1 1/43 Active -> ATM1/0/0 1/35 Active
Destination: 10.10.20.8/30
Tailend Switch ATM1/0/1 1/44 Active -> Terminating Active
Destination: 10.10.10.101/32
Transit ATM1/0/0 1/44 Active -> ATM1/0/1 1/45 Active
步骤4:ATM E-LSR R2从A1接收标签1/44,R2将1/44作为网络前缀10.10.10.101/32的出向标签。同时,R2为10.10.10.101/32分配本地标签18,写入标签转发表中。例2-38显示了命令show mpls atm-ldp bindings的输出结果。ATM E-LSR R2为10.10.10.101/32设置的出向标签是1/44。对于10.10.10.104/32,R2分配的本地标签是1/35,并通过LDP分发给A2。
例2-38 R2验证标签分配和分发
R2#show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 1/36 10.10.20.0/30 0 AT2/0.1 point2point
17 1/33 10.10.20.4/30 0 AT2/0.1 point2point
18 1/44 10.10.10.101/32 0 AT2/0.1 point2point
19 1/34 10.10.20.101/32 0 AT2/0.1 point2point
20 1/35 10.10.20.102/32 0 AT2/0.1 point2point
R2#show mpls atm-ldp bindings
Destination: 10.10.20.0/30
Headend Router ATM2/0.1 (2 hops) 1/36 Active, VCD=16
Destination: 10.10.20.4/30
Headend Router ATM2/0.1 (1 hop) 1/33 Active, VCD=13
Destination: 10.10.20.101/32
Headend Router ATM2/0.1 (2 hops) 1/34 Active, VCD=15
Destination: 10.10.20.102/32
Headend Router ATM2/0.1 (1 hop) 1/35 Active, VCD=14
Destination: 10.10.10.101/32
Headend Router ATM2/0.1 (3 hops) 1/44 Active, VCD=18
Destination: 10.10.10.104/32
Tailend Router ATM2/0.1 1/35 Active, VCD=14
(2)基本的信元模式MPLS的数据层操作
R4向10.10.10.101/32发送数据包时,信元模式MPLS的数据层操作过程如下。
步骤1:R4向10.10.10.101发送IP数据包。R4使用AAL5协议将IP数据包适配到ATM信元中,使用出向标签1/44,下一跳是A2。
步骤2:A2查询标签转发表,用出向标签1/45替换标签1/44,下一跳是A1。
步骤3:A1查询标签转发表,用出向标签1/34替换标签1/45,下一跳是R1。ATM设备不能执行弹标签操作,因为信元模式MPLS的标签是ATM信元负荷的内容,ATM交换机不会处理ATM信元负荷。因此,ATM LSR A1不执行次末跳弹出。
6.基本的信元模式MPLS的最终设备配置
例2-39~例2-42是信元模式MPLS的最终配置。
例2-39 R1的最终配置
hostname R1
!
ip cef
!
interface Loopback0
ip address 10.10.10.101 255.255.255.255
!
interface ATM2/0
!
interface ATM2/0.1 mpls
description Connection to A1
ip address 10.10.20.1 255.255.255.252
mpls ip
!
router ospf 100
log-adjacency-changes
network 10.10.0.0 0.0.255.255 area 0
例2-40 A1的最终配置
hostname A1
!
interface ATM1/0/0
description Connection to R1
ip address 10.10.20.2 255.255.255.252
mpls ip
!
interface ATM1/0/1
description Connection to A2
ip address 10.10.20.5 255.255.255.252
mpls ip
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
例2-41 A2的最终配置
hostname A2
!
interface ATM1/0/0
description connection to R2
ip address 10.10.20.9 255.255.255.252
mpls ip
!
interface ATM1/0/1
description connection to A1
ip address 10.10.20.6 255.255.255.252
mpls ip
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
!
例2-42 R2的最终配置
hostname R2
!
ip cef
!
interface Loopback0
ip address 10.10.10.104 255.255.255.255
!
interface ATM2/0
!
interface ATM2/0.1 mpls
description connection to A2
ip address 10.10.20.10 255.255.255.252
mpls ip
!
router ospf 100
log-adjacency-changes
network 10.10.0.0 0.0.255.255 area 0
2.2.2 配置开启了虚电路整合的信元模式MPLS
信元模式MPLS的虚电路整合特性允许ATM LSR将接收的多个去往相同目的网络的数据流整合在一个出向数据流中,即ATM交换机将多个去往相同目的网络的数据流划分为一个FEC。因此,当两个ATM E-LSR通过ATM LSR向相同的目的网络发送数据包时,ATM LSR上对应两个ATM E-LSR的标签映射到相同的出向标签。因为ATM交换机为每个目的前缀只维护一个出向标签,所以ATM交换机需要维护的标签数量大大减少。
图2-11是在图2-10的基础上新增了R3。当R1和R3以A1为下一跳向R2发送数据包时,A1为来自R1和R3的数据流分配相同的标签空间。

1.开启了虚电路整合的信元模式MPLS的配置流程图
如果开启了虚电路整合,那么ATM E-LSR配置帧模式MPLS的与基本的信元模式MPLS的配置流程一致(见图2-8)。但是,ATM LSR配置虚电路整合时,与配置基本的信元模式MPLS的区别如例2-43所示。
例2-43 开启ATM的虚电路整合
A1(config)#mpls ldp atm vc-merge
ATM虚电路整合功能可以是默认开启的,也可能默认禁用,这取决与ATM交换机的硬件情况,详情请参考Cisco文档(www.cisco.com)。
2.虚电路整合的信元模式MPLS的配置步骤
(1)ATM E-LSR的配置步骤
在开启虚电路整合时,ATM E-LSR配置信元模式MPLS的步骤与“ATM E-LSR的配置步骤”小节一致。
(2)ATM LSR的配置步骤
在开启虚电路整合时,ATM LSR配置信元模式MPLS的步骤与“ATM LSR的配置步骤”小节基本一致,并且A1需要使用命令mpls ldp atm vc-merge开启虚电路整合。
3.开启了虚电路整合的信元模式MPLS的最终设备配置
在图2-11中,R1、R2和A2的最终配置与“基本的信元模式MPLS的最终设备配置”小节的R1、R2和A2的最终配置相同;而R3和A1的最终配置分别如例2-44和例2-45所示。请读者注意,A1默认开启虚电路整合,因此不需要显式配置命令mpls ldp atm vc-merge。
例2-44 R3的最终配置
hostname R3
!
ip cef
!
interface Loopback0
ip address 10.10.10.105 255.255.255.255
!
interface ATM2/0
!
interface ATM2/0.1 mpls
description connection to A1
ip address 10.10.20.13 255.255.255.252
mpls ip
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
例2-45 A1的最终配置
hostname A1
!
interface Loopback0
ip address 10.10.20.101 255.255.255.255
!
interface ATM1/0/0
description Connection to R1
ip address 10.10.20.2 255.255.255.252
mpls ip
!
interface ATM1/0/1
description Connection to A2
ip address 10.10.20.5 255.255.255.252
mpls ip
!
interface ATM1/0/2
description connection to R5
ip address 10.10.20.14 255.255.255.252
mpls ip
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
4.开启了虚电路整合的信元模式MPLS的验证步骤
当开启虚电路整合时,以下步骤可以在ATM LSR上验证信元模式MPLS。
步骤1:使用命令show mpls atm-ldp capability验证ATM LSR已经开启了虚电路整合。此命令的输出结果如例2-46所示。
例2-46 ATM的虚电路整合能力
A1#show mpls atm-ldp capability
VPI VCI Alloc Odd/Even VC-Merge
ATM1/0/0 Range Range Scheme Scheme IN OUT
Negotiated [1 - 1] [33 - 16383] UNIDIR - -
Local [1 - 1] [33 - 16383] UNIDIR EN EN
Peer [1 - 1] [33 - 65530] UNIDIR - -
VPI VCI Alloc Odd/Even VC-Merge
ATM1/0/1 Range Range Scheme Scheme IN OUT
Negotiated [1 - 1] [33 - 16383] UNIDIR - -
Local [1 - 1] [33 - 16383] UNIDIR EN EN
Peer [1 - 1] [33 - 16383] UNIDIR - -
步骤2:当A1开启了虚电路整合以后,A1作为R1和R3去往目的网络的下一跳LSR,为来自R1和R3的去往此目的网络的流量映射相同的出向标签。当A1查找标签转发表时,来自R1和R3的去往此网络前缀的数据包使用不同的入向标签,但是这两种数据包都映射到相同的出向标签。在例2-47中,对于R2的地址10.10.10.104/32,A1将入向标签1/35(R1的出向标签)和1/34(R3的出向标签)都映射到出向标签1/43。
例2-47 验证A1的虚电路整合
A1#show mpls atm-ldp bindings 10.10.10.104 255.255.255.255
Destination: 10.10.10.104/32
Transit ATM1/0/0 1/35 Active -> ATM1/0/1 1/43 Active
Transit ATM1/0/2 1/34 Active -> ATM1/0/1 1/43 Active
2.2.3 配置禁用了虚电路整合的信元模式MPLS
当禁用了虚电路整合时,每股数据流(来自相同的入向路由器和发往相同的目的网络)从不同的接口进入ATM LSR以后,都需要消耗不同的出向标签,这会导致浪费紧张的标签空间资源。
在图2-11所示的网络中,A1可以禁用虚电路整合,命令如例2-48所示;其他设备的最终配置见“开启了虚电路整合的信元模式MPLS的最终设备配置”一节。
例2-48 A1禁用虚电路整合
A1(config)#no mpls ldp atm vc-merge
1.验证禁用了虚电路整合的信元模式MPLS
当A1禁用了虚电路整合以后,去往相同目的网络的数据流映射到不同的出向标签。在A1上执行命令show mpls atm-ldp bindings,从例2-49所示的输出结果可以看出,来自R1和R3的去往10.10.10.104的流量分别映射到出向标签1/36和1/33。
例2-49 验证A1禁用虚电路整合
A1#show mpls atm-ldp bindings 10.10.10.104 255.255.255.255
Destination: 10.10.10.104/32
Transit ATM1/0/2 1/34 Active -> ATM1/0/1 1/33 Active
Transit ATM1/0/0 1/33 Active -> ATM1/0/1 1/36 Active
2.2.4 配置和验证VP隧道上的MPLS
当两个私有ATM网络通过公用ATM网络实现互联时,如果公用ATM网络不支持SVC(交换虚电路),那么公用ATM网络可以提供VP隧道服务。VP隧道是公用ATM网络中的一条永久路径。来自一个或多个接口的多条VC(虚电路)可以复用/解复用一条VP隧道。当复用VP隧道时,ATM信元头的VPI和VCI需要修改:VPI被修改为此VP隧道所使用的VPI,VCI可以是任意值。但是,某些特殊的VC需要在VP隧道的两端使用相同的VCI。本节在ATM交换机上配置VP隧道,来承载信元模式MPLS的标签信息,网络拓扑如图2-12所示。

1.ATM E-LSR配置基于VP隧道的MPLS的流程图
基于VP隧道配置MPLS时,ATM E-LSR的配置流程图与“基本的信元模式MPLS的配置和验证”小节的流程图一致,如图2-8所示。
2.ATM LSR创建ATM PVP的配置流程图
ATM LSR创建ATM PVP的配置流程图如图2-13所示。

3.VP隧道上的MPLS的配置步骤
基于VP隧道配置MPLS的步骤如下,应预先配置必要的IP地址。
步骤1:VP隧道是很多VC的捆绑,可以传输特定VPI标识的所有信元,而不是特定VPI/VCI。VP隧道也称作PVP(Permanent VP,永久VP)。在例2-50中,A1配置了PVP的内部交叉连接(cross-connect),将接口1/0/0的VPI 2映射到接口1/0/1的VPI 2;同理,A2将接口1/0/0的VPI 2映射到接口1/0/1的VPI 2。
例2-50 ATM交换机配置VP隧道
A1(config)#interface ATM1/0/1
A1(config-if)#description Connection to A2
A1(config-if)#no ip address
A1(config-if)#atm pvp 2 interface ATM1/0/0 2
A2(config)#interface ATM1/0/1
A2(config-if)#description connection to A1
A2(config-if)#no ip address
A2(config-if)#atm pvp 2 interface ATM1/0/0 2
步骤2:ATM E-LSR配置VP隧道,在子接口下使用命令mpls atm vp-tunnel vpi vc-range {start-of-vci-range-end-of-vci-range}。同时,子接口需要开启MPLS转发,如例2-51所示。
例2-51 ATM子接口配置VP隧道的MPLS转发
R1(config)#interface ATM2/0.1 mpls
R1(config-subif)#description Connection to A1
R1(config-subif)#ip address 10.10.20.1 255.255.255.252
R1(config-subif)#mpls atm vp-tunnel 2 vci-range 33-65535
R1(config-subif)#mpls ip
R2(config)#interface ATM2/0.1 mpls
R2(config-subif)#description connection to A2
R2(config-subif)#ip address 10.10.20.2 255.255.255.252
R2(config-subif)#mpls atm vp-tunnel 2 vci-range 33-65535
R2(config-subif)#mpls ip
步骤3:R1和R2配置IGP,在VP隧道上通告路由信息,如例2-52所示。
例2-52 配置IGP
R1(config)#router ospf 100
R1(config-router)#network 10.10.0.0 0.0.255.255 area 0
4.VP隧道上的MPLS的验证步骤
基于VP隧道的MPLS验证步骤如下。
步骤1:在ATM交换机上验证PVP,如例2-53所示。
例2-53 验证PVP状态
A1#show atm vp
Interface VPI Type X-Interface X-VPI Status
ATM1/0/0 2 PVP ATM1/0/1 2 UP
ATM1/0/1 2 PVP ATM1/0/0 2 UP
A2#show atm vp
Interface VPI Type X-Interface X-VPI Status
ATM1/0/0 2 PVP ATM1/0/1 2 UP
ATM1/0/1 2 PVP ATM1/0/0 2 UP
步骤2:使用命令show ip route ospf验证OSPF路由,如例2-54所示。
例2-54 验证OSPF路由
R1#show ip route ospf
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
O 10.10.20.2/32 [110/1] via 10.10.20.2, 00:12:25, ATM2/0.1
O 10.10.10.104/32 [110/2] via 10.10.20.2, 00:12:25, ATM2/0.1
O 10.10.20.128/30 [110/11] via 10.10.20.2, 00:12:25, ATM2/0.1
步骤3:通过VP隧道验证连通性,如例2-55所示。
例2-55 验证连通性
R1#ping ip 10.10.20.129 source 10.10.20.193
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.20.129, timeout is 2 seconds:
Packet sent with a source address of 10.10.20.193
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/4 ms
5.VP隧道上的MPLS的最终设备配置
R1、A1、A2和R2的最终配置如例2-56~例2-59所示。
例2-56 R1的最终配置
hostname R1
!
ip cef
!
interface Loopback0
ip address 10.10.10.101 255.255.255.255
!
interface Ethernet0
ip address 10.10.20.193 255.255.255.252
!
interface ATM2/0
!
interface ATM2/0.1 mpls
description Connection to A1
ip address 10.10.20.1 255.255.255.252
mpls ip
mpls atm vp-tunnel 2 vci-range 33-65535
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
例2-57 A1的最终配置
hostname A1
!
interface ATM1/0/0
description Connection to R1
!
interface ATM1/0/1
description Connection to A2
atm pvp 2 interface ATM1/0/0 2
!
例2-58 A2的最终配置
hostname A2
!
interface ATM1/0/0
description connection to R2
!
interface ATM1/0/1
description connection to A1
atm pvp 2 interface ATM1/0/0 2
!
例2-59 R2的最终配置
hostname R2
!
ip cef
!
interface Loopback0
ip address 10.10.10.104 255.255.255.255
!
interface Ethernet0
ip address 10.10.20.129 255.255.255.252
!
interface ATM2/0
!
interface ATM2/0.1 mpls
description connection to A2
ip address 10.10.20.10 255.255.255.252
mpls ip
mpls atm vp-tunnel 2 vci-range 33-65535
!
router ospf 100
network 10.10.0.0 0.0.255.255 area 0
2.2.5 用BPX8600作为ATM交换机和7200路由器作为LSC实现信元模式MPLS
如前所述,ATM LSR实现信元模式MPLS时可以分解为控制层功能和数据层功能。执行控制层功能的组件是LSC(Label Switch Controller,标签交换控制器);执行数据层功能的组件是ATM交换机,例如BPX8600系列ATM交换机。在BPX+LSC的设计模式中,BPX与LSC通过中继线实现互联,中继线上可以传输PVC、SVC和LVC(Label VC,标签化的VC)。控制软件的物理位置是LSC,LSC连接ATM交换机的物理连接称为VSI控制链路(Virtual Switch Interface control link)。VSI链路可以是STM-1链路,连接在BPX8600的BXM(Broadband Switching Module,宽带交换模块)线卡的接口上。BPX+LSC的设计模式如图2-14所示。

在图2-14中,LSC执行控制层功能。按图中所示,两个ATM E-LSR通过LVC与LSC实现互联。每个连接着BPX+LSC的LSR都维护着信令(Signaling)LVC。除此之外,BPX的每个板卡都维护这VSI控制链路。
从数据层的角度看,承载数据的LVC绕过了LSC,直接在BPX的接口之间传递。因此,在数据层,流量直接穿过BPX ATM交换机而不经过LSC。
在控制层,ATM E-LSR与BPX之间通过信令LVC(控制VC)承载控制层数据包,信令LVC默认使用VPI/VCI 0/32。而BPX与LSC之间可以使用其他VPI/VCI承载控制层数据包,即BPX向LSC转发控制层数据包时可以实现信令LVC的交叉连接。
对于LSC与BPX之间的VSI控制链路而言,LSC是VSI主控设备(VSI Master),BPX是VSI从属设备(VSI Slave)。
1.配置BPX+LSC作为ATM LSR
本节描述了在BPX和LSC上配置信元模式MPLS的步骤,网络拓扑如图2-15所示。

图2-15描述了ATM E-LSR与ATM交换机BPX8600之间的物理连接,LSC(7200系列路由器)也连接到此交换机。BPX8600的接口号2.1、2.2和2.3遵循“插槽号.接口号”格式。ATM E-LSR和ATM LSR只标出了loopback接口的IP地址。LSC与ATM E-LSR之间的控制层连接情况如图2-16所示。在图2-16中,XTagATM接口控制着BPX与ATM E-LSR或LSC之间的中继线。LSC与ATM E-LSR之间的VSI控制VC和信令LVC可以承载控制层数据包。VSI控制VC和信令LVC的两端分别是ATM E-LSR的MPLS子接口和LSC的XTagATM接口。

(1)配置BPX
配置BPX的步骤如下。
步骤1:使用命令dspcds验证BPX的板卡。如例2-60所示,BPX的BXM-155(编号2)板卡已经连接和配置中继线(状态是Active),并分配了资源。
例2-60 验证BPX的板卡
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:18 MST
FrontCard BackCard FrontCard BackCard
Type Rev Type Rev Status Type Rev Type Rev Status
1 BME-622 KMB SM-2 BD Standby 9 Empty
2 BXM-155 FJL MM-8 BB Active 10 Empty
3 BXM-T3 FJL TE3-12BA Active 11 Empty
4 BXM-622 FML SM-2 BD Standby 12 Empty
5 BXM-155 FAL SM-4 BB Standby 13 Empty
6 BXM-622 FPH SM-2 BE Standby 14 Empty
7 BCC-4 HDM LM-2 AC Active 15 ASM ACC LMASM AC Active
8 Empty reserved for Card
Last Command: dspcds
Next Command:
步骤2:BPX在接口2.1、2.2和2.3开启中继,配置命令如例2-61所示。通过“Next Command”方式,可以查看BPX与ATM E-LSR或LSC互联的中继配置命令。
例2-61 BPX配置中继
Next Command: uptrk 2.1
Next Command:uptrk 2.2
Next Command: uptrk 2.3
BPX配置中继以后,使用命令dsptrks可以查看中继的配置情况,如例2-62所示。
例2-62 查看中继配置
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:18 MST
TRK Type Current Line Alarm Status Other End
2.1 OC3 Clear - OK -
2.2 OC3 Clear - OK -
2.3 OC3 Clear - OK -
Last Command: dsptrks
Next Command:
步骤3:使用命令cnfrsrc在BPX上为每条中继分配资源,如例2-63所示。
例2-63 配置资源
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:29 MST
Port/Trunk : 2.1
Maximum PVC LCNS: 256 Maximum PVC Bandwidth:247207
(Statistical Reserve: 1000)
Partition 1
Partition State : Enabled
Minimum VSI LCNS: 600
Maximum VSI LCNS: 1500
Start VSI VPI: 240
End VSI VPI : 255
Minimum VSI Bandwidth : 105000 Maximum VSI Bandwidth : 105000
VSI ILMI Config : 0
VSI Topo Dsc : 0 VSI Ses Ctrlr Id : 255
Last Command: cnfrsrc 2.1 256 247207 y 1 e 600 1500 240 255 105000 105000
cnfrsrc命令的含义是:为中继接口2.1分配资源;最大的PVC逻辑连接数是256;最大的PVC带宽是247207;可以编辑VSI信息;分区ID是1并开启;最小的VSI逻辑连接数是600;最大的VSI逻辑连接数是1500;VSI使用的VPI取值范围是240~255;最小的VSI带宽是105000;最大的VSI带宽是105000。
重复使用cnfrsrc命令为中继接口2.2和2.3配置资源。但是,所有中继接口需要划入分区1。配置完成以后,使用dsprsrc命令查看配置结果,如例2-64所示。
例2-64 显示配置的资源
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:37 MST
Port/Trunk : 2.2
Maximum PVC LCNS: 256 Maximum PVC Bandwidth:247207
(Statistical Reserve: 1000)
Partition 1
Partition State : Enabled
Minimum VSI LCNS: 512
Maximum VSI LCNS: 1500
Start VSI VPI: 240
End VSI VPI : 255
Minimum VSI Bandwidth : 105000 Maximum VSI Bandwidth : 105000
VSI ILMI Config : 0
VSI Topo Dsc : 0 VSI Ses Ctrlr Id : 255
Last Command: dsprsrc 2.2 1
步骤4:每个接口使用队列10~14转发MPLS信元,每个队列对应一类(class)数据。命令cnfqbin开启MPLS信元转发功能,在BPX的中继接口2.2上配置队列10,如例2-65所示。
例2-65 BPX配置接口的MPLS转发队列
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:43 MST
Qbin Database 2.2 on BXM qbin 10 (Configured by User)
(EPD Enabled on this qbin)
Qbin State: Enabled
Discard Threshold: 65536 cells
EPD Threshold: 95%
High CLP Threshold: 100%
EFCI Threshold: 40%
Last Command: cnfqbin 2.2 10 e n 65536 95 100 40
步骤5:最后,命令addshelf添加了LSC作为VSI控制器。如例2-66所示,“v”表示VSI控制器,“VSI”后的第1个“1”表示VSI控制器ID,BPX和LSC的VSI控制器ID必须一致。默认情况下,LSC的VSI控制器ID是1。第2个“1”表示控制所在的分区ID。
例2-66 VSI主控设备增加机框
bpxa TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:48 MST
BPX 8620 Interface Shelf Information
Trunk Name Type Part Id Ctrl Id Control_VC Alarm
VPI VCIRange
2.2 VSI VSI 1 1 0 40-54 OK
Last Command: addshelf 2.2 v 1 1 0 40
命令dsptrks可以显示每个中继接口连接的VSI控制器信息。如例2-67所示,中继接口2.2连接了VSI控制器。
例2-67 验证VSI
a TRM cisco:1 BPX 8620 9.2.30 Oct. 8 2004 15:51 MST
TRK Type Current Line Alarm Status Other End
2.1 OC3 Clear - OK -
2.2 OC3 Clear - OK VSI(VSI)
2.3 OC3 Clear - OK -
(2)配置LSC
LSC的配置内容包括配置7200/7500系列路由器作为LSC,还包括配置XTagATM接口用来控制BPX机框的中继接口。
步骤1:LSC将连接BPX中继接口2.2的ATM接口配置为VSI控制链路,如例2-68所示。
例2-68 配置7200/7500接口为LSC接口
LSC(config)#interface ATM1/0
LSC(config-if)#no ip address
LSC(config-if)#tag-control-protocol vsi
步骤2:LSC使用命令extended port配置XTagATM接口作为BPX的中继接口2.1和2.3的控制链路,如例2-69所示。在LSC上,XTagATM接口的编号对应其控制的BPX的中继接口的编号。因此,XTagATM接口21控制BPX的中继2.1,XTagATM接口23控制BPX的中继2.3。
例2-69 LSC配置XTagATM接口作为控制链路
LSC(config)#interface ATM1/0
LSC(config-if)# no ip address
LSC(config-if)# tag-control-protocol vsi
LSC(config-if)#interface XTagATM21
LSC(config-if)# ip address 10.10.10.2 255.255.255.252
LSC(config-if)# extended-port ATM1/0 bpx 2.1
LSC(config-if)# mpls ip
LSC(config-if)#interface XTagATM23
LSC(config-if)# ip address 10.10.10.6 255.255.255.252
LSC(config-if)# extended-port ATM1/0 bpx 2.3
LSC(config-if)# mpls ip
步骤3:LSC配置OSPF,并且所有接口都开启OSPF功能,如例2-70所示。
例2-70 LSC配置OSPF
LSC(config)#router ospf 100
LSC(config-router)# log-adjacency-changes
LSC(config-router)# network 10.10.10.0 0.0.0.255 area 0
步骤4:LSC验证VSI控制接口的操作状态,使用命令show controllers vsi status,如例2-71所示。
例2-71 验证VSI控制器状态
LSC#show controllers vsi status
Interface Name IF Status IFC State Physical Descriptor
XTagATM21 up ACTIVE 0.2.1.0
switch control port n/a ACTIVE 0.2.2.0
XTagATM23 up ACTIVE 0.2.3.0
(3)配置ATM E-LSR
ATM E-LSR的配置步骤与“ATM E-LSR的配置步骤”一节有很多重叠之处,包括在ATM物理接口下配置MPLS子接口、配置ATM-TDP参数和配置OSPF路由协议,如例2-72所示。
例2-72 配置ATM E-LSR
ELSR1(config)#interface ATM3/0
ELSR1(config-if)# no ip address
ELSR1(config-if)#interface ATM3/0.1 mpls
ELSR1(config-subif)# ip address 10.10.10.1 255.255.255.252
ELSR1(config-subif)# mpls atm vpi 240-255
ELSR1(config-subif)# mpls ip
ELSR1(config)#router ospf 100
ELSR1(config-router)# router-id 10.10.10.101
ELSR1(config-router)# network 10.10.10.0 0.0.0.255 area 0
ELSR2(config)#interface ATM1/0
ELSR2(config-if)# no ip address
ELSR2(config-if)#interface ATM1/0.1 mpls
ELSR2(config-subif)# ip address 10.10.10.5 255.255.255.252
ELSR2(config-subif)# mpls atm vpi 240-255
ELSR2(config-subif)# mpls ip
ELSR2(config-subif)#router ospf 100
ELSR2(config-router)# network 10.10.10.0 0.0.0.255 area 0
在例2-72中,关键命令mpls atm vpi的作用是定义可以作为LVC的VPI范围,需要与BPX的配置保持一致,如例2-64所示。
2.BPX+LSC配置信元模式MPLS的验证步骤
步骤1:ATM E-LSR和LSC验证TDP发现和TDP会话状态。注意,因为LSC只支持ATM-TDP,因此命令show mpls ldp neighbor中显示TDP邻居关系,而不是ATM-LDP邻居关系,如例2-73所示。
例2-73 验证TDP邻居
ELSR1#show mpls ldp neighbor
Peer TDP Ident: 10.10.10.100:1; Local TDP Ident 10.10.10.101:1
TCP connection: 10.10.10.2.11375 - 10.10.10.1.711
State: Oper; PIEs sent/rcvd: 813/809; Downstream on demand
Up time: 11:39:02
TDP discovery sources:
ATM3/0.1, Src IP addr: 10.10.10.2
ELSR1#show mpls ldp discovery
Local LDP Identifier:
10.10.10.101:0
Discovery Sources:
Interfaces:
ATM3/0.1 (tdp): xmit/recv
TDP Id: 10.10.10.100:1; IP addr: 10.10.10.2
ELSR2#show mpls ldp neighbor
Peer TDP Ident: 10.10.10.100:2; Local TDP Ident 10.10.10.102:1
TCP connection: 10.10.10.6.11376 - 10.10.10.5.711
State: Oper; PIEs sent/rcvd: 813/813; Downstream on demand
Up time: 11:39:47
TDP discovery sources:
ATM1/0.1, Src IP addr: 10.10.10.6
ELSR2#show mpls ldp discovery
Local LDP Identifier:
10.10.10.102:0
Discovery Sources:
Interfaces:
ATM1/0.1 (tdp): xmit/recv
TDP Id: 10.10.10.100:2; IP addr: 10.10.10.6
LSC#show tag-switching tdp neighbor
Peer TDP Ident: 10.10.10.101:1; Local TDP Ident 10.10.10.100:1
TCP connection: 10.10.10.1.711 - 10.10.10.2.11375
State: Oper; PIEs sent/rcvd: 813/816; ; Downstream on demand
Up time: 11:42:08
TDP discovery sources:
XTagATM21
Peer TDP Ident: 10.10.10.102:1; Local TDP Ident 10.10.10.100:2
TCP connection: 10.10.10.5.711 - 10.10.10.6.11376
State: Oper; PIEs sent/rcvd: 816/815; ; Downstream on demand
Up time: 11:42:06
TDP discovery sources:
XTagATM23
LSC#show tag-switching tdp discovery
Local TDP Identifier:
10.10.10.100:0
TDP Discovery Sources:
Interfaces:
XTagATM21: xmit/recv
TDP Id: 10.10.10.101:1; IP addr: 10.10.10.1
XTagATM23: xmit/recv
TDP Id: 10.10.10.102:1; IP addr: 10.10.10.5
步骤2:验证标签的分配分发过程,如例2-74所示。
例2-74 验证标签分配和分发
ELSR1#show mpls atm-ldp bindings
Destination: 10.10.10.4/30
Headend Router ATM3/0.1 (1 hop) 240/38 Active, VCD=21
Destination: 10.10.10.100/32
Headend Router ATM3/0.1 (1 hop) 240/40 Active, VCD=22
Destination: 10.10.10.102/32
Headend Router ATM3/0.1 (2 hops) 240/42 Active, VCD=23
Destination: 10.10.10.101/32
Tailend Router ATM3/0.1 240/33 Active, VCD=19
Tailend Router ATM3/0.1 240/35 Active, VCD=20
ELSR2#show mpls atm-ldp bindings
Destination: 10.10.10.0/30
Headend Router ATM1/0.1 (1 hop) 240/38 Active, VCD=22
Destination: 10.10.10.100/32
Headend Router ATM1/0.1 (1 hop) 240/40 Active, VCD=23
Destination: 10.10.10.101/32
Headend Router ATM1/0.1 (2 hops) 240/42 Active, VCD=24
Destination: 10.10.10.102/32
Tailend Router ATM1/0.1 240/33 Active, VCD=20
Tailend Router ATM1/0.1 240/35 Active, VCD=21
步骤3:验证IGP可达,如例2-75所示。
例2-75 验证IGP可达
ELSR1#show ip route ospf
10.0.0.0/8 is variably subnetted, 6 subnets, 3 masks
O 10.10.10.4/30 [110/3] via 10.10.10.2, 12:14:50, ATM3/0.1
O 10.10.10.102/32 [110/4] via 10.10.10.2, 12:14:50, ATM3/0.1
O 10.10.10.100/32 [110/2] via 10.10.10.2, 12:14:50, ATM3/0.1
ELSR2#show ip route ospf
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O 10.10.10.0/30 [110/3] via 10.10.10.6, 12:15:17, ATM1/0.1
O 10.10.10.100/32 [110/2] via 10.10.10.6, 12:15:17, ATM1/0.1
O 10.10.10.101/32 [110/4] via 10.10.10.6, 12:15:17, ATM1/0.1
LSC#show ip route ospf
10.0.0.0/8 is variably subnetted, 5 subnets, 2 masks
O 10.10.10.102/32 [110/3] via 10.10.10.5, 12:15:37, XTagATM23
O 10.10.10.101/32 [110/3] via 10.10.10.1, 12:15:37, XTagATM21
步骤4:验证ATM E-LSR之间的连通性,如例2-76所示。
例2-76 验证E-LSR之间的连通性
LSR1#ping 10.10.10.102
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.10.10.102, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4