Preparing for IPv6, a New System for Internet Addressing
Here's an example of what it might look like to count from one to three in base eight numbering:
1: 0000 0001 2: 0000 0010 3: 0000 0011
The 1 is represented by a single digit in the right nibble, with null representing the left nibble, so 0 + 1 equals 1. The two is represented by the second digit on therightnibble,so0+2equals2.Usea1inboththe right-side digits in the right nibble and you get 0 + 2 + 1 equaling three. An example of an octet-to-byte calculator can be found at http://tech.bpace.us/?p=1198.
Base eight meant that the IP addressing scheme could only allow simultaneous connection of 4.3 billion devices. Yet that's being a bit generous: given the set-aside IP address ranges we noted above -- 10.0.NNN.NNN or 192.168.NNN.NNN -- the number of available IP addresses is somewhat lower.
All humor aside when it comes to nibbles or bits or bytes, the 8-bit thinking led to a foreseeable shortage of IP addresses, and a serious limitation of this structure was apparent to those who monitored the inner workings of computing and networking in the 1990s.
To understand why we needed to get to a point beyond the base eight limitation, let's look at what Bill Gates really said when talking about the 640KB RAM limitation:
"We knew that even 16-bit computers, which had 640K of available address space, would be adequate for only four or five years," Gates said in a 1996 interview.
To move beyond the 640KB "bottleneck," Microsoft took the next step and moved to 32-bit computing, allowing a logarithmic increase in addressable memory. It was painful, as the operating systems had to be replaced to accommodate for memory expansion, and programs needed to be written to take advantage of the memory. Without 32-bit computing, though, we never would be able to store files greater than 2GB in size or have enough memory to have a 16GB or greater iOS device.
So, too, the next step in IP addresses -- IP version 6 (IPv6) -- offers a quantum leap into addressable devices.
"How many more, exactly?" Google asks rhetorically in its blog post. "Well, how about 340 trillion trillion trillion (or, 340,000,000,000,000,000,000,000, 000,000,000,000,000)? That's how many addresses the internet's new ‘piping,' IPv6, can handle. That's a number big enough to give everyone on Earth their own list of billions of IP addresses."
What Do I Do to Prepare?
The move to IPv6 will be a painful transition, as routers and switches and devices need to be upgraded -- or replaced, if their memory or processing power can't pass muster -- to accommodate the new, more complex numbering scheme.
Yet the first thing one needs to do to prepare is understand how the expanded solution differs from IPv4. Just like the move from 16-bit to 32-bit computing required reworking the hardware and software, it also required a general understanding of the underpinnings to answer simple questions around why a consumer's device would no longer function with a new version of a popular program.
IPv6 uses hexadecimal rather than base eight numbering. Hexadecimal is base sixteen, and 16-bit computing uses this same numbering scheme with the letters A, B, C, D, E, and F added to the 10 digits (0-9).
In addition, IPv6 uses the four sets of alphanumeric characters, and it also has a secondary set of numbers. Here's an example from a router with an IPv6 address:
The far right grouping (6b7a:74ee:ec9d:72c8) looks similar enough to a classic IPv4 address (e.g., 192.168.1.15) but includes the letters and one extra digit for further expansion.
The far left four-digit hexadecimal group, in the above example, includes two colons between it and the rest of the numbering scheme. While it might look like a way to separate the left group from the right, it's actually a clever, character-saving device: the two colons represent "missing" groups that only consist of zeros.
There has been some confusion around the idea of the double colon, and there appeared to be a conflict between RFC 5321 (which governs SMTP, or email traffic) and RFC 4291 (which governs IPv6).
RFC 5231 notes that "No more than 6 groups in addition to the ‘::' may be present," while RFC 4291 notes, "The use of ‘::' indicates one or more groups of 16 bits of zeros."
The problem and solution are pointed out by Dominic Sayers.
"[A]long come Seiichi Kawamura and Masanobu Kawashima to our rescue," writes Sayers (http:// go2sm.com/sayers). "The brand-new RFC 5952 gives us clear guidelines about the use of the double colon in IPv6 addresses: ‘The symbol ‘::' MUST NOT be used to shorten just one 16-bit 0 field.'"
So our example (eb80::6b7a:74ee:ec9d:72c8) conforms properly, since there are only five four-digit hexadecimal groups, in addition to the "::" that designates at least two sets of 16-bit zero fields.
In other words, "::" covers "at least two 16-bit groups of zeros," meaning it cannot represent one set of 0000 nor can it theoretically represent more than six sets of 0000.
OK, but what about those really long IPv6 addresses that have way more than six hexadecimal groups? Turns out that those are designed to handle the transition from IPv4 to IPv6.
Just like the 10.0.NNN.NNN and 192.168.NNN.NNN address blocks are set aside for specific use within IPv4, there is a specific set-aside for the transition of packets from IPv6 to IPv4. You'll know this is in play when the farthest left group starts with 2002.
So, when you look at a MacBook Pro running Mountain Lion (OS X 10.8) and notice that the IPv6 address starts with "2002:189e:81f1::" you can immediately identify that as a transitionary IPv6 address designed to allow packets generated on an IPv6-compliant network to move with relative ease on to an IPv4 network.
In other words, you can safely start to experiment with IPv6 today -- including the benefits of billions of devices directly communicating with billions of other devices -- even if some of your test devices are still on IPv4 networks.
That last point is the primary benefit of IPv6, and we get there without requiring network address translation (NAT) that is so part-and-parcel of content delivery behind firewalls today. The upside of intermediary shared IP addresses has always been the ability to disconnect a device from the network, but that's always possible with IPv6 by simply disconnecting the network from the device.
So will it be an easy transition from IPv4 to IPv6 IP addresses? Not particularly, but we are much further along today than we were even 2 years ago, thanks to transitional options such as the "2002" designation noted earlier.
Yet the benefits are well worth it: The upside of the pain of "upgrading" to IPv6 is that its trillions of IP addresses assumes from the outset that each user may have thousands of connected devices that need simultaneous access to internet-based content. When it comes to streaming media delivery, including monetization opportunities such as analysis-driven advertising, that device-level addressability is exactly what is needed.
This article appears in the forthcoming 2013 Streaming Media Industry Sourcebook.