Barriers to IPv6 deployment: addressing

There are several things that are keeping IPv6 deployment from being a topic of active discussion here at my work. There are the usual technical issues, but one non-technical one appears to be a major stumbling block on the path to actually getting a deployment project going.

Addresses, memorizing of.

Specifically, IPv4 addresses are comprehensible, and IPv6 addresses just look like a big long string of hex. The human mind has real trouble memorizing lists of more than 7-8 items, and an IPv4 address (192.168.231.148) has four items in it which makes it easy for us to memorize. A fully populated IPv6 address has not only 8 sections, but each section has 4 hex digits in it. IPv6 addresses were not designed for memorization. To the technician who knows that the DNS server is at 192.168.42.42 (or more likely "42.42", since the company prefix is likely memorized), the idea of memorizing an IPv6 address fills them with dread. Which in turn makes them much less enthusiastic about participating in an IPv6 deployment project.

Because of how our network works we're not fully dynamic in terms of v4 addressing. We have several to many subnets that are entirely statically assigned for a variety of reasons, chief among them being that the overhead of static DHCP assignments is perceived as being too great. Also, some devices still aren't smart enough to pull DNS addresses out of DHCP while also having a static assignment, and therefore require manually configured DNS settings. Therefore, some v6 address memorization will have to be done.

We're not under any mandate to get v6 out the door, so we don't have pressure from the top. However, it is time to start prepping our infrastructure to handle IPv6 even if we don't convert wholesale.

For those of you who have been in IPv6-land for a while, what short-cut methods do you use to discuss or keep track of subnets and specific/critical IP addresses? If I can help reduce some of the dread surrounding IPv6 we might get the project going.


Solution 1:

Here are things I've noticed after working with IPv6 addresses:

  1. Don't use "full" addresses. The :: abbreviation goes a long way.
  2. Inside your organization you'll probably deal with a single prefix. This means you can all but ignore the first part of the address.
  3. Unless you're using glass teletypes copy and paste exists. Use it.
  4. As @TomTom points out, DNS exists. Use it.
  5. When you start working with v6 addresses patterns will quickly emerge. You start to recognize things like organizational prefixes (HE, Cisco, etc), Teredo, ISATAP, and stateless autoconfiguration.

IPv6 address don't have to be complex. For example, this is the address of a large company's public web server:

2001:420:80:1::5

I'm assuming the "80" is a subnet reserved for web servers. Unlike IPv4 you could also use the subnet "443" for HTTPS-only servers.

Solution 2:

Keep them matched.

For example, as our IPv4 subnet we use 10.10.0.0/16. When I assign a IPv6 address for host 10.10.1.23 I choose 2001:0DB8::1:23.

This makes it very easy to reconstruct the v6 address during the transition or dual-stack period. In a few years, people will be used to the addressing and perhaps you'll have deployed DHCPv6 throughout.

Solution 3:

Why not set up a plan to assign IPs "old school"? Take your IPv6 Space make your first 4 sections kind of static and use the last four sections like you/your PHB used to:

2001:xxxx:xxxx:xxxx:192:168:42:42

It´not really a technical solution but it takes the fear factor out of the unkown a little bit.

Solution 4:

I wrote Six-N to make memorisation of key addresses easier.

http://alivate.com.au/ProductItem.aspx?ProductID=18cd7179-1e8f-45c3-93cf-345942e682c6

It was an experiment, I'm not expecting floods of support, but it's one possibility.

The crude

4FED9031E90F43FC

Becomes

ISAR SESALT JOSE HERN IS CARLE

I'll leave it to you to decide, if the latter is more memorable/communicable.

Also, it may be better, but perhaps still not useful enough. For one, there needs to be application support for it to work. For example, a powershell script so that the more memorable form can be used in real life.

Why is it more memorable?

You can read the website, but simply - there are less syllables, which are at least more resemblant to how my brain remembers things.