Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Example: Configuring Interprovider Layer 3 VPN Option C

 

Interprovider Layer 3 VPN Option C provides interprovider multihop EBGP redistribution of labeled VPN-IPv4 routes between source and destination ASs, with EBGP redistribution of labeled IPv4 routes from AS to neighboring AS. Compared to Option A and Option B, Option C is the most scalable solution. To configure an interprovider Layer 3 VPN option C service, you need to configure the AS border routers and the PE routers connected to the end customer’s CE routers using multihop EBGP.

This example provides a step-by-step procedure to configure interprovider layer 3 VPN option C, which is one of the recommended implementations of MPLS VPN when that service is required by a customer that has more than one AS but not all of the customer’s ASs can be serviced by the same service provider (SP). It is organized in the following sections:

Requirements

This example requires the following hardware and software components:

  • Junos OS Release 9.5 or later.

  • Eight Juniper Networks M Series Multiservice Edge Routers, T Series Core Routers, TX Matrix Routers, or MX Series 3D Universal Edge Routers.

Note

This configuration example has been tested using the software release listed and is assumed to work on all later releases.

Configuration Overview and Topology

Interprovider layer 3 VPN option C is a very scalable interprovider VPN solution to the problem of providing VPN services to a customer that has different sites, not all of which can use the same SP.

RFC 4364 section 10, refers to this method as multihop EBGP redistribution of labeled VPN-IPv4 routes between source and destination ASs, with EBGP redistribution of labeled IPv4 routes from AS to neighboring AS.

This solution is similar to the solution described in Implementing Interprovider Layer 3 VPN Option B, except internal IPv4 unicast routes are advertised instead of external VPN-IPv4-unicast routes, using EBGP. Internal routes are internal to leaf SPs (SP1 and SP2 in this example), and external routes are those learned from the end customer requesting VPN services.

In this configuration:

  • After the loopback address of Router PE2 is learned by Router PE1 and the loopback address of Router PE1 is learned by Router PE2, the end PE routers establish an MP-EBGP session for exchanging VPN-IPv4 routes.

  • Since VPN-IPv4 routes are exchanged among end PE routers, any other router on the path from Router PE1 and Router PE2 does not need to keep or install VPN-IPv4 routes in their routing information base (RIB) or forwarding information base (FIB) tables.

  • An MPLS path needs to be established between Router PE1 and Router PE2.

RFC 4364 describes only one solution that uses a BGP labeled-unicast approach. In this approach, the ASBR routers advertise the loopback addresses of the PE routers and associate each prefix with a label according to RFC 3107. Service providers may use RSVP or LDP to establish an LSP between ASBR routers and PE routers in their internal network.

In this network, ASBR2 receives label information associated with the loopback IP address of Router PE1 and advertises another label to Router ASBR1 using MP-EBGP labeled-unicast. Meanwhile, the ASBRs build their own MPLS forwarding table according to the received and advertised routes and labels. Router ASBR1 uses its own IP address as the next-hop information.

Router ASBR2 receives this prefix associated with a label, assigns another label, changes the next-hop address to its own address, and advertises it to Router PE1. Router PE1 now has an update with the label information and next-hop to Router ASBR1. Also, Router PE1 already has a label associated with the IP address of Router ASBR1. If Router PE1 sends an IP packet to Router PE2, it pushes two labels: one for the IP address of Router PE2 (obtained using MP-IBGP labeled-unicast advertisement) and one for the IP address of Router ASBR1 (obtained using LDP or RSVP).

Router ASBR1 then pops the outer label and swaps the inner label with the label learned from a neighbor ASBR for its neighboring PE router. Router ASBR2 performs a similar function and swaps the incoming label (only one) and pushes another label that is associated with the address of Router PE2. Router PE2 pops both labels and passes the remaining IP packet to its own CPU. After the end-to-end connection among the PE routers is created, the PE routers establish an MP-EBGP session to exchange VPN-IPv4 routes.

In this solution, PE routers push three labels onto the IP packet coming from the VPN end user. The inner-most label, obtained using MP-EBGP, determines the correct VPN routing and forwarding (VRF) routing instance at the remote PE. The middle label is associated with the IP address of the remote PE and is obtained from an ASBR using MP-IBGP labeled-unicast. The outer label is associated with the IP addresses of the ASBRs and is obtained using LDP or RSVP.

