Example for Configuring Intra-AS Seamless MPLS

When the access, aggregation, and core layers belong to the same AS, intra-AS seamless MPLS can be configured to implement the service connectivity between NodeBs and an MME or SGW.

Networking Requirements

In Figure 1, the access, aggregation, and core layers belong to the same AS. NodeBs need to communicate with an MME or SGW over a VPN. To meet this requirement, intra-AS seamless MPLS can be configured.
Figure 1 Intra-AS seamless MPLS networking (1)


Addresses of interfaces are planned for CSGs, AGGs, core ABRs, and MASGs shown in Figure 2.
Figure 2 Intra-AS seamless MPLS networking (2)
 NOTE:
The configurations in this example are performed on CSG, AGG, Core ABR, and MASG. HUAWEI CX600-X1-M & CX600-X2-M Series can function as CSG, AGG, Core ABR, and MASG.
Interfaces 1 and 2 in this example are GE 0/1/0 and GE 0/2/0, respectively

Configuration Roadmap

The configuration roadmap is as follows:
  1. Configure IGP protocols at the access, aggregation, and core layers to implement network connectivity at each layer.
  2. Configure MPLS and MPLS LDP and establish MPLS LSPs on devices.
  3. Establish IBGP peer relationships at each layer and enable devices to exchange labeled routes.
  4. Configure each AGG and core ABR as RRs to help a CSG and MASG obtain the route destined for each other's loopback interface.
  5. Configure a routing policy to control label distribution for a BGP LSP to be established on each device. The egress of the BGP LSP to be established needs to assign an MPLS label to the route advertised to an upstream node. If a transit node receives a labeled IPv4 route from downstream, the downstream node must re-assign an MPLS label to the transit node.

Data Preparation

To complete the configuration, you need the following data:
  • OSPF process ID (1) at the access layer, IS-IS process ID (1) at the aggregation layer, and OSPF process ID (2) at the core layer
  • MPLS LSR IDs: 1.1.1.1 for the CSG, 2.2.2.2 for the AGG, 3.3.3.3 for the core ABR, and 4.4.4.4 for the MASG
  • Name of a routing policy (policy1)

