The move to IPv6 is certain to be painful. Here's what the streaming industry needs to know about device-level addressability in an everything-connected world.
In this era of the World Wide Web, we often use the term "hyper" to describe mega or massive scale: Hyperlinking, hyperspeed, and hyperthreading all spring to mind. Yet there's one area of hypergrowth we all need to take seriously, even with all the hyperbole surrounding it, and that's the double-edged sword of hyperconnectivity.
The number of connected devices -- especially video-equipped devices -- is growing exponentially: Estimates range from 5 billion to 7 billion connected devices in use in 2012 alone, with a growth curve beyond 20 billion connected devices within 3 years.
Seems like a good opportunity to monetize content and move more video bits to all these connected devices, right? True, if all the devices could be connected at the same time.
The internet, however, as you've probably already heard, is running out of IP addresses, the essential numbering scheme required for a connected device to, well, get connected.
How to Read an IP Address
First, a sanity check: Even if the world is running out of the IP addresses needed to keep your local home network -- via cable modem or DSL -- connected to the broader world, your local home network is probably in no danger of running out of connectivity. Home routers work on the premise that they share a single, external IP address, but internally they use one of three network class designations (A, B, C) to connect devices. Each of these classes has an assigned IP range set aside for local area network (LAN) connections, which is why you may see IP addresses on your Apple TV or Wi-Fi-equipped iDevice that start with 10.0.NNN.NNN or 192.168.NNN.NNN.
The farthest right set of three N's, above, can be considered a subnetwork, or subnet, and a single subnet can have up to 256 connected devices (think 192.168.1.0-255). The second set of three N's, moving to the left in the numbering scheme, shows that there can be up to 256 subnets. So the average home not only falls well below the 65,536 IP address limit of but also falls below the 256 device address limit of a single subnet.
If every device were behind a home network router, we might have years to go until we reach the maximum threshold of the octect-based IPv4 addressing scheme. Yet many devices need a direct connection to the internet, not one hidden -- or masked -- behind a router's IP address. Mobile devices need their own unique IP address to roam from network point to network point, for instance, as do mission-critical industrial control devices. Discrete IP addresses are often safer, too, than the blanket security requirements often used on home and even enterprise routers.
Tick-Tock
So exactly how great is the need? According to Google, it turns out that the need is so great that we should've come up with a better scheme yesterday.
"[T]he current Internet addressing system, IPv4, only has room for about 4 billion addresses," notes a Google blog post commemorating the June 2012 IPv6 Launch Day, adding that the available 4,300,000,000 IP addresses are "not nearly enough for the world's people, let alone the devices that are online today and those that will be in the future: computers, phones, TVs, watches, fridges, cars, and so on. More than 4 billion devices already share addresses. As IPv4 runs out of free [available] addresses, everyone will need to share."
Google notes that the number of potential users worldwide is well over 4.3 billion users -- and growing -- so even if each user only had one connected device, we'd run out of IP addresses around 2015. But it turns out we passed that threshold for available IP addresses back in 2011, as the average number of devices owned by a single internet user jumped to 2.5 devices per user.
To compensate for a limited number of IP addresses, network operators share IP addresses, on the assumption that not all devices will be simultaneously connected. They do this through limiting the time-to-live (TTL) settings on a device's IP address request to shorter and shorter durations. For a DSL modem, the TTL may be set to renew its IP address lease every day (24 hours), but for a mobile network cell tower the IP address lease renewal may be as short as 20 minutes on the assumption that only a certain number of devices may attempt to connect to the network during that short time duration.
Yet that sharing model bought only a few years of temporary relief, and many times network operators are faced with having too many devices requesting IP address leases at the same time.
A classic microscale case of this problem was Wi-Fi connectivity at the Macworld San Francisco event or the Apple World Wide Developer Conferences (WWDC) that I've covered for Streaming Media. Over the years, the number of WWDC attendees grew, yet the number of devices per attendee grew even faster: At one particular WWDC, around the time that Steve Jobs introduced the iPhone and iPod touch devices, I remember noticing that some reporters in the press section had three or four Wi-Fi-connected devices. This was the same event where Jobs famously asked users to turn off their Wi-Fi so he could demonstrate the latest Apple gizmo's Wi-Fi connection capability. No one obliged -- after all there were tweets and liveblogs to write since Apple had chosen not to live stream the keynote -- so the next year Apple created a private, nonbroadcast Wi-Fi network for Jobs to show off the next shiny object in a more controlled environment.
A much more important example, though, comes from the world of mobile newsgathering. Several companies that make portable electronic news gathering (ENG) transmission units -- a number of these are covered elsewhere in this year's Sourcebook -- include data transmission units from multiple cellular service providers, as well as the ability to boost the signal strength to reach beyond the closest mobile provider towers to find those towers with fewer connected users. This lesson came from experience, during the Arab Spring protests, especially during the days of Egypt's Tahrir Square protests, where cell towers were overwhelmed both with video content uploads as well as IP address requests.
Short-Term Thinking
The problem in fixing the IP address shortage is somewhat akin to Bill Gates' often-misquoted statement about computer users never needing more than 640KB of RAM.
IPv4 wasn't designed to last forever, yet it was planned to last for decades, and even that hasn't panned out. Comprising four sets of numbers, IPv4 was deliberately planned to accommodate for hyper-growth. It turns out "hyper" is a mathematical prefix used to denote four or more dimensions, so the nod to hyper in the IPv4 world was to use four groups numbers to represent a theoretical 4,300,000,000 IP addresses.
IPv4 uses a base eight numbering system -- a set of eight numbers that can represent up to 256 possible combinations. Base eight is known to most people as 8 bit, for the eight numbers, when it comes to computing. Memory or processor speeds use base eight in increments such as 8, 16, 32, 64, 128, 256. Base eight is used for computing, as it has the ability to be represented in binary (e.g., 0 or 1, on or off) and you may recall that 8 bits make up one byte.
IPv4 used four groups of three numbers, with each group of three numbers considered an octet and limited to 256 at its upper end. To get to the 256 possible combinations, one should understand that the eight numbers are represented this way: NNNN NNNN.
The left and right groups of four digits (bits) are each considered a nibble, with all eight considered a byte. I'm not making this up: someone had a great sense of humor when it came to early computing.
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.
Long-Term Thinking
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:
eb80::6b7a:74ee:ec9d:72c8
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.
Conclusion
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.