此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍如何配置基本的多协议标签交换(MPLS) VPN核心网络。
Cisco 建议您了解以下主题:
本文档中的信息基于以下软件和硬件版本:
P 和 PE 路由器
来自聚合服务路由器(ASR)和集成服务路由器(ISR)系列或其他更高端路由器的任何思科路由器都支持P和PE功能。
C 和 CE 路由器
您可以使用能与其 PE 路由器交换路由信息的任何路由器。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
这些字母代表所使用的不同类型的路由器和交换机:
P — 提供商路由器
-
PE —供应商边缘路由器
-
CE —边缘路由器 Customer
-
C —路由器 Customer
注意:PE路由器是提供商网络中的最后一跳。这些设备直接连接到CE路由器,CE路由器是客户拥有的设备,与服务提供商网络连接,但不参与MPLS操作。
背景信息
MPLS是一种高性能网络技术,它使用短路径标签而不是长网络地址将数据从一个节点定向到另一个节点。此方法可加速并影响企业和服务提供商网络中的流量传输。MPLS为数据包分配标签,标签交换路由器(LSR)或P路由器使用这些标签来做出转发决策。在网络边缘添加和删除边缘路由器(LER)或PE路由器的标签。
MPLS使用转发等效类(FEC)对以相同方式转发的数据包进行分组,并使用标签分发协议(LDP)在路由器之间分发标签映射。这样可以确保整个网络中标签绑定的视图保持一致。
MPLS的优势包括更高的性能、可扩展性、流量工程能力,以及对服务质量(QoS)的支持。它与各种协议无关,因此是适用于各种网络环境的通用解决方案。MPLS广泛用于创建可扩展的安全虚拟专用网络(VPN)、管理和优化流量传输,并支持将不同类型的流量(例如数据、语音和视频)融合到单个网络基础设施中。
本文档提供了MPLS VPN网络的示例配置,其中边界网关协议(BGP)在PE(提供商边缘)和CE(客户边缘)路由器之间使用。与MPLS一起使用时,VPN功能允许多个站点通过服务提供商网络透明互联。一个服务提供商网络可以支持多个不同的IP VPN,每个网络对用户显示为独立于所有其他网络的专用网络。在一个 VPN 内,每个站点都可以向该 VPN 的其他任何站点发送 IP 数据包。
每个VPN与一个或多个虚拟路由和转发(VRF)实例相关联。一个 VRF 由一个 IP 路由表、一个派生的 Cisco 快速转发 (CEF) 表和使用此转发表的一组接口组成。路由器为每个VRF维护一个单独的路由信息库(RIB)和CEF表。这样可确保信息不会发送到VPN外部,从而允许多个VPN使用同一子网而不会导致重复IP地址问题。使用多协议BGP (MP-BGP)的路由器将使用MP-BGP扩展社区分发VPN路由信息。
配置
本节提供配置示例及其实施方式。
网络图
本文档使用此网络设置,下图显示了一个典型配置,说明前面介绍的约定:
MPLS配置过程
在核心网络中配置MPLS
1. 验证在需要MPLS的路由器上是否启用了ip cef(在最新软件版本中,默认情况下启用CEF)。
2. 在服务提供商核心上配置内部网关协议(IGP),建议选择开放最短路径优先(OSPF)或中间系统到中间系统(IS-IS)协议,并从每台P路由器和PE路由器通告Loopback0。
3. 在服务提供商核心路由器在其环回之间可以完全访问第3层(L3)之后,请在P路由器和PE路由器之间的每个第3层接口上配置mpls ip命令,或使用mpls ldp autoconfig命令在运行OSPF或IS-IS进程的每个接口上启用LDP。
注意:直接连接到CE路由器的PE路由器接口不需要mpls ip命令配置。
将mpls ip配置添加到接口后,在PE路由器上完成以下步骤:
4. 使用
vrf definition <VRF name> 命令连接的每个VPN创建一个VRF。其他步骤:
指定用于该VPN的路由标识符。命令
rd <VPN route distinguisher> 用于扩展IP地址,以便您可以识别它属于哪个VPN。
vrf definition Client_A rd 100:110
设置 MP-BGP 扩展团体的导入和导出属性。这些用于使用命令route-target {import|export|both} <target VPN extended community>过滤导入和导出过程,如以下输出所示:
vrf definition Client_A rd 100:110 route-target export 100:1000 route-target import 100:1000 ! address-family ipv4 exit-address-family
5. 在PE路由器上,添加将CE连接到相应VRF的接口。使用vrf forwarding命令配置各自接口的转发详细信息并设置IP地址。
PE-1#show run interface GigabitEthernet0/1 Building configuration... Current configuration : 138 bytes ! interface GigabitEthernet0/1 vrf forwarding Client_A ip address 10.0.4.2 255.255.255.0 duplex auto speed auto media-type rj45 end
配置MP-BGP
配置BGP的方法有多种,例如,您可以将PE路由器配置为BGP邻居,或使用路由反射器(RR)或联盟方法。下一个示例中使用路由反射器,它比PE路由器之间使用全网状邻居更具可扩展性:
1. 为该PE路由器上显示的每个VPN输入address-family ipv4 vrf <VRF name> 命令。然后,根据需要执行以下一个或多个后续步骤:
-
如果使用BGP与CE交换路由信息,请配置并激活与CE路由器的BGP邻居。
-
如果使用不同的动态路由协议与CE交换路由信息,请重新分发路由协议。
注意:根据您使用的PE-CE路由协议,您可以在PE和CE设备之间配置任何动态路由协议(EIGRP、OSPF或BGP)。如果BGP是用于在PE和CE之间交换路由信息的协议,则无需配置协议之间的重分发。
2. 在路由器bgp层次结构下,输入address-family vpnv4模式,并完成下一步:
-
激活邻居,需要在每个PE路由器和路由反射器之间建立VPNv4邻居会话。
-
指定必须使用扩展团体。这是强制性的。
配置
本文档使用以下配置设置MPLS VPN网络示例:
PE-1 |
---|
hostname PE-1 ! ip cef ! !--- VPN Client_A commands. vrf definition Client_A rd 100:110 route-target export 100:1000 route-target import 100:1000 |
PE-2 |
---|
hostname PE-2 ! ip cef |
P-2 |
---|
hostname P-2 ! ip cef ! interface Loopback0 ip address 10.10.10.3 255.255.255.255 ip router isis ! interface GigabitEthernet0/0 description link to PE-2 ip address 10.1.1.21 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/1 description link to P-1 ip address 10.1.1.6 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/2 description link to RR ip address 10.1.1.9 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! router isis net 49.0001.0000.0000.0003.00 is-type level-2-only metric-style wide passive-interface Loopback0 ! end |
RR |
---|
hostname RR ! ip cef ! interface Loopback0 ip address 10.10.10.2 255.255.255.255 ip router isis ! interface GigabitEthernet0/0 description link to P-1 ip address 10.1.1.2 255.255.255.252ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/1 description link to P-2 ip address 10.1.1.10 255.255.255.252ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/3 no ip address shutdown duplex auto speed auto media-type rj45 ! router isis net 49.0001.0000.0000.0002.00 is-type level-2-only metric-style wide passive-interface Loopback0 ! router bgp 65000 bgp log-neighbor-changes neighbor 10.10.10.4 remote-as 65000 neighbor 10.10.10.4 update-source Loopback0 neighbor 10.10.10.6 remote-as 65000 neighbor 10.10.10.6 update-source Loopback0 ! address-family vpnv4 neighbor 10.10.10.4 activate neighbor 10.10.10.4 send-community both neighbor 10.10.10.4 route-reflector-client neighbor 10.10.10.6 activate neighbor 10.10.10.6 send-community both neighbor 10.10.10.6 route-reflector-client exit-address-family ! ! end |
P-1 |
---|
hostname P-1 ! ip cef ! interface Loopback0 ip address 10.10.10.1 255.255.255.255 ip router isis ! interface GigabitEthernet0/0 description link to PE-1 ip address 10.1.1.13 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/1 description link to RR ip address 10.1.1.5 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! interface GigabitEthernet0/2 description link to P-2 ip address 10.1.1.1 255.255.255.252 ip router isis duplex auto speed auto media-type rj45 mpls ip ! router isis net 49.0001.0000.0000.0001.00 is-type level-2-only metric-style wide passive-interface Loopback0 ! end |
CE-A1 | CE-A3 |
hostname CE-A1 ! ip cef ! interface GigabitEthernet0/0 ip address 10.0.4.1 255.255.255.0 duplex auto speed auto media-type rj45 ! router bgp 65002 bgp log-neighbor-changes redistribute connected neighbor 10.0.4.2 remote-as 65000 ! end |
hostname CE-A3 ! ip cef ! interface GigabitEthernet0/0 ip address 10.0.6.1 255.255.255.0 duplex auto speed auto media-type rj45 ! router bgp 65004 bgp log-neighbor-changes redistribute connected neighbor 10.0.6.2 remote-as 65000 ! end |
确认
本部分提供的信息可用于确认配置是否工作正常:
PE到CE验证命令
- show ip vrf — 验证是否存在正确的 VRF。
- show ip vrf interfaces — 验证已激活的接口。
- show ip route vrf <VRF name> —验证关于PE路由器的路由信息。
- traceroute vrf <VRF name> <IP address> — 验证关于PE路由器的路由信息。
- show ip cef vrf <VRF name> <IP address> detail —验证关于PE路由器的路由信息。
MPLS LDP验证命令
- show mpls interfaces
- show mpls forwarding-table
- show mpls ldp bindings
- show mpls ldp neighbor
PE到PE/RR验证命令
- show bgp vpnv4 unicast all summary
- show bgp vpnv4 unicast all neighbor <neighbor IP地址> advertised-routes -验证是否已发送VPNv4前缀
- show bgp vpnv4 unicast all neighbor <neighbor IP地址> routes -验证是否收到了VPNv4前缀
这是show ip vrf命令的命令输出示例。
PE-1#show ip vrf
Name Default RD Interfaces
Client_A 100:110 Gi0/1
Client_B 100:120 Gi0/2
下面是show ip vrf interfaces命令的命令输出示例。
PE-2#show ip vrf interfaces
Interface IP-Address VRF Protocol
Gi0/2 10.1.6.2 Client_A up
Gi0/3 10.0.6.2 Client_A up
Gi0/1 10.0.6.2 Client_B up
在下一个示例中,show ip route vrf命令在两个输出中显示同一个前缀10.0.6.0/24。这是因为远程PE对于两个思科客户端(CE_B2和CE_A3)具有相同的网络,这在典型的MPLS VPN解决方案中是允许的。
PE-1#show ip route vrf Client_A
Routing Table: Client_A
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 4 subnets, 2 masks
C 10.0.4.0/24 is directly connected, GigabitEthernet0/1
L 10.0.4.2/32 is directly connected, GigabitEthernet0/1
B 10.0.6.0/24 [200/0] via 10.10.10.6, 11:11:11
B 10.1.6.0/24 [200/0] via 10.10.10.6, 11:24:16
PE-1#
PE-1#show ip route vrf Client_B
Routing Table: Client_B
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
a - application route
+ - replicated route, % - next hop override, p - overrides from PfR
Gateway of last resort is not set
10.0.0.0/8 is variably subnetted, 3 subnets, 2 masks
C 10.0.4.0/24 is directly connected, GigabitEthernet0/2
L 10.0.4.2/32 is directly connected, GigabitEthernet0/2
B 10.0.6.0/24 [200/0] via 10.10.10.6, 11:26:05
当您在两个站点之间运行traceroute时,在本示例中为Client_A的两个站点(CE-A1到CE-A3),可以看到MPLS网络使用的标签堆栈(如果通过mpls ip propagate-ttl配置为这样做)。
CE-A1#show ip route 10.0.6.1
Routing entry for 10.0.6.0/24
Known via "bgp 65002", distance 20, metric 0
Tag 65000, type external
Last update from 10.0.4.2 11:16:14 ago
Routing Descriptor Blocks:
* 10.0.4.2, from 10.0.4.2, 11:16:14 ago
Route metric is 0, traffic share count is 1
AS Hops 2
Route tag 65000
MPLS label: none
CE-A1#
CE-A1#ping 10.0.6.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.6.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 7/8/9 ms
CE-A1#
CE-A1#traceroute 10.0.6.1 probe 1 numeric
Type escape sequence to abort.
Tracing the route to 10.0.6.1
VRF info: (vrf in name/id, vrf out name/id)
1 10.0.4.2 2 msec
2 10.1.1.13 [MPLS: Labels 20/26 Exp 0] 8 msec
3 10.1.1.6 [MPLS: Labels 21/26 Exp 0] 17 msec
4 10.0.6.2 [AS 65004] 11 msec
5 10.0.6.1 [AS 65004] 8 msec
注意:
Exp 0 是用于服务质量(QoS)的实验字段。
下一个输出显示IS-IS和LDP邻接关系在RR与服务提供商核心网络中的一些P路由器之间建立:
RR#show isis neighbors
Tag null:
System Id Type Interface IP Address State Holdtime Circuit Id
P-1 L2 Gi0/0 10.1.1.1 UP 25 RR.01
P-2 L2 Gi0/1 10.1.1.9 UP 23 RR.02
RR#
RR#show mpls ldp neighbor
Peer LDP Ident: 10.10.10.1:0; Local LDP Ident 10.10.10.2:0
TCP connection: 10.10.10.1.646 - 10.10.10.2.46298
State: Oper; Msgs sent/rcvd: 924/921; Downstream
Up time: 13:16:03
LDP discovery sources:
GigabitEthernet0/0, Src IP addr: 10.1.1.1
Addresses bound to peer LDP Ident:
10.1.1.13 10.1.1.5 10.1.1.1 10.10.10.1
Peer LDP Ident: 10.10.10.3:0; Local LDP Ident 10.10.10.2:0
TCP connection: 10.10.10.3.14116 - 10.10.10.2.646
State: Oper; Msgs sent/rcvd: 920/916; Downstream
Up time: 13:13:09
LDP discovery sources:
GigabitEthernet0/1, Src IP addr: 10.1.1.9
Addresses bound to peer LDP Ident:
10.1.1.6 10.1.1.9 10.10.10.3 10.1.1.21
相关信息
版本 | 发布日期 | 备注 |
---|---|---|
2.0 |
19-Oct-2022 |
重新认证 |
1.0 |
10-Dec-2001 |
初始版本 |