Example for Configuring Intra-AS NG MVPN over an mLDP P2MP Tunnel Passing Through Ps

This section provides an example for configuring intra-AS NG MVPN over an mLDP P2MP tunnel passing through Ps.

Networking Requirements

NG MVPN is deployed on the service provider's backbone network to solve multicast service issues that arise due to traffic congestion, transmission reliability, and data security. On the network shown in Figure 1, BGP/MPLS IP VPN services that are carried by MPLS LDP LSPs have been deployed. The customer requires that MVPN services be provided using the existing network. To meet this requirement, configure intra-AS NG MVPN over an mLDP P2MP tunnel passing through Ps.

Figure 1 Configuring intra-AS NG MVPN over an mLDP P2MP tunnel passing through Ps

Interfaces 1 and 2 in this example represent GE 0/1/1 and GE 0/1/2, respectively.


Configuration Roadmap

The configuration roadmap is as follows:

  1. Configure BGP/MPLS IP VPN and ensure that unicast VPN services are properly transmitted. In this example, CE1 and CE2 can communicate with each other.

  2. Enable mLDP globally on the PEs and P so that the PEs use mLDP to establish a P2MP tunnel.

  3. Establish a BGP MVPN peer relationship between PE1 and PE2 so that they use BGP to exchange A-D and C-multicast routes.

  4. Configure PE1 to use mLDP to establish an I-PMSI tunnel so that an mLDP P2MP tunnel is established.

  5. Configure PIM on the PE interfaces bound to a VPN instance and on the CE interfaces connected to PEs so that VPN multicast routing entries are generated for multicast traffic forwarding.

  6. Configure IGMP on CE2's interface connected to the multicast receiver so that CE2 manages the receiver (multicast group member).

Data Preparation

To complete the configuration, you need the following data:

  • IS-IS process ID (2) on the public network; system IDs of PE1, P, and PE2 (45.0005.0005.0005.00, 45.0005.0005.0006.00, and 45.0005.0005.0007.00, respectively)

  • On PE1 and PE2: VPN instance name (VPNA), VPN target (100:100), RD (100:1) of PE1, and RD (200:1) of PE2

  • MVPN ID (1.1.1.1) of PE1 and MVPN ID (3.3.3.3) of PE2
  • AS number (100) for the BGP peers on the public network; ID (2) of the OSPF process, through which CE1 interworks with PE1, and CE2 interworks with PE2