The physical topology of the network is shown in Figure 1.

Figure 1: Physical Topology of Interprovider Layer 3 VPN Option C
Physical Topology of
Interprovider Layer 3 VPN Option C

Configuration

Note

The procedure presented here is written with the assumption that the reader is already familiar with MPLS MVPN configuration. This example focuses on explaining the unique configuration required for carrier-of-carriers solutions for VPN services to different sites.

To configure interprovider layer 3 VPN option C, perform the following tasks:

Configuring Router CE1

Step-by-Step Procedure

  1. On Router CE1, configure the IP address and protocol family on the Fast Ethernet interface for the link between Router CE1 and Router PE1. Specify the inet address family type.
  2. On Router CE1, configure the IP address and protocol family on the loopback interface. Specify the inet address family type.
  3. On Router CE1, configure an IGP. The IGP can be a static route, RIP, OSPF, ISIS, or EBGP. In this example we configure OSPF. Include the logical interface for the link between Router CE1 and Router PE1 and the logical loopback interface of Router CE1.

Configuring Router PE1

Step-by-Step Procedure

  1. On Router PE1, configure IPv4 addresses on the SONET, Fast Ethernet, and logical loopback interfaces. Specify the inet address family on all of the interfaces. Specify the mpls address family on the SONET interfaces.
  2. On Router PE1, configure the routing instance for VPN2. Specify the vrf instance type and specify the customer-facing Fast Ethernet interface. Configure a route distinguisher to create a unique VPN-IPv4 address prefix. Apply the VRF import and export policies to enable the sending and receiving of route targets. Configure the OSPF protocol within the VRF. Specify the customer-facing Fast Ethernet interface and specify the export policy to export BGP routes into OSPF.
  3. On Router PE1, configure the RSVP and MPLS protocols to support the LSP. Configure the LSP to Router ASBR1 and specify the IP address of the logical loopback interface on Router ASBR1. Configure the OSPF protocol. Specify the core-facing SONET interface and specify the logical loopback interface on Router PE1.
  4. On Router PE1, configure the To_ASBR1 peer BGP group. Specify the group type as internal. Specify the local address as the logical loopback interface on Router PE1. Specify the neighbor address as the logical loopback interface on Router ASBR1. Specify the inet address family. For a PE router to install a route in the VRF, the next hop must resolve to a route stored within the inet.3 table. The labeled-unicast resolve-vpn statements allow labeled routes to be placed in the inet.3 routing table for route resolution, which are then resolved for PE router connections where the remote PE is located across another AS.
  5. On Router PE1, configure multihop EBGP toward PE2. Specify the inet-vpn family.
  6. On Router PE1, configure the BGP local autonomous system number.
  7. On Router PE1, configure a policy to export the BGP routes into OSPF.
  8. On Router PE1, configure a policy to add the VRF route target to the routes being advertised for this VPN.
  9. On Router PE1, configure a policy to import routes from BGP that have the test_comm community attached.
  10. On Router PE1, define the test_comm BGP community with a route target.

Configuring Router P1

Step-by-Step Procedure

  1. On Router P1, configure IP addresses for the SONET and Gigabit Ethernet interfaces. Enable the interfaces to process the inet and mpls address families. Configure the IP address for the lo0.0 loopback interface and enable the interface to process the inet address family.
  2. On Router P1, configure the RSVP and MPLS protocols to support the LSP. Specify the SONET and Gigabit Ethernet interfaces.

    Configure the OSPF protocol. Specify the SONET and Gigabit Ethernet interfaces and specify the logical loopback interface. Enable OSPF to support traffic engineering extensions.

Configuring Router ASBR1

