• Welcome to Hurricane Electric's IPv6 Tunnel Broker Forums.

IPv6 crash course

Started by RedShift2, May 01, 2012, 01:54:24 AM

Previous topic - Next topic


Hi all

I've written an article on IPv6 that serves as an introduction for people that know IPv4 but haven't touched IPv6 yet. It's supposed to take away the cold water fear: http://glennmatthys.wordpress.com/2012/04/28/a-quick-introduction-to-ipv6/

I wrote it based on my own experiences when discovering IPv6, by documenting what my first questions were.


A few comments. The IPv4 address you give as an example in the start of the document is incorrect. You say, but it should have said

The section about the number of addresses available could mention a few more numbers. The number of usable global unicast IPv4 addresses is roughly 3.7 billion. The space wasted due to the organization in hierarchy of blocks has been quantized. You need to raise the number to an exponent that depends on the administrative overhead you can tolerate. An acceptable administrative overhead gives and exponent somewhere in the range 0.8 to 0.9, which means between 3700000000^0.8 and 3700000000^0.9 usable addresses. It is up to you whether you think those numbers are of interest to your readers.

For the IPv6 example addresses use 2001:db8::/32. A good example of an invalid address due to more than one :: would be 2001:db8::1::

Under link local addresses you say "The operating system will automatically assign the host part based on the MAC address of the adaptor.", that is however just one way to do it. Some operating systems use the MAC address, others will generate it in a different way in order to hide the MAC address.

You say private addresses are no more. That is not accurate. There is now the fd00::/8 range that can be used for private networks. The way it works is that you generate a random sequence of 40 bits and append to the 8 bit prefix producing a /48 private network, which you can use as you please, including subnet it into /64 networks, if you wish to do so. The fc00::/8 prefix is reserved for centrally managed assignments of the 40 bits mentioned above, in case random assignments turns out to not work out after all.

You say link local addresses are only for neighbor discovery. In reality they are perfectly usable for accessing equipment, that you only intend to use across a single link. For example they could be useful for the configuration interface on your router, or equipment such as a NAS or a network printer on your LAN at home. One advantage of those is that if they are based on the MAC address, they never change regardless of how you configure your other private and global addresses.

As for the zone information, what you write is how things are usually implemented. Though nothing stops an operating system from being able to handle link local addresses without a zone being specified. An operating system could simply do neighbor discovery on all interfaces if you try to access a link local address without specifying zone. I don't know if any OS does so, but in my opinion, it would make link local addresses even more usable than they are now.

That's my comments for the first third of the document. I might read the other two thirds of the document, once I have some more time to spare.


Thanks for your input!

* Why is invalid?
* The numbers are just purely informative, to give an idea, I don't think they are of interest to my readers
* That example is stated
* Added a note about the MAC address being used to generate the host part, that's just one way to do it
* Changed private addresses with the information about ULA (strange that I didn't come across ULA for all this time when I've been using IPv6 for about a year!). Not going to add how you generate a ULA prefix, that is beyond the scope of this post
* Yes, and that is explained a bit later on (but you probably missed it), added a note about that in one of the earlier paragraphs
* Doesn't seem to work on Windows :(


Quote from: RedShift2 on May 01, 2012, 05:50:55 AM* Why is invalid?
It is not invalid, it is just not a documentation address. The documentation addresses are:

See http://tools.ietf.org/html/rfc5737