In this quickstart guide to IPv6, you’ll learn everything you need to start using and working with IPv6. You will also learn how to migrate and deploy IPv6 on your network. In the last section, we will get hands-on and learn how to turn this into reality by getting IPv6 addresses for your deployments.
What exactly is IPv6?
IPv6 is the latest version of the Internet Protocol. Just like IPv4, IPv6 also serves as a unique identifier for any device or service so that it can be located across the vast Internet. Without IPv6, there is no way to find a destination on the Internet. Just like the Amazon delivery guy, without your precise and unique home address, he wouldn’t be able to deliver your package. IPv6 is also used by network devices (or services) to handle (find, route, or even avoid) connections.
Although you could be hearing a lot about the IPv6 (Internet Protocol version 6) addresses lately, the reality is that this version of IP was introduced back in 1995. The 90’s scientists had already predicted that we would run out of IPv4s, so they designed and developed IPv6 to answer this problem.
To solve the IPv4 exhaustion problem, IPv6 uses a format that supports a staggering number of combinations of network addresses. To put into contrast (IPv4 vs. IPv6 differences), IPv6’s format allows 340 trillion trillion trillion IP addresses, while IPv4 allows about four billion (4.3 billion). By the time IPv4 was implemented, scientists had thought 4.3 billion addresses were enough, but they didn’t expect unprecedented growth and technologies like IoT, cloud, mobiles, etc.
IPv6 has evolved so much since its development back in 1995 that now, it not only solves this IPv4 exhaustion problem but also provides new amazing services and benefits.
Technical details of IPv6.
The IPv6 protocol is defined under RFC 2460. IPv6 uses a 128-bit address (16 bytes) space that results in 2^128 addresses. This combination of 128 bits (in binary or decimal) would be too difficult to memorize for humans, so in order to make IPv6 easy to read and memorize, it is written in hexadecimal notation.
Let’s deconstruct the example IPv6 address: 0123:4567:89ab:cdef:0123:4567:89ab:cdef (Refer to the picture below.)
- You’ll notice numbers and letters (from A to F), which are hexadecimal.
- There are eight groups or quartets separated by colons (:).
- Each quartet represents two bytes or 16 bits (8 x 16 = 128 bits.)
- The total size of the address is 128 bits or 16 bytes.
- The most significant position is the leftmost value.
The fact the IPv6 addresses are 128 bits in size results in long and difficult-to-memorize addresses like the above. IPv6 scientists introduced a couple of rules to help reduce the size of these addresses and make them easier to memorize, manage, and use. For instance, some addresses allow omitting leading and consecutive sections of zeros- which results in shorter and more digestible formats.
Summary of IPv6 technical details.
- Address size: 128 bits.
- Packet size: 1280 bytes (without fragmentation)
- The number of addresses. 2^128 ≈ 340 trillion trillion trillion
- Notation: Eight binary quartets represented in hexadecimal.
- Example format: 2001:db8::/48
- Loopback address: ::1
- Dynamic addressing: DHCPv6 or SLAAC.
- No broadcast. (But uses multicast for similar functionality)
- Security: Built-in IPsec and always available.
Migration to IPv6
A couple of years back, scientists predicted a total collapse of the Internet due to the rapid exhaustion of IPv4s (our current and beloved Internet Protocol addressing scheme). For now, and for the most part, these dire warnings about “the Internet apocalypse” have ended.
Although we have temporarily found a way out of those IPv4 address exhaustion warnings, the number of IPv4 addresses is indeed still depleting. Sooner or later, we will run out of fresh IPv4s to allocate those newer and massive number of IoT devices coming our way.
It is a fact that the migration to the IPv6 addressing and the adoption of other technologies (such as NAT, proxies, gateways, etc.) are helping us hold a bit further. In fact, (as you already know) the IPv6 addressing scheme was designed to solve this address exhaustion. The transition to the IPv6 addressing scheme should be an inevitable strategy for network growth.
No one can stop this speeding train without breaks, but what can you do to slow it down?
- Don’t simply deal away with IPv4 (for now). Most organizations and the entire Internet still depend on IPv4. So, IPv6 migration doesn’t mean the total replacement of IPv4 with IPv6. Migration means making IPv6 work alongside IPv4 (for a while). It means helping both protocols coexist for some time until IPv6 consumes IPv4.
- Migrate through a dual-stack approach. So if you can’t simply shut down IPv4, use the dual-stack (IPv4 and IPv6) approach. A dual-stack device has two network interfaces; one that understands IPv4 and the other IPv6. For instance, Windows supports dual-stack sockets for IPv6 Winsock applications— an application creates one socket for IPv4 and another for IPv6.
- Migrate through the tunnel approach. Another way you can migrate to IPv6 is by encapsulating IPv6 inside IPv4, a technique known as tunneling. Tunneling is helpful if you have an internal IPv6-enabled network attempting to communicate to another remote IPv6 network over the shared Internet IPv4 network.
- Use a translation proxy. Similar to the above technique, however, the translation technique uses a device, such as a server or proxy, to map and change an IPv4 into an IPv6 address. This IPv6 proxy can be deployed on the perimeter of a network to intercept all IPv6 packets and translate them into IPv4 (or vice versa).
How can you start with IPv6?
Now that you know what IPv6 is, some of its technical background, what problems it solves, and what the techniques are to migrate from IPv4 to IPv6, let’s see how to bring it into reality.
If you are using a modern device and operating system, your system is ready for IPv6. It is likely that your computer has an IPv6 auto-configured for use, plus your Internet Service Provider might be already using a dual-stack (IPv6 and IPv4) communication.
- Using IPv6 on a single computer? If your device already supports IPv6 (and is enabled), it will do stateless autoconfiguration and assign a new IPv6 address. If you are unsure, check your Network settings under TCP/IP configuration. You can also use an online tester like test-my-IPv6 or ipv6-test.com to know whether your device and ISP support IPv6.
- Enabling IPv6 throughout your network? There are various steps to enabling IPv6 throughout a network (we will not cover all but provide a high-level view). Basically, you would need a router that supports IPv6 for internal communications, have all your internal devices enabled with IPv6, and (if you are connecting through the Internet), have your ISP supported with information like PPPoE, Dynamic IP (SLAAC/DHCPv6), and Static IP.
- Need more than one IPv6 for Internet-wide communications? If you are developing an application or have a server that needs the benefits of IPv6, you will likely need more than one IPv6. In this case, you can rent an IPv6 block or buy it from a reliable provider.
This quickstart guide to IPv6 has provided you with a solid understanding of IPv6 and how it works. With the exhaustion of IPv4 addresses and the increasing adoption of IPv6, network administrators and engineers need to be familiar with IPv6 and its features.
Now that you have a good grasp of the basics, we encourage you to continue exploring IPv6 and its capabilities. We also encourage you to start implementing IPv6 on your network and take advantage of its benefits, such as improved security and increased address space.
Remember, IPv6 adoption is a gradual process, and it may take time to fully transition to IPv6. But by starting now, you will be better prepared for the future and can avoid potential compatibility issues.
Thank you for reading this quickstart guide to IPv6. We hope you found it informative and useful.
Good luck with your IPv6 deployment!