Procedure

  1. Assign an IP address to each interface.
    Assign an IP address and its mask to every physical interface; configure a loopback interface address as an LSR ID on every device shown in Figure 2; configure OSPF and IS-IS to advertise the route to the network segment of each interface and a host route to each loopback interface address (LSR ID). For configuration details, see Configuration Files in this section.
  2. Enable MPLS and LDP globally on each device.
    # Configure the CSG.
    [~CSG] mpls lsr-id 1.1.1.1
    [*CSG] mpls
    [*CSG-mpls] quit
    [*CSG] mpls ldp
    [*CSG-mpls-ldp] quit
    [*CSG] interface GigabitEthernet 0/1/0
    [*CSG-GigabitEthernet0/1/0] mpls
    [*CSG-GigabitEthernet0/1/0] mpls ldp
    [*CSG-GigabitEthernet0/1/0] quit
    [*CSG] commit
    # Configure the AGG.
    [~AGG] mpls lsr-id 2.2.2.2
    [*AGG] mpls
    [*AGG-mpls] quit
    [*AGG] mpls ldp
    [*AGG-mpls-ldp] quit
    [*AGG] interface GigabitEthernet 0/1/0
    [*AGG-GigabitEthernet0/1/0] mpls
    [*AGG-GigabitEthernet0/1/0] mpls ldp
    [*AGG-GigabitEthernet0/1/0] quit
    [*AGG] interface GigabitEthernet 0/2/0
    [*AGG-GigabitEthernet0/2/0] mpls
    [*AGG-GigabitEthernet0/2/0] mpls ldp
    [*AGG-GigabitEthernet0/2/0] quit
    [*AGG] commit
    # Configure the core ABR.
    [~Core ABR] mpls lsr-id 3.3.3.3
    [*Core ABR] mpls
    [*Core ABR-mpls] quit
    [*Core ABR] mpls ldp
    [*Core ABR-mpls-ldp] quit
    [*Core ABR] interface GigabitEthernet 0/1/0
    [*Core ABR-GigabitEthernet0/1/0] mpls
    [*Core ABR-GigabitEthernet0/1/0] mpls ldp
    [*Core ABR-GigabitEthernet0/1/0] quit
    [*Core ABR] interface GigabitEthernet 0/2/0
    [*Core ABR-GigabitEthernet0/2/0] mpls
    [*Core ABR-GigabitEthernet0/2/0] mpls ldp
    [*Core ABR-GigabitEthernet0/2/0] quit
    [*Core ABR] commit
    # Configure the MASG.
    [~MASG] mpls lsr-id 4.4.4.4
    [*MASG] mpls
    [*MASG-mpls] quit
    [*MASG] mpls ldp
    [*MASG-mpls-ldp] quit
    [*MASG] interface GigabitEthernet 0/1/0
    [*MASG-GigabitEthernet0/1/0] mpls
    [*MASG-GigabitEthernet0/1/0] mpls ldp
    [*MASG-GigabitEthernet0/1/0] quit
    [*MASG] commit
  3. Establish IBGP peer relationships at each layer and enable devices to exchange labeled routes.
    # Configure the CSG.
    [~CSG] bgp 100
    [*CSG-bgp] peer 2.2.2.2 as-number 100
    [*CSG-bgp] peer 2.2.2.2 connect-interface LoopBack 1
    [*CSG-bgp] peer 2.2.2.2 label-route-capability
    [*CSG-bgp] network 1.1.1.1 32
    [*CSG-bgp] quit
    [*CSG] commit
    # Configure the AGG.
    [~AGG] bgp 100
    [*AGG-bgp] peer 1.1.1.1 as-number 100
    [*AGG-bgp] peer 1.1.1.1 connect-interface LoopBack 1
    [*AGG-bgp] peer 1.1.1.1 label-route-capability
    [*AGG-bgp] peer 3.3.3.3 as-number 100
    [*AGG-bgp] peer 3.3.3.3 connect-interface LoopBack 1
    [*AGG-bgp] peer 3.3.3.3 label-route-capability
    [*AGG-bgp] quit
    [*AGG] commit
    # Configure the core ABR.
    [~Core ABR] bgp 100
    [*Core ABR-bgp] peer 2.2.2.2 as-number 100
    [*Core ABR-bgp] peer 2.2.2.2 connect-interface LoopBack 1
    [*Core ABR-bgp] peer 2.2.2.2 label-route-capability
    [*Core ABR-bgp] peer 4.4.4.4 as-number 100
    [*Core ABR-bgp] peer 4.4.4.4 connect-interface LoopBack 1
    [*Core ABR-bgp] peer 4.4.4.4 label-route-capability
    [*Core ABR-bgp] quit
    [*Core ABR] commit
    # Configure the MASG.
    [~MASG] bgp 100
    [*MASG-bgp] peer 3.3.3.3 as-number 100
    [*MASG-bgp] peer 3.3.3.3 connect-interface LoopBack 1
    [*MASG-bgp] peer 3.3.3.3 label-route-capability
    [*MASG-bgp] network 4.4.4.4 32
    [*MASG-bgp] quit
    [*MASG] commit
  4. Configure each AGG and core ABR as RRs to help a CSG and MASG obtain the route destined for each other's loopback interface.
    # Configure the AGG.
    [~AGG] bgp 100
    [~AGG-bgp] peer 1.1.1.1 reflect-client
    [*AGG-bgp] peer 1.1.1.1 next-hop-local
    [*AGG-bgp] peer 3.3.3.3 reflect-client
    [*AGG-bgp] peer 3.3.3.3 next-hop-local
    [*AGG-bgp] quit
    [*AGG] commit
    # Configure the core ABR.
    [~Core ABR] bgp 100
    [~Core ABR-bgp] peer 2.2.2.2 reflect-client
    [*Core ABR-bgp] peer 2.2.2.2 next-hop-local
    [*Core ABR-bgp] peer 4.4.4.4 reflect-client
    [*Core ABR-bgp] peer 4.4.4.4 next-hop-local
    [*Core ABR-bgp] quit
    [*Core ABR] commit
  5. Configure a routing policy on each device to establish a BGP LSP.
    # Configure a routing policy for advertising routes matching Route-Policy conditions to the CSG's BGP peer.
    [~CSG] route-policy policy1 permit node 1
    [*CSG-route-policy] apply mpls-label
    [*CSG-route-policy] quit
    [*CSG] bgp 100
    [*CSG-bgp] peer 2.2.2.2 route-policy policy1 export
    [*CSG-bgp] quit
    [*CSG] commit
    [~CSG] quit
    Repeat this step for the MASG. For configuration details, see Configuration Files in this section.
    # Configure a routing policy for advertising routes matching Route-Policy conditions to the AGG's BGP peer.
    [~AGG] route-policy policy1 permit node 1
    [*AGG-route-policy] if-match mpls-label
    [*AGG-route-policy] apply mpls-label
    [*AGG-route-policy] quit
    [*AGG] bgp 100
    [*AGG-bgp] peer 1.1.1.1 route-policy policy1 export
    [*AGG-bgp] peer 3.3.3.3 route-policy policy1 export
    [*AGG-bgp] quit
    [*AGG] commit
    Repeat this step for the core ABR. For configuration details, see Configuration Files in this section.
  6. Verify the configuration.
    After completing the configuration, run the display ip routing-table command on a CSG or MASG to view information about a route to the BGP peer's loopback interface.
    The following example uses the command output on the CSG.
    <CSG> display ip routing-table
    Route Flags: R - relay, D - download to fib
    ------------------------------------------------------------------------------
    Routing Table : _public_
             Destinations : 10       Routes : 10
    
    Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface
    
            1.1.1.1/32  Direct  0    0             D  127.0.0.1       LoopBack1
            2.2.2.2/32  OSPF    10   1             D  20.1.1.2        GigabitEthernet0/1/0
            4.4.4.4/32  IBGP    255  0             RD 2.2.2.2         LDP LSP
           20.1.1.0/24  Direct  0    0             D  20.1.1.1        GigabitEthernet0/1/0
           20.1.1.1/32  Direct  0    0             D  127.0.0.1       GigabitEthernet0/1/0
         20.1.1.255/32  Direct  0    0             D  127.0.0.1       GigabitEthernet0/1/0
          127.0.0.0/8   Direct  0    0             D  127.0.0.1       InLoopBack0
          127.0.0.1/32  Direct  0    0             D  127.0.0.1       InLoopBack0
    127.255.255.255/32  Direct  0    0             D  127.0.0.1       InLoopBack0
    255.255.255.255/32  Direct  0    0             D  127.0.0.1       InLoopBack0 
    Run the display mpls lsp command on the CSG or MASG to view LSP information.
    The following example uses the command output on the CSG.
    <CSG> display mpls lsp
    -------------------------------------------------------------------------------
                     LSP Information: LDP LSP
    -------------------------------------------------------------------------------
    FEC                In/Out Label    In/Out IF                      Vrf Name
    1.1.1.1/32         3/NULL          -/-
    2.2.2.2/32         NULL/3          -/GE0/1/0
    2.2.2.2/32         32828/3         -/GE0/1/0
    -------------------------------------------------------------------------------
                     LSP Information: BGP LSP
    -------------------------------------------------------------------------------
    FEC                In/Out Label    In/Out IF                      Vrf Name
    1.1.1.1/32         32829/NULL      -/-
    4.4.4.4/32         NULL/32831      -/-
    Run the ping lsp command on the CSG or MASG to check BGP LSP connectivity.
    The following example uses the command output on the CSG.
    <CSG> ping lsp bgp 4.4.4.4 32
      LSP PING FEC: IPV4 PREFIX 4.4.4.4/32/ : 100  data bytes, press CTRL_C to break
        Reply from 4.4.4.4: bytes=100 Sequence=1 time=125 ms
        Reply from 4.4.4.4: bytes=100 Sequence=2 time=3 ms
        Reply from 4.4.4.4: bytes=100 Sequence=3 time=4 ms
        Reply from 4.4.4.4: bytes=100 Sequence=4 time=3 ms
        Reply from 4.4.4.4: bytes=100 Sequence=5 time=3 ms
    
      --- FEC: BGP LABLED IPV4 PREFIX 4.4.4.4/32 ping statistics ---
        5 packet(s) transmitted
        5 packet(s) received
        0.00% packet loss
        round-trip min/avg/max = 3/27/125 ms

