I never watch the previews when I watch movies at home. In fact, I hate the previews. I find them really frustrating because they are always so enticing. I know I’ll never see that movie because as soon as this movie starts I’ll forget the name of the one in the preview. Why get excited about a movie I know I’m never going to see?
I kind of feel that way about IPv6. I’ve been watching the preview now for years. Nothing ever seems to happen. ODVA and PROFIBUS & PROFINET International are pretty quiet about it. ODVA supposedly has some sort of plan they’re rolling out at some point. They’ll probably talk about that at the annual meeting in March on that mountain top in Arizona.
IPv6 is a pretty serious standard in the Internet world. And now, since Automation is so closely tied to IT, that means that v6 is going to get real important to us at some point. So, I thought it might be time to revisit the v6 movie; review the concept, assess the benefits and provide some fresh insights into the future of it for us in Automation.
So, let’s start the way every v6 article is required to start; with the dire warnings about the shortages of IPv4 addresses. Let’s all hold hands and shout together: “The last block of v4 addresses has been allocated.”
Yes, that’s true but let’s be a bit, if not skeptical, thoughtful, about that last block of v4 addresses. First, only something like 14% of the assigned addresses have been used. Second, an awful lot of v4 addresses are used in local domains. There is no shortage of v4 addresses in local domains. If there was, I would advise you to go long on v4 addresses and wait for them to go up when the shortage hits. That’s about as good, as investment advice goes, as telling you to buy Bitcoins.
So, the folks in charge of the Internet (how do I get that job?) built a completely new way of addressing IP devices. And while doing it, they fixed (?) a bunch of things that people didn’t like about the old IP addresses:
1. Built a Larger Address Space
The length of an IP address in IPv6 is 128 bits. That’s four times the size of the IPv4 address making for a total of 3.4×1038 addresses. That’s about 5x1028 addresses for every single person on the planet. The IPv6 address is represented as eight groups of four hexadecimal digits separated by colons; 2001:0dc9:85a3:0043:0000:8a3e:0407:2374, for example. There is a lot of short hand for that notation. Visit www.ripe.net/ipv6-address-types to learn more.
2. Built-In Network Security
Everybody is talking endlessly about security so it’s natural that they would build security right into IPv6. They’ve included an Internet Protocol Security framework called IPSec. IPSec uses cryptographic security to provide things like network-level data integrity, data confidentiality, authentication, replay protection, origin authentication and more.
3. Eliminated Broadcast Packets
IPv4 had a standard way for one device to send a packet that had to be read by all devices on the network. Disinterested hosts, hosts not wanting to read the broadcast message, still had to read any and all broadcast messages. Thankfully, support for that was removed in IPv6.
4. Implemented Directed Data Flows
Instead of broadcast packets, IPv6 supports multicast operation. Multicast allows bandwidth-intensive data flows (like multimedia streams) to be sent to some number of destinations simultaneously.
5. Increased Packet Processing Efficiency
A lot of work was put into router efficiency. IPv6 drops the IP checksum, reduces the size of the routing tables and simplifies routing.
6. Simplified Address Assignment
Tired of individually configuring IP addresses for every device in your network? Well, it gets a lot easier in IPv6. In v6 a router broadcasts its 64-bit link-local prefix. A Link-local address is an address with a ten-bit prefix of 0xfe80 followed by 54 zero bits. A router never forwards any link-local address out of its domain. A device, like a drive, that wants to automatically generate an IP address can simply extend its MAC address from 48 to 64 bits and prefixes it with the 64-bit link-local address to create a unique IP address. In IPv6 a router periodically sends out a router advertisement which among other things advertises its link-local address.
7. Eliminated NAT Tables
The old NAT (Network Address Translation) tables are eliminated in IPv6. NAT tables map addresses inside a router. NATs map outside global internet addresses to local addresses inside a domain in a number of ways. A company could use, for example, a single global IP Address and map that to one or more than one local addresses.
The big nasty issue with IPv6 is the fact that IPv4 and IPv6 are not interoperable. The single greatest failure of IPv6 is its lack of backwards compatibility with v4, but that horse has left the barn. All we can do now is manage the transition. There’s three ways to do that:
1. A dual stack running both IPv4 and IPv6 simultaneously.
2. A “tunnel” where packets for one are put inside the other.
3. A Network Translation device that converts packets of one into the other.
None of these are perfect solutions. In fact, all of them are going to give you headaches. When we are going to be forced to address this and deal with this mess is unclear, but there are some things that I think are clear:
1. The Chinese and US governments have decided that IPv6 is a good standard, so it’s going to be written into a lot of specs. If you build devices, you are going to run into an application where you have to satisfy that checkbox.
2. For most device vendors this isn’t going to be much of a problem. You’ll have to get an updated TCP/IP stack that supports IPv6 and change the way the user enters the IP Address.
3. If you integrate devices and build systems, this is going to be an additional headache. You’ll need to change how you design and implement systems. It’s very likely that you’ll have some devices that will only be IPv4 and some that will only be IPv6.
4. If you have deployed EtherNet/IP or Profinet IO you are going to need a stack update to support v6.
Moving from v4 to v6 isn’t going to be trivial. This isn’t like having too many drinks at the Bellagio in Vegas and running over to the Elvis Chapel and getting married. You’re going to need a strategy, some tools and a plan to get from an IPv4 environment to a joint IPv4 / IPv6 one, followed by a plan for all IPv6 operation.
Note: A longer, more complete article on this topic is posted on Machine Design Magazine’s web site at: http://machinedesign.com/community/guest-commentary