Welcome back.
My name is David Bumble.
C.S.I.
11,023.
And in this section, we're going to look at IP version six.
We have been talking about the transition to IP version six for many years in the networking industry,
but it looks like we finally run out of time.
It looks like this is the final year, 2011, of being able to delay the transition to IPV six in production
and real world environments.
It's expected that in 2011 we will finally run out of IP version four addresses and be forced to move
to IP version six.
So it looks like we can no longer procrastinate the conversion of our networks to IP version six.
But start with this news item from the BBC.
Notice, dated 28 of January 2011, where they're talking about the lost big blocks of the nets, dwindling
stock of addresses are about to be handed out.
They're talking about total exhaustion in September 2011.
However, notice what the Internet Corporation for Assigned Names and Numbers is stating on their website.
Lost IPv4 addresses are allocated today.
And I mean, you can read more about it on their website, but notice they say that today is a historic
milestone for the Internet with a lost addresses have been allocated.
So after years of rapid Internet expansion, the pool of available unallocated addresses for IP version
four is completely depleted.
Notice the news release February three, 2011.
Available pool of unallocated IP version for internet addresses is now completely emptied.
They talk about a critical point in history was reached today with allocation of the last remaining
IP version for addresses from a central pool.
So this is a major turning point in the ongoing development of the Internet.
So notice you had two blocks of the dwindling IP version, four addresses, about 33 million of them
were allocated earlier this week to the Asia Pacific region.
When that happened, it meant the pool of IPv4 addresses had been depleted to a point where a global
policy was triggered to immediately allocate the remaining small pool of addresses equally among the
five global regional internet registries.
This is now taken place.
So they were allocated in a ceremony in Miami.
So the procrastination for the convergence to IP version six is now finally over.
We have to make sure we know how IP version six works and functions because we're going to come across
it a lot more in the coming months and years.
So what we're going to cover is firstly looking at the need for IP version six, and I think I've covered
that already.
We have run out of IP version for addresses and we are now forced to convert or migrate to IP version
six.
Going to explain the format of an IP version six address.
An IP version six addresses 128 bits in length.
So a lot larger than the 32 bit IP version for address that we used to working with.
We can look at the methods of assigning an IP version six address.
We can look at routing protocols.
We can look at implementation strategies.
And I'd like to show you a rip in G configuration.
So in other words, I'll get a little network running using IP version six with RIP in G.
The thing that seems to scare people most is the format of an IP version six address.
The great thing about IP version six is you can take a lot of your knowledge of IP version four and
just apply it in an IP version six.
Environment routing protocols like OSPF, RIP, IP and so forth are available in IP version six.
The version and the syntax might be slightly different, but a lot of the concepts remain the same.
We still have TCP, IP and UDP and a lot of the other protocols, so you don't have to learn everything
from scratch, which is a great benefit in IP.
Vision for an address consists of four octets, which equals 32 bits in binary.
So this is what an IP version for address would look like in binary or in dotted decimal notation.
This is the number of IP addresses available in IP version four.
Now an IP version six.
The address is 16 octets in length, which equates to 128 bits.
This is an IP version six address written in binary and as you can see, it's a lot, lot longer.
IP version six addresses are typically written in hexadecimal, so this is the hex representation of
this binary IPV six address.
There are 3.4 times ten to the 38 IP addresses available.
The pool is a much, much larger.
The industry is learning from the mistakes of the past, and in this case they are making the pool very
large so that we don't run into the same issue in a few years time where we run out of IP version six
addresses.
It's a dangerous thing to say this, but this should be enough addresses for future Internet growth
requirements.
But just to put this in perspective, there are enough IP version six addresses that we could allocate
the entire equivalent IPV four Internet address space to every individual on Earth.
That's how big this address space is.
When comparing the Aussie model of IP version four to IP version six, you'll notice that all the layers
except for layer three have remained the same or have only had slight modifications.
So the application presentation session and transport will function in IP version six in the same way
as they function an IP version for the network layers where the changes have been made.
For instance, an IP version for Dres consists of only 32 bits, but an IPV six address consists of
128 bits.
The data link layer and physical layer also remain the same.
So from a networking point of view, this is great news because you can take all your knowledge and
experience of IP version four protocols and apply it in an IP version six environment.
It's not like in other rooted protocols where you have to learn an entire new protocol stack.
Protocols like TCP and UDP still remain at layer four and reside on top of IPV six, just like they
do in IP version four.
So let's look at the IPV six address format in more detail.
It consists of eight X's where X is a 16 bit hexadecimal field separated by colons, so it would look
something like this.
Please note that an IPV six address is case insensitive, so you could write F in lowercase and b in
uppercase and it wouldn't make any difference.
It's not case sensitive.
There are some rules that you need to remember.
Leading zeros are optional within the 16 bit hexadecimal field, and successive fields of zeros can
be represented as colon colon, but only once per dress.
So as an example, you could take this address and rewrite it as the following.
Notice these two octets could be written as a zero.
And notice these four octets here.
So the eight zeros in hexadecimal could be represented as colon.
Colon.
However, you cannot put colon colon twice within an IP address because the system would have no way
of working out how many zeros are represented by these colons.
Is this four zeros and this eight zeros, or is this eight zeros and this four zeros?
So you can only put colon colon once in an address.
Okay.
Here's another example.
We have an IP version six address written as follows Correct representations of this address would be
as follows 2001 remains the same.
This leading zero can be removed.
So we have one, two, three.
These four zeros and these four zeros can be condensed down to only colon.
Colon.
So those eight zeros can be compressed down to colon colon.
The four F's remain the same.
Now here you also have four zeros, followed by four zeros.
However, you can only represent a string of zeros by colon.
Colon once in an address, and you've already done that.
So what you can do here is remove the leading zeros.
And when you remove leading zeros, you have to have one value that remains between the colons.
So notice here we've removed three leading zeros and here we've removed three leading zeros.
Here we've removed the leading zero in front of ABC.
So that zero has also been removed.
So this is a correct representation of the address.
Now you could do something similar where these eight zeros are represented by colon zero, colon zero,
but these eight zeros are represented by Colon Colon.
Remember, you can only have two colons written in this format once in an address.
So this would be an incorrect format for an IPV six address.
A writer will not accept you typing this address on an interface as it cannot work out how many zeros
are between these two colons and how many zeros are between these two colons.
You can only write colon colon once in an address.
So here are some more examples.
In this IPV six address, we have f01 followed by a bunch of zeros ending in a one.
So we could represent that address by this or by this or by this.
And I'm sure you can think of other variations of this address.
Please note this is the same address.
It's like saying to motto versus tomato or napkin versus Soviet.
It's the same thing just represented in different formats.
He has another example.
We've got four ones followed by one, two, three, four, followed by eight zeros followed by one,
two, three, four, followed by eight zeros followed by four ones.
These four zeros can be condensed down to zero.
And these eight zeros can be condensed down to colon.
Colon.
Or you can say those eight zeros are represented by colon colon.
And these four zeros by a zero and those four zeros by a zero.
Once again, it's the same address, different representations, whichever you prefer.
Once again, this address, a bunch of zeros followed by one, could be represented as colon.
Colon one.
This is the loopback address of an interface, and a string of zeros could be represented as colon.
Colon.
This is an example of an unassigned address.
So I'm on a Windows machine.
I could ping 120 7001 the loopback in IP version four.
By the same token, I can pin colon colon one, which is the loopback in IP version six.
If you remember, the designers of IP version four unfortunately chose a class address for the loopback
address and thus the IP version for address range lost 60 million host addresses because the loopback
is a class A address in IPV six.
The designers have tried to avoid the same mistakes that were made in the past.
So notice the loopback address here is just colon.
Colon one.
But I could also ping.
Which is the same address the loopback.
Or I could do the following.
Or something like this.
Notice it's all the same address.
My PC automatically converts it into colon colon one, which I think is the easiest representation of
this address.
Now in the real world, this is going to be a lot of fun.
It's difficult enough trying to get users to type HTTP, colon, forward slash, forward slash and IP
version for address into a web browser.
Now, can you imagine trying to get them to do the following in IP version six?
In a web browser, you have to enclose the IP address within square brackets as follows.
So in other words, you would type HTTP colon forward, slash forward, slash the IP version six, address
colon.
And then for instance, the port number, let's say 80, 80, and then for instance, a file name,
let's say indexed HTML.
This is obviously going to be very difficult for users.
So I suppose you would use this mostly for diagnostic purposes.
But I can see that we're going to have to ask users to do this at some point.
So good luck with that.
So it's recommended to use fully qualified domain names rather than IP addresses.
So rather than typing something like this, you would say Cisco dot com and then rely on DNS to do the
conversion.
Now to test your IP version six connectivity, you can go to this website, HTTP forge slash forward
slash test IPV six dot com and this will run a series of tests to check your connectivity to IP version
six.
As you can see, I'm going to have a problem where I'm currently residing.
Is also information about IPv6 Day, which, depending on when you're viewing this, may have taken
place already.
It's scheduled for eight of June 2011, when there's going to be a global scale test flight of IP version
six.
It's a major Web.
Companies and other industry players will enable IP version six on their main websites for 24 hours.
Now the different types of addresses in IP version six, some of which you'll recognize already.
The first one is a unicast address, which is an address allocated to a single interface, for example.
There are several types of unicast addresses and I'll go through all of these in more detail in the
upcoming slides.
But firstly, you have a global unicast address.
There is no need for net in IP version six.
That comes as a big shock to a lot of people.
Remember net was introduced to try and conserve IP version for addresses.
Yeah, we have plenty of addresses, so there's no need for net.
A lot of people say that that's a security vulnerability, but remember that net or network address
translation was not developed for security originally.
That's a byproduct of net.
Yeah, we have globally unique unicast addresses.
The address on your interface, on your PC at home will be unique globally.
There is no need for your IP address to be netted to an external or public address.
There are enough public, if you like, global unicast addresses available for all devices in the world.
There are also reserved unicast addresses and we won't worry too much about them.
We also have link local unicast addresses and only refer to a particular physical link.
Routers do not forward link local addresses.
Link.
Local addresses will allow two hosts to communicate with each other without IP addresses being assigned
to those devices.
So two users could connect their PCs back to back using, for instance, a crossover cable, and they'll
have immediate IP connectivity without the need for manual configuration of addresses or for a DHCP
server.
Many IPV six routing protocols also use link local addresses to communicate with each other.
Link Local addresses are also used for link communication such as automatic address configuration,
neighbor discovery and router discovery.
I'll show you what a link local address looks like in a moment.
We also have site local unicast addresses, which are similar in concept to RFC 1918 private addresses.
These are addresses assigned to an entire site within an organization.
So a site local address would only be valid within the site network of an organization so that local
addresses were part of the original addressing architecture from 1995.
But please note that site local unicast addresses have been deprecated since September 2004.
And you can go to read more about this in or of C three, eight, seven, nine where they talk about
deprecating site local addresses.
It's important to note that the development of IPV six has been ongoing for a number of years, and
certain terms that you come across, such as site local addresses, will have changed or been updated
or in this case, deprecated.
So they no longer used because of the confusion and ambiguity of the term site, they have now been
replaced with what are called unique local addresses.
There also some special purpose unicast addresses such as unspecified, which have already shown you
it's just colon.
Colon and is used to refer to the host itself and is used when a device does not know its own IP address.
This would be typically used in the source field of a datagram that is sent by a device that seeks to
have its IP address configured.
So colon.
Colon means unspecified.
I've already demonstrated loopback.
That would be colon.
Colon one which is very similar to 120 7001, for example.
Now IP version for compatible addresses have also been deprecated.
It would allow for the representation of an IP version for address within IP version six.
The most significant 96 bits of the address would be set to zero, while the lot 32 bits of the IP version
for address that is represented.
This was deprecated in 2006.
The reason I still mention these addresses is that you may come across them in IP version six literature.
Just be aware.
Like a lot of things in life, changes have taken place and certain technologies and addresses have
been dropped or deprecated.
So be aware the first type of address and IP version six is unicast.
The second is multicast, where one host speaks to many hosts, and this is very similar to multicast
and IP version four because it enables more efficient use of the network but uses a longer address range.
The advantage of multi costing is that a single stream from a single server can go to many, many devices.
So 100 devices could be receiving the same video stream of one megabits per second rather than having
101 megabits per second streams and thus using up 100 megabits per second.
If unicast was used, the third type is any cost.
Now this does exist in IP version four as well.
This is known as one to nearest unicast addresses are used, but the same address is configured on two
or more devices.
The idea here is that routers will decide on the closest device to reach the destination.
If you are going to Amazon.com, for example, you wouldn't care if that server was hosted in California
or in New York.
You just want to purchase a book, for example, from Amazon.
If you are on the West Coast of the US, you would be closer to a server in California than you would
be to a server in New York.
So with any cost to servers, one in New York, one in San Francisco, for example, are configured
with the same IP address.
If you're on the West Coast of the US and you are going to Amazon.com, for example, you would be routed
to the server in San Francisco because it's physically closer to you than the server in New York.
By the same token, if you're on the East Coast, you'd be routed to the server in New York.
It allows for load balancing and content delivery services.
As I've mentioned, it already exists in IP version four.
So there are three address types in IP version six.
So we are broadcasts which are so common in IP version four broadcasts.
Addresses no longer exist.
Broadcasts can cause lots of issues on networks, and broadcasting has been replaced with multi costing
in an IP version six environment.
We no longer send broadcasts if we want to contact multiple devices.
We send a multicast instead of a broadcast.
Now, as mentioned, an IP version six address is 128 bits in length.
It consists of two main portions.
We have the network portion or network prefix and the interface identifier or host portion.
Each of these is 64 bits in length.
Now, it may come as a surprise to you, but there's no subletting an IP version six like an IP version
for we're not going to subnet to say a slash 30 or slash 28 or slash 16.
We're not going to have classes of addresses like class A, B and C and subnets of those, like taking
a Class C address and submitting it to slash 28 or slash 30.
That no longer exists.
The following statement is important to understand.
Every interface has a mask of slash 64 in your enterprise environments.
Every interface when using a unicast address has a mosque of slash 64.
I'll say that again.
All interfaces have a subnet mask of slash 64.
In other words, the network prefix is always slash 64.
In our enterprise environment, the host portion is always 64 bits.
So this actually makes our lives a lot easier because we don't have to do crazy sub netting in IP version
six in a similar way to we had to do an IP version four.
So there's no subnet like an IP version four.
There's also no net like an IP version for NAT is no longer required.
Addresses an organization's use what are called aggregate able global unicast addresses, which is quite
a mouthful.
I'll just refer to these as global unicast addresses.
But the full name once again is aggregate all global unit cost addresses.
In other words, addresses within your organization are globally unique.
There is no need to net those addresses when going on to the internet because they are like public IP
addresses within organizations.
They are globally unique.
There also unicast addresses.
The term aggregate able means that they can be aggregated or summarized in the global internet.
The designers of IP version six have specifically looked at aggregation of addresses to reduce routing
table sizes within the global Internet.
Now, I'll show you an example of that in a moment.
Each link or interface will have a slash 64 subnet mask.
Once again, this makes life a lot easier.
The interface identifier or ID, which is 64 bits in length, can use a modified UI 64 format address,
which I'll explain in a moment.
But it's essentially a modified Mac address for those of you who've been in networking for a long time.
You may remember how IP also use the Mac address and that same thinking can be used in IP version six.
So the UI address allows us to get the interface ID portion of an IP version six address.
This can be used in multiple IP version six addresses, including linked local site, local as well
as the stateless order configuration mechanism.
Don't worry too much about those now.
I'll be talking about them in a moment.
But please note an IP address can also be used in an aggregated global unicast address.
It doesn't have to be, but you can use it if you so desire and you just set that with a command on
a Cisco router.
So what happens is the router or other device takes its Ethernet MAC address, which is 48 bits in length.
And here's an example of an Ethernet MAC address.
And the address is split in half between the vendor portion and the unique portion of the MAC address.
F f e is inserted in the middle, which results in a 64 bit address.
Remember all of these values on hexadecimal?
So this represents 64 bits.
So again, please note that this address is written in hexadecimal because IP version six addresses
are written in hexadecimal.
These two hexadecimal values equate to eight binary bits.