- Implementing IPv6 Addressing and Basic Connectivity
- Implementing ADSL and Deploying Dial Access for IPv6
- Implementing Bidirectional Forwarding Detection for IPv6
- Implementing Multiprotocol BGP for IPv6
- Implementing DHCP for IPv6
- Implementing Dynamic Multipoint VPN for IPv6
- Implementing EIGRP for IPv6
- Configuring First Hop Redundancy Protocols in IPv6
- Implementing First Hop Security in IPv6
- Implementing IPsec in IPv6 Security
- Implementing IS-IS for IPv6
- Implementing IPv6 for Network Management
- Implementing Mobile IPv6
- Implementing IPv6 Multicast
- Implementing NAT-PT for IPv6
- Netflow v9 for IPv6
- Implementing NTPv4 in IPv6
- Implementing OSPFv3
- Implementing IPv6 over MPLS
- Implementing IPv6 VPN over MPLS
- Implementing Policy-Based Routing for IPv6
- Implementing QoS for IPv6
- Implementing RIP for IPv6
- Implementing Traffic Filters and Firewalls for IPv6 Security
- Implementing Static Routes for IPv6
- Implementing Tunneling for IPv6
- Finding Feature Information
- Prerequisites for Implementing IPv6 over MPLS
- Information About Implementing IPv6 over MPLS
Implementing IPv6 over MPLS
Multiprotocol Label Switching (MPLS) is deployed by many service providers in their IPv4 networks. Service providers want to introduce IPv6 services to their customers, but changes to their existing IPv4 infrastructure can be expensive and the cost benefit for a small amount of IPv6 traffic does not make economic sense. Several integration scenarios have been developed to leverage an existing IPv4 MPLS infrastructure and add IPv6 services without requiring any changes to the network backbone. This document describes how to implement IPv6 over MPLS.
Finding Feature Information
Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Prerequisites for Implementing IPv6 over MPLS
- This module assumes that you are familiar with IPv4. Refer to the publications referenced in the Prerequisites for Implementing IPv6 over MPLS section for IPv4 configuration and command reference information.
- Before the IPv6 Provider Edge Router over MPLS (6PE) feature can be implemented, MPLS must be running over the core IPv4 network. If Cisco routers are used, Cisco Express Forwarding or distributed Cisco Express Forwarding must be enabled for both IPv4 and IPv6 protocols. This module assumes that you are familiar with MPLS.
Information About Implementing IPv6 over MPLS
- Benefits of Deploying IPv6 over MPLS Backbones
- IPv6 over a Circuit Transport over MPLS
- IPv6 Using Tunnels on the Customer Edge Routers
- IPv6 on the Provider Edge Routers
Benefits of Deploying IPv6 over MPLS Backbones
IPv6 over MPLS backbones enables isolated IPv6 domains to communicate with each other over an MPLS IPv4 core network. This implementation requires only a few backbone infrastructure upgrades and no reconfiguration of core routers because forwarding is based on labels rather than the IP header itself, providing a very cost-effective strategy for the deployment of IPv6.
Additionally, the inherent Virtual Private Network (VPN) and MPLS traffic engineering (MPLS-TE) services available within an MPLS environment allow IPv6 networks to be combined into IPv4 VPNs or extranets over an infrastructure supporting IPv4 VPNs and MPLS-TE.
IPv6 over a Circuit Transport over MPLS
Using any circuit transport for deploying IPv6 over MPLS networks has no impact on the operation or infrastructure of MPLS, and requires no configuration changes to the core or provider edge routers. Communication between the remote IPv6 domains runs native IPv6 protocols over a dedicated link, where the underlying mechanisms are fully transparent to IPv6. The IPv6 traffic is tunneled using the Any Transport over MPLS (MPLS/AToM) or Ethernet over MPLS (EoMPLS) feature with the routers connected through an ATM OC-3 or Ethernet interface, respectively.
The figure below shows the configuration for IPv6 over any circuit transport over MPLS.
Figure 1 | IPv6 over a Circuit Transport over MPLS |
IPv6 Using Tunnels on the Customer Edge Routers
Using tunnels on the customer edge (CE) routers is the simplest way of deploying IPv6 over MPLS networks with no impact on the operation or infrastructure of MPLS, and no configuration changes to the core or provider edge routers. Communication between the remote IPv6 domains uses standard tunneling mechanisms and requires the CE routers to be configured to run dual IPv4 and IPv6 protocol stacks. The figure below shows the configuration using tunnels on the CE routers.
Figure 2 | IPv6 Using Tunnels on the CE Routers |
Refer to Implementing Tunneling for IPv6 for configuration information on manually configured tunnels, automatic tunnels, and 6to4 tunnels.
Limitations on using tunnels involve the manual configuring of a mesh of tunnels on the CE routers, creating scaling issues for large networks.
IPv6 on the Provider Edge Routers
The Cisco implementation of IPv6 provider edge router over MPLS is called 6PE, and it enables IPv6 sites to communicate with each other over an MPLS IPv4 core network using MPLS label switched paths (LSPs). This feature relies on multiprotocol Border Gateway Protocol (BGP) extensions in the IPv4 network configuration on the provider edge (PE) router to exchange IPv6 reachability information in addition to an MPLS label for each IPv6 address prefix to be advertised. Edge routers are configured to be dual stack running both IPv4 and IPv6, and use the IPv4 mapped IPv6 address for IPv6 prefix reachability exchange.
A hierarchy of labels is imposed on the 6PE ingress router to keep the IPv6 traffic transparent to all the core routers. The top label provides connectivity inside the IPv4 MPLS core network and the label is distributed by Label Distribution Protocol (LDP), Tag Distribution Protocol (TDP), or Resource Reservation Protocol (RSVP). TDP and LDP can both be used for label distribution, but RSVP is used only in the context of MPLS-TE label exchange. The bottom label, automatically assigned to the IPv6 prefix of the destination, is distributed by multiprotocol BGP and used at each 6PE egress router for IPv6 forwarding.
In the figure below the 6PE routers are configured as dual stack routers able to route both IPv4 and IPv6 traffic. Each 6PE router is configured to run LDP, TDP, or RSVP (if traffic engineering is configured) to bind the IPv4 labels. The 6PE routers use multiprotocol BGP to exchange reachability information with the other 6PE devices within the MPLS domain, and to distribute aggregate IPv6 labels between them. All 6PE and core routers--P routers in Figure 3--within the MPLS domain share a common IPv4 Interior Gateway Protocol (IGP) such as Open Shortest Path First (OSPF) or Integrated Intermediate System-to-Intermediate System (IS-IS).
Figure 3 | 6PE Router Topology |
The interfaces on the 6PE routers connecting to the CE router can be configured to forward IPv6 traffic, IPv4 traffic, or both types of traffic depending on the customer requirements. 6PE routers advertise IPv6 reachability information learned from their 6PE peers over the MPLS cloud. Service providers can delegate an IPv6 prefix from their registered IPv6 prefixes over the 6PE infrastructure; otherwise, there is no impact on the CE router.
The P routers in the core of the network are not aware that they are switching IPv6 packets. Core routers are configured to support MPLS and the same IPv4 IGP as the PE routers to establish internal reachability inside the MPLS cloud. Core routers also use LDP, TDP, or RSVP for binding IPv4 labels. Implementing the Cisco 6PE feature does not have any impact on the MPLS core devices.
Within the MPLS network, IPv6 traffic is forwarded using label switching, making the IPv6 traffic transparent to the core of the MPLS network. No IPv6 over IPv4 tunnels or Layer 2 encapsulation methods are required.
6PE Multipath
Internal and external BGP multipath for IPv6 allows the IPv6 device to load balance between several paths (for example, the same neighboring autonomous system or subautonomous system, or the same metric) to reach its destination. The 6PE multipath feature uses MP-iBGP to distribute IPv6 routes over the MPLS IPv4 core network and to attach an MPLS label to each route.
When MP-iBGP multipath is enabled on the 6PE device, all labeled paths are installed in the forwarding table with MPLS information (label stack) when MPLS information is available. This functionality enables 6PE to perform load balancing.
How to Implement IPv6 over MPLS
- Deploying IPv6 over a Circuit Transport over MPLS
- Deploying IPv6 on the Provider Edge Routers (6PE)
- Verifying 6PE Configuration and Operation
Deploying IPv6 over a Circuit Transport over MPLS
To deploy IPv6 over a circuit transport over MPLS, the IPv6 routers must be configured for IPv6 connectivity. The MPLS router configuration requires AToM configuration or EoMPLS configuration.
Deploying IPv6 on the Provider Edge Routers (6PE)
- Specifying the Source Address Interface on a 6PE Router
- Binding and Advertising the 6PE Label to Advertise Prefixes
- Configuring iBGP Multipath Load Sharing
Specifying the Source Address Interface on a 6PE Router
Two configuration tasks using the network shown in the figure below are required at the 6PE1 router to enable the 6PE feature.
The customer edge router--CE1 in the figure below--is configured to forward its IPv6 traffic to the 6PE1 router. The P1 router in the core of the network is assumed to be running MPLS, a label distribution protocol, an IPv4 IGP, and Cisco Express Forwarding or distributed Cisco Express Forwarding, and does not require any new configuration to enable the 6PE feature.
Figure 4 | 6PE Configuration Example |
- The 6PE routers--the 6PE1 and 6PE2 routers in the figure below--must be members of the core IPv4 network. The 6PE router interfaces attached to the core network must be running MPLS, the same label distribution protocol, and the same IPv4 IGP, as in the core network.
- The 6PE routers must also be configured to be dual stack to run both IPv4 and IPv6.
DETAILED STEPS
Binding and Advertising the 6PE Label to Advertise Prefixes
Perform this task to enable the binding and advertising of aggregate labels when advertising IPv6 prefixes to a specified BGP neighbor.
DETAILED STEPS
Configuring iBGP Multipath Load Sharing
Perform this task to configure iBGP multipath load sharing and control the maximum number of parallel iBGP routes that can be installed in a routing table.
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
|
Example: Router> enable |
Enables privileged EXEC mode.
|
|
Example: Router# configure terminal |
Enters global configuration mode. |
|
Example: Router(config)# router bgp 65000 |
Enters router configuration mode for the specified routing process. |
|
Example: Router(config-router)# maximum-paths ibgp 3 |
Controls the maximum number of parallel iBGP routes that can be installed in a routing table. |
Verifying 6PE Configuration and Operation
When 6PE is running, the following components can be monitored:
- Multiprotocol BGP
- MPLS
- Cisco Express Forwarding for IPv6
- IPv6 routing table
DETAILED STEPS
Command or Action | Purpose | |
---|---|---|
|
Example: Router> show bgp ipv6 unicast 2001:DB8:DDDD::/48 |
(Optional) Displays entries in the IPv6 BGP routing table.
|
|
Example: Router> show bgp ipv6 neighbors unicast 192.168.99.70 |
(Optional) Displays information about IPv6 BGP connections to neighbors.
|
|
Example: Router> show mpls forwarding-table |
(Optional) Displays the contents of the MPLS Forwarding Information Base (FIB).
|
|
Example: Router> show ipv6 cef 2001:DB8:DDDD::/64 |
(Optional) Displays FIB entries based on IPv6 address information.
|
|
Example: Router> show ipv6 route |
(Optional) Displays the current contents of the IPv6 routing table. |
Output Examples
Sample Output from the show bgp ipv6 Command
This example shows output information about an IPv6 route using the show bgp ipv6command with an IPv6 prefix:
Router# show bgp ipv6 2001:DB8:DDDD::/48
BGP routing table entry for 2001:DB8:DDDD::/48, version 15
Paths: (1 available, best #1, table Global-IPv6-Table)
Not advertised to any peer
Local
::FFFF:192.168.99.70 (metric 20) from 192.168.99.70 (192.168.99.70)
Origin IGP, localpref 100, valid, internal, best
Sample Output from the show bgp ipv6 neighbors Command
This example shows output information about a BGP peer, including the "IPv6 label" capability, using the show bgp ipv6 neighborscommand with an IP address:
Router# show bgp ipv6 neighbors 192.168.99.70
BGP neighbor is 192.168.99.70, remote AS 65000, internal link
BGP version 4, remote router ID 192.168.99.70
BGP state = Established, up for 00:05:17
Last read 00:00:09, hold time is 0, keepalive interval is 60 seconds
Neighbor capabilities:
Route refresh: advertised and received
Address family IPv6 Unicast: advertised and received
ipv6 MPLS Label capability: advertised and received
Received 54 messages, 0 notifications, 0 in queue
Sent 55 messages, 1 notifications, 0 in queue
Default minimum time between advertisement runs is 5 seconds
For address family: IPv6 Unicast
BGP table version 21880, neighbor version 21880
Index 1, Offset 0, Mask 0x2
Route refresh request: received 0, sent 0
77 accepted prefixes consume 4928 bytes
Prefix advertised 4303, suppressed 0, withdrawn 1328
Number of NLRIs in the update sent: max 1, min 0
Sample Output from the show mpls forwarding-table Command
This example shows output information linking the MPLS label with prefixes using the show mpls forwarding-tablecommand. If the 6PE feature is configured, the labels are aggregated because there are several prefixes for one local label, and the prefix column contains "IPv6" instead of a target prefix.
Router# show mpls forwarding-table
Local Outgoing Prefix Bytes tag Outgoing Next Hop
tag tag or VC or Tunnel Id switched interface
16 Aggregate IPv6 0
17 Aggregate IPv6 0
18 Aggregate IPv6 0
19 Pop tag 192.168.99.64/30 0 Se0/0 point2point
20 Pop tag 192.168.99.70/32 0 Se0/0 point2point
21 Pop tag 192.168.99.200/32 0 Se0/0 point2point
22 Aggregate IPv6 5424
23 Aggregate IPv6 3576
24 Aggregate IPv6 2600
Sample Output from the show bgp ipv6 Command
This example shows output information about the top of the stack label with label switching information using the show bgp ipv6command with the labels keyword:
Router# show bgp ipv6 labels
Network Next Hop In tag/Out tag
2001:DB8:DDDD::/64 ::FFFF:192.168.99.70 notag/20
Sample Output from the show ipv6 cef Command
This example shows output information about labels from the Cisco Express Forwarding table using the show ipv6 cefcommand with an IPv6 prefix:
Router# show ipv6 cef 2001:DB8:DDDD::/64
2001:DB8:DDDD::/64
nexthop ::FFFF:192.168.99.70
fast tag rewrite with Se0/0, point2point, tags imposed {19 20}
Sample Output from the show ipv6 route Command
This example shows output information from the IPv6 routing table using the show ipv6 routecommand. The output shows the IPv6 MPLS virtual interface as the output interface of IPv6 routes forwarded across the MPLS cloud. In this example using the routers in the figure above, the output is from the 6PE1 router.
The 6PE2 router has advertised the IPv6 prefix of 2001:DB8:dddd::/48 configured for the CE2 router and the next-hop address is the IPv4-compatible IPv6 address ::ffff:192.168.99.70, where 192.168.99.70 is the IPv4 address of the 6PE2 router.
Router# show ipv6 route
IPv6 Routing Table - 10 entries
Codes: C - Connected, L - Local, S - Static, R - RIP, B - BGP
I1 - ISIS L1, I2 - ISIS L2, IA - ISIS interarea
B 2001:DB8:DDDD::/64 [200/0]
via ::FFFF:192.168.99.70, IPv6-mpls
B 2001:DB8:DDDD::/64 [200/0]
via ::FFFF:192.168.99.70, IPv6-mpls
L 2001:DB8:FFFF::1/128 [0/0]
via ::, Ethernet0/0
C 2001:DB8:FFFF::/64 [0/0]
via ::, Ethernet0/0
S 2001:DB8:FFFF::/48 [1/0]
via 2001:DB8:B00:FFFF::2, Ethernet0/0
Configuration Examples for IPv6 over MPLS
The following examples show 6PE configuration examples for three of the routers shown in the figure above and used in the Specifying the Source Address Interface on a 6PE Router and Binding and Advertising the 6PE Label to Advertise Prefixes sections.
Example: Customer Edge Router
This example shows that the serial interface 0/0 of the customer edge router--CE1 in the figure above--is connected to the service provider and is assigned an IPv6 address. IPv6 is enabled and a default static route is installed using the IPv6 address of serial interface 0/0 of the 6PE1 router.
ip cef ! ipv6 unicast-routing ! interface Serial 0/0 description to_6PE1_router no ip address ipv6 address 2001:DB8:FFFF::2/64 ! ipv6 route ::/0 Serial 0/0 FE80::210:XXXX:FEE1:1001
Example: Provider Edge Router
The 6PE router--Router 6PE1 in the figure above--is configured for both IPv4 and IPv6 traffic. Ethernet interface 0/0 is configured with an IPv4 address and is connected to a router in the core of the network--router P1 in the figure above. Integrated IS-IS and TDP configurations on this router are similar to the P1 router.
Router 6PE1 exchanges IPv6 routing information with another 6PE router--Router 6PE2 in the figure above-- using internal BGP (iBGP) established over an IPv4 connection so that all the neighbor commands use the IPv4 address of the 6PE2 router. All the BGP peers are within autonomous system 65000, so synchronization with IGP is turned off for IPv4. In IPv6 address family configuration mode, synchronization is disabled by default.
IPv6 and Cisco Express Forwarding for IPv6 are enabled, the 6PE2 neighbor is activated, and aggregate label binding and advertisement is enabled for IPv6 prefixes using the neighbor send-label command. Connected and static IPV6 routes are redistributed using BGP. If IPv6 packets are generated in the local router, the IPv6 address for MPLS processing will be the address of loopback interface 0.
This example shows that the serial interface 0/0 connects to the customer and the IPv6 prefix delegated to the customer is 2001:DB8:ffff::/48, which is determined from the service provider IPv6 prefix. A static route is configured to route IPv6 packets between the 6PE route and the CE router.
ip cef ipv6 cef ipv6 unicast-routing ! mpls ipv6 source-interface Loopback0 tag-switching tdp router-id Loopback0 ! interface Loopback0 ip address 192.168.99.5 255.255.255.255 ipv6 address 2001:DB8:1000:1::1/64 ! interface Ethernet0/0 description to_P_router ip address 192.168.99.1 255.255.255.252 ip router isis tag-switching ip ! interface Serial0/0 description to_CE_router no ip address ipv6 address 2001:DB8:FFFF::1/64 ! router isis passive-interface Loopback0 net 49.0001.1921.6809.9005.00 ! router bgp 65000 no bgp default ipv4-unicast bgp log-neighbor-changes neighbor 192.168.99.70 remote-as 65000 neighbor 192.168.99.70 description to_6PE2 neighbor 192.168.99.70 update-source Loopback0 ! address-family ipv6 neighbor 192.168.99.70 activate neighbor 192.168.99.70 send-label network 2001:DB8:FFFF::/48 exit-address-family ! ipv6 route 2001:DB8:FFFF::/48 Ethernet0/0 2001:DB8:FFFF::2
Example: Core Router
This example shows that the router in the core of the network--Router P in the figure above--is running MPLS, IS-IS, and IPv4 only. The Ethernet interfaces are configured with IPv4 address and are connected to the 6PE routers. IS-IS is the IGP for this network and the P1 and 6PE routers are in the same IS-IS area 49.0001. TDP and tag switching are enabled on both the Ethernet interfaces. Cisco Express Forwarding is enabled in global configuration mode.
ip cef ! tag-switching tdp router-id Loopback0 ! interface Loopback0 ip address 192.168.99.200 255.255.255.255 ! interface Ethernet0/0 description to_6PE1 ip address 192.168.99.2 255.255.255.252 ip router isis tag-switching ip ! interface Ethernet0/1 description to_6PE2 ip address 192.168.99.66 255.255.255.252 ip router isis tag-switching ip router isis passive-interface Loopback0 net 49.0001.1921.6809.9200.00
Where to Go Next
If you want to further customize your MPLS network, refer to the Cisco IOS IP Switching Configuration Guide.
Additional References
Related Documents
Related Topic | Document Title |
---|---|
IPv6 addressing and connectivity |
IPv6 Configuration Guide |
Cisco IOS commands |
|
IPv6 commands |
Cisco IOS IPv6 Command Reference |
Cisco IOS IPv6 features |
Cisco IOS IPv6 Feature Mapping |
Standards and RFCs
Standard/RFC | Title |
---|---|
RFCs for IPv6 |
IPv6 RFCs |
MIBs
MIB |
MIBs Link |
---|---|
CISCO-UNIFIED-FIREWALL-MIB |
To locate and download MIBs for selected platforms, Cisco IOS releases, and feature sets, use Cisco MIB Locator found at the following URL: |
Technical Assistance
Description | Link |
---|---|
The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password. |
Feature Information for Implementing IPv6 over MPLS
The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.
Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Table 1 | Feature Information for Implementing IPv6 over MPLS |
Feature Name |
Releases |
Feature Information |
---|---|---|
IPv6 over a Circuit Transport over MPLS |
12.0(22)S 12.2(14)S 12.2(28)SB 12.2(15)T 12.3 12.3(2)T 12.4 12.4(2)T |
In this feature, communication between the remote IPv6 domains runs native IPv6 protocols over a dedicated link, where the underlying mechanisms are fully transparent to IPv6. |
IPv6 Using tunnels Over the Customer Edge Routers |
12.0(22)S 12.2(14)S 12.2(28)SB 12.2(15)T 12.3 12.3(2)T 12.4 12.4(2)T |
Using tunnels on the CE routers is the simplest way of deploying IPv6 over MPLS networks with no impact on the operation or infrastructure of MPLS. |
IPv6 Switching--Provider Edge Router over MPLS (6PE) |
12.0(22)S 12.2(14)S 12.2(28)SB 12.2(33)SRA 12.2(15)T 12.3 12.3(2)T 12.4 12.4(2)T |
The Cisco implementation of IPv6 provider edge router over MPLS enables IPv6 sites to communicate with each other over an MPLS IPv4 core network using MPLS LSPs. |
6PE Multipath |
12.2(25)S 12.2(28)SB 12.2(33)SRA 12.4(6)T |
The 6PE multipath feature uses multiprotocol internal BGP (MP-iBGP) to distribute IPv6 routes over the MPLS IPv4 core network and to attach an MPLS label to each route. |
Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries. To view a list of Cisco trademarks, go to this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1110R)
Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental.