Remember your server’s internal IPv4 address 10.0.0.1? How about FE80::1 or even 2001:ACAD:DB8:A::1/64?
Don’t panic. It’s not that bad! Let me explain.
The so familiar IPv4 addresses like 192.168.1.1 will be around for a very long time be we start seeing these FE80::290:2BFF:FE23:4381 along with them.
This is an automatically assigned IPv6 address. It is not routable and will only be used to connect devices on the local network. The good thing about it is that the device generated it itself and the network administrator did not have to worry about it – as it is unique. I will try to cover the basics in this very short post without making it too difficult to read.
IPv6 Addresses
At its core, IPv6 addresses are represented in binary just like IPv4. The difference is that IPv4 addresses are 32 binary digits long while IPv6 addresses are 128 binary digits long.
IPv4 address in binary
10010110.10111100.10011011.10011111
IPv6 address in binary
1001011010111100.1001011010111100.1001011010111100.1001011010111100.1001011010111100.1001011010111100.1001011010111100.1001011010111100
This allows for so many addresses, that theoretically, as Steve Leibson wrote, “So we could assign an IPV6 address to EVERY ATOM ON THE SURFACE OF THE EARTH, and still have enough addresses left to do another 100+ earths. It isn’t remotely likely that we’ll run out of IPV6 addresses at any time in the future”
However, this transition, I think, is likely to take a few decades and Dual Stack network may never disappear. A Dual Stack network is one that allows hosts on the network to have an IPv4 and IPv6 address.
Here is a table showing the structure of an IPv6 address
128 bits |
|||||
3 bits |
13 bits |
8 bits |
24 bits |
16 bits |
64 bits |
Identify the type of addressing | Top-level aggregation identifier (TLA ID) used to identify the device responsible for addressing at the highest level | Reserved for TLA expansion | Next-level aggregation identifier (NLA ID) that identifies ISPs | Site-level aggregation identifier (SLA ID) used by local network management | The interface ID is host portion of the address and is used to identify network interfaces on individual devices |
Public topology |
Site topology |
Interface identifier |
Let’s look at the type of IPv6 communication types one by one.
- Unicast – IPv6 communication that uniquely identifies a network interface on a device
- Multicast – Used to send packets to multiple destinations
- Anycast – Communication type that targets all devices with the same address but only the closest destination will process the data
Unicast addresses are further broken down into several types and here are those most relevant to that blog
- Global Unicast – There are globally unique addresses that are visible on the Internet
- Link-local – These are addresses that are only required for hosts on the same network to communicate. Therefore, they only must be unique on that network. Packets sent with such addresses cannot be transferred over to another network
- Unique Local – These are defined to allow devices from different sites to communicate between each other without allowing the addresses to leak on the Internet. Therefore, these are not routable IP addresses and do not provide end-to-end Internet connectivity
Lets briefly look at the IPv6 benefits
- More efficient routing – routing tables can be kept relatively small because of the way the IPv6 addresses are aggregated. This results in faster routing because the router finds the next hop in less time
- Smaller headers without checksum – the header of IPv6 packets does not need to have the IPv4 checksum area because other layers also perform error checking like TCP in Layer 4 for example
- End to end connectivity – due to the large number of available IPv6 addresses, NAT in its most basic functionality is not needed any more. This allows end-to-end connectivity, which in turn allows other services that previously experienced problems due to NAT
- No broadcast – only unicast, multicast and anycast traffic exist in IPv6. The broadcast traffic has been excluded from the design of the protocol, which removes the possibility of broadcast storms
- Better security – the main security mechanism built into IPv6 is IPsec, implemented using the AH authentication header and the ESP extension header which allows for easier IPSec implementation
- Simplified network device configuration – devices can configure their IPv6 address themselves using the advertised by the router prefix and the EUI-64 address generation process. The 48 bit MAC address of the interface card is split into two parts, in the middle FF:FE is inserted to expand the address to 64 bits and the 7th most significant bit of the EUI-64 is inverted to represent 1
I hope this has been informative for you and managed to clear some of the mystery around the IPv6 addressing
References:
T216, The Open University, http://www.open.ac.uk, 2014
Network Computing, http://www.networkcomputing.com, 2011