In the continuing series of CCNP notes, I am documenting my Cisco Certified Networking Professional (CCNP) studies and sharing my notes along the way. I am using the Official CCNP Route 642-902 exam guide from Cisco, available for purchase here.
This post covers notes from Chapter 18 regarding IPv4 and IPv6 Coexistence.
- There are three ways to handle migration from IPv4 to IPv6
- Dual IPv4/IPv6 stacks
- Tunneling
- Static Tunneling
- Manually configured point-to-point
- GRE
- Dynamic Tunneling
- IPv4 address of the receiving router is embedded in the IPv6 address, and as such the sending router is automatically able to determine the destination router’s address for the tunnel.
- ISATAP: Uses 7th and 8th quartet to store IPv4 address
- 6to4: Uses 2nd and 3rd quartets to store IPv4 address
- NAT Protocol Translator (NAT-PT)
- Static Point-to-Point IPv6 Tunnels
- Manually Configured Tunnels (MCT)
- To plan
- Find the IPv4 address for the tunnel and ensure that both routers can route to it. If loopback, ensure it’s in the IGP, for example.
- Create the tunnel interface using the interface tunnel number command
- Define the IPv4 tunnel source address: tunnel source {interface-type interface-number|ipv4-address}
- Define the IPv4 tunnel destination: tunnel destination ipv4-address
- Define the tunnel as a manually configured tunnel: tunnel model ipv6ip
- Configure IPv6 address on the tunnel interface: ipv6 address address
- The tunnel does not need an IPv4 address; it will use the source interface
- Globally, enable IPv6 routing: ipv6 unicast-routing
- To verify
- show ipv6 interface brief
- show ipv6 interface tunnel0
- Link local is based on FF80::/96 plus 32-bits from IPv4 source address
- General Routing Encapsulation (GRE)
- To configure, follow same procedure as MCT, but use tunnel mode gre ip instead for tunnel mode.
- The differences between GRE and MCT is:
- GRE uses GRE packets to encapsulate
- GRE MTU = 1476
- MCT MTU = 1480
- Link local is based on IPv6 EUI-64, using lowest numbered interface’s MAC address
- Dynamic Multipoint IPv6 Tunnels
- Use when irregular or infrequent traffic occurs between sites
- The configuration steps can be less, but dynamic tunnels require more planning to follow set rules
- These tunnels do not support IPv6 IGPs, requiring instead the use of static routes of multiprotocol BGP
- 6to4 Tunnels
- First big decision point in design is to use globally unicast addresses or use private range (2002::/16)
- If using private address range, the 2nd and 3rd quartet are the destination router’s (for the tunnel) IPv4 address (in hex)
- To make this work, the sending router must have a multipoint tunnel setup and then configure a static route to send 2002::/16 out to the tunnel. This will trigger the logic on the tunnel to route to the correct place.
- To configure
- Configure loopback address and ensure its routable
- Configure tunnel: interface tunnel number
- Define the IPv4 tunnel source address: tunnel source {interface-type interface-number|ipv4-address}
- DO NOT define a tunnel destination
- Set tunnel mode to tunnel mode ipv6ip 6to4
- Configure IPv6 address on the tunnel interface: ipv6 address address
- The tunnel does not need an IPv4 address; it will use the source interface
- Globally, enable IPv6 routing: ipv6 unicast-routing
- Define a static route for 2002::/16 to trigger tunnel routing
- To use globally unicast addresses, simply setup the tunnels using the 2002::/16 logic and define the IPv4 of the destination router for the tunnel in the 2002::/16 address, making sure to add a static route to the 2002::/16 subnet. This will trigger a recursive lookup for tunnel0 and cause the to4 logic to apply, deriving the IPv4 destination address again from the 2nd and 3rd quartet.
- ISATAP Tunnels
- Much the same of 6to4 tunnels, but use globally unicast addresses.
- Uses modified EUI-64 to determine the address:
- Configure a 64-bit prefix on the tunnel interface, and use the eui-64 parameter, telling the router to derive its own interface ID.
- The router adds 0000:5EFE to the 5th and 6th quartet
- The router finds the tunnel’s source IPv4 address and uses the hex conversion for the 7th and 8th quartet
- To configure
- Configure loopback address and ensure its routable
- Configure tunnel: interface tunnel number
- Define the IPv4 tunnel source address: tunnel source {interface-type interface-number|ipv4-address}
- DO NOT define a tunnel destination
- Set tunnel mode to tunnel mode ipv6ip isatap
- Configure an IPv6 prefix using ipv6 address prefix/length eui-64
- Globally, enable IPv6 routing: ipv6 unicast-routing
- Define a static route for the destination networks with an outgoing interface and next-hop address.
- The destination router’s IPv6 address should have the IPv4 address embedded in the last 2 quartets