The Benefits and Uses of IPv6
So what’s so fabulous about IPv6? Is it really the answer to our coming
dilemma? Is it really worth it to upgrade from IPv4? All good questions—
you may even think of a few more. Of course, there’s going to be that
group of people with the time-tested “resistance to change syndrome,”
but don’t listen to them. If we had done that years ago, we’d still be
waiting weeks, even months for our mail to arrive via horseback. Instead,
just know that the answer is a resounding yes, it is really the answer, and
it is worth the upgrade! Not only does IPv6 give us lots of addresses (3.4
× 10
38
= definitely enough), there are tons of other features built into this
version that make it well worth the cost, time, and effort required to
migrate to it.
Today’s networks, as well as the Internet, have a ton of unforeseen
requirements that simply weren’t even considerations when IPv4 was
created. We’ve tried to compensate with a collection of add-ons that can
actually make implementing them more difficult than they would be if
they were required by a standard. By default, IPv6 has improved upon
and included many of those features as standard and mandatory. One of
these sweet new standards is IPsec—a feature that provides end-to-end
security.
But it’s the efficiency features that are really going to rock the house! For
starters, the headers in an IPv6 packet have half the fields, and they are
aligned to 64 bits, which gives us some seriously souped-up processing
speed. Compared to IPv4, lookups happen at light speed! Most of the
information that used to be bound into the IPv4 header was taken out,
and now you can choose to put it, or parts of it, back into the header in
the form of optional extension headers that follow the basic header fields.
And of course there’s that whole new universe of addresses—the 3.4 ×
10
38
I just mentioned—but where did we get them? Did some genie just
suddenly arrive and make them magically appear? That huge
proliferation of addresses had to come from somewhere! Well it just so
happens that IPv6 gives us a substantially larger address space, meaning
the address itself is a whole lot bigger—four times bigger as a matter of
fact! An IPv6 address is actually 128 bits in length, and no worries—I’m
going to break down the address piece by piece and show you exactly
what it looks like coming up in the section “IPv6 Addressing and
Expressions.” For now, let me just say that all that additional room
permits more levels of hierarchy inside the address space and a more
flexible addressing architecture. It also makes routing much more
efficient and scalable because the addresses can be aggregated a lot more
effectively. And IPv6 also allows multiple addresses for hosts and
networks. This is especially important for enterprises veritably drooling
for enhanced access and availability. Plus, the new version of IP now
includes an expanded use of multicast communication—one device
sending to many hosts or to a select group—that joins in to seriously
boost efficiency on networks because communications will be more
specific.
IPv4 uses broadcasts quite prolifically, causing a bunch of problems, the
worst of which is of course the dreaded broadcast storm. This is that
uncontrolled deluge of forwarded broadcast traffic that can bring an
entire network to its knees and devour every last bit of bandwidth!
Another nasty thing about broadcast traffic is that it interrupts each and
every device on the network. When a broadcast is sent out, every machine
has to stop what it’s doing and respond to the traffic whether the
broadcast is relevant to it or not.
But smile assuredly, everyone. There’s no such thing as a broadcast in
IPv6 because it uses multicast traffic instead. And there are two other
types of communications as well: unicast, which is the same as it is in
IPv4, and a new type called anycast. Anycast communication allows the
same address to be placed on more than one device so that when traffic is
sent to the device service addressed in this way, it’s routed to the nearest
host that shares the same address. And this is just the beginning—we’ll
get into the various types of communication later in the section called
“Address Types.”
IPv6 Addressing and Expressions
Just as understanding how IP addresses are structured and used is
critical with IPv4 addressing, it’s also vital when it comes to IPv6. You’ve
already read about the fact that at 128 bits, an IPv6 address is much
larger than an IPv4 address. Because of this, as well as the new ways the
addresses can be used, you’ve probably guessed that IPv6 will be more
complicated to manage. But no worries! As I said, I’ll break down the
basics and show you what the address looks like and how you can write it
as well as many of its common uses. It’s going to be a little weird at first,
but before you know it, you’ll have it nailed!
So let’s take a look at
Figure 14.1
, which has a sample IPv6 address
broken down into sections.
FIGURE 14.1
IPv6 address example
As you can clearly see, the address is definitely much larger. But what else
is different? Well, first, notice that it has eight groups of numbers instead
of four and also that those groups are separated by colons instead of
periods. And hey, wait a second . . . there are letters in that address! Yep,
the address is expressed in hexadecimal just like a MAC address is, so you
could say this address has eight 16-bit hexadecimal colon-delimited
blocks. That’s already quite a mouthful, and you probably haven’t even
tried to say the address out loud yet!
There are four hexadecimal characters (16 bits) in each IPv6
field (with eight fields total), separated by colons.
Shortened Expression
The good news is there are a few tricks to help rescue us when writing
these monster addresses. For one thing, you can actually leave out parts
of the address to abbreviate it, but to get away with doing that you have to
follow a couple of rules. First, you can drop any leading zeros in each of
the individual blocks. After you do that, the sample address from earlier
would then look like this:
2001:db8:3c4d:12:0:0:1234:56ab
That’s a definite improvement—at least we don’t have to write all of those
extra zeros! But what about whole blocks that don’t have anything in
them except zeros? Well, we can kind of lose those too—at least some of
them. Again referring to our sample address, we can remove the two
consecutive blocks of zeros by replacing them with a doubled colon, like
this:
2001:db8:3c4d:12::1234:56ab
Cool—we replaced the blocks of all zeros with a doubled colon. The rule
you have to follow to get away with this is that you can replace only one
contiguous block of such zeros in an address. So if my address has four
blocks of zeros and each of them were separated, I just don’t get to
replace them all because I can replace only one contiguous block with a
doubled colon. Check out this example:
2001:0000:0000:0012:0000:0000:1234:56ab
And just know that you can’t do this:
2001::12::1234:56ab
Instead, the best you can do is this:
2001::12:0:0:1234:56ab
The reason the preceding example is our best shot is that if we remove
two sets of zeros, the device looking at the address will have no way of
knowing where the zeros go back in. Basically, the router would look at
the incorrect address and say, “Well, do I place two blocks into the first
set of doubled colons and two into the second set, or do I place three
blocks into the first set and one block into the second set?” And on and on
it would go because the information the router needs just isn’t there.
Address Types
We’re all familiar with IPv4’s unicast, broadcast, and multicast addresses
that basically define who or at least how many other devices we’re talking
to. But as I mentioned, IPv6 modifies that trio and introduces the
anycast. Broadcasts, as we know them, have been eliminated in IPv6
because of their cumbersome inefficiency and basic tendency to drive us
insane!
So let’s find out what each of these types of IPv6 addressing and
communication methods do for us:
Unicast Packets addressed to a unicast address are delivered to a single
interface. For load balancing, multiple interfaces across several devices
can use the same address, but we’ll call that an anycast address. There are
a few different types of unicast addresses, but we don’t need to get further
into that here.
Global unicast addresses (2000::/3) These are your typical publicly
routable addresses and they’re the same as in IPv4. Global addresses start
at 2000::/3.
Figure 14.2
shows how a unicast address breaks down. The
ISP can provide you with a minimum /48 network ID, which in turn
provides you 16-bits to create a unique 64-bit router interface address.
The last 64-bits are the unique host ID.
FIGURE 14.2
IPv6 global unicast addresses
Link-local addresses (FE80::/10) These are like the Automatic
Private IP Address (APIPA) addresses that Microsoft uses to
automatically provide addresses in IPv4 in that they’re not meant to be
routed. In IPv6 they start with FE80::/10, as shown in
Figure 14.3
. Think
of these addresses as handy tools that give you the ability to throw a
temporary LAN together for meetings or create a small LAN that’s not
going to be routed but still needs to share and access files and services
locally.
FIGURE 14.3
IPv6 link local FE80::/10: The first 10 bits define the
address type.
Unique local addresses (FC00::/7) These addresses are also
intended for nonrouting purposes over the Internet, but they are nearly
globally unique, so it’s unlikely you’ll ever have one of them overlap.
Unique local addresses were designed to replace site-local addresses, so
they basically do almost exactly what IPv4 private addresses do: allow
communication throughout a site while being routable to multiple local
networks. Site-local addresses were deprecated as of September 2004.
Multicast (FF00::/8) Again, as in IPv4, packets addressed to a
multicast address are delivered to all interfaces tuned into the multicast
address. Sometimes people call them “one-to-many” addresses. It’s really
easy to spot a multicast address in IPv6 because they always start with
FF. We’ll get deeper into multicast operation coming up, in “How IPv6
Works in an Internetwork.”
Anycast Like multicast addresses, an anycast address identifies multiple
interfaces on multiple devices. But there’s a big difference: the anycast
packet is delivered to only one device—actually, to the closest one it finds
defined in terms of routing distance. And again, this address is special
because you can apply a single address to more than one host. These are
referred to as “one-to-nearest” addresses. Anycast addresses are typically
only configured on routers, never hosts, and a source address could never
be an anycast address. Of note is that the IETF did reserve the top 128
addresses for each /64 for use with anycast addresses.
You’re probably wondering if there are any special, reserved addresses in
IPv6 because you know they’re there in IPv4. Well there are—plenty of
them! Let’s go over those now.
Special Addresses
I’m going to list some of the addresses and address ranges (in
Table 14.1
)
that you should definitely make sure to remember because you’ll
eventually use them. They’re all special or reserved for a specific use, but
unlike IPv4, IPv6 gives us a galaxy of addresses, so reserving a few here
and there doesn’t hurt at all!
TABLE 14.1
Special IPv6 addresses
Address
Meaning
0:0:0:0:0:0:0:0
Equals ::. This is the equivalent of IPv4’s
0.0.0.0 and is typically the source address of
a host before the host receives an IP address
when you’re using DHCP-driven stateful
configuration.
0:0:0:0:0:0:0:1
Equals ::1. The equivalent of 127.0.0.1 in
IPv4.
0:0:0:0:0:0:192.168.100.1 This is how an IPv4 address would be written
in a mixed IPv6/IPv4 network environment.
2000::/3
The global unicast address range.
FC00::/7
The unique local unicast range.
FE80::/10
The link-local unicast range.
FF00::/8
The multicast range.
3FFF:FFFF::/32
Reserved for examples and documentation.
2001:0DB8::/32
Also reserved for examples and
documentation.
2002::/16
Used with 6-to-4 tunneling, which is an IPv4-
to-IPv6 transition system. The structure
allows IPv6 packets to be transmitted over an
IPv4 network without the need to configure
explicit tunnels.
When you run IPv4 and IPv6 on a router, you have what is
called “dual-stack.”
Let me show you how IPv6 actually works in an internetwork. We all
know how IPv4 works, so let’s see what’s new!
How IPv6 Works in an Internetwork
It’s time to explore the finer points of IPv6. A great place to start is by
showing you how to address a host and what gives it the ability to find
other hosts and resources on a network.
I’ll also demonstrate a device’s ability to automatically address itself—
something called stateless autoconfiguration—plus another type of
autoconfiguration known as stateful. Keep in mind that stateful
autoconfiguration uses a DHCP server in a very similar way to how it’s
used in an IPv4 configuration. I’ll also show you how Internet Control
Message Protocol (ICMP) and multicasting works for us in an IPv6
network environment.
Manual Address Assignment
In order to enable IPv6 on a router, you have to use the
ipv6 unicast-
routing
global configuration command:
Corp(config)#
ipv6 unicast-routing
By default, IPv6 traffic forwarding is disabled, so using this command
enables it. Also, as you’ve probably guessed, IPv6 isn’t enabled by default
on any interfaces either, so we have to go to each interface individually
and enable it.
There are a few different ways to do this, but a really easy way is to just
add an address to the interface. You use the interface configuration
command
ipv6 address
/
[eui-64]
to get
this done.
Here’s an example:
Corp(config-if)#
ipv6 address 2001:db8:3c4d:1:0260:d6FF.FE73:1987/64
You can specify the entire 128-bit global IPv6 address as I just
demonstrated with the preceding command, or you can use the EUI-64
option. Remember, the EUI-64 (extended unique identifier) format
allows the device to use its MAC address and pad it to make the interface
ID. Check it out:
Corp(config-if)#
ipv6 address 2001:db8:3c4d:1::/64 eui-64
As an alternative to typing in an IPv6 address on a router, you can enable
the interface instead to permit the application of an automatic link-local
address.
To configure a router so that it uses only link-local addresses, use the
ipv6
enable
interface configuration command:
Corp(config-if)#
ipv6 enable
Remember, if you have only a link-local address, you will be
able to communicate only on that local subnet.
Stateless Autoconfiguration (eui-64)
Autoconfiguration is an especially useful solution because it allows
devices on a network to address themselves with a link-local unicast
address as well as with a global unicast address. This process happens
through first learning the prefix information from the router and then
appending the device’s own interface address as the interface ID. But
where does it get that interface ID? Well, you know every device on an
Ethernet network has a physical MAC address, which is exactly what’s
used for the interface ID. But since the interface ID in an IPv6 address is
64 bits in length and a MAC address is only 48 bits, where do the extra 16
bits come from? The MAC address is padded in the middle with the extra
bits—it’s padded with FFFE.
For example, let’s say I have a device with a MAC address that looks like
this: 0060:d673:1987. After it’s been padded, it would look like this:
0260:d6FF:FE73:1987.
Figure 14.4
illustrates what an EUI-64 address
looks like.
FIGURE 14.4
EUI-64 interface ID assignment
So where did that 2 in the beginning of the address come from? Another
good question. You see that part of the process of padding, called
modified EUI-64 format, changes a bit to specify if the address is locally
unique or globally unique. And the bit that gets changed is the 7th bit in
the address.
The reason for modifying the U/L bit is that, when using manually
assigned addresses on an interface, it means you can simply assign the
address 2001:db8:1:9::1/64 instead of the much longer
2001:db8:1:9:0200::1/64. Also, if you are going to manually assign a
link-local address, you can assign the short address fe80::1 instead of the
long fe80::0200:0:0:1 or fe80:0:0:0:0200::1. So, even though at first
glance it seems the IETF made this harder for you to simply understand
IPv6 addressing by flipping the 7th bit, in reality this made addressing
much simpler. Also, since most people don’t typically override the
burned-in address, the U/L bit is a 0, which means that you’ll see this
inverted to a 1 most of the time. But because you’re studying the Cisco
exam objectives, you’ll need to look at inverting it both ways.
Here are a few examples:
MAC address 0090:2716:fd0f
IPv6 EUI-64 address: 2001:0db8:0:1:0290:27ff:fe16:fd0f
That one was easy! Too easy for the Cisco exam, so let’s do another:
MAC address aa12:bcbc:1234
IPv6 EUI-64 address: 2001:0db8:0:1:a812:bcff:febc:1234
10101010 represents the first 8 bits of the MAC address (aa), which
when inverting the 7th bit becomes 10101000. The answer becomes
A8. I can’t tell you how important this is for you to understand, so
bear with me and work through a couple more!
MAC address 0c0c:dede:1234
IPv6 EUI-64 address: 2001:0db8:0:1:0e0c:deff:fede:1234
0c is 00001100 in the first 8 bits of the MAC address, which then
becomes 00001110 when flipping the 7th bit. The answer is then 0e.
Let’s practice one more:
MAC address 0b34:ba12:1234
IPv6 EUI-64 address: 2001:0db8:0:1:0934:baff:fe12:1234
0b in binary is 00001011, the first 8 bits of the MAC address, which
then becomes 000010 01. The answer is 09.
Pay extra-special attention to this EUI-64 address assignment
and be able to convert the 7th bit based on the EUI-64 rules! Written
Lab 14.2 will help you practice this.
To perform autoconfiguration, a host goes through a basic two-step
process:
1. First, the host needs the prefix information, similar to the network
portion of an IPv4 address, to configure its interface, so it sends a
router solicitation (RS) request for it. This RS is then sent out as a
multicast to all routers (FF02::2). The actual information being sent is
a type of ICMP message, and like everything in networking, this ICMP
message has a number that identifies it. The RS message is ICMP type
133.
2. The router answers back with the required prefix information via a
router advertisement (RA). An RA message also happens to be a
multicast packet that’s sent to the all-nodes multicast address
(FF02::1) and is ICMP type 134. RA messages are sent on a periodic
basis, but the host sends the RS for an immediate response so it
doesn’t have to wait until the next scheduled RA to get what it needs.
These two steps are shown in
Figure 14.5
.
FIGURE 14.5
Two steps to IPv6 autoconfiguration
By the way, this type of autoconfiguration is also known as stateless
autoconfiguration because it doesn’t contact or connect to and receive
any further information from the other device. We’ll get to stateful
configuration when we talk about DHCPv6 next.
But before we do that, first take a look at
Figure 14.6
. In this figure, the
Branch router needs to be configured, but I just don’t feel like typing in
an IPv6 address on the interface connecting to the Corp router. I also
don’t feel like typing in any routing commands, but I need more than a
link-local address on that interface, so I’m going to have to do something!
So basically, I want to have the Branch router work with IPv6 on the
internetwork with the least amount of effort from me. Let’s see if I can get
away with that.
FIGURE 14.6
IPv6 autoconfiguration example
Ah ha—there is an easy way! I love IPv6 because it allows me to be
relatively lazy when dealing with some parts of my network, yet it still
works really well. By using the command
ipv6 address autoconfig
, the
interface will listen for RAs and then, via the EUI-64 format, it will assign
itself a global address—sweet!
This is all really great, but you’re hopefully wondering what that
default
is doing there at the end of the command. If so, good catch! It happens to
be a wonderful, optional part of the command that smoothly delivers a
default route received from the Corp router, which will be automatically
injected into my routing table and set as the default route—so easy!
DHCPv6 (Stateful)
DHCPv6 works pretty much the same way DHCP does in v4, with the
obvious difference that it supports IPv6’s new addressing scheme. And it
might come as a surprise, but there are a couple of other options that
DHCP still provides for us that autoconfiguration doesn’t. And no, I’m
not kidding— in autoconfiguration, there’s absolutely no mention of DNS
servers, domain names, or many of the other options that DHCP has
always generously provided for us via IPv4. This is a big reason that the
odds favor DHCP’s continued use into the future in IPv6 at least partially
—maybe even most of the time!
Upon booting up in IPv4, a client sends out a DHCP Discover message
looking for a server to give it the information it needs. But remember, in
IPv6, the RS and RA process happens first, so if there’s a DHCPv6 server
on the network, the RA that comes back to the client will tell it if DHCP is
available for use. If a router isn’t found, the client will respond by sending
out a DHCP Solicit message, which is actually a multicast message
addressed with a destination of ff02::1:2 that calls out, “All DHCP agents,
both servers and relays.”
It’s good to know that there’s some support for DHCPv6 in the Cisco IOS
even though it’s limited. This rather miserly support is reserved for
stateless DHCP servers and tells us it doesn’t offer any address
management of the pool or the options available for configuring that
address pool other than the DNS, domain name, default gateway, and SIP
servers.
This means that you’re definitely going to need another server around to
supply and dispense all the additional, required information—maybe to
even manage the address assignment, if needed!
Remember for the objectives that both stateless and stateful
autoconfiguration can dynamically assign IPv6 addresses.
IPv6 Header
An IPv4 header is 20 bytes long, so since an IPv6 address is four times
the size of IPv4 at 128 bits, its header must then be 80 bytes long, right?
That makes sense and is totally intuitive, but it’s also completely wrong!
When IPv6 designers devised the header, they created fewer, streamlined
fields that would also result in a faster routed protocol at the same time.
Let’s take a look at the streamlined IPv6 header using
Figure 14.7
.
FIGURE 14.7
IPv6 header
The basic IPv6 header contains eight fields, making it only twice as large
as an IP header at 40 bytes. Let’s zoom in on these fields:
Version This 4-bit field contains the number 6, instead of the number 4
as in IPv4.
Traffic Class This 8-bit field is like the Type of Service (ToS) field in
IPv4.
Flow Label This new field, which is 24 bits long, is used to mark packets
and traffic flows. A flow is a sequence of packets from a single source to a
single destination host, an anycast or multicast address. The field enables
efficient IPv6 flow classification.
Payload Length IPv4 had a total length field delimiting the length of
the packet. IPv6’s payload length describes the length of the payload only.
Next Header Since there are optional extension headers with IPv6, this
field defines the next header to be read. This is in contrast to IPv4, which
demands static headers with each packet.
Hop Limit This field specifies the maximum number of hops that an
IPv6 packet can traverse.
For objectives remember that the Hop Limit field is equivalent
to the TTL field in IPv4’s header, and the Extension header (after the
destination address and not shown in the figure) is used instead of the
IPv4 Fragmentation field.
Source Address This field of 16 bytes, or 128 bits, identifies the source
of the packet.
Destination Address This field of 16 bytes, or 128 bits, identifies the
destination of the packet.
There are also some optional extension headers following these eight
fields, which carry other Network layer information. These header
lengths are not a fixed number—they’re of variable size.
So what’s different in the IPv6 header from the IPv4 header? Let’s look at
that:
The Internet Header Length field was removed because it is no longer
required. Unlike the variable-length IPv4 header, the IPv6 header is
fixed at 40 bytes.
Fragmentation is processed differently in IPv6 and does not need the
Flags field in the basic IPv4 header. In IPv6, routers no longer process
fragmentation; the host is responsible for fragmentation.
The Header Checksum field at the IP layer was removed because most
Data Link layer technologies already perform checksum and error
control, which forces formerly optional upper-layer checksums (UDP,
for example) to become mandatory.
For the objectives, remember that unlike IPv4 headers, IPv6
headers have a fixed length, use an extension header instead of the
IPv4 Fragmentation field, and eliminate the IPv4 checksum field.
It’s time to move on to talk about another IPv4 familiar face and find out
how a certain very important, built-in protocol has evolved in IPv6.
ICMPv6
IPv4 used the ICMP workhorse for lots of tasks, including error messages
like destination unreachable and troubleshooting functions like Ping and
Traceroute. ICMPv6 still does those things for us, but unlike its
predecessor, the v6 flavor isn’t implemented as a separate layer 3
protocol. Instead, it’s an integrated part of IPv6 and is carried after the
basic IPv6 header information as an extension header. And ICMPv6 gives
us another really cool feature—by default, it prevents IPv6 from doing
any fragmentation through an ICMPv6 process called path MTU
discovery.
Figure 14.8
shows how ICMPv6 has evolved to become part of
the IPv6 packet itself.
FIGURE 14.8
ICMPv6
The ICMPv6 packet is identified by the value 58 in the Next Header field,
located inside the ICMPv6 packet. The Type field identifies the particular
kind of ICMP message that’s being carried, and the Code field further
details the specifics of the message. The Data field contains the ICMPv6
payload.
Table 14.2
shows the ICMP Type codes.
TABLE 14.2
ICMPv6 types
ICMPv6 Type Description
1
Destination Unreachable
128
Echo Request
129
Echo Reply
133
Router Solicitation
134
Router Advertisement
135
Neighbor Solicitation
136
Neighbor Advertisement
And this is how it works: The source node of a connection sends a packet
that’s equal to the MTU size of its local link’s MTU. As this packet
traverses the path toward its destination, any link that has an MTU
smaller than the size of the current packet will force the intermediate
router to send a “packet too big” message back to the source machine.
This message tells the source node the maximum size the restrictive link
will allow and asks the source to send a new, scaled-down packet that can
pass through. This process will continue until the destination is finally
reached, with the source node now sporting the new path’s MTU. So now,
when the rest of the data packets are transmitted, they’ll be protected
from fragmentation.
ICMPv6 is used for router solicitation and advertisement, for neighbor
solicitation and advertisement (i.e., finding the MAC data addresses for
IPv6 neighbors), and for redirecting the host to the best router (default
gateway).
Neighbor Discovery (NDP)
ICMPv6 also takes over the task of finding the address of other devices on
the local link. The Address Resolution Protocol is used to perform this
function for IPv4, but that’s been renamed neighbor discovery (ND) in
ICMPv6. This process is now achieved via a multicast address called the
solicited-node address because all hosts join this multicast group upon
connecting to the network.
Neighbor discovery enables these functions:
Determining the MAC address of neighbors
Router solicitation (RS) FF02::2 type code 133
Router advertisements (RA) FF02::1 type code 134
Neighbor solicitation (NS) Type code 135
Neighbor advertisement (NA) Type code 136
Duplicate address detection (DAD)
The part of the IPv6 address designated by the 24 bits farthest to the right
is added to the end of the multicast address FF02:0:0:0:0:1:FF/104
prefix and is referred to as the solicited-node address. When this address
is queried, the corresponding host will send back its layer 2 address.
Devices can find and keep track of other neighbor devices on the network
in pretty much the same way. When I talked about RA and RS messages
earlier and told you that they use multicast traffic to request and send
address information, that too is actually a function of ICMPv6—
specifically, neighbor discovery.
In IPv4, the protocol IGMP was used to allow a host device to tell its local
router that it was joining a multicast group and would like to receive the
traffic for that group. This IGMP function has been replaced by ICMPv6,
and the process has been renamed multicast listener discovery.
With IPv4, our hosts could have only one default gateway configured, and
if that router went down we had to either fix the router, change the
default gateway, or run some type of virtual default gateway with other
protocols created as a solution for this inadequacy in IPv4.
Figure 14.9
shows how IPv6 devices find their default gateways using neighbor
discovery.
FIGURE 14.9
Router solicitation (RS) and router advertisement (RA)
IPv6 hosts send a router solicitation (RS) onto their data link asking for
all routers to respond, and they use the multicast address FF02::2 to
achieve this. Routers on the same link respond with a unicast to the
requesting host, or with a router advertisement (RA) using FF02::1.
But that’s not all! Hosts also can send solicitations and advertisements
between themselves using a neighbor solicitation (NS) and neighbor
advertisement (NA), as shown in
Figure 14.10
. Remember that RA and
RS gather or provide information about routers, and NS and NA gather
information about hosts. Remember that a “neighbor” is a host on the
same data link or VLAN.
FIGURE 14.10
Neighbor solicitation (NS) and neighbor advertisement
(NA)
Solicited-Node and Multicast Mapping over Ethernet
If an IPv6 address is known, then the associated IPv6 solicited-node
multicast address is known, and if an IPv6 multicast address is known,
then the associated Ethernet MAC address is known.
For example, the IPv6 address 2001:DB8:2002:F:2C0:10FF:FE18:FC0F
will have a known solicited-node address of FF02::1:FF18:FC0F.
Now we’ll form the multicast Ethernet addresses by adding the last 32
bits of the IPv6 multicast address to 33:33.
For example, if the IPv6 solicited-node multicast address is
FF02::1:FF18:FC0F, the associated Ethernet MAC address is
33:33:FF:18:FC:0F and is a virtual address.
Duplicate Address Detection (DAD)
So what do you think are the odds that two hosts will assign themselves
the same random IPv6 address? Personally, I think you could probably
win the lotto every day for a year and still not come close to the odds
against two hosts on the same data link duplicating an IPv6 address! Still,
to make sure this doesn’t ever happen, duplicate address detection (DAD)
was created, which isn’t an actual protocol, but a function of the NS/NA
messages.
Figure 14.11
shows how a host sends an NDP NS when it
receives or creates an IPv6 address.
FIGURE 14.11
Duplicate address detection (DAD)
When hosts make up or receive an IPv6 address, they send three DADs
out via NDP NS asking if anyone has this same address. The odds are
unlikely that this will ever happen, but they ask anyway.
Remember for the objectives that ICMPv6 uses type 134 for
router advertisement messages, and the advertised prefix must be 64
bits in length.
IPv6 Routing Protocols
All of the routing protocols we’ve already discussed have been tweaked
and upgraded for use in IPv6 networks, so it figures that many of the
functions and configurations that you’ve already learned will be used in
almost the same way as they are now. Knowing that broadcasts have been
eliminated in IPv6, it’s safe to conclude that any protocols relying entirely
on broadcast traffic will go the way of the dodo. But unlike with the dodo,
it’ll be really nice to say goodbye to these bandwidth-hogging,
performance-annihilating little gremlins!
The routing protocols we’ll still use in IPv6 have been renovated and
given new names. Even though this chapter’s focus is on the Cisco exam
objectives, which cover only static and default routing, I want to discuss a
few of the more important ones too.
First on the list is the IPv6 RIPng (next generation). Those of you who’ve
been in IT for a while know that RIP has worked pretty well for us on
smaller networks. This happens to be the very reason it didn’t get
whacked and will still be around in IPv6. And we still have EIGRPv6
because EIGRP already had protocol-dependent modules and all we had
to do was add a new one to it to fit in nicely with the IPv6 protocol.
Rounding out our group of protocol survivors is OSPFv3—that’s not a
typo, it really is v3! OSPF for IPv4 was actually v2, so when it got its
upgrade to IPv6, it became OSPFv3. Lastly, for the new objectives, we’ll
list MP-BGP4 as a multiprotocol BGP-4 protocol for IPv6. Please
understand for the objectives at this point in the book, we only need to
understand static and default routing.
Static Routing with IPv6
Okay, now don’t let the heading of this section scare you into looking on
Monster.com for some job that has nothing to do with networking! I
know that static routing has always run a chill up our collective spines
because it’s cumbersome, difficult, and really easy to screw up. And I
won’t lie to you—it’s certainly not any easier with IPv6’s longer addresses,
but you can do it!
We know that to make static routing work, whether in IP or IPv6, you
need these three tools:
An accurate, up-to-date network map of your entire internetwork
Next-hop address and exit interface for each neighbor connection
All the remote subnet IDs
Of course, we don’t need to have any of these for dynamic routing, which
is why we mostly use dynamic routing. It’s just so awesome to have the
routing protocol do all that work for us by finding all the remote subnets
and automatically placing them into the routing table!
Figure 14.12
shows a really good example of how to use static routing with
IPv6. It really doesn’t have to be that hard, but just as with IPv4, you
absolutely need an accurate network map to make static routing work!
FIGURE 14.12
IPv6 static and default routing
So here’s what I did: First, I created a static route on the Corp router to
the remote network 2001:1234:4321:1::/64 using the next hop address. I
could’ve just as easily used the Corp router’s exit interface. Next, I just set
up a default route for the Branch router with ::/0 and the Branch exit
interface of Gi0/0—not so bad!
Configuring IPv6 on Our Internetwork
We’re going to continue working on the same internetwork we’ve been
configuring throughout this book, as shown in
Figure 14.13
. Let’s add
IPv6 to the Corp, SF, and LA routers by using a simple subnet scheme of
11, 12, 13, 14, and 15. After that, we’ll add the OSPFv3 routing protocol.
Notice in
Figure 14.13
how the subnet numbers are the same on each end
of the WAN links. Keep in mind that we’ll finish this chapter by running
through some verification commands.
As usual, I’ll start with the Corp router:
Corp#
config t
Corp(config)#
ipv6 unicast-routing
Corp(config)#
int f0/0
Corp(config-if)#
ipv6 address 2001:db8:3c4d:11::/64 eui-64
Corp(config-if)#
int s0/0
Corp(config-if)#
ipv6 address 2001:db8:3c4d:12::/64 eui-64
Corp(config-if)#
int s0/1
Corp(config-if)#
ipv6 address 2001:db8:3c4d:13::/64 eui-64
Corp(config-if)#
^Z
Corp#
copy run start
Destination filename [startup-config]?
[enter]
Building configuration...
[OK]
FIGURE 14.13
Our internetwork
Pretty simple! In the previous configuration, I only changed the subnet
address for each interface slightly. Let’s take a look at the routing table
now:
Corp(config-if)#
do sho ipv6 route
C 2001:DB8:3C4D:11::/64 [0/0]
via ::, FastEthernet0/0
L 2001:DB8:3C4D:11:20D:BDFF:FE3B:D80/128 [0/0]
via ::, FastEthernet0/0
C 2001:DB8:3C4D:12::/64 [0/0]
via ::, Serial0/0
L 2001:DB8:3C4D:12:20D:BDFF:FE3B:D80/128 [0/0]
via ::, Serial0/0
C 2001:DB8:3C4D:13::/64 [0/0]
via ::, Serial0/1
L 2001:DB8:3C4D:13:20D:BDFF:FE3B:D80/128 [0/0]
via ::, Serial0/1
L FE80::/10 [0/0]
via ::, Null0
L FF00::/8 [0/0]
via ::, Null0
Corp(config-if)#
Alright, but what’s up with those two addresses for each interface? One
shows C for connected, one shows L. The connected address indicates the
IPv6 address I configured on each interface and the L is the link-local
that’s been automatically assigned. Notice in the link-local address that
the FF:FE is inserted into the address to create the EUI-64 address.
Let’s configure the SF router now:
SF#
config t
SF(config)#
ipv6 unicast-routing
SF(config)#
int s0/0/0
SF(config-if)#
ipv6 address 2001:db8:3c4d:12::/64
% 2001:DB8:3C4D:12::/64 should not be configured on Serial0/0/0, a
subnet router anycast
SF(config-if)#
ipv6 address 2001:db8:3c4d:12::/64 eui-64
SF(config-if)#
int fa0/0
SF(config-if)#
ipv6 address 2001:db8:3c4d:14::/64 eui-64
SF(config-if)#
^Z
SF#
show ipv6 route
C 2001:DB8:3C4D:12::/64 [0/0]
via ::, Serial0/0/0
L 2001:DB8:3C4D:12::/128 [0/0]
via ::, Serial0/0/0
L 2001:DB8:3C4D:12:21A:2FFF:FEE7:4398/128 [0/0]
via ::, Serial0/0/0
C 2001:DB8:3C4D:14::/64 [0/0]
via ::, FastEthernet0/0
L 2001:DB8:3C4D:14:21A:2FFF:FEE7:4398/128 [0/0]
via ::, FastEthernet0/0
L FE80::/10 [0/0]
via ::, Null0
L FF00::/8 [0/0]
via ::, Null0
Did you notice that I used the exact IPv6 subnet addresses on each side of
the serial link? Good . . . but wait—what’s with that anycast error I
received when trying to configure the interfaces on the SF router? I didn’t
meant to create that error; it happened because I forgot to add the
eui-64
at the end of the address. Still, what’s behind that error? An anycast
address is a host address of all 0s, meaning the last 64 bits are all off, but
by typing in
/64
without the
eui-64
, I was telling the interface that the
unique identifier would be nothing but zeros, and that’s not allowed!
Let’s configure the LA router now, and then add OSPFv3:
SF#
config t
SF(config)#
ipv6 unicast-routing
SF(config)#
int s0/0/1
SF(config-if)#
ipv6 address 2001:db8:3c4d:13::/64 eui-64
SF(config-if)#
int f0/0
SF(config-if)#
ipv6 address 2001:db8:3c4d:15::/64 eui-64
SF(config-if)#
do show ipv6 route
C 2001:DB8:3C4D:13::/64 [0/0]
via ::, Serial0/0/1
L 2001:DB8:3C4D:13:21A:6CFF:FEA1:1F48/128 [0/0]
via ::, Serial0/0/1
C 2001:DB8:3C4D:15::/64 [0/0]
via ::, FastEthernet0/0
L 2001:DB8:3C4D:15:21A:6CFF:FEA1:1F48/128 [0/0]
via ::, FastEthernet0/0
L FE80::/10 [0/0]
via ::, Null0
L FF00::/8 [0/0]
via ::, Null0
This looks good, but I want you to notice that I used the exact same IPv6
subnet addresses on each side of the links from the Corp router to the SF
router as well as from the Corp to the LA router.
Configuring Routing on Our Internetwork
I’ll start at the Corp router and add simple static routes. Check it out:
Corp(config)#
ipv6 route 2001:db8:3c4d:14::/64
2001:DB8:3C4D:12:21A:2FFF:FEE7:4398 150
Corp(config)#
ipv6 route 2001:DB8:3C4D:15::/64 s0/1 150
Corp(config)#
do sho ipv6 route static
[output cut]
S 2001:DB8:3C4D:14::/64 [150/0]
via 2001:DB8:3C4D:12:21A:2FFF:FEE7:4398
Okay—I agree that first static route line was pretty long because I used
the next-hop address, but notice that I used the exit interface on the
second entry. But it still wasn’t really all that hard to create the longer
static route entry. I just went to the SF router, used the command
show
ipv6 int brief
, and then copied and pasted the interface address used
for the next hop. You’ll get used to IPv6 addresses (You’ll get used to
doing a lot of copy/paste moves!).
Now since I put an AD of 150 on the static routes, once I configure a
routing protocol such as OSPF, they’ll be replaced with an OSPF injected
route. Let’s go to the SF and LA routers and put a single entry in each
router to get to remote subnet 11.
SF(config)#
ipv6 route 2001:db8:3c4d:11::/64 s0/0/0 150
That’s it! I’m going to head over to LA and put a default route on that
router now:
LA(config)#
ipv6 route ::/0 s0/0/1
Let’s take a peek at the Corp router’s routing table and see if our static
routes are in there.
Corp#
sh ipv6 route static
[output cut]
S 2001:DB8:3C4D:14::/64 [150/0]
via 2001:DB8:3C4D:12:21A:2FFF:FEE7:4398
S 2001:DB8:3C4D:15::/64 [150/0]
via ::, Serial0/1
Voilà! I can see both of my static routes in the routing table, so IPv6 can
now route to those networks. But we’re not done because we still need to
test our network! First I’m going to go to the SF router and get the IPv6
address of the Fa0/0 interface:
SF#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::21A:2FFF:FEE7:4398
2001:DB8:3C4D:14:21A:2FFF:FEE7:4398
FastEthernet0/1 [administratively down/down]
Serial0/0/0 [up/up]
FE80::21A:2FFF:FEE7:4398
2001:DB8:3C4D:12:21A:2FFF:FEE7:4398
Next, I’m going to go back to the Corporate router and ping that remote
interface by copying and pasting in the address. No sense doing all that
typing when copy/paste works great!
Corp#
ping ipv6 2001:DB8:3C4D:14:21A:2FFF:FEE7:4398
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to
2001:DB8:3C4D:14:21A:2FFF:FEE7:4398, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 0/0/0
ms
Corp#
We can see that static route worked, so next, I’ll go get the IPv6 address
of the LA router and ping that remote interface as well:
LA#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::21A:6CFF:FEA1:1F48
2001:DB8:3C4D:15:21A:6CFF:FEA1:1F48
Serial0/0/1 [up/up]
FE80::21A:6CFF:FEA1:1F48
2001:DB8:3C4D:13:21A:6CFF:FEA1:1F48
It’s time to head over to Corp and ping LA:
Corp#
ping ipv6 2001:DB8:3C4D:15:21A:6CFF:FEA1:1F48
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to
2001:DB8:3C4D:15:21A:6CFF:FEA1:1F48, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/4/4
ms
Corp#
Now let’s use one of my favorite commands:
Corp#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::20D:BDFF:FE3B:D80
2001:DB8:3C4D:11:20D:BDFF:FE3B:D80
Serial0/0 [up/up]
FE80::20D:BDFF:FE3B:D80
2001:DB8:3C4D:12:20D:BDFF:FE3B:D80
FastEthernet0/1 [administratively down/down]
unassigned
Serial0/1 [up/up]
FE80::20D:BDFF:FE3B:D80
2001:DB8:3C4D:13:20D:BDFF:FE3B:D80
Loopback0 [up/up]
unassigned
Corp#
What a nice output! All our interfaces are
up/up
, and we can see the link-
local and assigned global address.
Static routing really isn’t so bad with IPv6! I’m not saying I’d like to do
this in a ginormous network—no way—I wouldn’t want to opt for doing
that with IPv4 either! But you can see that it can be done. Also, notice
how easy it was to ping an IPv6 address. Copy/paste really is your friend!
Before we finish the chapter, let’s add another router to our network and
connect it to the Corp Fa0/0 LAN. For our new router I really don’t feel
like doing any work, so I’ll just type this:
Boulder#
config t
Boulder(config)#
int f0/0
Boulder(config-if)#
ipv6 address autoconfig default
Nice and easy! This configures stateless autoconfiguration on the
interface, and the
default
keyword will advertise itself as the default
route for the local link!
I hope you found this chapter as rewarding as I did. The best thing you
can do to learn IPv6 is to get some routers and just go at it. Don’t give up
because it’s seriously worth your time!
Summary
This last chapter introduced you to some very key IPv6 structural
elements as well as how to make IPv6 work within a Cisco internetwork.
You now know that even when covering and configuring IPv6 basics,
there’s still a great deal to understand—and we just scratched the surface!
But you’re still well equipped with all you need to meet the Cisco exam
objectives.
You learned the vital reasons why we need IPv6 and the benefits
associated with it.I covered IPv6 addressing and the importance of using
the shortened expressions. As I covered addressing with IPv6, I also
showed you the different address types, plus the special addresses
reserved in IPv6.
IPv6 will mostly be deployed automatically, meaning hosts will employ
autoconfiguration. I demonstrated how IPv6 utilizes autoconfiguration
and how it comes into play when configuring a Cisco router. You also
learned that in IPv6, we can and still should use a DHCP server to the
router to provide options to hosts just as we’ve been doing for years with
IPv4—not necessarily IPv6 addresses, but other mission-critical options
like providing a DNS server address.
From there, I discussed the evolution of some more integral and familiar
protocols like ICMP and OSPF. They’ve been upgraded to work in the
IPv6 environment, but these networking workhorses are still vital and
relevant to operations, and I detailed how ICMP works with IPv6,
followed by how to configure OSPFv3. I wrapped up this pivotal chapter
by demonstrating key methods to use when verifying that all is running
correctly in your IPv6 network. So take some time and work through all
the essential study material, espe cially the written labs, to ensure that
you meet your networking goals!
Exam Essentials
Understand why we need IPv6. Without IPv6, the world would be
depleted of IP addresses.
Understand link-local. Link-local is like an IPv4 private IP address,
but it can’t be routed at all, not even in your organization.
Understand unique local. This, like link-local, is like a private IP
address in IPv4 and cannot be routed to the Internet. However, the
difference between link-local and unique local is that unique local can be
routed within your organization or company.
Remember IPv6 addressing. IPv6 addressing is not like IPv4
addressing. IPv6 addressing has much more address space, is 128 bits
long, and represented in hexadecimal, unlike IPv4, which is only 32 bits
long and represented in decimal.
Understand and be able to read a EUI-64 address with the 7th
bit inverted. Hosts can use autoconfiguration to obtain an IPv6
address, and one of the ways it can do that is through what is called EUI-
64. This takes the unique MAC address of a host and inserts FF:FE in the
middle of the address to change a 48-bit MAC address to a 64-bit
interface ID. In addition to inserting the 16 bits into the interface ID, the
7th bit of the 1st byte is inverted, typically from a 0 to a 1. Practice this
with Written Lab 14.2.
Written Labs 14
In this section, you’ll complete the following labs to make sure you’ve got
the information and concepts contained within them fully dialed in:
Lab 14.1: IPv6
Lab 14.2: Converting EUI addresses
You can find the answers to these labs in Appendix A, “Answers to
Written Labs.”
Written Lab 14.1
In this section, write the answers to the following IPv6 questions:
1. Which two ICMPv6 types are used for testing IPv6 reachability?
2. What is the corresponding Ethernet address for
FF02:0000:0000:0000:0000:0001:FF17:FC0F?
3. Which type of address is not meant to be routed?
4. What type of address is this: FE80::/10?
5. Which type of address is meant to be delivered to multiple interfaces?
6. Which type of address identifies multiple interfaces, but packets are
delivered only to the first address it finds?
7. Which routing protocol uses multicast address FF02::5?
8. IPv4 had a loopback address of 127.0.0.1. What is the IPv6 loopback
address?
9. What does a link-local address always start with?
10. Which IPv6 address is the all-router multicast group?
Written Lab 14.2
In this section, you will practice inverting the 7th bit of a EUI-64 address.
Use the prefix 2001:db8:1:1/64 for each address.
1. Convert the following MAC address into a EUI-64 address:
0b0c:abcd:1234.
2. Convert the following MAC address into a EUI-64 address:
060c:32f1:a4d2.
3. Convert the following MAC address into a EUI-64 address:
10bc:abcd:1234.
4. Convert the following MAC address into a EUI-64 address:
0d01:3a2f:1234.
5. Convert the following MAC address into a EUI-64 address:
0a0c.abac.caba.
Hands-on Labs
You’ll need at least three routers to complete these labs; five would be
better, but if you are using the LammleSim IOS version, then these lab
layouts are preconfigured for you. This section will have you configure the
following labs:
1. Lab 14.1: Manual and Stateful Autoconfiguration
2. Lab 14.2: Static and Default Routing
Here is our network:
Hands-on Lab 14.1: Manual and Stateful Autoconfiguration
In this lab, you will configure the C router with manual IPv6 addresses on
the Fa0/0 and Fa0/1 interfaces and then configure the other routers to
automatically assign themselves an IPv6 address.
1. Log in to the C router and configure IPv6 addresses on each interface
based on the subnets (1 and 2) shown in the graphic.
C(config)#
ipv6 unicast-routing
C(config)#
int fa0/0
C(config-if)#
ipv6 address 2001:db8:3c4d:1::1/64
C(config-if)#
int fa0/1
C(config-if)#
ipv6 address 2001:db8:3c4d:2::1/64
2. Verify the interfaces with the
show ipv6 route connected
and
sho ipv6
int brief
commands.
C(config-if)#
do show ipv6 route connected
[output cut]
C 2001:DB8:3C4D:1::/64 [0/0]
via ::, FastEthernet0/0
C 2001:DB8:3C4D:2::/64 [0/0]
via ::, FastEthernet0/0
C(config-if)#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::20D:BDFF:FE3B:D80
2001:DB8:3C4D:1::1
FastEthernet0/1 [up/up]
FE80::20D:BDFF:FE3B:D81
2001:DB8:3C4D:2::1
Loopback0 [up/up]
Unassigned
3. Go to your other routers and configure the Fa0/0 on each router to
autoconfigure an IPv6 address.
A(config)#
ipv6 unicast-routing
A(config)#
int f0/0
A(config-if)#
ipv6 address autoconfig
A(config-if)#
no shut
B(config)#
ipv6 unicast-routing
B(config)#
int fa0/0
B(config-if)#
ipv6 address autoconfig
B(config-if)#
no shut
D(config)#
ipv6 unicast-routing
D(config)#
int fa0/0
D(config-if)#
ipv6 address autoconfig
D(config-if)#
no shut
E(config)#
ipv6 unicast-routing
E(config)#
int fa0/0
E(config-if)#
ipv6 address autoconfig
E(config-if)#
no shut
4. Verify that your routers received an IPv6 address.
A#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::20D:BDFF:FE3B:C20
2001:DB8:3C4D:1:20D:BDFF:FE3B:C20
Continue to verify your addresses on all your other routers.
Hands-on Lab 14.2: Static and Default Routing
Router C is directly connected to both subnets, so no routing of any type
needs to be configured. However, all the other routers are connected to
only one subnet, so at least one route needs to be configured on each
router.
1. On the A router, configure a static route to the 2001:db8:3c4d:2::/64
subnet.
A(config)#
ipv6 route 2001:db8:3c4d:2::/64 fa0/0
2. On the B router, configure a default route.
B(config)#
ipv6 route ::/0 fa0/0
3. On the D router, create a static route to the remote subnet.
D(config)#
ipv6 route 2001:db8:3c4d:1::/64 fa0/0
4. On the E router, create a static route to the remote subnet.
E(config)#
ipv6 route 2001:db8:3c4d:1::/64 fa0/0
5. Verify your configurations with a
show running-config
and
show ipv6
route
.
6. Ping from router D to router A. First, you need to get router A’s IPv6
address with a
show ipv6 int brief
command. Here is an example:
A#
sh ipv6 int brief
FastEthernet0/0 [up/up]
FE80::20D:BDFF:FE3B:C20
2001:DB8:3C4D:1:20D:BDFF:FE3B:C20
7. Now go to router D and ping the IPv6 address from router A:
D#ping ipv6 2001:DB8:3C4D:1:20D:BDFF:FE3B:C20
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to
2001:DB8:3C4D:1:20D:BDFF:FE3B:C20, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max =
0/2/4 ms
Review Questions
The following questions are designed to test your
understanding of this chapter’s material. For more information on
how to get additional questions, please see
www.lammle.com/ccna
.
The answers to these questions can be found in Appendix B, “Answers to
Chapter Review Questions.”
1. How is an EUI-64 format interface ID created from a 48-bit MAC
address?
A. By appending 0xFF to the MAC address
B. By prefixing the MAC address with 0xFFEE
C. By prefixing the MAC address with 0xFF and appending 0xFF to it
D. By inserting 0xFFFE between the upper 3 bytes and the lower 3
bytes of the MAC address
E. By prefixing the MAC address with 0xF and inserting 0xF after
each of its first three bytes
2. Which option is a valid IPv6 address?
A. 2001:0000:130F::099a::12a
B. 2002:7654:A1AD:61:81AF:CCC1
C. FEC0:ABCD:WXYZ:0067::2A4
D. 2004:1:25A4:886F::1
3. Which three statements about IPv6 prefixes are true? (Choose three.)
A. FF00:/8 is used for IPv6 multicast.
B. FE80::/10 is used for link-local unicast.
C. FC00::/7 is used in private networks.
D. 2001::1/127 is used for loopback addresses.
E. FE80::/8 is used for link-local unicast.
F. FEC0::/10 is used for IPv6 broadcast.
4. What are three approaches that are used when migrating from an
IPv4 addressing scheme to an IPv6 scheme? (Choose three.)
A. Enable dual-stack routing.
B. Configure IPv6 directly.
C. Configure IPv4 tunnels between IPv6 islands.
D. Use proxying and translation to translate IPv6 packets into IPv4
packets.
E. Statically map IPv4 addresses to IPv6 addresses.
F. Use DHCPv6 to map IPv4 addresses to IPv6 addresses.
5. Which two statements about IPv6 router advertisement messages are
true? (Choose two.)
A. They use ICMPv6 type 134.
B. The advertised prefix length must be 64 bits.
C. The advertised prefix length must be 48 bits.
D. They are sourced from the configured IPv6 interface address.
E. Their destination is always the link-local address of the
neighboring node.
6. Which of the following is true when describing an IPv6 anycast
address?
A. One-to-many communication model
B. One-to-nearest communication model
C. Any-to-many communication model
D. A unique IPv6 address for each device in the group
E. The same address for multiple devices in the group
F. Delivery of packets to the group interface that is closest to the
sending device
7. You want to ping the loopback address of your IPv6 local host. What
will you type?
A.
ping 127.0.0.1
B.
ping 0.0.0.0
C.
ping ::1
D.
trace 0.0.::1
8. What are three features of the IPv6 protocol? (Choose three.)
A. Optional IPsec
B. Autoconfiguration
C. No broadcasts
D. Complicated header
E. Plug-and-play
F. Checksums
9. Which two statements describe characteristics of IPv6 unicast
addressing? (Choose two.)
A. Global addresses start with 2000::/3.
B. Link-local addresses start with FE00:/12.
C. Link-local addresses start with FF00::/10.
D. There is only one loopback address and it is ::1.
E. If a global address is assigned to an interface, then that is the only
allowable address for the interface.
10. A host sends a router solicitation (RS) on the data link. What
destination address is sent with this request?
A. FF02::A
B. FF02::9
C. FF02::2
D. FF02::1
E. FF02::5
11. What are two valid reasons for adopting IPv6 over IPv4? (Choose
two.)
A. No broadcast
B. Change of source address in the IPv6 header
C. Change of destination address in the IPv6 header
D. No password required for Telnet access
E. Autoconfiguration
F. NAT
12. A host sends a type of NDP message providing the MAC address that
was requested. Which type of NDP was sent?
A. NA
B. RS
C. RA
D. NS
13. Which is known as “one-to-nearest” addressing in IPv6?
A. Global unicast
B. Anycast
C. Multicast
D. Unspecified address
14. Which of the following statements about IPv6 addresses are true?
(Choose two.)
A. Leading zeros are required.
B. Two colons (::) are used to represent successive hexadecimal fields
of zeros.
C. Two colons (::) are used to separate fields.
D. A single interface will have multiple IPv6 addresses of different
types.
15. Which three ways are an IPv6 header simpler than an IPv4 header?
(Choose three.)
A. Unlike IPv4 headers, IPv6 headers have a fixed length.
B. IPv6 uses an extension header instead of the IPv4 Fragmentation
field.
C. IPv6 headers eliminate the IPv4 Checksum field.
D. IPv6 headers use the Fragment Offset field in place of the IPv4
Fragmentation field.
E. IPv6 headers use a smaller Option field size than IPv4 headers.
F. IPv6 headers use a 4-bit TTL field, and IPv4 headers use an 8-bit
TTL field.
16. Which of the following descriptions about IPv6 is correct?
A. Addresses are not hierarchical and are assigned at random.
B. Broadcasts have been eliminated and replaced with multicasts.
C. There are 2.7 billion addresses.
D. An interface can only be configured with one IPv6 address.
17. How many bits are in an IPv6 address field?
A. 24
B. 4
C. 3
D. 16
E. 32
F. 128
18. Which of the following correctly describe characteristics of IPv6
unicast addressing? (Choose two.)
A. Global addresses start with 2000::/3.
B. Link-local addresses start with FF00::/10.
C. Link-local addresses start with FE00:/12.
D. There is only one loopback address and it is ::1.
19. Which of the following statements are true of IPv6 address
representation? (Choose two.)
A. The first 64 bits represent the dynamically created interface ID.
B. A single interface may be assigned multiple IPv6 addresses of any
type.
C. Every IPv6 interface contains at least one loopback address.
D. Leading zeroes in an IPv6 16-bit hexadecimal field are mandatory.
20. Which command enables IPv6 forwarding on a Cisco router?
A.
ipv6 local
B.
ipv6 host
C.
ipv6 unicast-routing
D.
ipv6 neighbor
|