Configuration Files

  • CSG configuration file
    #
    sysname CSG
    #
    mpls lsr-id 1.1.1.1
    #
    mpls
    #
    mpls ldp
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ip address 20.1.1.1 255.255.255.0
     mpls
     mpls ldp
    #
    interface LoopBack1
     ip address 1.1.1.1 255.255.255.255
    #
    bgp 100
     peer 2.2.2.2 as-number 100
     peer 2.2.2.2 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
      network 1.1.1.1 255.255.255.255
      peer 2.2.2.2 enable
      peer 2.2.2.2 route-policy policy1 export
      peer 2.2.2.2 label-route-capability
    #
    ospf 1
     area 0.0.0.0
      network 1.1.1.1 0.0.0.0
      network 20.1.1.0 0.0.0.255
    #
    route-policy policy1 permit node 1
     apply mpls-label
    #
    return
  • AGG configuration file
    #
    sysname AGG
    #
    mpls lsr-id 2.2.2.2
    #
    mpls
    #
    mpls ldp
    #
    isis 1
     network-entity 10.0000.0000.0000.0010.00
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ip address 20.1.1.2 255.255.255.0
     mpls
     mpls ldp
    #
    interface GigabitEthernet0/2/0
     undo shutdown
     ip address 20.2.1.1 255.255.255.0
     isis enable 1
     mpls
     mpls ldp
    #
    interface LoopBack1
     ip address 2.2.2.2 255.255.255.255
     isis enable 1
    #
    bgp 100
     peer 1.1.1.1 as-number 100
     peer 1.1.1.1 connect-interface LoopBack1
     peer 3.3.3.3 as-number 100
     peer 3.3.3.3 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
      peer 1.1.1.1 enable
      peer 1.1.1.1 route-policy policy1 export
      peer 1.1.1.1 reflect-client
      peer 1.1.1.1 next-hop-local
      peer 1.1.1.1 label-route-capability
      peer 3.3.3.3 enable
      peer 3.3.3.3 route-policy policy1 export
      peer 3.3.3.3 reflect-client
      peer 3.3.3.3 next-hop-local
      peer 3.3.3.3 label-route-capability
    #
    ospf 1
     area 0.0.0.0
      network 2.2.2.2 0.0.0.0
      network 20.1.1.0 0.0.0.255
    #
    route-policy policy1 permit node 1
     if-match mpls-label
     apply mpls-label
    #
    return
  • Core ABR configuration file
    #
    sysname Core ABR
    #
    mpls lsr-id 3.3.3.3
    #
    mpls
    #
    mpls ldp
    #
    isis 1
     network-entity 10.0000.0000.0000.0020.00
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ip address 20.2.1.2 255.255.255.0
     isis enable 1
     mpls
     mpls ldp
    #
    interface GigabitEthernet0/2/0
     undo shutdown
     ip address 20.3.1.1 255.255.255.0
     mpls
     mpls ldp
    #
    interface LoopBack1
     ip address 3.3.3.3 255.255.255.255
     isis enable 1
    #
    bgp 100
     peer 2.2.2.2 as-number 100
     peer 2.2.2.2 connect-interface LoopBack1
     peer 4.4.4.4 as-number 100
     peer 4.4.4.4 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
      peer 2.2.2.2 enable
      peer 2.2.2.2 route-policy policy1 export
      peer 2.2.2.2 reflect-client
      peer 2.2.2.2 next-hop-local
      peer 2.2.2.2 label-route-capability
      peer 4.4.4.4 enable
      peer 4.4.4.4 route-policy policy1 export
      peer 4.4.4.4 reflect-client
      peer 4.4.4.4 next-hop-local
      peer 4.4.4.4 label-route-capability
    #
    ospf 2
     area 0.0.0.0
      network 3.3.3.3 0.0.0.0
      network 20.3.1.0 0.0.0.255
    #
    route-policy policy1 permit node 1
     if-match mpls-label
     apply mpls-label
    #
    return
  • MASG configuration file
    #
    sysname MASG
    #
    mpls lsr-id 4.4.4.4
    #
    mpls
    #
    mpls ldp
    #
    interface GigabitEthernet0/1/0
     undo shutdown
     ip address 20.3.1.2 255.255.255.0
     mpls
     mpls ldp
    #
    interface LoopBack1
     ip address 4.4.4.4 255.255.255.255
    #
    bgp 100
     peer 3.3.3.3 as-number 100
     peer 3.3.3.3 connect-interface LoopBack1
     #
     ipv4-family unicast
      undo synchronization
      network 4.4.4.4 255.255.255.255
      peer 3.3.3.3 enable
      peer 3.3.3.3 route-policy policy1 export
      peer 3.3.3.3 label-route-capability
    #
    ospf 2
     area 0.0.0.0
      network 4.4.4.4 0.0.0.0
      network 20.3.1.0 0.0.0.255
    #
    route-policy policy1 permit node 1
     apply mpls-label
    #
    return

