Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Example: Configuring MBGP Multicast VPN Extranets

 

This example provides a step-by-step procedure to configure multicast VPN extranets using static rendezvous points. It is organized in the following sections:

Requirements

This example uses the following hardware and software components:

  • Junos OS Release 9.5 or later

  • Six M Series, T Series, TX Series, or MX Series Juniper routers

  • One adaptive services PIC or MultiServices PIC in each of the M Series or T Series routers acting as PE routers

  • One host system capable of sending multicast traffic and supporting the Internet Group Management Protocol (IGMP)

  • Three host systems capable of receiving multicast traffic and supporting IGMP

Overview and Topology

In the network topology shown in Figure 1:

  • Host H1 is the source for group 244.1.1.1 in the green VPN.

  • The multicast traffic originating at source H1 can be received by host H4 connected to router CE2 in the green VPN.

  • The multicast traffic originating at source H1 can be received by host H3 connected to router CE3 in the blue VPN.

  • The multicast traffic originating at source H1 can be received by host H2 directly connected to router PE1 in the red VPN.

  • Any host can be a sender site or receiver site.

Figure 1: MVPN Extranets Topology Diagram
MVPN Extranets
Topology Diagram

Configuration

Note

In any configuration session, it is good practice to verify periodically that the configuration can be committed using the commit check command.

In this example, the router being configured is identified using the following command prompts:

  • CE1 identifies the customer edge 1 (CE1) router

  • PE1 identifies the provider edge 1 (PE1) router

  • CE2 identifies the customer edge 2 (CE2) router

  • PE2 identifies the provider edge 2 (PE2) router

  • CE3 identifies the customer edge 3 (CE3) router

  • PE3 identifies the provider edge 3 (PE3) router

Configuring multicast VPN extranets, involves the following tasks:

Configuring Interfaces

Step-by-Step Procedure

The following example requires you to navigate various levels in the configuration hierarchy. For information about navigating the CLI, see Using the CLI Editor in Configuration Mode in the CLI User Guide.

  1. On each router, configure an IP address on the loopback logical interface 0 (lo0.0).

    Use the show interfaces terse command to verify that the correct IP address is configured on the loopback interface.

  2. On the PE and CE routers, configure the IP address and protocol family on the Fast Ethernet and Gigabit Ethernet interfaces. Specify the inet address family type.

    Use the show interfaces terse command to verify that the correct IP address and address family type are configured on the interfaces.

  3. On the PE and CE routers, configure the SONET interfaces. Specify the inet address family type, and local IP address.

    Use the show configuration interfaces command to verify that the correct IP address and address family type are configured on the interfaces.

  4. On each router, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  5. Use the ping command to verify unicast connectivity between each:
    • CE router and the attached host

    • CE router and the directly attached interface on the PE router

    • PE router and the directly attached interfaces on the other PE routers

Configuring an IGP in the Core

Step-by-Step Procedure

On the PE routers, configure an interior gateway protocol such as OSPF or IS-IS. This example shows how to configure OSPF.

  1. Specify the lo0.0 and SONET core-facing logical interfaces.
  2. On the PE routers, configure a router ID.

    Use the show ospf overview and show configuration protocols ospf commands to verify that the correct interfaces have been configured for the OSPF protocol.

  3. On the PE routers, configure OSPF traffic engineering support. Enabling traffic engineering extensions supports the Constrained Shortest Path First algorithm, which is needed to support Resource Reservation Protocol - Traffic Engineering (RSVP-TE) point-to-multipoint label-switched paths (LSPs). If you are configuring IS-IS, traffic engineering is supported without any additional configuration.

    Use the show ospf overview and show configuration protocols ospf commands to verify that traffic engineering support is enabled for the OSPF protocol.

  4. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  5. On the PE routers, verify that the OSPF neighbors form adjacencies.
    user@PE1> show ospf neighbors

    Verify that the neighbor state with the other two PE routers is Full.

Configuring BGP in the Core

Step-by-Step Procedure

  1. On the PE routers, configure BGP. Configure the BGP local autonomous system number.
  2. Configure the BGP peer groups. Configure the local address as the lo0.0 address on the router. The neighbor addresses are the lo0.0 addresses of the other PE routers.

    The unicast statement enables the router to use BGP to advertise network layer reachability information (NLRI). The signaling statement enables the router to use BGP as the signaling protocol for the VPN.

  3. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  4. On the PE routers, verify that the BGP neighbors form a peer session.
    user@PE1> show bgp group

    Verify that the peer state for the other two PE routers is Established and that the lo0.0 addresses of the other PE routers are shown as peers.

