本文档说明通过多协议标签交换(MPLS)虚拟专用网络(VPN)云的数据包流。它还引入了在数据包中有多个标签的概念。
VPN与MPLS配合使用时,允许多个站点通过服务提供商的网络透明地互联。一个服务提供商网络可以支持多个不同的 IP VPN。其中每一个 VPN 均向其用户显示为与所有其他网络分离的专用网络。在一个 VPN 内,每个站点都可以向该 VPN 的其他任何站点发送 IP 数据包。
每个 VPN 均与一个或多个 VPN 路由或转发实例 (VRF) 相关联。VRF包括IP路由表、派生的思科快速转发(CEF)表和使用此转发表的一组接口。
路由器针对每个 VRF 维护一个单独的路由和 CEF 表。这样可以防止信息发送到 VPN 外,使相同的子网可以在多个 VPN 中使用,而不会导致 IP 地址发生重复。
使用BGP扩展属性,使用边界网关协议(BGP)的路由器分配VPN路由线信息。
有关通过VPN传播更新的详细信息,请参阅以下文档:
MPLS VPN功能在Cisco IOS®软件版本12.0(5)T中引入。
有关文档规则的详细信息,请参阅 Cisco 技术提示规则。
本文档没有任何特定的前提条件。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。
为了了解VPN MPLS的工作原理,我们采用以下示例配置:
在此配置中:
快速和井号是不运行MPLS的客户边缘(CE)设备。它们与VPN VRF101关联。为简单起见,我们在此仅使用一个VRF。
场和麦地那是提供商边缘设备(PE)。
Miles和Yard是LightStream 1010路由器。它们构成MPLS主干。
以下输出显示当快速将数据包发送到VPN VRF101内的井号时会发生什么情况:
rapid#ping 11.5.5.5 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 11.5.5.5, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms rapid#show ip route 11.5.5.5 Routing entry for 11.5.5.4/30 Known via "rip", distance 120, metric 1 Redistributing via rip Last update from 150.150.0.1 on FastEthernet0/1, 00:00:16 ago Routing Descriptor Blocks: * 150.150.0.1, from 150.150.0.1, 00:00:16 ago, via FastEthernet0/1 Route metric is 1, traffic share count is 1
场通过BGP通告从Medina获取地址11.5.5.5:
Farm#show ip bgp vpnv4 vrf vrf101 11.5.5.5 BGP routing table entry for 1:101:11.5.5.4/30, version 56 Paths: (1 available, best #1, table vrf101) Not advertised to any peer Local 125.2.2.2 (metric 4) from 125.2.2.2 (125.2.2.2) Origin incomplete, metric 1, localpref 100, valid, internal, best Extended Community: RT:1:101 Farm#show ip route vrf vrf101 11.5.5.5 Routing entry for 11.5.5.4/30 Known via "bgp 1", distance 200, metric 1, type internal Redistributing via rip Advertised by rip metric 0 Last update from 125.2.2.2 01:29:20 ago Routing Descriptor Blocks: * 125.2.2.2 (Default-IP-Routing-Table), from 125.2.2.2, 01:29:20 ago Route metric is 1, traffic share count is 1 AS Hops 0
注意: 125.2.2.2是Medina的环回接口,用于创建与场的BGP配对。
为了将发往11.5.5.5的数据包转发到Medina,Farm使用两个标签。要查看此信息,请查看场上的CEF和VPN标签转发表:
Farm#show tag forwarding -table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface None 2/91 11.5.5.4/30 0 AT4/0.1 point2point MAC/Encaps=4/12, MTU=4466, Tag Stack{2/91(vcd=69) 40} 00458847 0004500000028000 Farm#show ip cef vrf vrf101 11.5.5.5 11.5.5.4/30, version 25, cached adjacency to ATM4/0.1 0 packets, 0 bytes tag information set local tag: VPN-route-head fast tag rewrite with AT4/0.1, point2point, tags imposed: {2/91(vcd=69) 40} via 125.2.2.2, 0 dependencies, recursive next hop 10.0.0.14, ATM4/0.1 via 125.2.2.2/32 valid cached adjacency tag rewrite with AT4/0.1, point2point, tags imposed: {2/91(vcd=69) 40}
对离开场并发往11.5.5.5的数据包应用两个标签。这些标签可以如下表示:
标签40被添加到数据包中,然后将其分段为带2/91作为VPI/VCI值的信元。这意味着标签也称为2/91。
注意:在接收带有多个标签的帧时,接收设备仅检查第一个。
标签的分配如下:
2/91由Yard分配,并与地址125.2.2.2对应。此地址用于创建与Farm的BGP配对。请参阅ATM上的MPLS VPN:BGP或RIP,以了解详细信息。该标签用于MPLS核心,用于将帧从场发送到麦地那的125.2.2.2。
Medina将40分配给1.5.5.5。当PE(本例中为Medina)从CE(井号)获取IP前缀时,PE会为此路由分配特定标签。标签取决于路由获知的VPN VRF。它使用BGP增强型社区向其他PE通告路由和标签。
让我们来看看麦地那:
Medina#show tag forwarding -table vrf vrf101 11.5.5.5 detail Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 40 Untagged 11.5.5.4/30[V] 570 Et1/1 11.3.3.2 MAC/Encaps=0/0, MTU=1500, Tag Stack{} VPN route: vrf101 Per-packet load-sharing
既然我们知道标签来自何处,我们就可以看到发往11.5.5.5的数据包会发生什么情况。场通过VC 2/91发送分段的数据包。Yard收到此消息。要查看Yard对这些单元格执行的操作,请使用以下命令:
Yard#show tag atm -tdp bindings 125.2.2.2 32 Destination: 125.2.2.2/32 Transit ATM0/1/1 2/91 Active -> ATM4/0/0 1/82 Active
在VC 2/91上接收这些信元(发往125.2.2.2的信元,也称为Medina)时,Yard使用传出的VC 1/82将这些信元切换到Miles。
注意:Yard尚未检查或修改标签40。
在Miles上也发生了同样的事情,在VC 1/33上将信元切换到Medina:
Miles#show tag atm -tdp bindings 125.2.2.2 32 Destination: 125.2.2.2/32 Transit ATM0/1/3 1/82 Active -> ATM0/1/1 1/33 Active
到达Medina的数据包可以这样表示:
在VC 1/33上收到信元时,Medina检查标签1/33,发现该标签是路由器本地的。在这样做时,Medina发现数据包的目的地是其自己的地址之一:
Medina#show tag -switching atm-tdp bindings local-tag 1 33 Destination: 125.2.2.2/32 Tailend Router ATM2/0.66 1/33 Active, VCD=406
因此,Medina删除第一标签(1/33),并看到数据包有另一个标签(40)。 然后,它会检查此标签对应的内容并相应地交换数据包:
Medina#show tag -switching forwarding-table tags 40 Local Outgoing Prefix Bytes tag Outgoing Next Hop tag tag or VC or Tunnel Id switched interface 40 Untagged 11.5.5.4/30[V] 570 Et1/1 11.3.3.2
在这种情况下,Medina发现数据包的目的地是通过普通IP链路连接的站点。它丢弃标签并转发接口ethernet 1/1上的IP数据包。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
05-Jun-2005 |
初始版本 |