Seamless MPLS: Isolated IGP/LDP Domains and Labeled BGP
This chapter provides information about Seamless MPLS: Isolated IGP/LDP domains and Labeled BGP.
Topics in this chapter include:
Applicability
This chapter is applicable to SR OS routers and was initially written for SR OS Release 13.0.R7. The CLI in the current edition is based on SR OS Release 23.3.R1.
Overview
Seamless Multi-Protocol Label Switching (MPLS) is a network architecture that extends MPLS networks to integrate access and aggregation networks into a single MPLS domain, to solve the scaling problems in flat MPLS-based deployments. The Seamless MPLS transport concept described in this chapter partitions the core, aggregation, and access networks into isolated IGP/LDP domains. Seamless MPLS does not define any new protocols or technologies and is based on existing and well-known ones. Seamless MPLS provides end-to-end service-independent transport, separating the service and transport plane. Therefore, it removes the need for service-specific configurations in network transport nodes. Service provisioning is restricted only at the points of the network where it is required.
When BGP is used to distribute a route, it can also distribute an MPLS label that is mapped to that route. The label mapping information is appended to the BGP update message that is used to distribute the route. This is described in RFC 3107, Carrying Label Information in BGP-4.
Seamless MPLS - network topology, control and data plane shows a network with a core area and regional areas. Seamless MPLS - network topology, control and data plane also shows the control plane used in this Seamless MPLS implementation. For simplification, the control plane is displayed from right to left and the data plane from left to right. In this example, LDP is used as the underlying transport inside each IGP domain. Alternatively, RSVP-TE could be used.
In typical Seamless MPLS solutions, multiple ABRs are in place that result in some specific BGP configurations to send/receive multiple paths, such as the add-path feature. Because of this, ANs and ABRs have several next hops for the same prefix, allowing the use of redundancy mechanisms such as BGP Prefix Independent Convergence (PIC) edge, also known as BGP Fast ReRoute (FRR). These mechanisms are beyond the scope of this chapter.
AN routers in a regional area learn the reachability of AN routers in other regional areas through BGP labeled routes redistributed by the local ABRs (RFC 3107).
The label stack contains three labels for packets sent in a VPN service between the access nodes:
The ANs push a service label to the packets sent in the VPN service. The service label remains unchanged end-to-end between ANs. The service label is popped by the remote AN and is the inner label of the label stack.
The BGP label is the middle label of the label stack and should be regarded as a transport label. The transport label stack is increased to two labels: BGP and LDP transport labels. The BGP label is pushed by the iLER AN and is swapped at the BGP next hop, which can be one of the two local ABRs. Both ABRs are configured with next-hop-self. The BGP label is also swapped by the remote ABR.
The iLER AN pushes an LDP transport label to the packets sent to the remote AN to reach the BGP next hop. At the local ABR, the LDP transport label is popped and a new LDP transport label is pushed to reach the BGP next hop (remote ABR). The LDP transport label is swapped in every label switching router (LSR) and popped by the ABR nearest to the remote AN. That ABR pops the LDP transport label, swaps the BGP label, and pushes an LDP transport label to reach the remote eLER AN.
Configuration
Seamless MPLS - IGP/LDP domains shows the example topology that is used in this chapter. An Epipe and VPRN are established between the access nodes AN-1 and AN-5. In the regional areas, and in the core area, IS-IS L2 capability is used.
Initial configuration
All nodes have the following initial configuration:
Cards, media dependent adapters (MDAs), ports
Router interfaces:
# on ABR-2: configure router interface "int-ABR-2-AN-1" address 192.168.12.2/30 port 1/1/c1/2 exit interface "int-ABR-2-P-3" address 192.168.23.1/30 port 1/1/c1/1 exit interface "system" address 192.0.2.2/32 exit exit
IS-IS (alternatively, OSPF could be used). Core area and regional areas run an isolated IS-IS instance. ABRs run two IS-IS instances: instance 0 belongs to the core and instance 1 belongs to the access network.
Core instance. All ABRs and Ps have level 2 (L2) capability, as follows:
# on ABR-2: configure router isis 0 level-capability level-2 area 49.0001 interface "system" exit interface "int-ABR-2-P-3" interface-type point-to-point exit no shutdown exit
Access instance. All ABRs and ANs have L2 capability, as follows:
# on ABR-2: configure router isis 1 level-capability level-2 interface "system" exit interface "int-ABR-2-AN-1" interface-type point-to-point exit no shutdown exit
LDP
Link LDP is enabled on all router interfaces on all nodes, as follows:
# on ABR-2: configure router ldp interface-parameters interface "int-ABR-2-AN-1" dual-stack ipv4 no shutdown exit no shutdown exit interface "int-ABR-2-P-3" dual-stack ipv4 no shutdown exit no shutdown exit exit no shutdown exit
Configure BGP
BGP is configured on all ABRs and all ANs. P-3 acts as a core Route Reflector (RR). To allow for separation of core/access IGP domains, the ABRs become RRs inline and implement next-hop-self on labeled IPv4 BGP prefixes. Seamless MPLS - BGP shows the exchange of iBGP Labeled Unicast (LU) routes.
BGP configuration on ABRs
There are two BGP groups on the ABRs: one group toward the core RR and another group toward the AN, as follows:
# on ABR-2:
configure
router
autonomous-system 64496
bgp
group "core"
family vpn-ipv4 label-ipv4
advertise-inactive
peer-as 64496
neighbor 192.0.2.3
description "coreRR_P-3"
next-hop-self
exit
exit
no shutdown
exit
exit
Advertise-inactive must be enabled on the BGP group toward the core. The /32 system IP addresses, learned in labeled BGP, are also learned in IS-IS. Because IS-IS has a lower preference compared to iBGP, the IS-IS routes are installed in the routing table. BGP default behavior only advertises those prefixes that were elected by RTM and used. The VPN IPv4 address family is also included, along with labeled IPv4, to allow setting up L3 VPN services, as shown in next sections. The next-hop attribute of VPN IPv4 prefixes remains unchanged.
# on ABR-2:
configure
router
bgp
group "ANs_Label_IPv4+VPN_IPv4"
family vpn-ipv4 label-ipv4
cluster 2.2.2.2
peer-as 64496
neighbor 192.0.2.1
description "AN-1"
next-hop-self
exit
exit
no shutdown
exit
BGP configuration on the core RR
# on P-3:
configure
router
autonomous-system 64496
bgp
group "core"
family vpn-ipv4 label-ipv4
cluster 3.3.3.3
peer-as 64496
advertise-inactive
neighbor 192.0.2.2
description "ABR-2"
exit
neighbor 192.0.2.4
description "ABR-4"
exit
exit
no shutdown
exit
exit
BGP configuration on ANs toward ABRs
# on AN-1:
configure
router
autonomous-system 64496
bgp
group "ABRs_Label_IPv4+VPN_IPv4"
family vpn-ipv4 label-ipv4
peer-as 64496
neighbor 192.0.2.2
exit
exit
no shutdown
exit
exit
Configuring address family label-ipv4 implies that all advertised IPv4 prefixes are sent to the remote BGP peer as an RFC 3107 formatted label. The next-hop-self command only applies to labeled IPv4 prefixes, not to VPN-IPv4.
The BGP sessions can be shown with the following command:
*A:P-3# show router bgp summary all
===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
ServiceId AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
192.0.2.2
ABR-2
Def. Inst 64496 7 0 00h01m08s 0/0/0 (VpnIPv4)
7 0 0/0/0 (Lbl-IPv4)
192.0.2.4
ABR-4
Def. Inst 64496 7 0 00h00m53s 0/0/0 (VpnIPv4)
6 0 0/0/0 (Lbl-IPv4)
-------------------------------------------------------------------------------
*A:AN-1# show router bgp summary all
===============================================================================
BGP Summary
===============================================================================
Legend : D - Dynamic Neighbor
===============================================================================
Neighbor
Description
ServiceId AS PktRcvd InQ Up/Down State|Rcv/Act/Sent (Addr Family)
PktSent OutQ
-------------------------------------------------------------------------------
192.0.2.2
Def. Inst 64496 8 0 00h01m34s 0/0/0 (VpnIPv4)
8 0 0/0/0 (Lbl-IPv4)
-------------------------------------------------------------------------------
Export policies for BGP
A policy is required on the ANs to advertise the system IP address in labeled BGP toward the ABRs. The same policy is required on the ABRs to advertise their system IP address in labeled BGP toward the core and the AN.
Policy configuration on ANs and ABRs
# on AN-1 and ABR-2:
configure
router
policy-options
begin
prefix-list "system"
prefix 192.0.2.1/32 exact
exit
policy-statement "export-system"
entry 10
from
protocol direct
prefix-list "system"
exit
action accept
exit
exit
exit
commit
exit
This export policy must be applied in the bgp context on AN-1: either in the general settings or per group or per neighbor, as follows:
# on AN-1:
configure
router
bgp
group "ABRs_Label_IPv4+VPN_IPv4"
export "export-system"
exit
exit
The same export policy is applied in the group "core" on ABR-2, as follows:
# on ABR-2:
configure
router
bgp
group "core"
export "export-system"
exit
exit
A similar export policy is defined to export prefix 192.0.2.5 from AN-5 to ABR-4 and from ABR-4 to the RR in the core network, P-3.
The prefix of the remote AN is added to the routing table in AN-1 and services can be configured in the ANs. No service configuration is required in the transit nodes.
*A:AN-1# show router route-table
===============================================================================
Route Table (Router: Base)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
192.0.2.1/32 Local Local 00h08m54s 0
system 0
192.0.2.2/32 Remote ISIS(1) 00h08m29s 18
192.168.12.2 10
192.0.2.5/32 Remote BGP_LABEL 00h00m47s 170
192.0.2.2 (tunneled) 10
192.168.12.0/30 Local Local 00h08m54s 0
int-AN-1-ABR-2 0
-------------------------------------------------------------------------------
No. of Routes: 4
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
Configure SDP and Epipe
An end-to-end Epipe service is established between AN-1 and AN-5, as shown in End-to-End Epipe service.
The SDP is configured on AN-1 and AN-5, as follows:
# on AN-1:
configure
service
sdp 15 mpls create
far-end 192.0.2.5
bgp-tunnel
no shutdown
exit
# on AN-5:
configure
service
sdp 51 mpls create
far-end 192.0.2.1
bgp-tunnel
no shutdown
exit
Epipe 1 is configured on AN-1 and AN-5, as follows:
# on AN-1:
configure
service
epipe 1 name "Epipe 1" customer 1 create
sap 1/1/c1/3:1 create
no shutdown
exit
spoke-sdp 15:1 create
no shutdown
exit
no shutdown
exit
# on AN-5:
configure
service
epipe 1 name "Epipe 1" customer 1 create
sap 1/1/c1/3:1 create
no shutdown
exit
spoke-sdp 51:1 create
no shutdown
exit
no shutdown
exit
The state of the SDP and of the Epipe service can be verified on AN-1, as follows:
*A:AN-1# show service sdp
============================================================================
Services: Service Destination Points
============================================================================
SdpId AdmMTU OprMTU Far End Adm Opr Del LSP Sig
----------------------------------------------------------------------------
15 0 1552 192.0.2.5 Up Up MPLS B TLDP
----------------------------------------------------------------------------
Number of SDPs : 1
----------------------------------------------------------------------------
Legend: R = RSVP, L = LDP, B = BGP, M = MPLS-TP, n/a = Not Applicable
I = SR-ISIS, O = SR-OSPF, T = SR-TE, F = FPE
============================================================================
*A:AN-1# show service id 1 base
===============================================================================
Service Basic Information
===============================================================================
Service Id : 1 Vpn Id : 0
Service Type : Epipe
---snip---
Admin State : Up Oper State : Up
---snip---
-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier Type AdmMTU OprMTU Adm Opr
-------------------------------------------------------------------------------
sap:1/1/c1/3:1 q-tag 1518 1518 Up Up
sdp:15:1 S(192.0.2.5) Spok 0 1552 Up Up
===============================================================================
* indicates that the corresponding row element may have been truncated.
The state of the SDP and of the Epipe service can be verified on AN-5, as follows:
*A:AN-5# show service sdp
============================================================================
Services: Service Destination Points
============================================================================
SdpId AdmMTU OprMTU Far End Adm Opr Del LSP Sig
----------------------------------------------------------------------------
51 0 1552 192.0.2.1 Up Up MPLS B TLDP
----------------------------------------------------------------------------
Number of SDPs : 1
----------------------------------------------------------------------------
Legend: R = RSVP, L = LDP, B = BGP, M = MPLS-TP, n/a = Not Applicable
I = SR-ISIS, O = SR-OSPF, T = SR-TE, F = FPE
============================================================================
*A:AN-5# show service id 1 base
===============================================================================
Service Basic Information
===============================================================================
Service Id : 1 Vpn Id : 0
Service Type : Epipe
---snip---
Admin State : Up Oper State : Up
---snip---
-------------------------------------------------------------------------------
Service Access & Destination Points
-------------------------------------------------------------------------------
Identifier Type AdmMTU OprMTU Adm Opr
-------------------------------------------------------------------------------
sap:1/1/c1/3:1 q-tag 1518 1518 Up Up
sdp:51:1 S(192.0.2.1) Spok 0 1552 Up Up
===============================================================================
* indicates that the corresponding row element may have been truncated.
Configure VPRN
An L3 VPN service is established on AN-1 and AN-5, as shown in L3 VPN service.
The VPRN service is configured on AN-1 and AN-5, as follows. For simplicity, no CEs are attached to the ANs and only one loopback is created for verification.
# on AN-1:
configure
service
vprn 2 name "VPRN 2" customer 1 create
interface "loopback" create
address 192.0.1.1/32
loopback
exit
bgp-ipvpn
mpls
auto-bind-tunnel
resolution any
exit
route-distinguisher 64496:2
vrf-target target:64496:2
no shutdown
exit
exit
no shutdown
exit
# on AN-5:
configure
service
vprn 2 name "VPRN 2" customer 1 create
interface "loopback" create
address 192.0.1.5/32
loopback
exit
bgp-ipvpn
mpls
auto-bind-tunnel
resolution any
exit
route-distinguisher 64496:2
vrf-target target:64496:2
no shutdown
exit
exit
no shutdown
exit
The routing table for VPRN 2 contains the local and the remote loopback addresses. On AN-1, this can be verified as follows:
*A:AN-1# show router 2 route-table
===============================================================================
Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
192.0.1.1/32 Local Local 00h05m39s 0
loopback 0
192.0.1.5/32 Remote BGP VPN 00h00m50s 170
192.0.2.5 (tunneled:BGP) 1000
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
On AN-5, this can be verified as follows:
*A:AN-5# show router 2 route-table
===============================================================================
Route Table (Service: 2)
===============================================================================
Dest Prefix[Flags] Type Proto Age Pref
Next Hop[Interface Name] Metric
-------------------------------------------------------------------------------
192.0.1.1/32 Remote BGP VPN 00h01m45s 170
192.0.2.1 (tunneled:BGP) 1000
192.0.1.5/32 Local Local 00h01m50s 0
loopback 0
-------------------------------------------------------------------------------
No. of Routes: 2
Flags: n = Number of times nexthop is repeated
B = BGP backup route available
L = LFA nexthop available
S = Sticky ECMP requested
===============================================================================
Ping messages can be sent from the loopback address in VPRN 2 on AN-1 to the remote loopback address in VPRN 2 on AN-5, as follows:
*A:AN-1# ping router 2 192.0.1.5
PING 192.0.1.5 56 data bytes
64 bytes from 192.0.1.5: icmp_seq=1 ttl=64 time=2.58ms.
64 bytes from 192.0.1.5: icmp_seq=2 ttl=64 time=2.48ms.
64 bytes from 192.0.1.5: icmp_seq=3 ttl=64 time=2.03ms.
64 bytes from 192.0.1.5: icmp_seq=4 ttl=64 time=1.94ms.
64 bytes from 192.0.1.5: icmp_seq=5 ttl=64 time=1.71ms.
---- 192.0.1.5 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.71ms, avg = 2.15ms, max = 2.58ms, stddev = 0.329ms
In a similar way, ping messages are sent from the loopback address in VPRN 2 on AN-5 to the loopback address in VPRN 2 on AN-1, as follows:
*A:AN-5# ping router 2 192.0.1.1
PING 192.0.1.1 56 data bytes
64 bytes from 192.0.1.1: icmp_seq=1 ttl=64 time=2.86ms.
64 bytes from 192.0.1.1: icmp_seq=2 ttl=64 time=1.77ms.
64 bytes from 192.0.1.1: icmp_seq=3 ttl=64 time=1.73ms.
64 bytes from 192.0.1.1: icmp_seq=4 ttl=64 time=1.70ms.
64 bytes from 192.0.1.1: icmp_seq=5 ttl=64 time=1.62ms.
---- 192.0.1.1 PING Statistics ----
5 packets transmitted, 5 packets received, 0.00% packet loss
round-trip min = 1.62ms, avg = 1.94ms, max = 2.86ms, stddev = 0.462ms
Data plane overview
Label stacks for traffic from AN-1 to AN-5 shows the label stacks used for traffic from AN-1 to AN-5. As an example, an Epipe service is used.
The service label added for Epipe 1 on AN-1 for egress traffic to AN-5 is 524282. Ingress traffic on AN-1 has service label 524282. This can be shown as follows:
*A:AN-1# show service id 1 labels =============================================================================== Martini Service Labels =============================================================================== Svc Id Sdp Binding Type I.Lbl E.Lbl ------------------------------------------------------------------------------- 1 15:1 Spok 524282 524282 ------------------------------------------------------------------------------- Number of Bound SDPs : 1 ------------------------------------------------------------------------------- ===============================================================================
This service label remains unchanged end-to-end.
On AN-1, the (middle) BGP label for traffic with destination AN-5 is 524282, as follows:
*A:AN-1# show router bgp routes 192.0.2.5 label-ipv4 =============================================================================== BGP Router ID:192.0.2.1 AS:64496 Local AS:64496 =============================================================================== Legend - Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid l - leaked, x - stale, > - best, b - backup, p - purge Origin codes : i - IGP, e - EGP, ? - incomplete =============================================================================== BGP LABEL-IPV4 Routes =============================================================================== Flag Network LocalPref MED Nexthop (Router) Path-Id IGP Cost As-Path Label ------------------------------------------------------------------------------- u*>i 192.0.2.5/32 100 None 192.0.2.2 None 10 No As-Path 524282 ------------------------------------------------------------------------------- Routes : 1 ===============================================================================
The next hop is ABR-2. AN-1 pushes the LDP label 524287 to reach ABR-2, as follows:
*A:AN-1# show router ldp bindings active prefixes prefix 192.0.2.2/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.1) (IPv6 LSR ID ::) =============================================================================== Label Status: U - Label In Use, N - Label Not In Use, W - Label Withdrawn WP - Label Withdraw Pending, BU - Alternate For Fast Re-Route e - Label ELC FEC Flags: LF - Lower FEC, UF - Upper FEC, M - Community Mismatch, BA - ASBR Backup FEC (S) - Static (M) - Multi-homed Secondary Support (B) - BGP Next Hop (BU) - Alternate Next-hop for Fast Re-Route (I) - SR-ISIS Next Hop (O) - SR-OSPF Next Hop (C) - FEC resolved with class-based-forwarding =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.2/32 Push -- 524287 192.168.12.2 1/1/c1/1 ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 1 ===============================================================================
At ABR-2, the service label 524282 remains unchanged. The LDP label 524287 is popped, as follows:
*A:ABR-2# show router ldp bindings active prefixes prefix 192.0.2.2/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.2) (IPv6 LSR ID ::) =============================================================================== ---snip--- =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.2/32 Pop 524287 -- -- -- ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 1 ===============================================================================
On ABR-2, the BGP next hop is ABR-4 for prefix 192.0.2.5, as follows:
*A:ABR-2# show router bgp routes 192.0.2.5 label-ipv4 =============================================================================== BGP Router ID:192.0.2.2 AS:64496 Local AS:64496 =============================================================================== Legend - Status codes : u - used, s - suppressed, h - history, d - decayed, * - valid l - leaked, x - stale, > - best, b - backup, p - purge Origin codes : i - IGP, e - EGP, ? - incomplete =============================================================================== BGP LABEL-IPV4 Routes =============================================================================== Flag Network LocalPref MED Nexthop (Router) Path-Id IGP Cost As-Path Label ------------------------------------------------------------------------------- u*>i 192.0.2.5/32 100 None 192.0.2.4 None 20 No As-Path 524282 ------------------------------------------------------------------------------- Routes : 1 ===============================================================================
On ABR-2, the BGP (middle) label 524282 is swapped with (in this case, the same label) 524282 for BGP next hop ABR-4, as follows:
*A:ABR-2# show router bgp inter-as-label =============================================================================== BGP Inter-AS labels Flags: B - entry has backup, P - entry is promoted =============================================================================== NextHop Received Advertised Label Label Label Origin ------------------------------------------------------------------------------- 192.0.2.1 524283 524283 Internal 192.0.2.4 524282 524282 Internal ------------------------------------------------------------------------------- Total Labels allocated: 2 ===============================================================================
ABR-2 pushes a new LDP label (524284) to reach the BGP next hop (ABR-4), as follows:
*A:ABR-2# show router ldp bindings active prefixes prefix 192.0.2.4/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.2) (IPv6 LSR ID ::) =============================================================================== ---snip--- =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.4/32 Push -- 524284 192.168.23.2 1/1/c1/1 192.0.2.4/32 Swap 524284 524284 192.168.23.2 1/1/c1/1 ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 2 ===============================================================================
At LSR P-3, only an LDP label swap occurs. P-3 swaps LDP label 524284 with 524287, as follows:
*A:P-3# show router ldp bindings active prefixes prefix 192.0.2.4/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.3) (IPv6 LSR ID ::) =============================================================================== ---snip--- =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.4/32 Push -- 524287 192.168.34.2 1/1/c1/1 192.0.2.4/32 Swap 524284 524287 192.168.34.2 1/1/c1/1 ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 2 ===============================================================================
At ABR-4, LDP label 524287 is popped and BGP label 524282 is swapped to label 524283, as follows:
*A:ABR-4# show router bgp inter-as-label =============================================================================== BGP Inter-AS labels Flags: B - entry has backup, P - entry is promoted =============================================================================== NextHop Received Advertised Label Label Label Origin ------------------------------------------------------------------------------- 192.0.2.2 524283 524283 Internal 192.0.2.5 524283 524282 Internal ------------------------------------------------------------------------------- Total Labels allocated: 2 ===============================================================================
ABR-4 pushes a new LDP label 524287 to reach AN-5, as follows:
*A:ABR-4# show router ldp bindings active prefixes prefix 192.0.2.5/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.4) (IPv6 LSR ID ::) =============================================================================== ---snip--- =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.5/32 Push -- 524287 192.168.45.2 1/1/c1/1 192.0.2.5/32 Swap 524284 524287 192.168.45.2 1/1/c1/1 ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 2 ===============================================================================
Finally, at AN-5, all labels in the stack are popped. The LDP label 524287 is popped as follows:
*A:AN-5# show router ldp bindings active prefixes prefix 192.0.2.5/32 =============================================================================== LDP Bindings (IPv4 LSR ID 192.0.2.5) (IPv6 LSR ID ::) =============================================================================== ---snip--- =============================================================================== LDP IPv4 Prefix Bindings (Active) =============================================================================== Prefix Op IngLbl EgrLbl EgrNextHop EgrIf/LspId ------------------------------------------------------------------------------- 192.0.2.5/32 Pop 524287 -- -- -- ------------------------------------------------------------------------------- No. of IPv4 Prefix Active Bindings: 1 ===============================================================================
The BGP (middle) label 524283 is popped.
*A:AN-5# show router bgp inter-as-label =============================================================================== BGP Inter-AS labels Flags: B - entry has backup, P - entry is promoted =============================================================================== NextHop Received Advertised Label Label Label Origin ------------------------------------------------------------------------------- 0.0.0.0 0 524283 Edge ------------------------------------------------------------------------------- Total Labels allocated: 1 ===============================================================================
The ingress service label 524282 is popped, as follows:
*A:AN-5# show service id 1 labels =============================================================================== Martini Service Labels =============================================================================== Svc Id Sdp Binding Type I.Lbl E.Lbl ------------------------------------------------------------------------------- 1 51:1 Spok 524282 524282 ------------------------------------------------------------------------------- Number of Bound SDPs : 1 ------------------------------------------------------------------------------- ===============================================================================
OAM
The following Operations, Administration, and Maintenance (OAM) commands can be launched to validate reachability between regions using BGP labeled IPv4 routes.
*A:AN-1# oam lsp-ping bgp-label prefix 192.0.2.5/32
LSP-PING 192.0.2.5/32: 80 bytes MPLS payload
Seq=1, send from intf int-AN-1-ABR-2, reply from 192.0.2.5
udp-data-len=32 ttl=255 rtt=2.68ms rc=3 (EgressRtr)
---- LSP 192.0.2.5/32 PING Statistics ----
1 packets sent, 1 packets received, 0.00% packet loss
round-trip min = 2.68ms, avg = 2.68ms, max = 2.68ms, stddev = 0.000ms
*A:AN-5# oam lsp-ping bgp-label prefix 192.0.2.1/32
LSP-PING 192.0.2.1/32: 80 bytes MPLS payload
Seq=1, send from intf int-AN-5-ABR-4, reply from 192.0.2.1
udp-data-len=32 ttl=255 rtt=2.42ms rc=3 (EgressRtr)
---- LSP 192.0.2.1/32 PING Statistics ----
1 packets sent, 1 packets received, 0.00% packet loss
round-trip min = 2.42ms, avg = 2.42ms, max = 2.42ms, stddev = 0.000ms
In a similar way, LSP trace can validate the reachability of the remote AN, as follows:
*A:AN-1# oam lsp-trace bgp-label prefix 192.0.2.5/32 detail
lsp-trace to 192.0.2.5/32: 0 hops min, 0 hops max, 104 byte packets
0 192.0.2.1
DS 1: ipaddr=192.168.12.2 ifaddr=192.168.12.2 iftype=ipv4Numbered MRU=1560
label[1]=524282 protocol=2(BGP)
1 192.0.2.2 rtt=1.20ms rc=8(DSRtrMatchLabel) rsc=1
DS 1: ipaddr=192.168.23.2 ifaddr=192.168.23.2 iftype=ipv4Numbered MRU=1560
label[1]=524282 protocol=2(BGP)
2 192.0.2.4 rtt=1.91ms rc=8(DSRtrMatchLabel)
3 192.0.2.5 rtt=2.42ms rc=3(EgressRtr) rsc=1
*A:AN-5# oam lsp-trace bgp-label prefix 192.0.2.1/32 detail
lsp-trace to 192.0.2.1/32: 0 hops min, 0 hops max, 104 byte packets
0 192.0.2.5
DS 1: ipaddr=192.168.45.1 ifaddr=192.168.45.1 iftype=ipv4Numbered MRU=1560
label[1]=524283 protocol=2(BGP)
1 192.0.2.4 rtt=1.16ms rc=8(DSRtrMatchLabel) rsc=1
DS 1: ipaddr=192.168.34.1 ifaddr=192.168.34.1 iftype=ipv4Numbered MRU=1560
label[1]=524283 protocol=2(BGP)
2 192.0.2.2 rtt=2.40ms rc=8(DSRtrMatchLabel)
3 192.0.2.1 rtt=2.63ms rc=3(EgressRtr) rsc=1
Conclusion
Seamless MPLS helps to solve the scalability problems of large networks. Seamless MPLS partitions the core, aggregation, and access networks into isolated IGP/LDP domains, which helps to maintain IGP databases small and controlled. Labeled BGP allows the establishment of hierarchical LSPs for end-to-end service set up.