Bump-in-the-API (BIA) and Bump-in-the-Stack (BIS) are localized implementations of NAT-PT. They provide support for translation from upper layers that are IPv4-only down through the Open Systems Interconnection (OSI) layers. These implementations intercept either API calls or packets in the stack and translate them on the fly. Only IPv6 packets will travel out on the network. Not all applications will work with BIA or BIS solutions though. For example, file transfer protocol (FTP), which embeds IP addresses in the packet payload, would not work because the outer IP addresses and packets would be translated by BIA or BIS, but the embedded IPv6 addresses would not be translated when going back up the stack.
Summary
In this chapter, you learned the basics of IPv6; the following topics were presented:
The need for IPv6's larger address space as IPv4 addresses are exhausted
IPv6 packet structure, including the use of extension headers
IPv6 address representation, including the three types of addresses: unicast, anycast, and multicast
The EUI-64 format for representing interface identifiers
How IPv6's stateless autoconfiguration feature works
IPv6 support for IP mobility
The routing protocols available for IPv6, including RIPng, OSPFv3, IS-IS for IPv6, EIGRP for IPv6, and MP-BGP4
How to enable IPv6 and how to configure IPv6 interface addresses
The features of and how to configure and verify OSPF for IPv6
The mechanisms available for the transition from IPv4 to IPv6, including dual stack, tunneling, and translation
References
For additional information, refer to the following resources:
The Cisco IOS IPv6 Configuration Guide, Release 12.4, available at http://www.cisco.com/en/US/products/ps6350/products_configuration_guide_book09186a0080435e8c.html
IPv6 Multicast at-a-glance, available at http://www.cisco.com/application/pdf/en/us/guest/tech/tk872/c1482/cdccont_0900aecd80260049.pdf
Configuration Exercise 10-1: Configuring IPv6 Addresses and OSPF for IPv6 Routing
In this Configuration Exercise, you enable IPv6 routing globally, configure IPv6 addresses on your pod routers, and enable IPv6 OSPF routing.
Introduction to the Configuration Exercises - This book uses Configuration Exercises to help you practice configuring routers with the commands and topics presented. If you have access to real hardware, you can try these exercises on your routers. See Appendix B, "Configuration Exercise Equipment Requirements and Backbone Configurations," for a list of recommended equipment and initial configuration commands for the backbone routers. However, even if you do not have access to any routers, you can go through the exercises, and keep a log of your own running configurations, or just read through the solution. Commands used and solutions to the Configuration Exercises are provided within the exercises.
In the Configuration Exercises, the network is assumed to consist of two pods, each with four routers. The pods are interconnected to a backbone. You configure pod 1. No interaction between the two pods is required, but you might see some routes from the other pod in your routing tables in some exercises if you have it configured. In most of the exercises, the backbone has only one router; in some cases, another router is added to the backbone. Each Configuration Exercise assumes that you have completed the previous chapters' Configuration Exercises on your pod.
Throughout this exercise, the pod number is referred to as x, and the router number is referred to as y. Substitute the appropriate numbers as needed.
Objectives
The objectives of this exercise are to enable IPv6 globally and on an interface, and to enable IPv6 OSPF routing.
Visual Objective
Figure 10-26 illustrates the topology used in this exercise. The format for the IPv6 addresses used in this exercise is 2001:0410:000x:z::/64 eui-64, where
x = pod number
z = 1 for the FastEthernet 0/0 interfaces between PxR1 and PxR3
z = 2 for the FastEthernet 0/0 interfaces between PxR2 and PxR4
z = 3 for the Serial 0/0/1 interfaces between PxR1 and PxR2
z = 4 for the Serial 0/0/0 interfaces between PxR3 and PxR4
The IPv4 addresses remain in place.
IPv6 Addressing Configuration Exercise Topology
Command List
In this exercise, you use the commands in Table 10-9, listed in logical order. Refer to this list if you need configuration command assistance during the exercise.
Caution - Although the command syntax is shown in this table, the addresses shown are typically for the PxR1 and PxR3 routers. Be careful when addressing your routers! Refer to the exercise instructions and the appropriate visual objective diagram for addressing details.
Table 10-9 IPv6 Addressing Configuration Exercise Commands
Command | Description |
---|---|
(config)#ipv6 unicast-routing | Enables IPv6 traffic forwarding. |
(config)#ipv6 cef | Enables CEFv6. |
(config-if)# ipv6 address 2001:0410:000x:z::/64 eui-64 | Enables an IPv6 address on an interface (with the format specified earlier in this exercise) and forces the router to complete the addresses' low-order 64-bit by using the interface's link-layer address (MAC address) in EUI-64 format. |
#show ipv6 interface | Displays IPv6 information about an interface. |
(config)#ipv6 router ospf 100 | Enables the OSPFv3 process 100 on the router. |
(config-rtr)#router-id 10.200.200.xy | Defines the OSPF router-id. |
(config-if)#ipv6 ospf 100 area 0 | Identifies the IPv6 prefix assigned to this interface as part of the OSPFv3 network for process-id 100 in area 0. |
#show ipv6 ospf interface | Displays IPv6 OSPF information about an interface. |
#show ipv6 ospf neighbor | Displays IPv6 OSPF neighbor information. |
#show ipv6 route | Displays the IPv6 routing table. |
#show cdp neighbor detail | Displays detailed CDP neighbor information. |
#show ipv6 interface brief | Displays a brief list of IPv6 interface information. |
Task 1: Cleaning Up
In this task, you remove the multicast routing configuration and isolate the pod from the backbone routers.
Follow these steps:
Remove the multicast configuration from all the pod routers using the no ip multicast-routing global configuration command. Remove the multicast configuration from all interfaces it was enabled on using the no ip pim sparse-dense-mode command.
On PxR1, remove the auto-rp configuration with the no ip pim send-rp-announce loopback0 scope 3 command and the no ip pim send-rp-discovery loopback0 scope 3 command.
On the FastEthernet 0/0 interface on PxR4, disable join messages with the no ip igmp join-group 224.x.x.x command, where x is your pod number.
On the edge routers, shut down Serial 0/0/0; IPv6 will not be used to the core.
Solution:
The following shows how to do the required steps on the P1R1 and P1R4 routers:
P1R1(config)#no ip multicast-routing P1R1(config)#int loopback0 P1R1(config-if)#no ip pim sparse-dense-mode P1R1(config-if)#int fa0/0 P1R1(config-if)#no ip pim sparse-dense-mode P1R1(config-if)#int s0/0/0.1 P1R1(config-subif)#no ip pim sparse-dense-mode P1R1(config-subif)#int s0/0/1 P1R1(config-if)#no ip pim sparse-dense-mode P1R1(config-if)#exit P1R1(config)#no ip pim send-rp-announce Loopback0 scope 3 P1R1(config)#no ip pim send-rp-discovery Loopback0 scope 3 P1R1(config)#int s0/0/0 P1R1(config-if)#shutdown P1R4(config)#no ip multicast-routing P1R4(config)#int loopback0 P1R4(config-if)#no ip pim sparse-dense-mode P1R4(config-if)#int fa0/0 P1R4(config-if)#no ip pim sparse-dense-mode P1R4(config-if)#int s0/0/0 P1R4(config-if)#no ip pim sparse-dense-mode P1R4(config-if)#int fa0/0 P1R4(config-if)#no ip igmp join-group 224.1.1.1
Task 2: Configuring IPv6
In this task, you enable IPv6 globally on your router and configure IPv6 addresses on all interfaces that are not shut down.
In this task, the FastEthernet interfaces will use the following address format: 2001:0410:000x:1::/64 eui-64 or 2001:0410:000x:2::/64 eui-64, where
x = pod number
:1 is for odd router numbers (PxR1 and PxR3)
:2 is for even router numbers (PxR2 and PxR4)
For example, on P1R4, the Fa0/0 IPv6 address would be: 2001:0410:0001:2::/64. The :1 or :2 is the subnet portion of your IPv6 address, so it is important, for example, that PxR1 and PxR3's Fa0/0 interfaces are in the same subnet.
The Serial 0/0/1 interfaces for the edge routers and the Serial 0/0/0 for the internal routers will use the following address format: 2001:0410:000x:3::/64 eui-64 or 2001:0410:000x:4::/64 eui-64, where
x = pod number
:3 is for the edge routers (PxR1 and PxR2)
:4 is for the internal routers (PxR3 and PxR4)
For example, on P1R1, the S0/0/1 IPv6 address would be: 2001:0410:0001:3::/64. The :3 or :4 is the subnet portion of your IPv6 address on the serial interface.
Write down the IPv6 addresses for each of your routers in Table 10-10.
Table 10-10 IPv6 Addresses
Router | Fa0/0 Address | S0/0/0 or S0/0/1 Address |
---|---|---|
PxR1 | ||
PxR2 | ||
PxR3 | ||
PxR4 |
Follow these steps:
Configure the edge and internal routers as follows:
Enable IPv6 and CEFv6 on all routers in each pod.
Configure an IPv6 global address on all Fa0/0 interfaces.
Configure an IPv6 global address on the S0/0/1 interfaces on edge routers and the S0/0/0 interfaces on internal routers.
Solution:
The following shows the required steps on the P1R1 router:
P1R1(config)#ipv6 unicast-routing P1R1(config)#ipv6 cef P1R1(config)#int fa0/0 P1R1(config-if)#ipv6 address 2001:0410:0001:1::/64 eui-64 P1R1(config-if)#int s0/0/1 P1R1(config-if)#ipv6 address 2001:0410:0001:3::/64 eui-64
Display the IPv6 interface information to verify that the appropriate interfaces on all routers are configured with an IPv6 address.
On the interfaces, do you see an IPv6 address that you have not configured? If so, what is that address?
Solution:
The following shows sample output on the P1R1 router. IPv6 addresses have been configured, with the specified prefix and the interface ID in EUI-64 format. A link-local address has also been configured on the interfaces; for example on P1R1 Fa0/0, the link-local address is FE80::216:46FF:FE50:C470.
P1R1#show ipv6 interface FastEthernet0/0 is up, line protocol is up IPv6 is enabled, link-local address is FE80::216:46FF:FE50:C470 No Virtual link-local address(es): Global unicast address(es): 2001:410:1:1:216:46FF:FE50:C470, subnet is 2001:410:1:1::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF50:C470 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds ND advertised reachable time is 0 milliseconds ND advertised retransmit interval is 0 milliseconds ND router advertisements are sent every 200 seconds ND router advertisements live for 1800 seconds ND advertised default router preference is Medium Hosts use stateless autoconfig for addresses. Serial0/0/1 is up, line protocol is up IPv6 is enabled, link-local address is FE80::216:46FF:FE50:C470 No Virtual link-local address(es): Global unicast address(es): 2001:410:1:3:216:46FF:FE50:C470, subnet is 2001:410:1:3::/64 [EUI] Joined group address(es): FF02::1 FF02::2 FF02::1:FF50:C470 MTU is 1500 bytes ICMP error messages limited to one every 100 milliseconds ICMP redirects are enabled ICMP unreachables are sent ND DAD is enabled, number of DAD attempts: 1 ND reachable time is 30000 milliseconds Hosts use stateless autoconfig for addresses. P1R1#
Task 3: Enable IPv6 OSPF
In this task, you enable IPv6 OSPF on all pod routers.
Follow these steps:
On each router in your pod, globally enable OSPF for IPv6 and configure the router ID to be the same value as the loopback 0 interface's IPv4 address.
Enable IPv6 OSPF in area 0 on all enabled FastEthernet and Serial interfaces (those that are not shut down).
Solution:
The following shows the required steps on the P1R1 router:
P1R1(config)#ipv6 router ospf 100 P1R1(config-rtr)#router-id 10.200.200.11 P1R1(config-rtr)#int fa0/0 P1R1(config-if)#ipv6 ospf 100 area 0 P1R1(config-if)#int s0/0/1 P1R1(config-if)#ipv6 ospf 100 area 0
Display the IPv6 OSPF interface information to confirm that you have enabled OSPF for IPv6 on your routers.
Solution:
The following shows sample output on the P1R1 router; OSPF for IPv6 is enabled on all interfaces, with process ID 100 in area0.
P1R1#show ipv6 ospf interface Serial0/0/1 is up, line protocol is up Link Local Address FE80::216:46FF:FE50:C470, Interface ID 7 Area 0, Process ID 100, Instance ID 0, Router ID 10.200.200.11 Network Type POINT_TO_POINT, Cost: 781 Transmit Delay is 1 sec, State POINT_TO_POINT, Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:09 Index 1/2/2, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 4 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.200.200.12 Suppress hello for 0 neighbor(s) FastEthernet0/0 is up, line protocol is up Link Local Address FE80::216:46FF:FE50:C470, Interface ID 4 Area 0, Process ID 100, Instance ID 0, Router ID 10.200.200.11 Network Type BROADCAST, Cost: 1 Transmit Delay is 1 sec, State DR, Priority 1 Designated Router (ID) 10.200.200.11, local address FE80::216:46FF:FE50:C470 Backup Designated router (ID) 10.200.200.13, local address FE80::216:46FF:FE10 :FDB0 Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5 Hello due in 00:00:03 Index 1/1/1, flood queue length 0 Next 0x0(0)/0x0(0)/0x0(0) Last flood scan length is 1, maximum is 4 Last flood scan time is 0 msec, maximum is 0 msec Neighbor Count is 1, Adjacent neighbor count is 1 Adjacent with neighbor 10.200.200.13 (Backup Designated Router) Suppress hello for 0 neighbor(s)
Verify that you see your OSPFv3 neighbors.
Solution:
The following shows sample output on the P1R1 router; both neighbors are displayed.
P1R1#show ipv6 ospf neighbor Neighbor ID Pri State Dead Time Interface ID Interface 10.200.200.12 1 FULL/ - 00:00:30 7 Serial0/0/1 10.200.200.13 1 FULL/BDR 00:00:36 4 FastEthernet0/0 P1R1#
View the IPv6 routing table on your routers.
Solution:
The following shows sample output on the P1R1 router.