Step-by-Step Procedure

  1. On Router ASBR1, configure IP addresses for the Gigabit Ethernet interfaces. Enable the interfaces to process the inet and mpls addresses families. Configure the IP addresses for the lo0.0 loopback interface and enable the interface to process the inet address family.
  2. On Router ASBR1, configure the RSVP and MPLS protocols to support the LSP. Specify the Gigabit Ethernet interfaces and the logical loopback interface. Include the traffic-engineering bgp-igp-both-ribs statement at the [edit protocols mpls] hierarchy level.

    Configure the OSPF protocol. Specify the SONET and Gigabit Ethernet interfaces and specify the logical loopback interface. Enable OSPF to support traffic engineering extensions.

  3. On Router ASBR1, create the To-PE1 internal BGP peer group. Specify the local IP peer address as the local lo0.0 address. Specify the neighbor IP peer address as the Gigabit Ethernet interface address of Router PE1.
  4. On Router ASBR1, create the To-ASBR2 external BGP peer group. Enable the router to use BGP to advertise network layer reachability information (NLRI) for unicast routes. Specify the neighbor IP peer address as the Gigabit Ethernet interface address on Router ASBR2.
  5. On Router ASBR1, configure the BGP local autonomous system number.
  6. On Router ASBR 1, configure a policy to import routes from BGP that match the 2.2.2.2/32 route.
  7. On Router ASBR 1, define a next-hop self policy and apply it to the IBGP sessions.

Configuring Router ASBR2

Step-by-Step Procedure

  1. On Router ASBR2, configure IP addresses for the Gigabit Ethernet interfaces. Enable the interfaces to process the inet and mpls address families. Configure the IP address for the lo0.0 loopback interface and enable the interface to process the inet address family.
  2. On Router ASBR2, configure the RSVP and MPLS protocols to support the LSP. Specify the Gigabit Ethernet interfaces. Include the traffic-engineering bgp-igp-both-ribs statement at the [edit protocols mpls] hierarchy level.

    Configure the OSPF protocol. Specify the SONET and Gigabit Ethernet interfaces and specify the logical loopback interface. Enable OSPF to support traffic engineering extensions.

  3. On Router ASBR2, create the To-PE2 internal BGP peer group. Specify the local IP peer address as the local lo0.0 address. Specify the neighbor IP peer address as the lo0.0 interface address of Router PE2.
  4. On Router ASBR2, create the To-ASBR1 external BGP peer group. Enable the router to use BGP to advertise NLRI for unicast routes. Specify the neighbor IP peer address as the Gigabit Ethernet interface address on Router ASBR1.
  5. On Router ASBR2 configure the BGP local autonomous system number.
  6. On Router ASBR2, configure a policy to import routes from BGP that match the 7.7.7.7/32 route.
  7. On Router ASBR 2, define a next-hop self policy.

Configuring Router P2

Step-by-Step Procedure

  1. On Router P2, configure IP addresses for the SONET and Gigabit Ethernet interfaces. Enable the interfaces to process the inet and mpls addresses families. Configure the IP addresses for the lo0.0 loopback interface and enable the interface to process the inet address family.
  2. On Router P2, configure the RSVP and MPLS protocols to support the LSP. Specify the SONET and Gigabit Ethernet interfaces.

    Configure the OSPF protocol. Specify the SONET and Gigabit Ethernet interfaces and specify the logical loopback interface. Enable OSPF to support traffic engineering extensions.

Configuring Router PE2

Step-by-Step Procedure

  1. On Router PE2, configure IPv4 addresses on the SONET, Fast Ethernet, and logical loopback interfaces. Specify the inet address family on all of the interfaces. Specify the mpls address family on the SONET interface.
  2. On Router PE2, configure the routing instance for VPN2. Specify the vrf instance type and specify the customer-facing Fast Ethernet interface. Configure a route distinguisher to create a unique VPN-IPv4 address prefix. Apply the VRF import and export policies to enable the sending and receiving of route targets. Configure the BGP peer group within the VRF. Specify AS 20 as the peer AS and specify the IP address of the Fast Ethernet interface on Router CE1 as the neighbor address.
  3. On Router PE2, configure the RSVP and MPLS protocols to support the LSP. Configure the LSP to ASBR2 and specify the IP address of the logical loopback interface on Router ASBR2. Configure the OSPF protocol. Specify the core-facing SONET interface and specify the logical loopback interface on Router PE2.
  4. On Router PE2, configure the To_ASBR2 BGP group. Specify the group type as internal. Specify the local address as the logical loopback interface on Router PE2. Specify the neighbor address as the logical loopback interface on the Router ASBR2.
  5. On Router PE2, configure multihop EBGP towards Router PE1 Specify the inet-vpn address family.
  6. On Router PE2, configure the BGP local autonomous system number.
  7. On Router PE2, configure a policy to add the VRF route target to the routes being advertised for this VPN.
  8. On Router PE2, configure a policy to import routes from BGP that have the test_comm community attached.
  9. On Router PE1, define the test_comm BGP community with a route target.

