- [Instructor] IPv6 has many address types,
each filling a different need.
I'll start with the address type that IPv6
was really designed to provide to the world, Global Unicast.
A Global Unicast address is a globally unique address.
It can take a minute to make the mental shift
from the traditional IPv4 design
where all hosts inside of a network are privately addressed
and must do translation and get to the global Internet.
With Global Unicast addressing,
every single device in a network
has a globally unique address that can,
if the desire is there,
be reachable from anywhere on the internet.
I know for me after a career in networking
constantly doing router Kung Fu
to get various resources available via the internet,
this is nothing short of magic.
Globally unique addresses begin with the first hex digits
of two or three.
When a organization requests and is granted a block
of IPv6 addressing to use,
it's referred to as a global routing prefix.
That prefix can then be subdivided into smaller blocks
known as Subnets.
Hosts are then addressed in these smaller subnets
like private RFC1918 addressing an IPv4,
IPv6 also has a similar concept known as unique local.
These are given address ranges
that are not globally routable outside of a lab environment,
and even then I would use global if I have them.
There are a few reasons to employ this kind of addressing.
Unique local addressing begins with the hex digits fd.
Due to the sheer enormity of IPv6,
subnetting has become pretty simple.
For compatibility reasons a subnet designed to have hosts
should utilize a prefix length of /64.
A /64 subnet is the number 18 with 18 zeros behind it.
A Huge number.
While it may be hard to imagine a subnet of that size
for a network that only has five computers and a printer,
it's best practice to use that for standard subnets.
It's something like using a /24 in IPv4.
IPv6 addresses are broken down into three parts.
The beginning of the address that is shared among all hosts
in an organization is the global routing prefix.
A routing prefix is usually between 32 and 48 bits.
The last 64 bits comprise the interface ID
which uniquely identifies the host.
The middle remaining bits comprise the subnet field
used to identify various subnets.
Again, the subnet field in IPv6
is not unlike a subnet in IPv4.
In this example, the global routing prefix is 2001
triple 01 triple 01, the subnet field is triple 01
and the interface ID is all zeros followed by a one
that makes the complete subnet 2001
colon one colon one double colon one slash 64.
link-local addresses are used in IPv6
is a very special Unicast address.
They are automatically created on every layer three
interface running IPv6 via switch, router, PC,
anything with IPv6 actively running.
Traffic destined the link-local addresses only exists
on a single layer 2 segment and won't forward to a router
hence the name link-local.
Routers will use link-local addresses
as the next hop address in their route tables.
Many protocols communicate over link-local addresses.
IPv6 hosts will even use a router's link-local address
as the destination for their default route.
Link-local addressing always begins with FE80/10,
which means the first three hex digits will either be
FE8, FE9, FEA, or FEB.
In practice, link-local addresses always begin with FE80.
While various methods exist to form
the interface ID portion, Cisco uses the EUI-64 system
to derive the last 64 bits from the interface's
MAC address.
Issuing a show IPv6 interface brief command
will display the link-local addresses on each interface.
The link-local address can actually be manually configured
with the standard IPv6 address command
by appending the keyword link-local to the end.
The next bit of addressing of note is multicast addressing.
Multicast in IPv6 is similar in concept
to that of multicast in IPv4,
but with some additional functionality.
Multicast addressing is in the FF00/8 range.
IPv6 multicast uses scoping extensively.
Scoping determines how far into the network
multicast traffic can travel.
For example, if a multicast address begins with FF02/16
then it is link-locally scoped.
This means this multicast traffic
will never be forwarded through a router.
A multicast address starting with FF08/16 is
organizational-local.
This is traffic designed to span the organization.
Reference this chart for the full ranges of
multicast scoping.
Back to local scope multicast, there are several
well known addresses used.
All routers will automatically join the all nodes
FF01 colon colon 1
and the all routers FF02 colon colon 2 addresses.
After that the multicast groups joined depend
on various services the router runs on each interface.
One last multicast address I'll discuss is
a solicited-node multicast address.
Each router interface will generate its own address,
and must always listen to this address.
It's calculated by taking
FF02 colon colon 1 colon FF/104 and
appending the remaining six digits of the unicast address.
Next is the concept of anycast addressing.
While this addressing is present and occasionally used
in IPv4, it doesn't seem to be discussed
nearly as much as it is in IPv6.
In a nutshell, multiples devices can advertise
the exact same IPv6 addressing simultaneously.
The purpose, for one, is redundancy.
If the router dies the others can still be reachable.
Two, clients can get the lowest latency experience
by routing their way to the nearest node.
And 3, the services can now be load balanced
across many data centers.
It's entered on a router similar to
a standard static address,
with the addition of the anycast keyword.
Now, when I issue a show IPv6 interface command,
I'll see an entry for it under global unicast addresses,
listing it as any for anycast.
Two special addresses are also used.
Two colons represent an unknown host, and colon colon 1
is the IPv6 loopback address,
similar to 127 0 0 1 in IPv4.
Understanding IPv6 address types is important
for the test, but even more important
for an engineer running a v6 network.