Procedure

  1. Configure BGP/MPLS IP VPN.
    1. Assign an IP address to each interface according to Figure 1. For configuration details, see Configuration Files in this section.
    2. Configure an IGP to interconnect devices on the BGP/MPLS IP VPN backbone network. IS-IS is used as the IGP in this example. For configuration details, see Configuration Files in this section.
    3. Configure basic MPLS functions and enable MPLS LDP to establish LDP LSPs on the MPLS backbone network.

      • # Configure PE1.

        [~PE1] mpls lsr-id 1.1.1.1
        [*PE1] mpls
        [*PE1-mpls] quit
        [*PE1] mpls ldp
        [*PE1-mpls-ldp] quit
        [*PE1] interface gigabitethernet0/1/2
        [*PE1-GigabitEthernet0/1/2] mpls
        [*PE1-GigabitEthernet0/1/2] mpls ldp
        [*PE1-GigabitEthernet0/1/2] quit
        [*PE1] commit
      • # Configure PE2.

        [~PE2] mpls lsr-id 3.3.3.3
        [*PE2] mpls
        [*PE2-mpls] quit
        [*PE2] mpls ldp
        [*PE2-mpls-ldp] quit
        [*PE2] interface gigabitethernet0/1/2
        [*PE2-GigabitEthernet0/1/2] mpls
        [*PE2-GigabitEthernet0/1/2] mpls ldp
        [*PE2-GigabitEthernet0/1/2] quit
        [*PE2] commit
      • # Configure the P.

        [~P] mpls lsr-id 2.2.2.2
        [*P] mpls
        [*P-mpls] quit
        [*P] mpls ldp
        [*P-mpls-ldp] quit
        [*P] interface gigabitethernet0/1/1
        [*P-GigabitEthernet0/1/1] mpls
        [*P-GigabitEthernet0/1/1] mpls ldp
        [*P-GigabitEthernet0/1/1] quit
        [*P] interface gigabitethernet0/1/2
        [*P-GigabitEthernet0/1/2] mpls
        [*P-GigabitEthernet0/1/2] mpls ldp
        [*P-GigabitEthernet0/1/2] quit
        [*P] commit

    4. Establish a Multiprotocol Internal Border Gateway Protocol (MP-IBGP) peer relationship between PE1 and PE2.

      • # Configure PE1.

        [~PE1] bgp 100
        [*PE1-bgp] peer 3.3.3.3 as-number 100
        [*PE1-bgp] peer 3.3.3.3 connect-interface LoopBack1
        [*PE1-bgp] ipv4-family vpnv4
        [*PE1-bgp-af-vpnv4] peer 3.3.3.3 enable
        [*PE1-bgp-af-vpnv4] quit
        [*PE1-bgp] quit
        [*PE1] commit
      • # Configure PE2.

        [~PE2] bgp 100
        [*PE2-bgp] peer 1.1.1.1 as-number 100
        [*PE2-bgp] peer 1.1.1.1 connect-interface LoopBack1
        [*PE2-bgp] ipv4-family vpnv4
        [*PE2-bgp-af-vpnv4] peer 1.1.1.1 enable
        [*PE2-bgp-af-vpnv4] quit
        [*PE2-bgp] quit
        [*PE2] commit

    5. Configure a VPN instance on each PE so that each CE can access the corresponding PE.

      • # Configure PE1.

        [~PE1] ip vpn-instance VPNA
        [*PE1-vpn-instance-VPNA] ipv4-family
        [*PE1-vpn-instance-VPNA-af-ipv4] route-distinguisher 100:1
        [*PE1-vpn-instance-VPNA-af-ipv4] vpn-target 100:100
        [*PE1-vpn-instance-VPNA-af-ipv4] quit
        [*PE1-vpn-instance-VPNA] quit
        [*PE1] interface gigabitethernet0/1/1
        [*PE1-GigabitEthernet0/1/1] ip binding vpn-instance VPNA
        [*PE1-GigabitEthernet0/1/1] ip address 192.168.1.2 24
        [*PE1-GigabitEthernet0/1/1] quit
        [*PE1] commit
      • # Configure PE2.

        [~PE2] ip vpn-instance VPNA
        [*PE2-vpn-instance-VPNA] ipv4-family
        [*PE2-vpn-instance-VPNA-af-ipv4] route-distinguisher 200:1
        [*PE2-vpn-instance-VPNA-af-ipv4] vpn-target 100:100
        [*PE2-vpn-instance-VPNA-af-ipv4] quit
        [*PE2-vpn-instance-VPNA] quit
        [*PE2] interface gigabitethernet0/1/1
        [*PE2-GigabitEthernet0/1/1] ip binding vpn-instance VPNA
        [*PE2-GigabitEthernet0/1/1] ip address 192.168.2.1 24
        [*PE2-GigabitEthernet0/1/1] quit
        [*PE2] commit

    6. Configure OSPF multi-instance on each PE to import VPN routes.

      • # Configure PE1.
        [~PE1] ospf 2 vpn-instance VPNA
        [*PE1-ospf-2] import-route bgp
        [*PE1-ospf-2] area 0.0.0.0
        [*PE1-ospf-2-area-0.0.0.0] network 192.168.1.0 0.0.0.255
        [*PE1-ospf-2-area-0.0.0.0] quit
        [*PE1-ospf-2] quit
        [*PE1] bgp 100
        [*PE1-bgp] ipv4-family vpn-instance VPNA
        [*PE1-bgp-VPNA] import-route ospf 2
        [*PE1-bgp-VPNA] quit
        [*PE1-bgp] quit
        [*PE1] commit

      Repeat this step for PE2. For configuration details, see Configuration Files in this section.

    7. Configure OSPF on each CE.

      • # Configure CE1.
        [~CE1] ospf 2
        [*CE1-ospf-2] area 0.0.0.0
        [*CE1-ospf-2] network 172.16.1.0 0.0.0.255
        [*CE1-ospf-2] network 192.168.1.0 0.0.0.255
        [*CE1-ospf-2] quit
        [*CE1] commit

      Repeat this step for CE2. For configuration details, see Configuration Files in this section.

  2. Enable mLDP globally.

    • # Configure PE1.

      [~PE1] mpls ldp
      [*PE1-mpls-ldp] mldp p2mp
      [*PE1-mpls-ldp] quit
      [*PE1-mpls-ldp] commit
    • # Configure PE2.

      [~PE2] mpls ldp
      [*PE2-mpls-ldp] mldp p2mp
      [*PE2-mpls-ldp] quit
      [*PE2-mpls-ldp] commit
    • # Configure the P.

      [~P] mpls ldp
      [*P-mpls-ldp] mldp p2mp
      [*P-mpls-ldp] quit
      [*P-mpls-ldp] commit

  3. Establish a BGP MVPN peer relationship between the PEs.

    • # Configure PE1.

      [~PE1] bgp 100
      [*PE1-bgp] ipv4-family mvpn
      [*PE1-bgp-af-mvpn] peer 3.3.3.3 enable
      [*PE1-bgp-af-mvpn] quit
      [*PE1-bgp] quit
      [*PE1] commit
    • # Configure PE2.

      [~PE2] bgp 100
      [*PE2-bgp] ipv4-family mvpn
      [*PE2-bgp-af-mvpn] peer 1.1.1.1 enable
      [*PE2-bgp-af-mvpn] quit
      [*PE2-bgp] quit
      [*PE2] commit

  4. Configure each PE to use mLDP to establish an I-PMSI tunnel.

    • # Configure PE1.

      [~PE1] multicast mvpn 1.1.1.1
      [*PE1] ip vpn-instance VPNA
      [*PE1-vpn-instance-VPNA] ipv4-family
      [*PE1-vpn-instance-VPNA-af-ipv4] multicast routing-enable
      [*PE1-vpn-instance-VPNA-af-ipv4] mvpn
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn] sender-enable
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn] c-multicast signaling bgp
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn] rpt-spt mode
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn] ipmsi-tunnel
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn-ipmsi] mldp
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn-spmsi] quit
      [*PE1-vpn-instance-VPNA-af-ipv4-mvpn] quit
      [*PE1-vpn-instance-VPNA-af-ipv4] quit
      [*PE1-vpn-instance-VPNA] quit
      [*PE1] commit
    • # Configure PE2.

      [~PE2] multicast mvpn 3.3.3.3
      [*PE2] ip vpn-instance VPNA
      [*PE2-vpn-instance-VPNA] ipv4-family
      [*PE2-vpn-instance-VPNA-af-ipv4] multicast routing-enable
      [*PE2-vpn-instance-VPNA-af-ipv4] mvpn
      [*PE2-vpn-instance-VPNA-af-ipv4-mvpn] c-multicast signaling bgp
      [*PE2-vpn-instance-VPNA-af-ipv4-mvpn] quit
      [*PE2-vpn-instance-VPNA-af-ipv4] quit
      [*PE2-vpn-instance-VPNA] quit
      [*PE2] commit

    After the configurations are complete, run the display mvpn vpn-instance ipmsi command on the PEs to check I-PMSI tunnel information.

    [~PE1] display mvpn vpn-instance VPNA ipmsi
    MVPN local i-PMSI information for VPN-Instance: VPNA
    Tunnel type: mLDP P2MP LSP
    Tunnel state: Up 
    Root-ip: 1.1.1.1
    Opaque value: 0x01000400008021
    Root: 1.1.1.1 (local)
    Leaf:
      1: 3.3.3.3

    The command output shows that an mLDP P2MP tunnel has been established, with PE1 as the root and PE2 as a leaf.

  5. Configure PIM.

    • # Configure PE1.

      [~PE1] interface gigabitethernet0/1/1
      [~PE1-GigabitEthernet0/1/1] pim sm
      [*PE1-GigabitEthernet0/1/1] quit
      [*PE1] commit
    • # Configure CE1.

      [~CE1] multicast routing-enable
      [*CE1] interface gigabitethernet0/1/1
      [*CE1-GigabitEthernet0/1/1] pim sm
      [*CE1-GigabitEthernet0/1/1] quit
      [*CE1] interface gigabitethernet0/1/2
      [*CE1-GigabitEthernet0/1/2] pim sm
      [*CE1-GigabitEthernet0/1/2] quit
      [*CE1] commit
    • # Configure PE2.

      [~PE2] interface gigabitethernet0/1/1
      [~PE2-GigabitEthernet0/1/1] pim sm
      [*PE2-GigabitEthernet0/1/1] quit
      [*PE2] commit
    • # Configure CE2.

      [~CE2] multicast routing-enable
      [*CE2] interface gigabitethernet0/1/1
      [*CE2-GigabitEthernet0/1/1] pim sm
      [*CE2-GigabitEthernet0/1/1] quit
      [*CE2] interface gigabitethernet0/1/2
      [*CE2-GigabitEthernet0/1/2] pim sm
      [*CE2-GigabitEthernet0/1/2] quit
      [*CE2] commit

  6. Configure IGMP.

    • # Configure CE2.

      [~CE2] interface gigabitethernet0/1/1
      [*CE2-GigabitEthernet0/1/1] pim sm
      [*CE2-GigabitEthernet0/1/1] igmp enable
      [*CE2-GigabitEthernet0/1/1] quit
      [*CE2] commit

  7. Verify the configuration.

    After the configurations are complete, NG MVPN functions have been configured. If CE2 has access users, CE1 can use the BGP/MPLS IP VPN to forward multicast data to the users. Run the display pim routing-table command on CE2 and CE1 to check the PIM routing tables. Run the display pim vpn-instance routing-table command on PE2 and PE1 to check the PIM routing tables of the VPN instance.

    [~CE2] display pim routing-table
     VPN-Instance: public net
     Total 0 (*, G) entry; 1 (S, G) entry
     (172.16.1.2, 239.1.1.1)
         RP:NULL
         Protocol: pim-sm, Flag: SPT SG_RCVR ACT
         UpTime: 00:54:11
         Upstream interface: GigabitEthernet0/1/2, Refresh time: 00:54:11
             Upstream neighbor: 192.168.2.1
             RPF prime neighbor: 192.168.2.1
         Downstream interface(s) information:
         Total number of downstreams: 1
            1: GigabitEthernet0/1/1
                 Protocol: igmp, UpTime: 00:54:11, Expires: -
    [~PE2] display pim vpn-instance VPNA routing-table
     VPN-Instance: VPNA
     Total 0 (*, G) entry; 1 (S, G) entry
     (172.16.1.2, 239.1.1.1)
         RP:NULL
         Protocol: pim-sm, Flag: SPT ACT
         UpTime: 00:48:18
         Upstream interface: through-BGP, Refresh time: 00:48:18
             Upstream neighbor: 1.1.1.1
             RPF prime neighbor: 1.1.1.1
         Downstream interface(s) information:
         Total number of downstreams: 1
            1: GigabitEthernet0/1/1
                 Protocol: pim-sm, UpTime: 00:48:18, Expires: 00:03:12     

    The command outputs show that CE1 has received PIM Join messages from CE2 and that a PIM routing entry is generated.