Configuring Router CE2

Step-by-Step Procedure

  1. On Router CE2, configure the IP address and protocol family on the Fast Ethernet interface for the link between Router CE2 and Router PE2. Specify the inet address family type.
  2. On Router CE2, configure the IP address and protocol family on the loopback interface. Specify the inet address family type.
  3. On Router CE2, define a policy named myroutes that accepts direct routes.
  4. On Router CE2, configure an IGP. The IGP can be a static route, RIP, OSPF, ISIS, or EBGP. In this example, we configure EBGP. Specify the BGP neighbor IP address as the logical loopback interface of Router PE1. Apply the myroutes policy.
  5. On Router CE2, configure the BGP local autonomous system number.

Verifying the VPN Operation

Step-by-Step Procedure

  1. Commit the configuration on each router.Note

    The MPLS labels shown in this example will be different than the labels used in your configuration.

  2. On Router PE1, display the routes for the vpn2CE1 routing instance using the show ospf route command. Verify that the 1.1.1.1 route is learned from OSPF.
    user@PE1> show ospf route instance vpn2CE1
  3. On Router PE1, use the show route advertising-protocol command to verify that Router PE1 advertises the 1.1.1.1 route to Router PE2 using MP-BGP with the VPN MPLS label.
    user@PE1> show route advertising-protocol bgp 7.7.7.7 extensive
  4. On Router ASBR1, use the show route advertising-protocol command to verify that Router ASBR1 advertises the 2.2.2.2 route to Router ASBR2.
    user@ASBR1> show route advertising-protocol bgp 21.21.21.2 extensive
  5. On Router ASBR2, use the show route receive-protocol command to verify that the router receives and accepts the 2.2.2.2 route and places it in the To_ASBR2.inet.0 routing table.
    user@ASBR2> show route receive-protocol bgp 21.21.21.1 extensive
  6. On Router ASBR2, use the show route advertising-protocol command to verify that Router ASBR2 advertises the 2.2.2.2 route to Router PE2 in the To-PE2 routing instance.
    user@ASBR2> show route advertising-protocol bgp 7.7.7.7 extensive
  7. On Router PE2, use the show route receive-protocol command to verify that Router PE2 receives the route and puts it in the inet.0. routing table. Verify that Router PE2 also receives the update from Router PE1 and accepts the route.
    user@PE2> show route receive-protocol bgp 5.5.5.5 extensive
  8. On Router PE2, use the show route receive-protocol command to verify that Router PE2 puts the route in the routing table of the To_CE2 routing instance and advertises the route to Router CE2 using EBGP.
    user@PE2> show route receive-protocol bgp 2.2.2.2 detail
  9. On Router PE2, use the show route advertising-protocol command to verify that Router PE2 advertises the 1.1.1.1 route to Router CE2 through the To_CE2 peer group.
    user@PE2> show route advertising-protocol bgp 24.24.24.2 extensive
  10. On Router CE2, use the show route command to verify that Router CE2 receives the 1.1.1.1 route from Router PE2.
    user@CE2> show route 1.1.1.1
  11. On Router CE2, use the ping command and specify 8.8.8.8 as the source of the ping packets to verify connectivity with Router CE1.
    user@CE2> ping 1.1.1.1 source 8.8.8.8
  12. On Router PE2, use the show route command to verify that the traffic is sent with an inner label of 300016, a middle label of 300192, and a top label of 299776.
    user@PE2> show route 1.1.1.1 detail
  13. On Router ASBR2, use the show route table command to verify that Router ASBR2 receives the traffic after the top label is popped by Router P2. Verify that label 300192 is a swapped with label 300176 and the traffic is sent towards Router ASBR1 using interface ge-0/1/1.0. At this point, the bottom label 300016 is preserved.
    lab@ASBR2# show route table mpls.0 detail
  14. On Router ASBR1, use the show route table command to verify that when Router ASBR1 receives traffic with label 300176, it swaps the label with 299824 to reach Router PE1.
    user@ASBR1> show route table mpls.0 detail
  15. On Router PE1, use the show route table command to verify that Router PE1 receives the traffic after the top label is popped by Router P1. Verify that label 300016 is popped and the traffic is sent towards Router CE1 using interface fe-1/2/3.0.
    user@PE1> show route table mpls.0 detail