Configuring LDP

Step-by-Step Procedure

  1. On the PE routers, configure LDP to support unicast traffic. Specify the core-facing Fast Ethernet and Gigabit Ethernet interfaces between the PE routers. Also configure LDP specifying the lo0.0 interface. As a best practice, disable LDP on the fxp0 interface.
  2. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  3. On the PE routers, use the show ldp route command to verify the LDP route.
    user@PE1> show ldp route

    Verify that a next-hop interface and next-hop address have been established for each remote destination in the core network. Notice that local destinations do not have next-hop interfaces, and remote destinations outside the core do not have next-hop addresses.

Configuring RSVP

Step-by-Step Procedure

  1. On the PE routers, configure RSVP. Specify the core-facing Fast Ethernet and Gigabit Ethernet interfaces that participate in the LSP. Also specify the lo0.0 interface. As a best practice, disable RSVP on the fxp0 interface.
  2. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete

    Verify these steps using the show configuration protocols rsvp command. You can verify the operation of RSVP only after the LSP is established.

Configuring MPLS

Step-by-Step Procedure

  1. On the PE routers, configure MPLS. Specify the core-facing Fast Ethernet and Gigabit Ethernet interfaces that participate in the LSP. As a best practice, disable MPLS on the fxp0 interface.

    Use the show configuration protocols mpls command to verify that the core-facing Fast Ethernet and Gigabit Ethernet interfaces are configured for MPLS.

  2. On the PE routers, configure the core-facing interfaces associated with the LSP. Specify the mpls address family type.

    Use the show mpls interface command to verify that the core-facing interfaces have the MPLS address family configured.

  3. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete

    You can verify the operation of MPLS after the LSP is established.

Configuring the VRF Routing Instances

Step-by-Step Procedure

  1. On Router PE1 , configure the routing instance for the green and red VPNs. Specify the vrf instance type and specify the customer-facing SONET interfaces.

    Configure a virtual tunnel (VT) interface on all MVPN routing instances on each PE where hosts in different instances need to receive multicast traffic from the same source.

    Use the show configuration routing-instances green and show configuration routing-instances red commands to verify that the virtual tunnel interfaces have been correctly configured.

  2. On Router PE2 , configure the routing instance for the green VPN. Specify the vrf instance type and specify the customer-facing SONET interfaces.

    Use the show configuration routing-instances green command.

  3. On Router PE3, configure the routing instance for the blue VPN. Specify the vrf instance type and specify the customer-facing SONET interfaces.

    Use the show configuration routing-instances blue command to verify that the instance type has been configured correctly and that the correct interfaces have been configured in the routing instance.

  4. On Router PE1, configure a route distinguisher for the green and red routing instances. A route distinguisher allows the router to distinguish between two identical IP prefixes used as VPN routes.Tip

    To help in troubleshooting, this example shows how to configure the route distinguisher to match the router ID. This allows you to associate a route with the router that advertised it.

  5. On Router PE2, configure a route distinguisher for the green routing instance.
  6. On Router PE3, configure a route distinguisher for the blue routing instance.
  7. On the PE routers, configure the VPN routing instance for multicast support.

    Use the show configuration routing-instance command to verify that the route distinguisher is configured correctly and that the MVPN Protocol is enabled in the routing instance.

  8. On the PE routers, configure an IP address on additional loopback logical interfaces. These logical interfaces are used as the loopback addresses for the VPNs.

    Use the show interfaces terse command to verify that the loopback logical interfaces are correctly configured.

  9. On the PE routers, configure virtual tunnel interfaces. These interfaces are used in VRF instances where multicast traffic arriving on a provider tunnel needs to be forwarded to multiple VPNs.

    Use the show interfaces terse command to verify that the virtual tunnel interfaces have the correct address family type configured.

  10. On the PE routers, configure the provider tunnel.

    Use the show configuration routing-instance command to verify that the provider tunnel is configured to use the default LSP template.

    Note

    You cannot commit the configuration for the VRF instance until you configure the VRF target in the next section.

Configuring MVPN Extranet Policy