How To Configure The Reliability Over Seamless MPLS

Seamless MPLS network reliability can be improved using a variety of functions. If a network fault occurs, devices with reliability functions enabled immediately detect the fault and switch traffic from active links to standby links.
The following examples demonstrate the reliability functions used on an inter-AS seamless MPLS network.
  • A fault occurs on a link between a CSG and an AGG.
    As shown in Figure 1, the active link along the primary path between CSG1 and AGG1 fails. After BFD for LDP or BFD for CR-LSP detects the fault, the BFD module uses LDP FRR, TE Hot-standby or BGP FRR to switch traffic from the primary path to the backup path.
    Figure 1 Traffic protection triggered by a fault in the link between the CSG and AGG on the inter-AS seamless MPLS network

  • A fault occurs on an AGG.
    As shown in Figure 2 , BGP Auto FRR is configured on CSGs and AGG ASBRs to protect traffic on the BGP LSP between CSG1 and MASG1. If BFD for LDP or BFD for TE detects AGG1 faults, the BFD module switches traffic from the primary path to the backup path.
    Figure 2 Traffic protection triggered by a fault in an AGG on the inter-AS seamless MPLS network


  • A fault occurs on the link between an AGG and an AGG ASBR.
    As shown in Figure 3, a fault occurs on the link along the primary path between AGG1 and ASBR1. After BFD for LDP or BFD for CR-LSP detects the fault, the BFD module uses LDP FRR, TE hot-standby or BGP FRR to switch traffic from the primary path to the backup path.
    Figure 3 Traffic protection triggered by a fault in the link between an AGG and an AGG ASBR on the inter-AS seamless MPLS network


  • A fault occurs on an AGG ASBR.
    As shown in Figure 4, BFD for LDP or BFD for TE is configured on AGG1, and BFD for interface is configured on core ASBR1. If AGG ASBR1 fails, the BFD modules on AGG1 and core ASBR1 detect the fault and trigger the BGP Auto FRR function. BGP Auto FRR switches both upstream and downstream traffic from the primary path to backup paths.
    Figure 4 Traffic protection triggered by a fault in an AGG ASBR on the inter-AS seamless MPLS network


  • A fault occurs on the link between an AGG ASBR and a core ASBR.
    As shown in Figure 5, BFD for interface is configured on AGG ASBR1 and core ASBR1. If the BFD module detects a fault in the link between AGG ASBR1 and core ASBR1, the BFD module triggers the BGP Auto FRR function. BGP Auto FRR switches both upstream and downstream traffic from the primary path to backup paths.
    Figure 5 Traffic protection triggered by a fault in the link between an AGG ASBR and a core ASBR on the inter-AS seamless MPLS network


  • A fault occurs on a core ASBR.
    As shown in Figure 6, BFD for interface and BGP Auto FRR are configured on AGG ASBR1. BGP Auto FRR and BFD for LDP (or BFD for TE) are configured on MASGs to protect traffic on the BGP LSP between CSG1 and MASG1. If the BFD module detects a fault in core ASBR1, it switches both upstream and downstream traffic from the primary path to backup paths.
    Figure 6 Traffic protection triggered by a fault in a core ASBR on the inter-AS seamless MPLS network


  • A link fault occurs in the core area.
    As shown in Figure 7, BFD for LDP or BFD for CR-LSP is configured on core ASBR1. If the BFD module detects a fault in the link between core ASBR1 and MASG1, it triggers the LDP FRR, TE Hot-standby or BGP FRR function. LDP FRR, TE FRR, or BGP FRR switches both upstream and downstream traffic from the primary path to the backup path.
    Figure 7 Traffic protection triggered by a link fault in a core area on the inter-AS seamless MPLS network


  • A fault occurs on an MASG.
    As shown in Figure 8, BFD for BGP tunnel is configured on CSG1. BFD for BGP tunnel is implemented in compliance with RFC 5884 "Bidirectional Forwarding Detection (BFD) for MPLS Label Switched Paths (LSPs)." BFD for BGP tunnel monitors E2E BGP LSPs, including a BGP LSP connected to an LDP LSP. When MASG1 that functions as a provider edge (PE) device fails, BFD for BGP tunnel can rapidly detect the fault and trigger VPN FRR switching. The BFD module then switches both upstream and downstream traffic from the primary path to the backup path.
    Figure 8 Traffic protection triggered by a fault in an MASG on the inter-AS seamless MPLS network



