Recommended Reading on IPv6

A lot of people say that a lack of training is the biggest, or their biggest, roadblock to deploying IPv6. I've always said that a few hours of reading is all anyone needs. IPv6 is no more compplicated than, say, OSPF, and arguably simpler than BGP. If you learned about IPv4 by working on networks that already existed, then this may be new to you, but learning technology by reading is the single greatest skill you can develop as an engineer.

My recommended reading list for IPv6 isn't a book or an article, but the following, in order:

  1. draft-ietf-6man-rfc4291bis, "IPv6 Address Architecture." Sure, you could read RFC4291, but this draft is pretty close to done, and contains all the current updates.
  2. RFC4861, "Neighbor Discovery." It's long, at almost 100 pages, but you can probably skip most of the packet format stuff. If you understand the stuff in this document, including ND, DAD, RS, RA, NS, NA, then you have a solid understanding of IPv6.
  3. You need both of these in order to understand how magically hosts get provisioned:
    • RFC4862, "IPv6 Stateless Address Autoconfiguration" or "SLAAC", and
    • RFC8106, "The RDNSS Option in RA".
  4. RFC3315, "DHCPv6". You should know IA_NA and IA_PD. You should learn as much about DHCPv6 as you know about DHCP. One of the interesting parts is how DHCPv6 options can be used to provision transition mechanisms (but that's another post).
  5. draft-ietf-6man-rfc1981bis, "Path MTU Discovery". Again, update in progress, but understanding this will let you troubleshoot the most common IPv6 problem.
  6. For extra credit: draft-ietf-6man-rfc2460bis, "IPv6 Specification". I'm sure it sounds weird to say that the base spec is extra credit, but other than packet structure, the important stuff here is Extension Headers and flow labels, and there aren't many practical uses for those yet. If you want to think of creative uses for IPv6, then you should look into those, and especially Segment Routing. But if you've read the full list up to this point, you have enough information to design, build, and operate an IPv6 network.

The whole list can be done in a day, though you'll need to refer back to it often, and if you try to shotgun that much new information, your brains may dribble out your ears. But given that it's just a handful of documents, why buy a book or pay for training?

The next time somebody complains that they need IPv6 training, point them to this list. The rest is just command syntax.

Lee Howard
15 June 2017