As the ‘Internet of Things’ continues to grow and come into its own, just how necessary is it for the ‘Internet of Things’ to have IPv6 addresses? Today’s SuperUser Q&A post has the answers to a curious reader’s questions.
Today’s Question & Answer session comes to us courtesy of SuperUser—a subdivision of Stack Exchange, a community-driven grouping of Q&A web sites.
Photo courtesy of nerovivo (Flickr).
SuperUser reader TrudleR wants to know why the ‘Internet of Things’ enforces a need for IPv6 addresses:
If you have multiple devices within a network, the amount of IPv4 addresses will not increase linearly to accommodate the number of devices. There is just one IPv4 address per network/router that is connected to the Internet. How does the ‘Internet of Things’ (IoT) justify the need for IPv6 addresses?
I definitely think I may be misunderstanding something here, but it does not make sense to me at the moment. I know that IPv6 will be needed in the future, but I do not know which role the ‘Internet of Things’ (IoT) plays in this topic.
Why does the ‘Internet of Things’ enforce a need for IPv6 addresses?
SuperUser contributor Mokubai has the answer for us:
The ‘Internet of Things’ does not absolutely mandate IPv6, but for it to be useful or usable IPv6 is very much preferred.
IPv4, due to the limited number of addresses available, means that not every device can have a public IP. For a cluster of devices to share an Internet connection, they have to share the IP via NAT technologies. If the devices want to host servers, then they have to punch a hole through the device hosting an Internet connection using port forwarding, UPNP, or related technologies. This can get complicated, especially if multiple devices want the same port for their servers. An alternative method is to have a central management server that both the home and remote devices dial into in order to exchange data.
IPv6 does away with the need for NAT, port forwarding, and the lot and allows every device to have its own public IP and associated ports. It removes complicated port forwarding rules and methods for punching holes in firewalls. It removes all the network coexistence problems that plague current devices. You can connect to devices without needing to configure firewalls or set up accounts on third party services that allow you to connect to your device.
Quite simply, it allows the Internet to function in the way it used to before we realized we did not have enough addresses to let every machine have its own public IP address.
To give a slightly more visual idea of how IPv6 and IPv4 allow the ‘Internet of Things’ to work, imagine you have a fully automated home, with every device hosting a server where you can turn it on.
With IPv4, your network is complicated to set up (you will spend ages on your router setting up each individual port forward rule) and the best you get is a list of port numbers you have to write down in a text file:
- myhomenetwork.com:80 (This is my router.)
- myhomenetwork.com:81 (This is my computer.)
- myhomenetwork.com:82 (This is my coffee machine.)
- myhomenetwork.com:83 (Is this my TiVo?)
- myhomenetwork.com:84 (This could be a light bulb, but not sure.)
- myhomenetwork.com:85 (Is this the fish tank heater?)
It also means that unless you take the time to set up multiple ports for each device, then they only have one port available and so can probably only present a web page to the Internet. For devices that want to show an HTTP (web) server, FTP, or SSH server, this can get painful and annoying pretty quickly as you will spend time opening up more ports and writing down what port you gave to what device.
IPv6, due to having publicly available IP addresses for every device, means your network configuration time drops immediately and you can get a more sensibly named network and each device can easily host whatever services it likes:
- mytoaster.myhomenetwork.com:80 (http server, web page showing a push-to-toast button)
- mytoaster.myhomenetwork.com:21 (ftp server, so you can upload perfect toast settings)
- mytoaster.myhomenetwork.com:22 (SSH server, for securely talking to your toaster)
And so on. The ‘Internet of Things’ can work on IPv4 and be just fine, but IPv6 can make it work right.
Have something to add to the explanation? Sound off in the comments. Want to read more answers from other tech-savvy Stack Exchange users? Check out the full discussion thread here.