Basic Principles of Seamless MPLS - Part 3

Inter-AS Seamless MPLS+HVPN

Control plane
   Deploy routing protocols : 

Figure 1, Deploying routing protocols for the inter-AS seamless MPLS+HVPN networking

As shown in Figure 1, routing protocols are deployed on devices as follows:
  • An IGP (IS-IS or OSPF) is enabled on devices at each of the access, aggregation, and core layers to implement intra-AS connectivity.
  • An IBGP peer relationship is established between each of the following pairs of devices:
    • AGG and an AGG ASBR
    • Core ASBR and MASG
  • An EBGP peer relationship is established between the AGG ASBR and core ASBR.
  • An MP-IBGP peer relationship is established between the CSG and AGG, and a multi-hop MP-EBGP peer relationship is established between the AGG and MASG.

    Deploy tunnels : 

Figure 2Deploying tunnels for the inter-AS seamless MPLS+HVPN networking

As shown in Figure 2, tunnels are deployed as follows:
  • A public network tunnel is established using LDP or TE in each IGP area.
  • The AGGs, AGG ASBRs, core ASBRs, and MASGs are enabled to advertise labeled routes. They assign labels to BGP routes that match a specified routing policy. After they exchange BGP routes, a BGP LSP can be established between each pair of an AGG and MASG.