Configuration Files

  • CE1

    #
    sysname CE1
    #
    multicast routing-enable
    #
    interface GigabitEthernet0/1/1
     undo shutdown
     ip address 172.16.1.1 255.255.255.0
     pim sm
    #
    interface GigabitEthernet0/1/2 
     undo shutdown
     ip address 192.168.1.2 255.255.255.0
     pim sm
    #
    ospf 2
     area 0.0.0.0
      network 172.16.1.0 0.0.0.255
      network 192.168.1.0 0.0.0.255
    #
    return
  • PE1

    #
    sysname PE1
    # 
    multicast mvpn 1.1.1.1
    # 
    ip vpn-instance VPNA
     ipv4-family 
      route-distinguisher 100:100  
      vpn-target 100:100 export-extcommunity
      vpn-target 100:100 import-extcommunity
      multicast routing-enable   
      mvpn     
       sender-enable    
       c-multicast signaling bgp 
       ipmsi-tunnel     
        mldp  
    # 
    mpls lsr-id 1.1.1.1 
    # 
    mpls
    # 
    mpls ldp   
     mldp p2mp 
     #
    ipv4-family   
    # 
    isis 2     
     network-entity 45.0005.0005.0005.00
    #
    interface GigabitEthernet0/1/1      
     undo shutdown      
     ip binding vpn-instance VPNA
     ip address 192.168.1.2 255.255.255.0 
     pim sm    
    #  
    interface GigabitEthernet0/1/2      
     undo shutdown      
     ip address 10.1.1.1 255.255.255.0    
     isis enable 2      
     mpls      
     mpls ldp 
    #
     interface LoopBack1 
     ip address 1.1.1.1 255.255.255.255   
     isis enable 2
    # 
    bgp 100      
     peer 3.3.3.3 as-number 100  
     peer 3.3.3.3 connect-interface LoopBack1 
    #
     ipv4-family unicast
      undo synchronization   
      peer 3.3.3.3 enable 
    #
     ipv4-family mvpn   
      policy vpn-target 
      peer 3.3.3.3 enable 
    # 
      ipv4-family vpnv4  
      policy vpn-target 
      peer 3.3.3.3 enable 
    #
     ipv4-family vpn-instance VPNA 
      import-route ospf 2    
     # 
    ospf 2 vpn-instance VPNA     
     import-route bgp   
     area 0.0.0.0
      network 192.168.1.0 0.0.0.255
    #  
    return 
  • CE2

    #
    sysname CE2
    #
    multicast routing-enable
    #
    interface GigabitEthernet0/1/1
     undo shutdown
     ip address 172.16.2.1 255.255.255.0
     pim sm
     igmp enable
    #
    interface GigabitEthernet0/1/2
     undo shutdown
     ip address 192.168.2.2 255.255.255.0
     pim sm
    #
    ospf 2
     area 0.0.0.0
      network 172.16.2.0 0.0.0.255
      network 192.168.2.0 0.0.0.255
    #
    return
  • PE2

    # 
    sysname PE2 
    # 
    multicast mvpn 3.3.3.3
    # 
    ip vpn-instance VPNA  
     ipv4-family
      route-distinguisher 200:1 
      vpn-target 100:100 export-extcommunity 
      vpn-target 100:100 import-extcommunity 
      multicast routing-enable  
      mvpn
       c-multicast signaling bgp
    # 
    mpls lsr-id 3.3.3.3
    # 
    mpls  
    #
    mpls ldp 
     mldp p2mp
     #
     ipv4-family
    #     
    isis 2
     network-entity 45.0005.0005.0007.00 
    #
    interface GigabitEthernet0/1/1  
     undo shutdown 
     ip binding vpn-instance VPNA
     ip address 192.168.2.1 255.255.255.0 
     pim sm  
     igmp enable
    # 
    interface GigabitEthernet0/1/2  
     undo shutdown 
     ip address 10.2.1.2 255.255.255.0
     isis enable 2 
     mpls 
     mpls ldp 
    # 
    interface LoopBack1
     ip address 3.3.3.3 255.255.255.255
     isis enable 2
    # 
    bgp 100  
     peer 1.1.1.1 as-number 100 
     peer 1.1.1.1 connect-interface LoopBack1
     #
     ipv4-family unicast  
      undo synchronization 
      peer 1.1.1.1 enable 
     #
     ipv4-family mvpn  
      policy vpn-target
      peer 1.1.1.1 enable 
     #
     ipv4-family vpnv4 
      policy vpn-target
      peer 1.1.1.1 enable 
     #
     ipv4-family vpn-instance VPNA  
      import-route ospf 2
    # 
    ospf 10  
      area 0.0.0.0  
      network 3.3.3.3 0.0.0.0
      network 10.2.1.0 0.0.0.255
    #
    ospf 2 vpn-instance VPNA     
     import-route bgp   
     area 0.0.0.0
      network 192.168.2.0 0.0.0.255
    #  
    return
  • P

    #
    sysname P          
    #
    mpls lsr-id 2.2.2.2 
    #     
    mpls  
    #     
    mpls ldp     
     mldp p2mp   
     #    
     ipv4-family    
    #     
    isis 2
     network-entity 45.0005.0005.0006.00     
    #     
    interface GigabitEthernet0/1/1    
     undo shutdown      
     ip address 10.1.1.2 255.255.255.0
     isis enable 2      
     mpls 
     mpls ldp     
    #        
    interface GigabitEthernet0/1/2    
     undo shutdown      
     ip address 10.2.1.1 255.255.255.0
     isis enable 2 
     mpls 
     mpls ldp        
    #        
    return 
Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >