Cisco Ipv6 ABC
Cisco Ipv6 ABC
Cisco Ipv6 ABC
IO
www.cisco.com/go/abc
of Cisco
AB
S
IO
AB
C
The ABCs of
IP Version 6
of Cisco
ABCs of IP Version 6
Preface
Introduction. The Rationale for a New Version of IP
Network Address Translation
Limitations of NAT
Meeting Future Network Requirements
Evolution of Internet Protocol Version 6
Chapter 1. Features and Benefits of Using IPv6
Larger Address Space for Global Reachability and Scalability
Simplified Header for Efficient Packet Handling
Hierarchical Network Architecture for Routing Efficiency
Multihoming
Support for Routing Protocols
Routing Information Protocol
Open Shortest Path First Protocol Version 3
IS-IS Protocol
Multiprotocol Border Gateway Protocol+
Autoconfiguration and Plug-and-Play Support
Easier Renumbering
Elimination of Need for Network Address Translation and
Applications Layered Gateway
Embedded Security with Mandatory IPSec Implementation
Enhanced Support for Mobile IP and Mobile Computing Devices
Increased Number of Multicast Addresses
Multicast Scope Address
Quality of Service
Chapter 2. IPv6 Header Format
IPv6 Header Fields
Description of IPv6 Header Fields
IPv6 Extension Headers
Order of Extension Headers
Routing Header
Fragment Header
ICMPv6 Packet
Chapter 3. IPv6 Addressing Architecture
IPv6 Address Format
IPv6 Address Prefix
IPv6 Address Types
IPv6 Address Assignment
IPv6 Unicast Address
What Is an IPv6 Global Unicast Address?
What Is an IPv6 Site-Local Unicast Address?
What Is an IPv6 Link-Local Unicast Address?
What Is an IPv4-Compatible IPv6 Address?
What Is an IPv4-Mapped IPv6 Address?
IPv6 Anycast Address
5
7
8
8
9
9
11
11
11
13
13
13
13
13
14
14
14
14
14
15
15
15
15
16
17
17
17
18
19
20
20
21
23
23
24
24
24
25
25
26
27
28
28
29
29
30
30
31
31
31
31
32
32
32
32
33
33
33
34
34
34
35
35
36
36
36
36
37
37
38
38
39
39
40
41
42
42
42
43
43
44
45
45
47
48
48
49
50
51
51
ABCs of IP Version 6
52
53
53
54
54
55
55
55
57
57
57
58
59
59
59
59
59
59
60
60
60
60
60
60
61
61
61
61
62
62
62
62
63
63
67
67
72
72
ABCs of IP Version 6
Preface
The ABCs of IP Version 6 is intended for network professionals with good IP version 4 (IPv4) networking skills
and knowledge. This document is ideal for anyone, including account managers and system engineers, who is
required to analyze IPv6 network requirements and develop strategies for the deployment of IPv6 networks.
We have kept the technical content in this document as generic as possible. Where appropriate we have provided
more details on certain technologies or strategies, based on Ciscos product implementation of IPv6. We have
purposely omitted topological and configuration discussion and examples from this document.
Although you are encouraged to read the chapters in this document sequentially, you could choose to read the
chapters you are most interested in. You will find the review quiz in Appendix C at the end of the document
useful in reinforcing your learning. In addition to the resources listed in the appendixes, you can also find
information on IPv6 implementation details including the roadmap, software configuration, and Statement of
Direction at www.cisco.com/ipv6.
To obtain more in-depth IPv6 training, please consult the Learning Locator on www.cisco.com or send e-mail to
abcios@cisco.com.
Thanks to Steve Deering, Patrick Grossetete, Tony Hain, Ole Troan, Florent Parent, Kevin Flood, Neville Fleet,
Simon Pollard, and Yatman Lai for their contribution and technical review.
Casimir Sammanasu
Cisco IOS Learning Services
ABCs of IP Version 6
Introduction
Recent exponential growth of the Internet and the impending exhaustion of the IPv4 address space
Growth of the Internet and the ability of Internet backbone routers to maintain large routing tables
Need for better support for real-time delivery of dataalso called quality of service (QoS)
Note: Features such as IP Security (IPSec) and QoS have been specified for both versions of IP.
Though the 32-bit address space of IPv4 supports about 4 billion IP devices, the IPv4 addressing scheme is not
optimal, as described by Christian Huitema in RFC 3194, The Host-Density Ratio for Address Assignment
Efficiency: An Update on the H Ratio. A good number of the initially allocated class A addresses are probably
still not used, but are not likely to be reclaimed.
The Internet Engineering Task Force (IETF) first recognized the problem of eventual IPv4 address exhaustion
around 1990 and predicted that we had about ten years to solve this problem. Interestingly, this prediction was
made before the explosive growth of the Internet and the World Wide Web in the 1990s. Indeed, it is only very
recently that the IP address crunch has become widely acknowledged.
The current IP address space is unable to satisfy the potential huge increase in the number of users or the geographical needs of the Internet expansion, let alone the requirements of emerging applications such as Internetenabled personal digital assistants (PDAs), home area networks (HANs), Internet-connected transportations (for
example, automobiles), integrated IP telephony services, IP wireless services, and distributed gaming. IPv6 is
designed to meet these requirements and allow a return to a global environment where the addressing rules of
the network are again transparent to the applications.
The lifetime of IPv4 has been extended using techniques such as address reuse with Network Address Translation
(NAT), classless interdomain routing (CIDR), and temporary-use allocations (Dynamic Host Configuration
Protocol [DHCP] and RADIUS/PPP). Although these techniques appear to increase the address space and satisfy
the traditional server/client setup, they fail to meet the requirements of the peer-to-peer and server (home)-toclient (Internet) applications. The need for always-on environments (such as residential Internet through broadband, cable modem, or Ethernet-to-the-home) to be contactable precludes these IP address conversion, pooling,
and temporary allocation techniques, and the plug-and-play required by consumer Internet appliances further
increases the address requirements.
Temporary or semipermanent connections such as dialup or cable modem/xDSL are being given either temporary
IPv4 addresses or private addresses. Millions of the new technology devices such as wireless phones, PDAs, cars,
and home appliances will not be able to get global IPv4 addresses any longer. Though we do not expect to ever
see the last IPv4 address handed out, it is getting much harder to get IPv4 addresses.
IPv4 will soon reach the stage where you will have to choose between new capabilities or a larger network, but
not both. So, we need a new protocol to provide new and enhanced features in addition to solving the IP address
exhaustion problem.
Network Address Translation
Emerging countries are facing the IPv4 address crunch more strongly than Europe or the United States.
Although the use of NAT has delayed the IPv4 address exhaustion, the use of NAT introduces some
complications that can be overcome only with a new IP protocol.
In IPv4 networks, NAT is typically used to connect internal networks by translating packets between an internal
network, which uses the private address space, as described in RFC 1918 Address Allocation for Private
Internets, and the Internet. NAT uses only a few global (external) addresses even in a large internal network.
Limitations of NAT
Note that the use of NAT only delays the time of exhaustion of the IPv4 addresses but does not solve the real
large-scale growth problem, because IP is now widely adopted as the application's convergence layer for noncomputing devices. Additionally, use of NAT has many implications, as identified in RFC 2775, Internet
Transparency, and RFC 2993, Architectural Implications of NAT. Some of these problems follow and can be
solved only with a new protocol, such as IPv6:
With IPv4, only the endpoints handle the connection and the underlying layers do not handle any connection.
However, when NAT is used, it breaks the end-to-end connection model of IP.
Because NAT must handle the translation of addresses and ports, NAT requires the network to keep the
states of the connections. In case of failure of the NAT device or the links near the NAT device, the need to
keep the state of the connections in NAT makes fast rerouting difficult.
NAT also inhibits the implementation of end-to-end network security. The integrity of the IP header is
protected by some cryptographic functions. This header cannot be changed between the origin of the packet,
which protects the integrity of the header and the final destination, where the integrity of the received packet
is checked. Any translation of parts of the headers along the path will break the integrity check
With applications that are not "NAT-friendly," more than just port and address mapping is necessary to
forward the packet through the NAT device. NAT must embed complete information of all the applications
to accomplish this goal, especially in the case of dynamically allocated ports with rendezvous ports,
embedded IP addresses in application protocols, security associations, and so on. Every new deployment of
a non-NAT-friendly application will require the upgrading of the NAT device.
When different networks that are using the same private address space, such as 10.0.0.0/8, need to be
combined or connected, as in the case of a merger, an address space collision will result. Though techniques
such as renumbering or twice-NAT can resolve this collision, these techniques are very difficult and will
increase the complications of NAT.
The ratio of internal/reachable to external addresses mapping must be large to make NAT effective. However,
when there are many servers inside, the same protocol cannot be multiplexed on the same port using the NAT
external address. For example, two internal servers using the same port (80) cannot use the same external outside
address without changing the port number. Each inside server that must be reachable from the outside will start
using one external address. Because there are many protocols that make nodes as servers and consume many
external addresses, NAT is not quite as useful if the number of inside servers is large.
ABCs of IP Version 6
10
ABCs of IP Version 6
Chapter 1
Elimination of need for network address translation (NAT) and applications layered gateway (ALG)
128 bits
Network Prefix
XXXX
XXXX
XXXX
Interface ID
XXXX
XXXX
XXXX
XXXX
XXXX
The ability to provide a unique address for each network device enables end-to-end reachability, which is especially important for residential IP telephony. IPv6 also provides full support for application protocols without
requiring special processing at the edges of the networks, eliminating the problems associated with NAT.
Simplified Header for Efficient Packet Handling
Although the increase in the number of bits in the IPv6 address results in an increase in IPv6 header size, the
IPv6 header format is simpler compared to the IPv4 header. The basic IPv4 header size is only 20 octets, but the
11
variable length of the Options field adds to the total size of the IPv4 packet. The IPv6 header has a fixed size of
40 octets. Although 6 of the 12 IPv4 header fields have been removed in IPv6, some IPv4 fields have been carried
over with modified names, and some new fields have been added to improve efficiency and introduce new features. As shown in Figure 2, the Header Length (IHL), Identification, Flags, Fragment Offset, Header Checksum,
and Padding fields have been removed from the IPv6 header.
This removal results in faster processing of the basic IPv6 header, but routing efficiency and overall performance
are dependent on the option headers treatment and lookup algorithms a given device must run. Also, all fields in
the IPv6 header are 64 bits, taking advantage of the current generation of 64-bit processors.
IPv4 Header
Version
IPv6 Header
Total Length
Fragment
Flags
Offset
Version
Traffic Class
Payload Length
Time to Live
Protocol
Flow Label
Next Header
Hop Limit
Header Checksum
Source Address
Destination Address
Options
Source Address
Padding
Destination Address
Fragmentation is now managed differently and does not need the fields in the basic IP header. Routers no longer
do fragmentation in IPv6, which removes the processing issues caused by routers managing IPv4 fragmentation.
Because checksum has been removed and the routers along the path of an IPv6 packets need not recalculate
checksum every time, routing efficiency is improved in IPv6.
In IPv6 networks, fragmentation is handled by the source device with the help of path maximum transmission
unit (MTU) discovery protocol.
The checksum has been removed at the IP layer because most link-layer technologies already do checksum and
error control. And because the relative reliability of the link layer is very good, IP header checksum was considered unnecessary and not very useful. In addition to the error detection handled by the link layer technologies,
the transport layer that handles end-to-end connection has a checksum that enables error detection.
However, this removal forces the upper-layer optional checksums, like User Datagram Protocol (UDP), to
become mandatory in IPv6, whereas the UDP transport layer uses an optional checksum in IPv4.
The Options field of IPv4 is changed in IPv6 and is now managed by an extension header chain. The majority of
the other fields were either not changed or changed only slightly. In addition to a smaller number of fields, the
header is 64 bits aligned to enable fast processing by current processors.
12
ABCs of IP Version 6
13
IPv6 OSPF is now an IETF proposed standard. Like RIPng, IPv6 OSPFv3 uses IPv6 for transport and uses
link-local addresses as source address.
IS-IS Protocol
The IS-IS routing protocol is an IGP protocol and IPv6 IS-IS is an IETF draft. New IPv6 routing capability has
been added to the existing IS-IS protocol. Internet Draft draft-ietf-isis-ipv6-02.txt specifies a method for exchanging
IPv6 routing information using the IS-IS routing protocol utilizing the same mechanisms described in RFC 1195,
Use of OSI IS-IS for Routing in TCP/IP and Dual Environments. This is accomplished by adding 2 new
type-length-values (TLVs)"IPv6 Reachability" (128 bits) and "IPv6 Interface Address" (128 bits)and a new
IPv6 protocol identifier.
Multiprotocol Border Gateway Protocol+
Multiprotocol BGP in IPv6 is an EGP that functions the same and offers the same benefits as multiprotocol BGP
in IPv4. RFC 2858, Multiprotocol Extensions for BGP-4 describes multiprotocol extensions for BGP4 defined as
new attributes. RFC 2545, Use of BGP-4 Multiprotocol Extensions for IPv6 Interdomain Routing describes the
enhancements to multiprotocol BGP that include support for an IPv6 address family and Network Layer
Reachability Information (NLRI) and next hop (the next router in the path to the destination) attributes. These
attributes use IPv6 addresses and scoped addresses. The next hop attribute uses a global IPv6 address and potentially also a link-local address, when a peer is reachable on the local link.
Autoconfiguration and Plug-and-Play Support
The address autoconfiguration feature is built into the IPv6 protocol to facilitate intranet-wide address management, enabling large number of IP hosts to easily discover the network and get new and globally unique IPv6
address associated with their location. The autoconfiguration feature enables "plug-and-play" Internet deployment of new consumer devices, such as cell phones, wireless devices, home appliances, and so on. As a result,
network devices could connect to the network without manual configuration and without any servers, such as
DHCP servers.
A router on the local link will send network-type information, such as the prefix of the local link and the default
route in its router advertisements. The router provides this information to all the nodes on the local link. As a
result, a host can autoconfigure itself by appending its 48-bit link layer address (MAC address) in an extended
universal identifier EUI-64-bit format to the 64 bits of the local link prefix advertised by the router.
Easier Renumbering
In IPv6 networks, the autoconfiguration feature makes renumbering of an existing network simpler and relatively easier. The router sends the new prefix from the new upstream provider in its router announcements. The
hosts in the network will automatically pick the new prefix from the router advertisements and then use it to create their new addresses. As a result, the transition from provider A to B becomes more manageable for network
operators.
Elimination of Need for Network Address Translation and Applications Layered Gateway
With the availability of a large number of IPv6 addresses to provide globally unique IP addresses for all IP
devices, there is no need for translating hundreds of internal IP addresses into a few global IP addresses. The
14
ABCs of IP Version 6
elimination of the need for deploying NAT boxes in networks will also eliminate other problems associated with
the deployment of NAT. Particularly, the elimination of NAT provides end-to-end transparency in networks,
reduces network complexity, and helps to reduce network operational costs for enterprises and ISPs.
Embedded Security with Mandatory IPSec Implementation
While the use of IPSec is optional in IPv4, IPSec is mandatory in IPv6 and is part of the IPv6 protocol suite.
Therefore, network implementers could enable IPSec in every IPv6 node, potentially making the networks more
secure.
IPv6 provides security extension headers, making it easier to implement encryption, authentication, and virtual
private networks (VPNs). Because IPv6 offers globally unique addresses and security, IPv6 can provide end-toend security services such as access control, confidentiality and data integrity without the need for additional
firewalls that might introduce additional problems, including performance bottlenecks.
Enhanced Support for Mobile IP and Mobile Computing Devices
In IPv6, mobility is built in and any IPv6 node can use mobility as needed. Mobility is becoming an important
and critical feature in networks. Mobile IP is an IETF standard allowing mobile devices to move around without
breaking their existing connections. In IPv4, the mobility function must be added as a new feature. Mobility support in IPv6 is discussed in the latest version of Internet Draft draft-ietf-mobileip-ipv6-17.txt.
IPv6 packets addressed to the home address of a mobile node are transparently routed to its care-of address
through the caching of the binding of its home address with its care-of address. This binding allows any packets
destined for the mobile node to be directed to it at this care-of address. Mobile IPv6 defines four new IPv6 destination options: binding update option, binding acknowledgement option, binding request option, and home
address option.
The routing headers in IPv6 make Mobile IPv6 much more efficient for end devices than Mobile IPv4. The use of
the routing header for Mobile IP, rather than IP encapsulation, enables Mobile IP to avoid triangle routing, making it much more efficient in IPv6 than in IPv4.
Note: The authentication of the binding update between the mobile node and correspondent node is still under
discussion at the IETF.
Increased Number of Multicast Addresses
One of the salient features of IPv6 is that it does not use broadcasts at all. The functions previously supported by
IPv4 broadcasts such as router discovery and router solicitation requests are handled by IPv6 multicast.
Multicast allows IP packets such as a video stream to be sent to multiple destinations at the same time, saving
network bandwidth. Multicast improves the efficiency of a network by limiting the broadcast requests to a
smaller number of only interested nodes. IPv6 uses specific multicast group addresses for its various functions.
Thus, IPv6 multicast prevents the problems caused by broadcast storms in IPv4 networks.
Multicast Scope Address
IPv4 networks use administratively scoped IP multicast addresses as described in RFC 2365, Administratively
Scoped IP Multicast, to allow packets to be addressed to a specific range of multicast addresses (for example,
239.0.0.0 to 239.255.255.255). By specifying a multicast scope, the packets are prevented from crossing the configured administrative boundaries. IPv4 uses one broadcast address for a particular scoped zone or IP multicast
boundary, and the broadcasts are received by all hosts in this scoped zone.
15
IPv6 uses a 4-bit Scope ID to specify address ranges reserved for multicast addresses for each scope. Thus, only those
hosts in a specified scope address range configured to listen to a specific multicast address receive the multicast.
However, a host can be a member of several workgroups and can listen to several multicast addresses at the same time.
IPv6 provides a larger range of multicast addresses compared to IPv4. So, allocation of addresses for multicast
groups will not be limited for the foreseeable future.
Quality of Service
QoS in IPv6 is handled in the same way it is currently handled in IPv4. Support for class of service is available
through the Traffic Class field compliant with the IETF Differentiated Services (DiffServ) model.
However, IPv6 header has a new field named Flow label which can contain a label identifying a specific flow,
such as video stream or videoconference. The source node generates this flow label. Having a flow label enables
QoS devices in the path to take appropriate actions based on this label. But, the existence of the flow label itself
is not a feature of QoS.
16
ABCs of IP Version 6
Chapter 2
Version
Traffic Class
Payload Length
Flow Label
Next Header
Hop Limit
Source Address
Destination Address
Next Header
40 octets
variable length
Data Portion
32 bits
The IPv6 header contains the fields described in the following sections:
Description of IPv6 Header Fields
Version Number: The version is a 4-bit field as in IPv4. The field contains the number 6 for IPv6, instead of the
number 4 for IPv4.
Traffic Class: The Traffic Class field is an 8-bit field similar to the type of service (ToS) field in IPv4. The Traffic
Class field tags the packet with a traffic class that can be used in Differentiated Services. The functionalities are
the same in IPv4 and IPv6.
17
Flow Label: The 20-bit Flow Label field is a new field in IPv6. The Flow Label field can be used to tag packets
of a specific flow to differentiate the packets at the network layer. Hence, the Flow Label field enables identification of a flow and per-flow processing by the routers in the path. With this label, a router need not check deep
into the packet to identify the flow, because this information is available in the IP packet header. The Flow Label
allows applications on the end system to easily differentiate the traffic at the IP layer making it easier to provide
QoS for packets that have been encrypted by IPSec.
For further information regarding the proposal for the implementation of the flow label, refer to the Internet
Draft draft-ietf-ipv6-flow-label-01.txt.
Payload Length: Similar to the Total Length field in IPv4, the Payload Length field indicates the total length of
the data portion of the packet.
Next Header: Similar to the Protocol field in the IPv4 packet header, the value of the Next Header field in IPv6
determines the type of information following the basic IPv6 header. The type of information following the basic
IPv6 header can be a transport layer packet, such as a TCP or UDP packet, or an Extension Header, as shown in
Figure 4.
IPv6 uses a different approach to manage optional information in the header. It defines extension headers that
form a chain of headers linked together by the Next Header field, contained in each extension header. This
mechanism provides more efficiency in the processing of extension headers, enables a faster forwarding rate, and
leaves the router with less processing work for each packet. All extension headers are daisy-chained, each one
pointing to the next one, until they reach the transport layer data.
Hop Limit: Similar to the Time to Live field in the IPv4 packet header, the value of the Hop Limit field specifies
the maximum number of routers (hops) that an IPv6 packet can pass through before the packet is considered
invalid. Each router decrements the value by one. Because there is no checksum in the IPv6 header, the router
can decrement the value without needing to recalculate the checksum, which saves processing resources.
Source Address: The IPv6 source address field is similar to the Source Address field in the IPv4 packet header,
except that the field contains a 128-bit source address for IPv6 instead of a 32-bit source address for IPv4.
Destination Address: The IPv6 destination address field is similar to the Destination Address field in the IPv4
packet header, except that the field contains a 128-bit destination address for IPv6 instead of a 32-bit destination
address for IPv4.
IPv6 Extension Headers
Following the eight fields of the basic IPv6 packet header are the optional extension headers and the data
portion of the packet. If present, each extension header is aligned to 64 bits. There is no fixed number of
extension headers in an IPv6 packet. Together, the extension headers form a chain of headers that can be
parsed for information such as TCP/UDP port.
The Next Header field of the previous header identifies the extension header. Typically, the final extension header
has a Next Header field of a transport layer protocol, such as TCP or UDP. Figure 4 shows the IPv6 extension
header format.
18
ABCs of IP Version 6
Next Header
19
Routing Header
The Routing Header is one of the IPv6 extension headers and is identified by a value of 43 in the Next Header
field. A routing header can appear either as the first extension header after the IPv6 basic header, or after
another extension header.
As in any extension header, the first field of the routing header is the Next Header field, which identifies the type
of header following the routing header. The second field is the length of the routing header. The "routing type"
identifies the type of routing header used. The "segments left" identifies the number of intermediate routers that
are in the data portion of the routing header. The routing header with routing type = 0 forces the routing
through a list of intermediate routers. This action is similar to the "Loose Source Route" option in IPv4.
Figure 5 shows the use of the routing type 0 of the routing header and the routing path based on the
intermediate routers R2 and R5. As in "Loose Source Route" in IPv4, the complete list of routers in the
path is not necessary.
R2
R3
C
R4
R6
Source: Node A
Destination: B
List: R2, R5
Segments Left: 0
R5
R7
R8
Destination Node
Source: Node A
Destination: B
List: R2, R5
Segments Left: 0
The way the routing header and the destination address of the IPv6 packet interact is new in IPv6. Upon receiving the packet, each intermediate router in the list will process the routing header by swapping the destination
address to the next router in the list. The number of segments left is decremented and the packet is sent to the
new destination. The final destination node (B) will receive a routing header where the number of segment left is
zero. Because B is the final destination, it will process the next header following the routing header.
Fragment Header
IPv6 does not support fragmentation by routers. The source node does the fragmentation when the path MTU is
not big enough. In IPv4, path MTU is optional and seldom used.
The fragment header is used when a node has to send a packet larger than the path MTU. In this situation, the
source node slices the packet into fragments and sends each fragment in a separate packet and identifies the
20
ABCs of IP Version 6
A fragment offset that identifies the position of the specific fragment in the full original IP packet
An identification number that identifies fragments belonging to the same original packet
The destination node then reassembles the packet by concatenating the received fragments in an order given by
the fragment offset.
ICMPv6 Packet
Internet Control Message Protocol (ICMP) in IPv6 functions the same as ICMP in IPv4 (RFC 792). ICMPv6 generates error messages, such as ICMP destination unreachable messages and informational messages like ICMP
echo request and reply messages.
Additionally, ICMP packets in IPv6 are used in the IPv6 neighbor discovery process, path MTU discovery, and
the Multicast Listener Discovery (MLD) protocol for IPv6. IPv6 routers use MLD to discover multicast listeners
(nodes that want to receive multicast packets destined for specific multicast addresses) on directly attached links.
MLDv1 is described in RFC 2710, Multicast Listener Discovery (MLD) for IPv6, which is based on version 2 of
the Internet Group Management Protocol (IGMP) for IPv4. MLDv2 (draft) is similar to IGMPv3.
A value of 58 in the Next Header field of the basic IPv6 packet header identifies an IPv6 ICMP packet. ICMP
packets in IPv6 are like a transport layer packet in the sense that the ICMP packet follows all the extension
headers and is the last piece of information in the IPv6 packet.
Within IPv6 ICMP packets, the ICMPv6 Type and ICMPv6 Code fields identify IPv6 ICMP packet specifics, such
as the ICMP message type. The value in the Checksum field is derived from the fields in the IPv6 ICMP packet
and the IPv6 header. The ICMPv6 Data field contains error or diagnostic information relevant to IP packet
processing.
Similar to ICMPv4, ICMPv6 is often blocked by security policies implemented in corporate firewalls because
of attacks based on ICMP. However, ICMPv6 has the capability to use IPSec authentication and encryption.
These security services decrease the possibilities of an attack based on ICMPv6. Figure 6 shows the IPv6
ICMP packet format.
Next header = 58
ICMPv6 packet
ICMPv6 packet
ICMPv6 Type
ICMPv6 Code
Checksum
ICMPv6 Data
21
22
ABCs of IP Version 6
Chapter 3
The IPv6 addressing architecture as described in RFC 2373, IP Version 6 Addressing Architecture, defines the
use of its full address space based on protocol-related functions.
IPv6 Address Format
IPv6 uses 16-bit hexadecimal number fields separated by colons (:) to represent the 128-bit addressing format
making the address representation less cumbersome and error-prone The hexadecimal numbers are not
case-sensitive. Here is an example of a valid IPv6 address: 2031:0000:130F:0000:0000:09C0:876A:130B.
Additionally, in order to shorten the IPv6 address and make the address easier to represent, IPv6 uses the
following conventions:
Leading zeros in the address field are optional and can be compressed. For example, the following
hexadecimal numbers can be represented as shown in a compressed format:
Example 1:
2031:0000:130F:0000:0000:09C0:876A:130B =
2031:0:130F:0:0:9C0:876A:130B (compressed form)
Example 2:
A pair of colons (::) represents successive fields of 0. However, the pair of colons is allowed only once in a
valid IPv6 address.
Example 1:
2031:0:130F:0:0:9C0:876A:130B =
2031:0:130F::9C0:876A:130B (compressed form)
Example 2:
An address parser could easily identify the number of missing zeros in an IPv6 address by placing the two parts
of the address apart and filling with 0s until the 128-bit address is complete. However, if two ::s are placed in the
same address, then there is no way to identify the size of each block of zeros. The use of the :: makes many IPv6
addresses very small.
23
UnicastAn address for a single interface. A packet that is sent to a unicast address is delivered to the
interface identified by that address.
AnycastAn address for a set of interfaces that typically belong to different nodes. A packet sent to an
anycast address is delivered to the closest interfaceas defined by the routing protocols in useidentified
by the anycast address.
MulticastAn address for a set of interfaces (in a given scope) that typically belong to different nodes.
A packet sent to a multicast address is delivered to all interfaces identified by the multicast address
(in a given scope).
Multiple interfaces can have a single unicast address assigned to them when they are used for load sharing
over multiple physical interfaces. The same is true when multiple physical interfaces are treated as a single
interface at the Internet layer.
Routers using unnumbered interfaces on point-to-point links are not assigned IPv6 addresses, because the
interfaces do not function as a source or destination for IP datagrams.
24
ABCs of IP Version 6
IPv6 also supports other unicast addresses known as special addresses, such as Unspecified address and loopback address.
What Is an IPv6 Global Unicast Address?
The IPv6 global unicast address is the equivalent of the IPv4 global unicast address. A global unicast address is
an IPv6 address from the global unicast prefix. The structure of global unicast addresses enables aggregation of
routing prefixes that limits the number of routing table entries in the global routing table. Global unicast
addresses used on links are aggregated upward through organizations and eventually to the Internet service
providers (ISPs).
Global unicast addresses are defined by a global routing prefix, a subnet ID, and an interface ID. Except for
addresses that start with binary 000, all global unicast addresses have a 64-bit interface ID. The current global
unicast address allocation uses the range of addresses that start with binary value 001 (2000::/3), as shown in
Figure 7.
2000::/3 is the global unicast address range and uses one-eighth of the total IPv6 address space. It is the largest
block of assigned block addresses.
Provider
Site
Host
45 bits
16 bits
64 bits
Subnet ID
Interface ID
3 bits
001
25
26
ABCs of IP Version 6
128 bits
0
Interface ID
64 bits
Subnet ID
1111 1110 11
FEC0::/10
16 bits
10 bits
128 bits
0
1111 1110 10
Interface ID
64 bits
FE80::/10
10 bits
27
96 bits
32 bits
IPv4 Address
192.168.30.1
0:0:0:0:0:0
80 bits
16 bits
32 bits
FFFF
IPv4 Address
0:0:0:0:0
192.168.30.1
28
ABCs of IP Version 6
Flag =
Flag
Scope
8 bits
Scope =
0 if permanent
1 if temporary
1 = interface-local
2 = link-local
3 = subnet-local
4 = admin-local
5 = site-local
8 = organization-local
E = global
Within the reserved multicast address range of FF00:: to FF0F::, the following addresses are assigned to identify
specific functions:
FF01::1All Nodes within the node-local scope (that is, only for that host)
FF02::1All Nodes on the local link (link-local scope).
FF01::2All Routers within the node-local scope
FF02::2All Routers on the link-local scope
29
Solicited-node multicast group FF02:0:0:0:0:1:FF00:0000/104 for each of its assigned unicast and
anycast addresses
Additionally, IPv6 routers must also join the all-routers multicast group FF02:0:0:0:0:0:0:2 (scope is link-local).
What Is an IPv6 Solicited-Node Multicast Address?
Solicited-node multicast addresses are used in neighbor solicitation messages to help with neighbor discovery,
which is discussed in Chapter 4. The solicited-node multicast address is a multicast group address that corresponds to an IPv6 unicast or anycast address. An IPv6 node must join the associated solicited-node multicast
group for every unicast and anycast address it has been assigned. The IPv6 solicited-node multicast address has
the prefix FF02:0:0:0:0:1:FF00:0000/104 concatenated with the 24 low-order bits of a corresponding IPv6 unicast or anycast address, as shown in Figure 13.
0001
FF
Lower 24
128 bits
For example, the solicited-node multicast address corresponding to the IPv6 address 2037::01:800:200E:8C6C is
FF02::1:FF0E:8C6C.
30
ABCs of IP Version 6
2001:0200::/23 and 2001:0C00::/23 allocated to Asia Pacific Network Information Centre (APNIC) for
use in Asia.
2001:0400::/23 allocated to American Registry for Internet Numbers (ARIN) for use in the Americas.
The registries then allocate an initial /32 prefix to the IPv6 ISPs and the ISPs allocate a /48 prefix (out of the /32)
to each customer or site. The /48 prefix of site could be further allocated to each LAN using a /64 prefix for
a maximum of 64 bits ID hosts in each LAN. Each site could subnet the site into a maximum of 65,535 LANs.
A site should make an address plan prior to beginning allocation of its /48 space.
In order to receive a /32 prefix address block from a registry, an ISP must have an exterior routing protocol
peering with at least 3 other ISPs and either have at least 40 customers or demonstrate a clear intent to provide
an IPv6 service within 12 months.
For the latest information about allocation of IPv6 address space to the registries by IANA, refer to the URL at
http://www.iana.org/assignments/ipv6-tla-assignments.
31
Loopback address
Solicitednode multicast address for each of its assigned unicast and anycast addresses
32
Subnet-router anycast addresses for the interfaces configured to act as forwarding interfaces
ABCs of IP Version 6
Chapter 4
Operation of IPv6
The IPv6 neighbor discovery protocol and the internet message control protocol (ICMP) are critical to the
operation of IPv6.
The following topics are covered in this chapter:
Neighbor discovery
Router discovery
Stateless autoconfiguration
Neighbor Discovery
The neighbor discovery protocol enables IPv6 nodes and routers to:
The IPv6 neighbor discovery process uses IPv6 ICMP (ICMPv6) messages and solicited-node multicast addresses
to determine the link-layer address of a neighbor on the same network (local link), verify the reachability of
a neighbor, and keep track of neighbor routers. Every IPv6 node is required to join the multicast groups
corresponding to its unicast and anycast addresses.
The IPv6 neighbor discovery process uses the following mechanisms for its operation:
Neighbor solicitation
Neighbor advertisement
33
Router advertisements
Router solicitations
Flags to indicate the type of autoconfiguration (stateless or stateful) that can be completed
One or more on-link IPv6 prefixes that nodes on the local link could use to automatically configure their
IPv6 addresses
34
ABCs of IP Version 6
Whether the router sending the advertisement should be used as a default router and, if so, the amount of
time (in seconds) the router should be used as a default router
Additional information for hosts, such as the hop limit and maximum transmission unit (MTU) a host
should use in packets that it originates
The IPv6 nodes on the local link receive the router advertisement messages and use the information to keep the
information about default router and prefix lists and other configuration parameters updated. Figure 15 shows
an example of the router advertisement.
RA
RA
RA packet definitions:
ICMP Type = 134
Src = router link-local address
Dst = all-nodes multicast address
Data = options, prefix, lifetime, autoconfig flag
35
Stateless Autoconfiguration
Stateless autoconfiguration is a key feature of IPv6. It enables serverless basic configuration of the IPv6 nodes and easy
renumbering. Stateless autoconfiguration uses the information in the router advertisement messages to configure the
node. The prefix included in the router advertisement is used as the /64 prefix for the node address. For Ethernet, the
remaining 64 bits are obtained from the interface ID in EUI-64 format. Thus, an IPv6 node can autoconfigure itself
with a globally unique IPv6 address by appending its link-layer address (EUI-64 format) to the local link prefix (64 bits).
Renumbering of IPv6 Nodes
Renumbering of IPv6 nodes is possible with the help of router advertisements. Router advertisement messages
contain both the old prefix and the new prefix. A decrease in the lifetime value of the old prefix alerts the nodes
to use the new prefix, while still keeping their current connections intact with the old prefix. During this period
of time, nodes have two unicast addresses in use. When the old prefix is no longer usable, the router advertisements will include only the new prefix.
If stateless autoconfiguration is not used for renumbering, other ways of renumbering should be used.
Autoconfiguration greatly helps the renumbering process. Renumbering requires changes to the DNS entries and
the introduction of new IPv6 DNS records. Renumbering of a whole site also requires that all the routers be
renumbered. A router renumbering protocol has been proposed at the IETF.
Stateless autoconfiguration does not address the issue of finding the DNS server for DNS resolution or registering the
computer in the DNS space. These issues are being discussed at the IETF.
How Does Duplicate Address Detection Work?
IPv6 also provides a safety mechanism to detect duplicate addresses in the network and prevent any address
collision. IPv6 uses neighbor solicitation to detect if another node on the link has the same IPv6 address.
Duplicate address detection is used during the autoconfiguration process to ensure that no other node is using
the autoconfigured address.
Path Maximum Transmission Unit Discovery
Because IPv6 routers do not handle fragmentation, fragmentation is done by the originating node or source node
of a packet, when necessary. The path MTU discovery process is critical to handling of fragmentation by the
hosts in IPv6 networks. IPv6 uses the path MTU discovery to find the maximum MTU in a path between the
source and the destination. The source node starts the path MTU discovery process before actually sending the
packets. When the path MTU of every link along a given data path in an IPv6 network is not large enough to
accommodate the size of the packets, the source node fragments the packet and resends it.
As in IPv4, path MTU discovery in IPv6 allows a node to dynamically discover and adjust to differences in
the MTU size of every link along a given data path. In IPv4, the minimum link MTU size is 68 octets and
the recommended minimum is 576 octets, which is the minimum reassembly buffer size. So, any IPv4 packet
must be at least 68 octets in length.
In IPv6, the minimum link MTU is 1280 octets, but the recommended MTU value for IPv6 links is 1500 octets.
The maximum packet size supported by the basic IPv6 header is 64,000 octets. Larger packets called jumbograms
could be handled using a hop-by-hop extension header option.
36
ABCs of IP Version 6
MTU = 1500
MTU = 1500
MTU = 1400
MTU = 1300
Source
Destination
Packet with MTU = 1500
37
Used for automatic domain name registration of hosts using dynamic DNS
Host
3FFE:0B00:0C18:0001:0290:27FF:FE17:FC1D
Local DNS
If DNS is used for renumbering a network, all nodes must change the prefix part of their IPv6 address. For
nodes included in the DNS, all these new addresses must be changed in the DNS database.
38
ABCs of IP Version 6
Chapter 5
1996-2002: As is the case with any new technology, the early adopters including technology enthusiasts
and academic institutions were first to deploy IPv6 networks. To support the early adopters, IPv6 for Cisco IOS
software has been available for early field trial (EFT) since 1996.
2001-2005: Porting of existing applications to IPv6, a critical requirement for the adoption of IPv6, started
during the latter part of the year 2001. This process is expected to take more than three years to complete.
2001-2005: Internet service providers started deploying IPv6 during the latter part of the year 2001 to be
able to provide IPv6 services to their customers. The ISP deployment phase is expected to last longer than three
years.
2003-2010: Consumer adoption of IPv6 services is dependent on the availability of applications such as dis-
tributed gaming and peer-to-peer computing and is expected to become popular in the year 2003 and last longer
than five years.
2003-2010: Similar to consumer adoption of IPv6 services, enterprises are waiting for the full availability of
applications and are expected to start deploying IPv6 in the year 2003 and beyond.
The IETF IPv6 working group has designed several strategies for the deployment of IPv6. The following transition strategies are covered in this chapter:
Transition Mechanisms
Network designers recommend deploying IPv6 at the edge first and then moving towards the network core to
reduce the cost and operational impacts of the integration. The key strategies used in deploying IPv6 at the
edge of a network involve carrying IPv6 traffic over the IPv4 network, allowing isolated IPv6 domains to
communicate with each other before the full transition to a native IPv6 backbone. It is also possible to run IPv4
and IPv6 throughout the network, from all edges through the core, or to translate between IPv4 and IPv6 to
allow hosts communicating in one protocol to communicate transparently with hosts running the other protocol.
All techniques allow networks to be upgraded and IPv6 deployed incrementally with little to no disruption of
IPv4 services.
39
Deploying IPv6 over dual-stack backbonesThis technique allows IPv4 and IPv6 applications to coexist
in a dual IP layer routing backbone. All routers or a portion of them (for example, access CPE routers and
aggregation routers are dual stack, but core routers stay as they are) in the network need to be upgraded to
be dual stack, with IPv4 communication using the IPv4 protocol stack and IPv6 communication using the
IPv6 stack.
Deploying IPv6 over IPv4 tunnelsThese tunnels encapsulate the IPv6 traffic within the IPv4 packets, and
are primarily for communication between isolated IPv6 sites or connection to remote IPv6 networks over an
IPv4 backbone. The techniques include using manually configured tunnels, generic routing encapsulation
(GRE) tunnels, semiautomatic tunnel mechanisms such as tunnel broker services, and fully automatic tunnel
mechanisms such as 6to4 for the WAN and intra-site automatic tunnel addressing protocol (ISATAP) for the
campus environment.
Deploying IPv6 over dedicated data linksThis technique enables IPv6 domains to communicate by using
the same Layer 2 infrastructure used for IPv4, but with IPv6 using separate Frame Relay or ATM permanent
virtual circuits (PVCs), separate optical links, or dense wave division multiplexing (DWDM).
Deploying IPv6 over MPLS backbonesThis technique allows isolated IPv6 domains to communicate with
each other, but over an MPLS IPv4 backbone without modifying the core infrastructure. Multiple techniques
are available at different points in the network, but each requires little change to the backbone infrastructure
or reconfiguration of the core routers because forwarding is based on labels rather than the IP header itself.
Old Application
TCP
UDP
TCP
UDP
IPv4
IPv6
IPv4
IPv6
0x0800
0x86dd
40
New Application
0x0800
0x86dd
Frame
Protocol ID
ABCs of IP Version 6
Applications choose between using IPv4 or IPv6 protocol based on name lookup; both the IPv4 and IPv6
addresses may be returned from the DNS, with the application (or the system according to the rules defined in
the IETF document Default Address Selection for IPv6) selecting the correct address based on the type of IP
traffic and particular requirements of the communication.
An application that supports dual IPv4 and IPv6 protocol stacks requests all available addresses for the destination
host name (for example, www.a.com ) from a DNS server. The DNS server replies with all available addresses
(both IPv4 and IPv6 addresses) for www.a.com. The application chooses an addressin most cases, IPv6
addresses are the default choiceand connects the source node to the destination using the IPv6 protocol stack.
Figure 19 shows an example of IPv4 and IPv6 dual stack operation.
www.a.com
=*?
3ffe:b00::1
10.1.1.1
DNS server
IPv4
Network
IPv6
Network
3ffe:b00::1
41
IPv6 header
IPv6 data
IPv6 header
Dual-stack
router
Dual-stack
router
IPv4 Network
IPv6 network
IPv6 host
IPv6 data
IPv6 network
IPv6 header
IPv6 host
IPv6 data
For example, tunneling allows service providers to offer an end-to-end IPv6 service without major upgrades to
the infrastructure and without impacting current IPv4 services and allows enterprises to interconnect isolated
IPv6 domains over their existing IPv4 infrastructures, or to connect to remote IPv6 networks such as the
6BONE.
A variety of tunnel mechanisms are available for deploying IPv6. These mechanisms include manually created
tunnels such as IPv6 manually configured tunnels (RFC 2893) and IPv6 over IPv4 GRE tunnels, semiautomatic
tunnel mechanisms, and fully automatic tunnel mechanisms such as IPv4-compatible and 6to4 tunnels. Other
tunneling techniques, such as ISATAP on campus, 6over4, and tunnel broker service (provided by service
providers) are also available.
Tunneling Requirements
All tunneling mechanisms require that the endpoints of the tunnel run both IPv4 and IPv6 protocol stacks,
that is, endpoints must run in dual-stack mode. The dual-stack routers run both IPv4 and IPv6 protocols
simultaneously and thus can interoperate directly with both IPv4 and IPv6 end systems and routers. The
dual-stack approach is similar to running IP and either IPX, DECnet, or AppleTalk on the same router,
something Cisco IOS Software has done since its inception.
For proper operation of the tunnel mechanisms, appropriate entries in a DNS that map between host names
and IP addresses for both IPv4 and IPv6 allow the applications to choose the required address.
Tunneling and Security
It is possible to protect the IPv6 traffic over IPv4 tunnels using IPv4 IPSec, by applying a crypto map to both the
tunnel interface to encrypt outgoing traffic, and to the physical interface to decrypt the traffic flowing through.
42
ABCs of IP Version 6
Because protecting tunnels in this way may negatively impact performance, design considerations should balance
this loss of performance against the security that can be achieved by careful configuration of the network.
Note: If a middle device between the two endpoints of the tunnel filters out IPv4 protocol 41, which is the IPv6
traffic in IPv4 encapsulation, the tunnel will not work.
IPv6 Tunnel Mechanisms
Not all transition strategies are applicable to all situations and all networks. Because it is expected that, at least
initially, most customers might be interested in tunneling IPv6 over their existing IPv4 networks, this section
discusses the details about the following IPv6 tunneling techniques to be used over IPv4 networks.
ISATAP Tunnel
Teredo Tunnel
Dual-stack
router
Dual-stack
router
IPv4 Network
IPv6 network
IPv4: 192.168.99.1
IPv6: 3ffe:b00:c18:1::3
IPv6 host
IPv6 network
IPv4: 192.168.30.1
IPv6: 3ffe:b00:c18:1::2
IPv6 host
Refer to RFC 2893, Transition Mechanisms for IPv6 Hosts and Routers for further information on IPv6
manually configured tunnels.
43
IPv6 header
IPv6 data
IPv6 header
IPv6 data
Dual-stack
router
Dual-stack
router
IPv4 Network
IPv6 network
IPv6 network
IPv6 host
IPv4 header
GRE header
IPv6 header
IPv6 host
IPv6 data
As with manually configured tunnels, you configure the IPv4 and IPv6 addresses of the dual-stack router on the
GRE tunnel interface, and identify the entry and exit (or source and destination) points of the tunnel, using IPv4
addresses.
Because each GRE tunnel is independently managed, the more tunnel endpoints you have, the more tunnels you
need, and the greater is the management overhead. As with other tunnel mechanisms, network address translation (NAT) is not allowed along the path of the tunnel.
44
ABCs of IP Version 6
Dual-stack
router
Dual-stack
router
IPv4 Network
IPv6 network
IPv6 host
IPv4: 192.168.99.1
IPv6: ::192.168.99.1
IPv6 network
IPv4: 192.168.30.1
IPv6: ::192.168.30.1
IPv6 host
Although an easy way to create tunnels, the IPv4-compatible tunnel mechanism does not scale well for IPv6 networks deployment, because each host requires an IPv4 address removing the benefit of the large IPv6 addressing
space. The IPv4-compatible tunnel is largely replaced by the 6to4 (RFC 3056, Connection of IPv6 Domains via
IPv4 Clouds) automatic tunnel mechanism. Hence, the use of IPv4-compatible tunnel as a transition mechanism
is nearly deprecated.
For further information on IPv4-compatible tunnels, refer to RFC 2893, Transition Mechanisms for IPv6 Hosts
and Routers.
Automatic 6to4 Tunnel
An automatic 6to4 tunnel allows isolated IPv6 domains to be connected over an IPv4 network and allows connections to remote IPv6 networks, such as the 6BONE.
The simplest deployment scenario for 6to4 tunnels is to interconnect multiple IPv6 sites, each of which has at
least one connection to a shared IPv4 network. This IPv4 network could be the global Internet or could be your
corporate backbone.
45
The 6to4 tunnel treats the IPv4 infrastructure as a virtual nonbroadcast link using an IPv4 address embedded
in the IPv6 address to find the other end of the tunnel. Each IPv6 domain requires a dual-stack router that
automatically builds the IPv4 tunnel using a unique routing prefix 2002::/16 in the IPv6 address with the IPv4
address of the tunnel destination concatenated to the unique routing prefix. The key requirement is that each site
has a 6to4 IPv6 address. Each site, even if it has just one public IPv4 address, has a unique routing prefix in
IPv6. Figure 24 shows the configuration of a 6to4 tunnel interconnecting 6to4 domains.
6to4 router 2
6to4 router 1
IPv4 Network
IPv6 network
IPv6 network
192.168.99.1
IPv6 host
192.168.30.1
Network prefix:
2002:c0a8:1e01::/48
Network prefix:
2002:c0a8:6301::/48
=
IPv6 host
We recommend that each site have only one 6to4 address assigned to the external interface of the router. All sites
need to run an IPv6 interior routing protocol, such as routing information protocol next generation (RIPng) for
routing IPv6 within the site; exterior routing is handled by the relevant IPv4 exterior routing protocol.
For further information on 6to4 tunnels, refer to RFC 3056, Connection of IPv6 Domains via IPv4 Clouds.
6to4 Relay Routers
As use of native IPv6 becomes more prevalent, the next stage is the use of 6to4 relay routers. These relay
routersstandard routers but with both a 6to4 IPv6 address and a normal IPv6 addressprovide a routing service between the native IPv6 domain, where a routing protocol is expected to be running, and the 6to4 domain,
where there is no routing protocol. Communication between 6to4 sites and native IPv6 domains requires at least
one relay router.
6to4 enables the edge router to forward packets to any destination with a 2002::/16 prefix. However, other IPv6
destinations are unreachable, unless one of the 6to4 edge routers, specified as a 6to4 relay, offers traffic forwarding to the IPv6 Internet.
6to4 routers continue to run an IPv6 interior routing protocol for the IPv6 routing within the site, but participate in IPv6 interdomain routing by using a default IPv6 route that points to a specific relay router. Figure 25
shows the use of a 6to4 relay router for interconnecting 6to4 and native IPv6 domains.
46
ABCs of IP Version 6
IPv6 Internet
6to4 relay
6to4 router
IPv4 Network
IPv6 network
192.168.99.1
IPv6 host
192.168.30.1
Network prefix:
2002:c0a8:1e01::/48
Network prefix:
2002:c0a8:6301::/48
=
IPv6 host
Note: The IPv4 addresses shown in Figure 27 are private and must not be used by a 6to4 Relay for a real
Internet connection. Instead a global unicast addresses must be used to forward packets to the Internet.
ISATAP Tunnel
ISATAP is an IPv6 transition mechanism similar to 6to4 tunnels that enables incremental deployment of IPv6 by
treating the site IPv4 infrastructure as a nonbroadcast multiaccess (NBMA) link layer.
The ISATAP transition mechanism enables a simple and scalable large-scale incremental deployment of IPv6 for
nodes within the existing IPv4 network of a site without incurring aggregation-scaling issues and without the
requirement for site-wide deployment of special IPv4 services such as multicast.
ISATAP tunnels are available for use over campus networks or for the transition of local sites. ISATAP supports
IPv6 routing within both the site-local and global IPv6 routing domains and automatic IPv6 tunneling across
portions of an IPv4 network of a site without any native IPv6 support. ISATAP also supports automatic tunneling within sites that use nonglobally unique IPv4 address assignments combined with network address translation (NAT). All ISATAP nodes are dual stacked.
ISATAP uses a 64-bit network prefix from which the ISATAP addresses are formed. The 64-bit interface identifier is formed by concatenating 0000:5EFE and the IPv4 address of the dual-stack node (192.168.99.1). For example, 3FFE:0B00:0C18:0001:0:5EFE.192.168.99.1 is an ISATAP address. Because ISATAP tunneling typically
occurs only within the boundaries of a site, the embedded IPv4 address need not be globally unique. Figure 26
shows an example of the ISATAP tunnel mechanism.
47
192.168.2.1
fe80::5efe:c0a8:0201
3ffe:b00:ffff::5efe:c0a8:0201
IPv4 network
IPv6 network
ISATAP
192.168.4.1
fe80::5efe:c0a8:0401
3ffe:b00:ffff::5efe:c0a8:0401
192.168.3.1
fe80::5efe:c0a8:0301
3ffe:b00:ffff::5efe:c0a8:0301
The 6to4 and ISATAP transition mechanisms provide IPv6 connectivity for a node under three typical scenarios:
an ISP or an enterprise network provides IPv6 connectivity; the node has access to at least one global IPv4
address; or the enterprise network has deployed an ISATAP router. However, if a node is part of a private network behind a NAT device that is not participating in 6to4, these tunneling mechanisms cannot be used.
For further information on the ISTAP tunnel, refer to the document Intra-Site Automatic Tunnel Addressing
Protocol (draft-ietf-ngtrans-isatap-04.txt).
Teredo Tunnel
The Teredo (also known as Shipworm) service is a tunnel mechanism that provides IPv6 connectivity to nodes
located behind one or more IPv4 NATs by tunneling IPv6 packets over the User Datagram Protocol (UDP)
through NAT devices. The Teredo service is defined for the case where the NAT device cannot be upgraded to
offer native IPv6 routing or act as a 6to4 router.
Teredo tunnels use Teredo servers and Teredo relays. The Teredo servers are stateless, and manage a small fraction of the traffic between Teredo clients, while the Teredo relays act as IPv6 routers between the Teredo service
and the native IPv6 Internet. The Teredo network consists of a set of Teredo clients, servers, and relays. The
Teredo network does not require configuration for the Teredo clients. The clients are assigned specially formed
IPv6 address prefix, and Teredo servers and relays use globally unique IPv4 addresses.
Deploying IPv6 over Dedicated Data Links
Many WANs and metropolitan-area networks (MANs) have been implemented by deploying Layer 2 technologies such as Frame Relay, ATM, or optical, and some are beginning to use DWDM. Figure 27 shows a sample
configuration for IPv6 over dedicated data links.
48
ABCs of IP Version 6
Internet
IPv6IX
Service provider
ATM backbone
with IPv4 and
IPv6 services
IPv6
IPv46
Campus IPv4
and IPv6 VLANs
Routers attached to the ISP WANs or MANs can be configured to use the same Layer 2 infrastructure as for
IPv4, but to run IPv6, for example, over separate ATM or Frame Relay PVCs or separate optical lambda. This
configuration has the added benefit for the service provider of no loss in service or revenue for the IPv4 traffic.
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 far fewer backbone infrastructure upgrades and lesser
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 VPN and traffic engineering services available within an MPLS environment allow IPv6
networks to be combined into VPNs or extranets over an infrastructure supporting IPv4 VPNs and MPLS-TE.
A variety of deployment strategies are available or under development, as follows:
49
The first of these strategies has no impact on and requires no changes to the MPLS provider (P) or PE routers
because the strategy uses IPv4 tunnels to encapsulate the IPv6 traffic, thus appearing as IPv4 traffic within the
network. The second strategy, only applicable on specific Cisco routers such as the Cisco 12000 and 7600
Internet routers, also requires no change to the core routing mechanisms. The last strategy requires changes to
the PE routers to support a dual-stack implementation, but all the core functions remain IPv4. Another strategy
would be to run a native IPv6 MPLS core, but this strategy would require a full network upgrade to all P and PE
routers, with dual control planes for IPv4 and IPv6.
The following sections describe each mechanism in more detail.
Deploying IPv6 Using Tunnels on the Customer Edge Routers
Using tunnels on the CE routers is the simplest way of deploying IPv6 over MPLS networks, having no impact
on the operation or infrastructure of MPLS, and requiring no changes to either the P routers in the core or the
PE routers connected to the customers.
Communication between the remote IPv6 domains uses standard tunneling mechanisms, running IPv6 over IPv4
tunnels in a similar way that MPLS VPNs support native IPv4 tunnels. The CE routers need to be upgraded to
be dual stack, and configured using manually configured or 6to4 tunnels, but communication with the PE
routers is IPv4, and the traffic appears to the MPLS domain to be IPv4. The dual stack routers use the 6to4
addresses or an IPv6 prefix assigned from a distant provider, rather than an IPv6 address supplied by the service
provider. Figure 28 shows an example for the deployment of IPv6 using tunnels on the CE routers.
Figure 28: IPv6 Deployment Using Tunnels on the Customer Edge Routers
Dual stack
IPv4-IPv6
CE routers
Dual stack
IPv4-IPv6
CE routers
IPv6
Network
IPv6
Network
IPv6
IPv6
PE
IPv4
Network
PE
IPv4
PE
IPv6
IPv4
Network
IPv4
50
IPv6
OC-48/192
P
IPv6
Network
IPv6
Network
P
IPv4
Network
PE
IPv6
ABCs of IP Version 6
IPv6
Network
IPv6
Network
IPv6
OC-48/192
IPv6
IPv6
Network
IPv6
Network
IPv6
IPv6
51
MP-iBGP sessions
IPv6
Network
IPv6
Network
IPv6
IPv6
6PE
IPv4
Network
6PE
IPv6
Network
P
IPv6
IPv4
IPv6
Network
6PE
IPv6
IPv4
Network
6PE
IPv4
IPv4
Network
IPv4
The IPv6 forwarding is done by label switching, eliminating the need for either IPv6 over IPv4 tunnels or for an additional Layer 2 encapsulation, allowing the appearance of a native IPv6 service to be offered across the network.
Each PE router that must support IPv6 connectivity needs to be upgraded to be dual stack (becoming a 6PE
router) and configured to run MPLS on the interfaces connected to the core. Depending on the site requirements,
each router can be configured to forward IPv6 or IPv6 and IPv4 traffic on the interfaces to the CE routers, thus
providing the ability to offer only native IPv6 or both IPv6 and native IPv4 services. The 6PE router exchanges
either IPv4 or IPv6 routing information through any of the supported routing protocols, depending on the connection, and switches IPv4 and IPv6 traffic over the native IPv4 and IPv6 interfaces not running MPLS.
The 6PE router exchanges reachability information with the other 6PE routers in the MPLS domain using multiprotocol BGP, and shares a common IPv4 routing protocol (such as OSPF or integrated IS-IS) with the other P
and PE devices in the domain.
The 6PE routers encapsulate IPv6 traffic using two levels of MPLS labels. The top label is distributed by a label
distribution protocol (LDP) or tag distribution protocol (TDP) used by the devices in the core to carry the packet
to the destination 6PE using IPv4 routing information. The second or bottom label is associated with the IPv6
prefix of the destination through multiprotocol BGP4.
Refer to the Internet-Draft draft-ietf-ngtrans-bgp-tunnel-04.txt for further information on 6PE routers.
Protocol Translation Mechanisms
All of these integration strategies provide IPv6 end to end. However, some organizations or individuals might not
want to implement any of these IPv6 transition strategies. And some organizations or individuals might install
only IPv6 in their nodes or networks, but might not implement dual stack. Even if some nodes or networks do
install dual stack, these nodes might not have IPv4 addresses to be used with the dual-stack nodes.
52
ABCs of IP Version 6
Under these circumstances, intercommunication between IPv6-only hosts and IPv4-only hosts requires some level
of translation between the IPv6 and IPv4 protocols on the host or router, or dual-stack hosts, with an application-level understanding of which protocol to use. For example, an IPv6-only network might still want to be able
to access IPv4-only resources, such as IPv4-only web servers.
A variety of IPv6-to-IPv4 translation mechanisms are under consideration by the IETF NGTrans Working Group,
as follows:
TCP-UDP Relay
Bump-in-the-Stack (BIS)
SOCKS-Based Gateway
These protocol translation mechanisms become more relevant as IPv6 becomes more prevalent, and even as
IPv6 becomes the protocol of choice to allow legacy IPv4 systems to be part of the overall IPv6 network.
The translation mechanisms tend to fall into two categoriesthose that require no changes to either the IPv4
or IPv6 hosts, and those that do. An example of the former is the TCP-UDP Relay mechanism that runs on a
dedicated server and sets up separate connections at the transport level with IPv4 and IPv6 hosts, and then
simply transfers information between the two. An example of the latter is the BIS mechanism that requires
extra protocol layers to be added to the IPv4 protocol stack.
Stateless IP/ICMP Translator
The translation mechanisms that allow communication between IPv6-only and IPv4-only hosts, such as NAT-PT
or BIS, use an algorithm called Stateless IP/ICMP Translator (SIIT). This algorithm translates, on a packet-bypacket basis, the headers in the IP packet between IPv4 and IPv6, and translates the addresses in the headers
between IPv4 and either IPv4-translated or IPv4-mapped IPv6 addresses. This algorithm does not include a
mechanism that allows IPv6 hosts to acquire an IPv4 address or route packets to and from that address, but
assumes that each IPv6 host has a temporary IPv4 address assigned to it.
For further information on SIIT, refer to RFC 2765, Stateless IP/ICMP Translation Algorithm (SIIT).
The following sections describe each protocol translation mechanism in more detail.
Network Address Translation-Protocol Translation
NAT-PT will enable IPv6-only ISPs to interconnect with IPv4 hosts and applications. NAT-PT will be a valuable
transition mechanism, when most of the Internet consists of IPv6 network domains.
The NAT-PT translation mechanism (RFC 2766) translates at the network layer between IPv4 and IPv6 addresses and allows native IPv6 hosts and applications to communicate with native IPv4 hosts and applications. An
53
Application Level Gateway (ALG) translates between the IPv4 and IPv6 DNS requests and responses. Figure 31
shows an example of the use of NAT-PT for deploying IPv6.
NAT-PT
IPv4-only network
IPv6-only network
IPv4 Host
172.16.1.1
IPv6 Host
2001:0420:1987:0:2E0:B0FF:FE6A:412C
1
2
Src: 172.17.1.1
Dst: 172.16.1.1
Src: 2001:0420:1987:0:2E0:B0FF:FE6A:412C
Dst: PREFIX::1
3
Src: 172.16.1.1
Dst: 172.17.1.1
4
Src: PREFIX::1
Dst: 2001:0420:1987:0:2E0:B0FF:FE6A:412C
Although familiarity with NAT implementation might encourage people to consider NAT-PT as a protocol translation mechanism, NAT-PT has the same limitations as IPv4 NAT. In addition to the single point of failure, the
reduced performance of an ALG, coupled with limitations on the kinds of applications that work, decreases the
overall value and utility of the network. NAT-PT also inhibits the ability to deploy security at the IP layer.
For further information on NAT-PT, refer to RFC 2766, Network Address TranslationProtocol Translation
(NAT-PT).
TCP-UDP Relay
The TCP-UDP Relay translation mechanism is similar to NAT-PT in that it requires a dedicated server and DNS;
it translates at the transport layer rather than the network layer, with the DNS providing the mapping between
IPv4 and IPv6 addresses.
The greatest use of this mechanism is for native IPv6 networks that want to access IPv4-only hosts, such as IPv4
web servers, but without the expense of upgrading either the IPv6 or IPv4 sides. Implementations of the TCPUDP relays are freely available from various locations.
For further information on TCP-UDP Relay, refer to RFC3142, An IPv6-to-IPv4 Transport Relay Translator.
Bump in the Stack
The BIS mechanism is used for communication between IPv4 applications on an IPv4-only host and IPv6-only hosts.
Three extra layersname resolver extension, address mapper, and translatorare added to the IPv4 protocol
stack between the application and network layers. Whenever an application needs to communicate with an
54
ABCs of IP Version 6
IPv6-only host, the extra layers map an IPv6 address into the IPv4 address of the IPv4 host. The translation
mechanism is defined as part of SIIT.
This mechanism is for implementation on end systems only. An extension to the BIS mechanism allows dual-stack
hosts to use the technique. Refer to RFC 2767, Dual Stack Hosts using the "Bump-In-the-Stack" Technique (BIS) for
further information.
Dual-Stack Transition Mechanism
The DSTM translation mechanism is used for dual-stack hosts in an IPv6 domain that have not yet had an IPv4
address assigned to the IPv4 side, but need to communicate with IPv4 systems or allow IPv4 applications to run
on top of their IPv6 protocol stack. The mechanism requires a dedicated server that dynamically provides a
temporary global IPv4 address for the duration of the communication (using DHCPv6), and uses dynamic
tunnels to carry the IPv4 traffic within an IPv6 packet through the IPv6 domain.
The DSTM mechanism requires a dedicated server that dynamically provides a temporary global IPv4 address
for the duration of the communication (using DHCPv6), and uses dynamic tunnels to carry the IPv4 traffic
within an IPv6 packet through the IPv6 domain.
DSTM becomes much more relevant as IPv6 becomes more prevalent and IPv4 addresses become scarce such
that they need to be shared between hosts, and where the requirement is to carry IPv4 traffic over IPv6 or
communicate between IPv6 hosts in an IPv6 domain and a few remote legacy IPv4 systems.
For further information on DSTM, refer to the Internet Draft draft-ietf-ngtrans-dstm-07.txt.
SOCKS-Based IPv6/IPv4 Gateway
The SOCKS-based IPv6/IPv4 gateway mechanism is used for communication between IPv4-only and IPv6-only hosts.
It consists of additional functionality in both the end system (client) and the dual-stack router (gateway) to permit a
communications environment that relays two terminated IPv4 and IPv6 connections at the application layer.
Refer to RFC 3089, A SOCKS-based IPv6/IPv4 Gateway Mechanism for further information on the gateway
and the locations of these sources.
Deployment of Translation Mechanisms
In addition to the strategies for deploying IPv6 within your IPv4 environment, protocol translation mechanisms
(for example, NAT-PT or application level gateways) are needed to allow communication between applications
using IPv4 and applications using IPv6 (for example, to enable IPv6-only web browsers to communicate with
IPv4-only web servers).
These mechanisms may be helpful as IPv6 deployment moves from the testing to the actual usage phase, and
more relevant as application developers decide that continuing to support IPv4 is not cost-effective. Eventually,
as IPv6 becomes the protocol of choice, these mechanisms will allow legacy IPv4 systems to be part of the
overall IPv6 network. The mechanisms translate between the IPv4 and IPv6 protocols on end systems, dedicated
servers, and routers within the IPv6 network, and together with dual stack hosts provide a full set of tools for
the incremental deployment of IPv6 with no disruption to the IPv4 traffic.
Refer to RFC 2893, Transition Mechanisms for IPv6 Hosts and Routers, for general information on the
transition mechanisms for IPv6 hosts and routers, and refer to RFC 2185, Routing Aspects of IPv6 Transition,
for general information on the routing aspects of IPv6 transition.
55
56
ABCs of IP Version 6
Chapter 6
Providing an IPv6 service at the customer access level: Starting the deployment of IPv6 at the customer
access level permits an IPv6 service to be offered now without a major upgrade to the core infrastructure
and without an impact on current IPv4 services. This approach allows an evaluation of the IPv6 products
and services before full implementation in the network, and an assessment of the future demand for IPv6
without substantial investment at this early stage.
Running IPv6 within the core infrastructure itself: At the end of this initial evaluation and assessment stage,
as support for IPv6 within the routers improves (particularly IPv6 high-speed forwarding), and as network
management systems fully embrace IPv6, the network infrastructure can be upgraded to support IPv6. This
upgrade path could involve use of dual-stack routers (a technique for running both IPv4 and IPv6 protocols
in the same router), or eventually use of IPv6-only routers as the IPv6 traffic becomes predominant.
Interconnecting with other IPv6 service providers: Interconnections with other IPv6 service providers or with
the 6BONE allow further assessment and evaluation of IPv6, and a better understanding of the requirements
for IPv6.
57
You may want to return to a global environment where the addressing rules of the network are more transparent
to the applications, and reintroduce end-to-end security and QoS that are not readily available throughout IPv4
networks that use network address translation (NAT) and other techniques for address conversion, pooling, and
temporary allocation.
Two key ways of evaluating and assessing IPv6 products and services are as follows:
Set up an IPv6 domain and connect to an existing remote IPv6 network such as the 6BONE
Set up two or more IPv6 domains and interconnect these over your existing IPv4 infrastructures
The current IPv6 transition techniques supported in Cisco IOS Software allow the assessment and test of the
IPv6 products and applications in the environments described in an independent and isolated way such that current business is not disrupted.
IPv6 Support from Cisco
Cisco Systems is one of the founding members of the IPv6 Forum (www.ipv6forum.com). Cisco has taken a
leading role in the definition and implementation of the IPv6 architecture within the IETF and continues to
lead the industry efforts for standardization. Cisco employees Steve Deering and Tony Hain are the cochairs
of the IETF IPv6 working group and the next-generation transition (Ngtrans) working group, respectively.
Many of the IPv6 standards are already published by the IETF, although enhancements are still being made.
Cisco has decided to implement IPv6 features in the Cisco IOS Software and its products in three phases.
You will find IPv6 implementation details, including the Cisco roadmap for IPv6 and the Statement of Direction,
at www.cisco.com/ipv6.
The early field trial version of the IPv6 for Cisco IOS Software has been available freely for more than three
years. Cisco IOS IPv6 software has been extensively deployed in the 6BONE network (www.6BONE.net) for
test purposes over several years. Also, the Cisco 6BONE router has been operational as a major 6BONE hub
for more than 5 years with more than 70 tunnels to other companies.
IPv6 for Cisco IOS Software is available for all Cisco router platforms, from the low-end Cisco 800 series
routers to high-end platforms that include the Cisco 12000 Internet routers. Since Cisco IOS Software Release
12.2(2)T, Cisco officially provides worldwide technical support. Additional information on Cisco IOS IPv6 is
available at www.cisco.com/ipv6.
Cisco plans to release a set of solutions documents covering the deployment of IPv6. This section will be updated
as these documents become available. Also, if you need IPv6 for Cisco IOS Software configuration information
for use with Cisco equipment, refer to the Cisco documentation on cisco.com.
58
ABCs of IP Version 6
Appendix A
Bibliography and Reference Resources
This section provides information on documents, books, and RFCs that served as resources for this document
and additional resources for IPv6 that you might find useful, including the technical documents from Cisco and
the Cisco reference page on IPv6. It also includes information about relevant RFCs and drafts.
Cisco Statement of Direction for IPv6
http://www.cisco.com/warp/public/732/tech/ipv6/
Cisco Technical Documentation
IPv6 for Cisco IOS Software feature documentation (Cisco.com) for IPv6 overview, configuration,
and command reference information:
http://www.cisco.com/univercd/cc/td/doc/product/software/
IPv6 integrated solutions documents (ISDs) for detailed information about the various IPv6 transition
mechanisms:
http://www.cisco.com/univercd/cc/td/doc/cisintwk/intsolns/ipv6_sol/index.htm
Books
Marcus Gonglaves and Kitty Niles, IPv6 Networks, McGraw Hill, New York, NY 1998
Microsoft Windows 2000 Server, Introduction to IP Version 6, white paper
Cisco Training Guide: Implementing IPv6 Networks
White Papers and Other Documents
Alcatel Technical Paper: The Move to IPv6
Cisco: Engineering Training for IPv6
Cisco: The Internet Protocol Journal
Glocom Platform Tech Reviews: Nobuo Ikeda and Hajime Yamada, Is IPv6 Necessary?
Hirahara.ourfamily.com: Technical IPv6 and Subnetting IPv4
IP Infusion White Paper: IPv6 Network Processing
IPv6 Forum IPv6 Tutorial: Jordi Palet, ICMPv6 & Neighbor Discovery
Nortel Networks White Paper: Building the Foundation of the Multimedia Wireless Internet _The migration to
IPv6 and MPLS for UMTS
The ORelly Network: Introduction to IPv6
59
60
ABCs of IP Version 6
61
62
ABCs of IP Version 6
Appendix B
Glossary
6BONEAn IPv6 testbed that consists of IPv6 networks. The 6BONE is a worldwide informal collaborative
project, informally operated with oversight from the IPv6 Working Group of the IETF. Though it started as a
virtual network using IPv6 tunnels or encapsulation over IPv4 networks, it is slowly migrating to native links for
IPv6 transport.
6to4 tunnelAn IPv6 automatic tunneling technique where the tunnel endpoint is determined by the globally
unique IPv4 address embedded in a 6to4 address. A 6to4 address is a combination of the prefix 2002::/16 and a
globally unique 32-bit IPv4 address. (IPv4-compatible addresses are not used in 6to4 tunneling.)
6to4 relayA 6to4 border router that offers traffic forwarding to the IPv6 Internet for other 6to4 border
routers. A 6to4 relay forwards packets to any destination that has a 2002::/16 prefix.
A6 recordA Domain Name System (DNS) record that stores IPv6 numbers used to represent a 128-bit IPv6
address. When an IPv6-aware application wants to look up the name of an IPv6 server, it could request an A6
record from the DNS server. The A6 record is not the preferred record for name resolution with IPv6, because it
has been set aside for experimental purpose.
AAAAA Domain Name System (DNS) record that stores IPv6 numbers used to represent a 128-bit IPv6
address. The AAAA records are used to resolve host names. This operation is similar to the process where
applications request the A record in IPv4. The AAAA record is the preferred record for name resolution
with IPv6.
anycast addressAn identifier for a set of interfaces that typically belong to different nodes. A packet sent to an
anycast address is delivered to the closest interfaceas defined by the routing protocols in useidentified by the
anycast address. See also global unicast address, IPv6 multicast address, link-local address, site-local address, and
solicited-node multicast address.
APNICAsia Pacific Network Information Centre. The regional Internet registry (RIR) responsible for assigning
IP addresses to the countries in the Asia Pacific region.
ARINThe American Registry for Internet Numbers. The regional Internet registry (RIR) responsible for
assigning IP addresses to the countries in the North and South American regions.
automatic IPv6 tunnelAn IPv6 tunneling technique (to be deprecated soon), where the tunnel source and
tunnel destination are automatically determined by using the IPv4 address in the low-order 32 bits of IPv6
addresses using the specially assigned 6to4 IPv6 prefix 2002::/16. The host or router at each end of an IPv6
automatic tunnel must support both the IPv4 and IPv6 protocol stacks. Automatic tunnels can be configured
between border routers or between a border router and a host. See also IPv4-compatible IPv6 address and
manually configured IPv6 tunnel.
BISBump-in-the-Stack. Translation mechanism used for communication between IPv4 applications on an
IPv4-only host and IPv6-only hosts. It uses a snooping module and an automatically allocated IPv4 address
from a pool and works like a self-translator.
CE routerCustomer edge router is a router that is part of a customer MPLS network and interfaces to
a provider edge (PE) router.
63
DSTMDual-Stack Transition Mechanism. A translation mechanism for dual stack hosts in an IPv6 domain
that do not have an IPv4 routing infrastructure, but need to communicate with IPv4 systems or allow IPv4
applications to run on top of their IPv6 protocol stack. DSTM operation is based on the use of IPv4-over-IPv6
tunnels and the temporal allocation of a global IPv4 address to hosts requiring such communication.
global unicast addressAn IPv6 unicast address similar to a typical IPv4 address. It enables aggregation of
routing prefixes in order to limit the number of routing table entries in the global routing table. See also anycast
address, IPv6 multicast address, link-local address, and site-local address.
GRE tunnelA manually configured tunnel, particularly suitable for use with the IS-IS protocol. The GRE
tunnel is not tied to a specific passenger or transport protocol, but in this case carries IPv6 traffic as the
passenger protocol over GRE as the carrier protocol. Generic routing encapsulation is a network protocol that
allows any arbitrary passenger protocol to be sent over any carrier protocol.
IANAInternet Assigned Numbers Authority. Responsible for assigning unique parameter values to Internet
protocols.
IETFInternet Engineering Task Force. International group of network researchers, designers, operators, and
vendors responsible for the design and engineering of TCP/IP and the global Internet.
IPv4-compatible IPv6 addressAn IPv6 unicast address that has zeros in the high-order 96 bits of the address
and an IPv4 address in the low-order 32 bits of the address. The format of an IPv4-compatible IPv6 address
is 0:0:0:0:0:0:A.B.C.D or ::A.B.C.D, where A.B.C.D represents the IPv4 address. The entire 128-bit
IPv4-compatible IPv6 address is used as the IPv6 address of a node, and the IPv4 address embedded in
low-order 32-bits is used as the IPv4 address of the node. IPv4-compatible IPv6 addresses are assigned to nodes
that support both the IPv4 and IPv6 protocol stacks, and are used in automatic tunneling. See also anycast
address, automatic IPv6 tunnel, IPv6 multicast address, link-local address, and site-local address.
IPv6 multicast addressAn IPv6 address with a prefix of FF00::/8. An IPv6 multicast address is an identifier for
a set of interfaces that typically belong to different nodes. A packet sent to a multicast address is delivered to all
interfaces identified by the multicast address. See also global unicast address, anycast address, link-local address,
site-local address, and solicited-node multicast address.
ISATAPA transition mechanism used for deploying IPv6, particularly in the campus network environment.
ISATAP enables incremental deployment of IPv6 by treating the IPv4 infrastructure of the site as a nonbroadcast
multiaccess (NBMA) link layer.
linkLinks are networks arbitrarily segmented by a network administrator in order to provide a multilevel,
hierarchical routing structure while shielding the subnetwork from the addressing complexity of attached
networks. Similar to a subnetwork in IPv4. A subnetwork prefix is associated with one link, but multiple
subnetwork prefixes may be assigned to the same link.
link-local addressAn IPv6 unicast address that has a scope limited to the local link (local network). Link-local
addresses are automatically configured on all IPv6 interfaces by using a specific prefix for link-local addresses
(FE80::/10) and adding the interface ID in the modified EUI-64 format. Link-local addresses are used by the
neighbor discovery protocol and the router discovery protocol. They are also used by many routing protocols.
Link-local addresses can serve as a way to connect devices on the same local network without needing global
addresses. See also global unicast address, anycast address, IPv6 multicast address, site-local address, and
solicited-node multicast address.
64
ABCs of IP Version 6
manually configured IPv6 tunnelAn IPv6 tunneling technique where a manually configured IPv6 address is
configured on a tunnel interface and manually configured IPv4 addresses are assigned to the tunnel source and
the tunnel destination. The host or router at each end of a configured tunnel must support both the IPv4 and
IPv6 protocol stacks. Manually configured tunnels can be configured between border routers or between a
border router and a host. See also automatic IPv6 tunnel.
MPLSMultiprotocol Label Switching. A switching technique that forwards IP traffic using a label. This label
instructs the routers and the switches in the network where to forward the packets based on preestablished IP
routing information.
NAT-PTNetwork address translation-protocol translation. A translation mechanism that translates at the
network layer between IPv4 and IPv6 addresses and allows native IPv6 hosts and applications to communicate
with native IPv4 hosts and applications. An Application Level Gateway (ALG) translates between the IPv4 and
IPv6 DNS requests and responses.
NLANext Level Aggregator as originally described in the IPv6 network hierarchy. An IPv6 service provider
below the Top Level Aggregator service provider. The NLA field of 24 bits could support up to 16 million Site
Level Aggregators. The NLA is no longer part of the IPv6 RFCs. See TLA and SLA.
pTLApseudo Top Level Aggregator. As originally described in the IPv6 network hierarchy, used with the
6BONE network, a testbed network of IPv6 networks. See TLA.
SIITStateless IP/ICMP Translator. An algorithm that translates, on a packet-by-packet basis, the headers in
the IP packet between IPv4 and IPv6, and translates the addresses in the headers between IPv4 and either
IPv4-translated or IPv4-mapped IPv6 addresses.
RIPE NCC Reseaux IP Europeens_Network Coordination Center (RIPE NCC). The regional Internet registry
(RIR) responsible for assigning IP addresses to the countries in Europe and the Middle East
site-local addressAddress that is useful only in the context of the site and is similar to the private addresses in
IPv4. Its scope is limited to this context. When configured, a site-local address uses a specific prefix (FEC0::/10)
and concatenates the subnet ID as a 16-bit field and then the interface ID in the modified EUI-64 format. See
also anycast address, global unicast address, IPv6 multicast address, link-local address, and solicited-node
multicast address.
SLASite Level Aggregator. As originally described in the IPv6 network hierarchy, an IPv6 service provider
below the Next Level Aggregator service provider. The SLA field of 16 bits could support up to 65,535 subnets
within a site. See NLA and TLA.
solicited-node multicast addressAn IPv6 address that has the prefix FF02:0:0:0:0:1:FF00:0000/104 concatenated
with the 24 low-order bits of a corresponding IPv6 unicast or anycast address. The solicited-node multicast
address is a multicast group that corresponds to an IPv6 unicast or anycast address. Solicited-node multicast
addresses are used in neighbor solicitation messages. See also anycast address, global unicast address, IPv6
multicast address, link-local address, and site-local address.
TCP-UDP RelayTranslation mechanism similar to NAT-PT. It requires a dedicated server and DNS; it translates at the transport layer rather than the network layer, with the DNS again providing the mapping between
IPv4 and IPv6 addresses.
65
Teredo tunnelThe Teredo (also known as Shipworm) service is a tunnel mechanism that provides IPv6 connectivity
to nodes located behind one or more IPv4 NATs by tunneling IPv6 packets over UDP through NATs.
TLATop Level Aggregator. As originally described in the IPv6 network hierarchy, a service provider at the
top of an IPv6 network hierarchy. The TLA is responsible for maintaining the upper levels of the IPv6 network
routing hierarchy. The TLA field of 13 bits supports up to 8192 TLAs. The TLA is no longer part of the
IPv6 RFCs.
66
ABCs of IP Version 6
Appendix C
Review Questions
The following review questions will help you assess how well you have learned the technical information
provided in the ABCs of IP Version 6 document. Appendix D of this document provides the answers to these
review questions.
1.
Why is Network Address Translation (NAT) not an ideal solution to solve the IP address
exhaustion problem?
a.
b.
NAT protects network devices and data from possible external intruders.
c.
NAT conserves global IP addresses by using private address space within a network.
d.
NAT dynamically allocates global addresses to internal network devices to allow communication
with the Internet.
2.
3.
4.
5.
32 bits
b.
64 bits
c.
96 bits
d.
128 bits
What IPv4 header fields have been removed from the IPv6 header?
a.
b.
c.
d.
Which one of the following statements is true about IPv6 routing protocols?
a.
b.
c.
d.
Which one of the following statements is not true about routing in IPv6?
a.
b.
IPv6 RIP updates are sent to the all-rip-routers multicast group address FF02::9.
c.
IPv6 does not use the longest-prefix match for routing algorithm.
d.
BGP-4+ NEXT_HOP and NLRI are expressed as IPv6 addresses and prefix.
67
6.
7.
8.
9.
b.
c.
d.
IPv6 devices come with preset IPv6 addresses and need no configuration.
Which one of the following statements is true about broadcasts and multicasts in IPv6?
a.
b.
c.
d.
Autoconfiguration.
b.
c.
Easier renumbering.
d.
Which one of the following fields is a new field in the IPv6 header?
a.
Destination Address.
b.
Source Address.
c.
Flow Label.
d.
Version.
10. Which one of the following statements is not true about IPv6 feature set?
a.
b.
c.
d.
11. Which one of the following statements is the correct IPv6 link-local address prefix?
68
a.
2001:1
b.
2002:1
c.
FE80::/10
d.
FEC0::/10
ABCs of IP Version 6
b.
Consist of the link-local prefix, 16-bit subnet ID field, and the interface ID in EUI-64 format.
c.
Serve as a way to connect devices between two networks without needing global addresses.
d.
Are automatically configured on all interfaces using the link-local prefix and the interface
ID in the EUI-64 format.
13. Which one of the following statements is not true about IPv6 header fields?
a.
IPv6 Next Header field is similar to the Protocol field in the IPv4 header.
b.
IPv6 Traffic Class field is similar to the Type of Service field in the IPv4 header.
c.
IPv6 Hop Limit field makes the computing of checksum very efficient.
d.
The value in the Next Header field determines the type of information following the basic IPv6 header.
b.
c.
d.
2001:1:0:4F3A:206:AE14
b.
2001:1:0:4F3A:0:206:AE14
c.
2001:1:0:4F3A::206:AE14
d.
2001:1::4F3A:206::AE14
16. Which of the following is not a required address for an IPv6 node?
a.
b.
c.
d.
Solicited-node multicast address for each of the assigned unicast and anycast addresses.
17. Which one of the following statements is not true about 6BONE network?
a.
b.
c.
d.
69
b.
c.
d.
b.
c.
d.
20. What is the minimum maximum transmission unit (MTU) supported in IPv6?
a.
68 octets
b.
576 octets
c.
1280 octets
d.
1500 octets
21. Which one of the following statements best describes correct IPv6 operation?
a.
b.
c.
d.
b.
c.
d.
23. Which IPv6 DNS record is recommended for Hostname-to-IP address translation for DNS?
70
a.
b.
AAAA
c.
A6
d.
PTR
ABCs of IP Version 6
24. Which of the following statements is not true about tunnel endpoints in a configured tunnel for IPv6?
a.
b.
c.
d.
25. Which one of the following statements describes the major difference between the manually configured
tunnel and the IPv4-compatible tunnel?
a.
Manually configured tunnel is a static tunnel, but the IPv4-compatible tunnel is an automatic tunnel.
b.
The manually configured tunnel does not scale at all, but the IPv4-compatible tunnel scales significantly.
c.
The manually configured tunnel helps to conserve IPv6 addresses, but the IPv4-compatible tunnel helps
to conserve IPv4 addresses.
d.
Although the manually configured tunnel uses IPv4 addresses, the IPv4-compatible tunnel uses only
IPv6 addresses.
26. Which one of the following statements describes the major difference between the IPv4-compatible tunnel
and the 6to4 tunnel?
a.
b.
The IPv4-compatible tunnel is a static tunnel, but the 6to4 tunnel is an automatic tunnel.
The IPv4-compatible tunnel is typically used only between two IPv6 domains, but the 6to4 tunnel is
used to connect multiple IPv6 domains.
c.
The deployment of the IPv4-compatible tunnel requires a special code on the edge routers, but the
6to4 tunnel does not require any special code.
d.
For the IPv4-compatible tunnel, the ISP assigns only IPv4 addresses for each domain, but for the
6to4 tunnel, the ISP assigns only IPv6 addresses for each domain.
27. Which one of the following statements best describes the operation of a 6to4 relay?
a.
b.
c.
d.
A 6to4 relay is used to forward packets to other 6to4 routers and to the IPv6 internet.
71
Appendix D
Answers to the Review Questions
1a, 2d, 3d, 4c, 5c, 6c, 7a, 8b, 9c, 10d, 11c, 12d, 13c, 14b, 15c, 16c, 17c, 18a, 19a, 20c, 21a, 22d, 23b, 24c,
25a, 26b, 27d
72
Corporate Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-4000
800 553-NETS (6387)
Fax: 408 526-4100
European Headquarters
Cisco Systems Europe
11, Rue Camille Desmoulins
92782 Issy Les Moulineaux
Cedex 9
France
http://www-europe.cisco.com
Tel: 33 1 58 04 60 00
Fax: 33 1 58 04 61 00
Americas Headquarters
Cisco Systems, Inc.
170 West Tasman Drive
San Jose, CA 95134-1706
USA
http://www.cisco.com
Tel: 408 526-7660
Fax: 408 527-0883
Asia Headquarters
Nihon Cisco Systems K.K.
Fuji Building, 9th Floor
3-2-3 Marunouchi
Chiyoda-ku, Tokyo 100
Japan
http://www.cisco.com
Tel: 81 3 5219 6250
Fax: 81 3 5219 6001
Cisco Systems has more than 200 offices in the following countries. Addresses, phone numbers, and fax numbers are listed on the