Step-by-Step Procedure

  1. On the PE routers, define the VPN community name for the route targets for each VPN. The community names are used in the VPN import and export policies.

    Use the show policy-options command to verify that the correct VPN community name and route target are configured.

  2. On the PE routers, configure the VPN import policy. Include the community name of the route targets that you want to accept. Do not include the community name of the route targets that you do not want to accept. For example, omit the community name for routes from the VPN of a multicast sender from which you do not want to receive multicast traffic.

    Use the show policy green-red-blue-import command to verify that the VPN import policy is correctly configured.

  3. On the PE routers, apply the VRF import policy. In this example, the policy is defined in a policy-statement policy, and target communities are defined under the [edit policy-options] hierarchy level.

    Use the show configuration routing-instances command to verify that the correct VRF import policy has been applied.

  4. On the PE routers, configure VRF export targets. The vrf-target statement and export option cause the routes being advertised to be labeled with the target community.

    For Router PE3, the vrf-target statement is included without specifying the export option. If you do not specify the import or export options, default VRF import and export policies are generated that accept imported routes and tag exported routes with the specified target community.

    Note

    You must configure the same route target on each PE router for a given VPN routing instance.

    Use the show configuration routing-instances command to verify that the correct VRF export targets have been configured.

  5. On the PE routers, configure automatic exporting of routes between VRF instances. When you include the auto-export statement, the vrf-import and vrf-export policies are compared across all VRF instances. If there is a common route target community between the instances, the routes are shared. In this example, the auto-export statement must be included under all instances that need to send traffic to and receive traffic from another instance located on the same router.
  6. On the PE routers, configure the load balance policy statement. While load balancing leads to better utilization of the available links, it is not required for MVPN extranets. It is included here as a best practice.

    Use the show policy-options command to verify that the load balance policy statement has been correctly configured.

  7. On the PE routers, apply the load balance policy.
  8. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  9. On the PE routers, use the show rsvp neighbor command to verify that the RSVP neighbors are established.
    user@PE1> show rsvp neighbor

    Verify that the other PE routers are listed as RSVP neighbors.

  10. On the PE routers, display the MPLS LSPs.
    user@PE1> show mpls lsp p2mp

    In this display from Router PE1, notice that there are two ingress LSPs for the green VPN and two for the red VPN configured on this router. Verify that the state of each ingress LSP is up. Also notice that there is one egress LSP for each of the green and blue VPNs. Verify that the state of each egress LSP is up.

    Tip

    The LSP name displayed in the show mpls lsp p2mp command output can be used in the ping mpls rsvp <lsp-name> multipath command.

Configuring CE-PE BGP

Step-by-Step Procedure

  1. On the PE routers, configure the BGP export policy. The BGP export policy is used to allow static routes and routes that originated from directly attached interfaces to be exported to BGP.

    Use the show policy BGP-export command to verify that the BGP export policy is correctly configured.

  2. On the PE routers, configure the CE to PE BGP session. Use the IP address of the SONET interface as the neighbor address. Specify the autonomous system number for the VPN network of the attached CE router.
  3. On the CE routers, configure the BGP local autonomous system number.
  4. On the CE routers, configure the BGP export policy. The BGP export policy is used to allow static routes and routes that originated from directly attached interfaces to be exported to BGP.

    Use the show policy BGP-export command to verify that the BGP export policy is correctly configured.

  5. On the CE routers, configure the CE-to-PE BGP session. Use the IP address of the SONET interface as the neighbor address. Specify the autonomous system number of the core network. Apply the BGP export policy.
  6. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  7. On the PE routers, use the show bgp group pe-ce command to verify that the BGP neighbors form a peer session.
    user@PE1> show bgp group pe-ce

    Verify that the peer state for the CE routers is Established and that the IP address configured on the peer SONET interface is shown as the peer.

Configuring PIM on the PE Routers

Step-by-Step Procedure

  1. On the PE routers, enable an instance of PIM in each VPN. Configure the lo0.1, lo0.2, and customer-facing SONET and Fast Ethernet interfaces. Specify the mode as sparse.
  2. On the PE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  3. On the PE routers, use the show pim interfaces instance green command and substitute the appropriate VRF instance name to verify that the PIM interfaces are up.
    user@PE1> show pim interfaces instance green

    Also notice that the normal mode for the virtual tunnel interface and label-switched interface is SparseDense.

Configuring PIM on the CE Routers

Step-by-Step Procedure

  1. On the CE routers, configure the customer-facing and core-facing interfaces for PIM. Specify the mode as sparse.

    Use the show pim interfaces command to verify that the PIM interfaces have been configured to use sparse mode.

  2. On the CE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  3. On the CE routers, use the show pim interfaces command to verify that the PIM interface status is up.
    user@CE1> show pim interfaces

Configuring the Rendezvous Points