Forwarding plane

Figure 3, Forwarding plane of the inter-AS seamless MPLS+HVPN networking


Figure 3 illustrates the forwarding plane of the inter-AS seamless MPLS+HVPN networking. Seamless MPLS is mainly used to transmit VPN packets. The following example demonstrates how VPN packets, including labels and data, are transmitted from a CSG to an MASG along the path CSG2 -> AGG1 -> AGG ASBR1 -> core ASBR1-> MASG1.
  1. The CSG pushes an MPLS tunnel label into each VPN packet and forwards the packets to the AGG.
  2. The AGG removes the access-layer MPLS tunnel labels from the packets and pushes a BGP LSP label. It then adds aggregation-layer MPLS tunnel labels to the packets and then proceeds to forward them to the AGG ABR. If the PHP function is enabled on the AGG, the CSG has removed the MPLS tunnel labels from the packets, and therefore, the AGG receives packets without MPLS tunnel labels.
  3. The AGG ASBR then removes the MPLS tunnel labels from packets and swaps the existing BGP LSP label for a new label in each packet. It then forwards the packets to the core ASBR. If the PHP function is enabled on the AGG ASBR, the AGG has removed the MPLS tunnel labels from the packets, and therefore, the AGG ASBR receives packets without MPLS tunnel labels.
  4. After the core ASBR receives the packets, it swaps a BGP LSP label for a new label and adds a core-layer MPLS tunnel label to each packet. It then forwards the packets to the MASG.
  5. The MASG removes MPLS tunnel labels, BGP LSP labels, and VPN labels from the packets. If the PHP function is enabled on the MASG, the core ASBR has removed the MPLS tunnel labels from the packets, and therefore, the MASG receives packets without MPLS tunnel labels.
    The VPN packet transmission along the seamless MPLS tunnel is complete.