Sei sulla pagina 1di 4

Understand IPv6 Addresses

By Carla Schroder September 20, 2006


• Post a comment
• Email Article
• Print Article
• Share Articles
Last week we dug into the whys and wherefores of using IPv6. Today we're going to learn all about
how to understand IPv6 addressing by breaking it down into nice understandable chunks, and we'll
cover some shortcuts for writing IPv6 addresses. You'll be able to look at an IPv6 address and
understand exactly what it does.

In the olden days, it was possible to skate over understanding the binary math behind IPv4 addresses
by memorizing the various classes and their address ranges. That won't work for IPv6. Get yourself an
IP address calculator and learn how work out the conversions and calculations, or IPv6 will forever
remain a mystery. ipv6calc is an excellent one that runs on Linux/Unix. A bit of Googling will uncover
an abundance of Web-based IP calculators and converters.

IPv6 Address Types


Increasing the IP address pool was one of the major forces behind developing IPv6. It uses a 128-bit
address, meaning that we have a maximum of 2¹²⁸ addresses available, or
340,282,366,920,938,463,463,374,607,431,768,211,456, or enough to give multiple IP addresses to
every grain of sand on the planet. So our friendly old 32-bit IPv4 dotted-quads don't do the job
anymore; these newfangled IPs require eight 16-bit hexadecimal colon-delimited blocks. So not only
are they longer, they use numbers and letters. At first glance, those mondo IPv6 addresses look like
impenetrable secret code:

2001:0db8:3c4d:0015:0000:0000:abcd:ef12
Related Stories
• The IPv6 Transition: How Much Will It Cost?
• IPv4 Officially Depleted, Eyes on IPv6
• Last of the IPv4 Addresses Allocated

More Related Stories »


We'll dissect this in a moment and learn that's it not such a scary thing, but first let's look at the
different types of IPv6 addressing.

Under IPv4 we have the old familiar unicast, broadcast and multicastaddresses. In IPv6 we
have unicast, multicast and anycast. With IPv6 the broadcast addresses are not used anymore,
because they are replaced with multicast addressing.

IPv6 Unicast
This is similar to the unicast address in IPv4 – a single address identifying a single interface. There are
four types of unicast addresses:
• Global unicast addresses, which are conventional, publicly routable address, just like
conventional IPv4 publicly routable addresses.
• Link-local addresses are akin to the private, non-routable addresses in IPv4 (10.0.0.0/8,
172.16.0.0/12, 192.168.0.0/16). They are not meant to be routed, but confined to a single
network segment. Link-local addresses mean you can easily throw together a temporary LAN,
such as for conferences or meetings, or set up a permanent small LAN the easy way.
• Unique local addresses are also meant for private addressing, with the addition of being
unique, so that joining two subnets does not cause address collisions.
• Special addresses are loopback addresses, IPv4-address mapped spaces, and 6-to-4
addresses for crossing from an IPv4 network to an IPv6 network.

If you read about site-local IPv6 addresses, which are related to link-local, these have been
deprecated, so you don't need to bother with them.

Multicast

Multicast in IPv6 is similar to the old IPv4 broadcast address a packet sent to a multicast address is
delivered to every interface in a group. The IPv6 difference is it's targeted instead of annoying every
single host on the segment with broadcast blather, only hosts who are members of the multicast group
receive the multicast packets. IPv6 multicast is routable, and routers will not forward multicast packets
unless there are members of the multicast groups to forward the packets to. Anyone who has ever
suffered from broadcast storms will appreciate this mightily.

Anycast

An anycast address is a single address assigned to multiple nodes. A packet sent to an anycast
address is then delivered to the first available node. This is a slick way to provide both load-balancing
and automatic failover. The idea of anycast has been around for a long time; it was proposed for
inclusion in IPv4 but it never happened.

Several of the DNS root servers use a router-based anycast implementation, which is really a shared
unicast addressing scheme. (While there are only thirteen authoritative root server names, the total
number of actual servers is considerably larger, and they are spread all over the globe.) The same IP
address is assigned to multiple interfaces, and then multiple routing tables entries are needed to move
everything along.

IPv6 anycast addresses contain fields that identify them as anycast, so all you need to do is configure
your network interfaces appropriately. The IPv6 protocol itself takes care of getting the packets to their
final destinations. It's a lot simpler to administer than shared unicast addressing.

Understand IPv6 Addresses


By Carla Schroder September 20, 2006
(Page 2 of 3)

Address Dissection
• Post a comment
• Email Article
• Print Article
• Share Articles
Let's take another look at our example IPv6 address:

2001:0db8:3c4d:0015:0000:0000:abcd:ef12
______________|____|___________________
global prefix subnet Interface ID
The prefix identifies it as a global unicast address. It has three parts: the network identifier, the subnet,
and the interface identifier.

The global routing prefix comes from a pool assigned to you, either by direct assignment from
aRegional Internet Registry like APNIC, ARIN, or RIPE NCC, or more likely from your Internet service
provider. The subnet and interface IDs are controlled by you, the hardworking local network
administrator.

Related Stories
• The IPv6 Transition: How Much Will It Cost?
• IPv4 Officially Depleted, Eyes on IPv6
• Last of the IPv4 Addresses Allocated

More Related Stories »


You'll probably be running mixed IPv6/IPv4 networks for some time. IPv6 addresses must total 128
bits. IPv4 addresses are represented like this:

0000:0000:0000:0000:0000:0000:192.168.1.25
Eight blocks of 16 bits each are required in an IPv6 address. The IPv4 address occupies 32 bits, so
that is why there are only seven colon-delimited blocks.

The localhost address is 0000:0000:0000:0000:0000:0000:0000:0001.

Naturally we want shortcuts, because these are long and all those zeroes are just dumb-looking.
Leading zeroes can be omitted, and contiguous blocks of zeroes can be omitted entirely, so we end up
with these:

2001:0db8:3c4d:0015:0:0:abcd:ef12
2001:0db8:3c4d:0015::abcd:ef12
::192.168.1.25
::1
I usually end up counting on my fingers, which is probably not the best method. ipv6calc is invaluable
for checking your work. Suppose you're not sure if your compressed notation is
correct. ipv6calcdisplays the uncompressed notation:

$ ipv6calc --in ipv6addr --out ipv6addr --printuncompressed ::1


0:0:0:0:0:0:0:1
$ ipv6calc --in ipv6addr --out ipv6addr --printfulluncompressed
2001:0db8:3c4d:0015::abcd:ef12
2001:0db8:3c4d:0015:0000:0000:abcd:ef12
Next week we'll get to the fun part: setting up a local IPv6 network, connecting to a public IPv6 network
and learning how to calculate and assign IPv6 addresses.

http://ipv6.com/articles/general/ipv6-the-next-generation-internet.htm

Potrebbero piacerti anche