Step-by-Step Procedure

  1. Configure Router PE1 to be the rendezvous point for the red VPN instance of PIM. Specify the local lo0.2 address.
  2. Configure Router PE2 to be the rendezvous point for the green VPN instance of PIM. Specify the lo0.1 address of Router PE2.
  3. Configure Router PE3 to be the rendezvous point for the blue VPN instance of PIM. Specify the local lo0.1.
  4. On the PE1, CE1, and CE2 routers, configure the static rendezvous point for the green VPN instance of PIM. Specify the lo0.1 address of Router PE2.
  5. On Router CE3, configure the static rendezvous point for the blue VPN instance of PIM. Specify the lo0.1 address of Router PE3.
  6. On the CE routers, commit the configuration:
    user@host> commit check
    configuration check succeeds
    user@host> commit
    commit complete
  7. On the PE routers, use the show pim rps instance <instance-name> command and substitute the appropriate VRF instance name to verify that the RPs have been correctly configured.
    user@PE1> show pim rps instance <instance-name>

    Verify that the correct IP address is shown as the RP.

  8. On the CE routers, use the show pim rps command to verify that the RP has been correctly configured.
    user@CE1> show pim rps

    Verify that the correct IP address is shown as the RP.

  9. On Router PE1, use the show route table green.mvpn.0 | find 1 command to verify that the type-1 routes have been received from the PE2 and PE3 routers.
    user@PE1> show route table green.mvpn.0 | find 1
  10. On Router PE1, use the show route table green.mvpn.0 | find 5 command to verify that the type-5 routes have been received from Router PE2.

    A designated router (DR) sends periodic join messages and prune messages toward a group-specific rendezvous point (RP) for each group for which it has active members. When a PIM router learns about a source, it originates a Multicast Source Discovery Protocol (MSDP) source-address message if it is the DR on the upstream interface. If an MBGP MVPN is also configured, the PE device originates a type-5 MVPN route.

    user@PE1> show route table green.mvpn.0 | find 5
  11. On Router PE1, use the show route table green.mvpn.0 | find 7 command to verify that the type-7 routes have been received from Router PE2.
    user@PE1> show route table green.mvpn.0 | find 7
  12. On Router PE1, use the show route advertising-protocol bgp 192.168.2.1 table green.mvpn.0 detail command to verify that the routes advertised by Router PE2 use the PMSI attribute set to RSVP-TE.
    user@PE1> show route advertising-protocol bgp 192.168.2.1 table green.mvpn.0 detail

Testing MVPN Extranets

Step-by-Step Procedure

  1. Start the multicast receiver device connected to Router CE2.
  2. Start the multicast sender device connected to Router CE1.
  3. Verify that the receiver receives the multicast stream.
  4. On Router PE1, display the provider tunnel to multicast group mapping by using the show mvpn c-multicast command.
    user@PE1> show mvpn c-multicast
  5. On Router PE2, use the show route table green.mvpn.0 | find 6 command to verify that the type-6 routes have been created as a result of receiving PIM join messages.
    user@PE2> show route table green.mvpn.0 | find 6
    Note

    The multicast address 239.255.255.250 shown in the preceding step is not related to this example. This address is sent by some host machines.

  6. Start the multicast receiver device connected to Router CE3.
  7. Verify that the receiver is receiving the multicast stream.
  8. On Router PE2, use the show route table green.mvpn.0 | find 6 command to verify that the type-6 routes have been created as a result of receiving PIM join messages from the multicast receiver device connected to Router CE3.
    user@PE2> show route table green.mvpn.0 | find 6
  9. Start the multicast receiver device directly connected to Router PE1.
  10. Verify that the receiver is receiving the multicast stream.
  11. On Router PE1, use the show route table green.mvpn.0 | find 6 command to verify that the type-6 routes have been created as a result of receiving PIM join messages from the directly connected multicast receiver device.
    user@PE1> show route table green.mvpn.0 | find 6
    Note

    The multicast address 255.255.255.250 shown in the step above is not related to this example.

Results

The configuration and verification parts of this example have been completed. The following section is for your reference.

The relevant sample configuration for Router CE1 follows.

Router CE1

The relevant sample configuration for Router PE1 follows.

Router PE1

The relevant sample configuration for Router PE2 follows.

Router PE2

The relevant sample configuration for Router CE2 follows.

Router CE2

The relevant sample configuration for Router PE3 follows.

Router PE3

The relevant sample configuration for Router CE3 follows.

Router CE3