We cannot talk about the internet without talking about IPv4. This IP version 4 (IPv4) appeared in June 1978, along with Transmission Control Protocol (TCP) version 4, although it was not officially released until September 1981. Together, these two are known as TCP/IP. This internet protocol suite governs rules for packetizing, addressing, transmitting, routing, and receiving data over networks.
I: Internet
P: Protocol
v: Version
4: (Number of the version)
Let’s go over how IPv4 works in very simple terms:
Imagine that you have a house and that every house in the world has a particular address, so you can send letters and packages. This unique address is called an IP address. IPv4 is a type of special address used for all houses on the internet. Each IP address looks like a long number of four smaller sections, just like a combination of four locks.
Each section of the IP address can have a number from 0 to 255. When you put those four sections together, you get a unique IP address for each house on the internet.
For example, an IP address could look like “192.168.11.4”. In this case, “192” would be the first part, “168” would be the second part, “11” would be the third part, and “4” would be the fourth part.
Every time you send a message or open a web page, your computer uses that IP address to find the right house on the internet where the information should go. That way, everything on the internet knows where to go, like a giant map.
The Players Behind Internet Protocol Coordination
The issue with IPv4 is that there is a limit of combinations that we can use. That limit is 4,294,967,296. At this moment, there are no more IPv4 available. Here we have the exhaust date for each region:
- Asia-Pacific (APNIC): APNIC exhausted its last IPv4 addresses on April 15, 2011.
- Europe (RIPE NCC): RIPE NCC exhausted its last IPv4 addresses on November 25, 2019.
- Latin America and the Caribbean (LACNIC): LACNIC exhausted its last IPv4 addresses on June 10, 2020.
- North America (ARIN): ARIN exhausted its last IPv4 addresses on September 24, 2015.
- Africa (AFRINIC): AFRINIC exhausted its last IPv4 addresses on November 14, 2019.
Currently, only recovered and returned addresses are available, in addition to a pool reserved exclusively for critical infrastructure. The number of recovered or returned blocks is dynamic.
Some providers have started to charge per public IPv4 because of the availability of IPv4. Amazon announced that starting February 1, 2024, there will be a charge of $0.005 per IP per hour for all public IPv4 addresses, whether attached to a service or not.
Let’s dive into who is in charge of handling all these IP addresses and allocating them.
Internet Corporation for Assigned Names and Numbers (ICANN)
This independent organization has a broader role and encompasses the global oversight and coordination of the internet. It also operates to oversee various areas related to the internet, such as the administration of domain names and IP addresses.
Internet Assigned Numbers Authority (IANA)
This is a technical function that operates under the supervision of ICANN. IANA is responsible for allocating and managing the internet’s critical number resources, such as IP addresses (IPv4 and IPv6) and internet protocol numbers, as well as specific parameter identifiers used in internet standards.
By Region
Regional Organization | Coverage area |
Rèseaux IP Européens Network Coordination Centre (RINE NCC) | Europe, the Middle East, and some parts of Central Asia. |
Asia-Pacific Network Information Centre (APNIC) | Asia-Pacific region. This includes countries like China, India, Japan, Australia, South Korea, and many others. |
Latin American and Caribbean Network Information Centre (LACNIC) | Latin America and some parts of the Caribbean, serving countries like Mexico, Brazil, and Argentina. |
American Registry of Internet Numbers (ARIN) | North America, including the United States, Canada, and some territories in the Caribbean. |
African Network Information Centre (AFRINIC) | African continent and the Indian Ocean region. |
Going from 34 Bits to 128 Bits
So now that we know what IPv4 is, how it works, and who is in charge of handling all the allocations, let’s talk about IPv6. Let’s consider the example of Facebook’s IPv6.
IPv6 has a few improvements over IPv4, and these are the most important:
Larger Address Space
This is the most evident. IPv6 uses 128-bit addresses, compared to IPv4’s 32-bit addresses. This provides a much larger address space, managing the issue of IPv4 address exhaustion.
Plug and Play
This refers to the capability of devices and systems to self-configure and automatically connect to an IPv6 network without the need for extensive manual configuration. This feature facilitates the integration of devices into a network without requiring direct user or network administrator intervention. In IPv6, self-configuration is a key component of this “Plug and Play” capability. There are two main types of autoconfiguration in IPv6:
- Stateless Autoconfiguration: In this method, devices can configure their IPv6 addresses and other network parameters without needing a Dynamic Host Configuration Protocol (DHCP) server. Devices use information obtained from Router Advertisements sent by routers on the network. Router Advertisements contain information about the network prefix and other details, allowing devices to construct their own IPv6 addresses.
- Stateful Autoconfiguration: In this approach, a DHCPv6 server is used to assign IPv6 addresses and other configuration parameters to devices. Despite being called “stateful,” this form of autoconfiguration does not store state on the server, as in DHCPv4, but simply assigns addresses and other parameters.
The IPv6 “Plug and Play” function through autoconfiguration greatly simplifies the onboarding of new devices to the network. Devices can connect to the IPv6 network, automatically obtain IP addresses and other essential configuration parameters, and start communicating without requiring extensive manual setup.
This capability is particularly valuable in environments like the Internet of Things (IoT), where the number of devices can be massive and manual configuration would be impractical. IPv6’s “Plug and Play” feature facilitates scalability and network expansion in an increasingly interconnected world.
Speed and Security Improvements
- As every new protocol has this kind of improvement, this is not the exception. IPv6 allows for more efficient packet transmission due to its simplified design. This can lead to improved performance compared to IPv4.
- IPv6 addresses are longer and more complex than IPv4, meaning more time is required to decipher. Specifically, we are talking about going from about five minutes (with IPv4) to several thousands of millions of years! It is pretty impossible to decode IPv6 by doing a brute-force attack. Also, it has support for end-to-end authentication and encryption.
In my opinion, one of the most significant improvements is that every single device will have its own Public IP Address and we will not lose connection each time we change between networks, so no more canceled downloads while doing these kinds of changes.
System and network engineers have to be aware of the change that proposes using IPv6 to serve our services. This is pretty important because in the near future all sites will be using this new protocol. I would like to present an example of a backend configuration using NodeJS as backend technology (code):
To access this server, we have to go to Google Chrome and place the following into the URL Box: http://[::1]:3000/, and we should be able to see the following result:
Another test that you can do is make a ping to an IPv6 LAN address by running the following command for Mac:
- ping6 fe80::1c01:32f7:c553:7340%en0
(We have to specify the IPv6 and the network interface.)
What System Engineers Should Consider Next
IPv6 is imminent, and we have to be ready for it. We must know how it works and how to implement it in our daily activities as System Engineers. Here are a few actions to prepare for this new internet chapter:
- Request our internet service provider to enable us to use this IPv6 protocol.
- Enable IPv6 on servers and configure services to work over IPv6. You can install a web server, a mail server, or any other service and test the access through IPv6 addresses or maybe together with IPv4.
- Play with Dual-Stack Configuration on Devices. If you have a device that supports IPv4 and IPv6 (such as a printer or IP camera), configure it to work in dual-stack mode and test connectivity through both versions of the protocol.
- Test Speed with IPv6 using websites that measure the speed of your connection, such as speedtest.net, and see if there are differences in speed when using IPv6 compared to IPv4.
Remember that when performing these tests, you may encounter challenges or differences in experience compared to IPv4. Exploring IPv6 can be a great way to better understand how the internet works and how network technologies evolve!
If you enjoyed this, be sure to check out our other IoT articles.
- Definitive Guide on Getting Ready for Intelligent Connectivity
- How 5G Will Impact the IoT
- How Can We Secure the Internet of Things?
- How IoT Can Boost Renewable Energy
- How to Avoid Common IoT Mistakes
Henderson Franco is a Full Stack Engineer at heart. He has a Computer Science degree, likes to work with different technologies, and enjoys learning new things every day. He has been working as an Angular Developer at BairesDev since 2022.