IPv6 was developed to substitute IPv4, as it was expected to run out of addresses.
IPv6 Characteristics
IPv6 is more business-oriented, not defense-oriented like IPv4.
It increases the number of nodes.
IPv6 supports quality of services natively.
IPv6 has a fix header size, for CPU optimization.
IPv6 does not allow fragmentation to avoid additional information and processing.
As of 2024, it is is defined as RFC 8200. There original RFC was RFC 2460.
There is IP mobile.
IPv6 only allows fragmentation in the origin. It does not feature a mechanism equivalent to the Don’t Fragment (DF) bit in IPv4.
A jumbogram is an IPv6 packet that contains a payload higher than 65535 bytes.
IPSec is the default IPv6 security protocol.
Reasons why IPv6 adoption is delayed
There are still devices that only use IPv4.
There are some applications that are only compatible with IPv4.
Infrastructures (like DNS) must be configured for IPv4.
Operating systems did not include support for IPv6. Only since 2010 Windows enabled IPv6 protocols as default.
Most ISP providers are already using IPv6, and hide the final user about IPv4.
IPv6 Address
An IPv6 address uses 128 bits.
While IPV4 is represented by decimal numbers, IPv6 uses hexadecimal numbers.
There are 8 blocks of 4 hexadecimal numbers, representing each block 16 bits or 2 bytes. Each block is separated using colons (:).
Types of IPv6 addresses:
- Unicast
- Link local
- Site local
- Global
- Anycast
- Broacast
- Anycast
Unicast is aimed to a single destination.
Link Local
Site Local is equivalent to IPv4 private addresses. They are deprecated. Local Unit Address (LUA) are used instead. LUA
Global is a public address. They are in the range 2000:/3-3000:/3. It means that their first bits are 001.
Broadcast does not exist per se in IPv6. An special multicast is used. They are removed to allow .
Anycast are address that correspond to a group of nodes. Once a node within the group receives the packet, they are not send forward. They are considered a type
Example of IPv6 address:
2001:0:9d38:6ab8:1c48:3a1c:a95a:b1c2
The IPv6 loopback address is 0:0:0:0:0:0:0:1 or ::1.
The IPv6 multicast address uses the prefix FF00::/8.
The IPv6 link-local address is an IPv6 unicast address that can be automatically configured on any interface. It uses the prefix FE80::/10.
IPv6 Header
The header (with simple format and fixed length) is follow by optional extensions.
The IPv6 Header consists of:
- Version: 4 bits
- Traffic Class: 8 bits
- Flow label: 20 bits
The local link addresses are defined by the prefix FE80::/10.
As there is a source and destination addresses and each IPv6 has 128 bits, 256 bits are used for addressing.
The extension headers do not necessarily need to be examined by each node in the packet route.
The address can be configured applying the following methods:
- Autoconfiguration (Plug and play)
- DHCP
IPv6 Features
A node is any IPv6 device.
A host is a node that does not send packets forward.
An interface can be assigned to a node or to multiple nodes, an vice versa.
IPv6 EUI-65
EUI-65 is an standard published by IEEE that allows a node to autoconfigure or assign automatically its its own IPv6 address. This is done by using the IEEE 802 MAC address of the network card of the own node and the network address prefix /64 to which this node is connected.
IPv6-IPv4 Coexistence
IPv6-IPv4 solutions:
- Dual Stack
- NAT64
- Tunneling
IPv6-IPv4 Dual Stack
In a Dual Stack implementation, devices run both IPv4 and IPv6 simultaneously, allowing communication over both protocols without translation or encapsulation.
This is one of the main transition strategies for IPv6 adoption.
NAT64
Network address translation 6-4 (NAT64) translates IPv6 addresses to IPv4 and viceversa.
IPv6 Tunneling over IPv4
An IPv6 tunneling over IPv4 mechanism allow IPv6 packets to be encapsulated inside IPv4 packets, enabling communication over existing IPv4 infrastructure. These techniques are useful when a network does not support native IPv6.
IPv6 tunneling over IPv4 mechanisms:
- 6to4
- Teredo
- ISATAP
You might be also interested in…
External references
- “Measuring IPv6“
- Steve’s Internet Guide; “IPv6 explained for beginners“
- Microsoft; “Examine IPv6 addresses“, Microsoft
[…] IPv6 […]