Page183
IPv6
IPv6 is the successor to IPv4, featuring far larger address space (128-bit addresses compared to IPv4’s 32 bits), simpler routing, and simpler address assignment. A lack of IPv4 addresses was the primary factor that led to the creation of IPv6.
IPv6 has become more prevalent since the release of the Microsoft Vista operating system, the first Microsoft client operating system to support IPv6 and have it enabled by default. All versions through Windows 11 have done the same. Other modern operating systems, such as OS X, Linux, and UNIX, also enable IPv6 by default.
Note
The IPv6 address space is (2^{128}), which is big: really big. There are over 340 undecillion total IPv6 addresses, which is a 39-digit number in decimal: 340,282,366,920,938,463,463,374,607,431,768,211,456. IPv4 has just under 4.3 billion addresses, which is a 10-digit number in decimal: 4,294,967,296. If all 4.3 billion IPv4 addresses together weighed 1 kilogram, all IPv6 addresses would weigh 79,228,162,514,264,337,593,543,950,336 kg, as much as 13,263 Planet Earths. Another useful comparison: if all IPv4 addresses fit into a golf ball, all IPv6 addresses would nearly fill the Sun.
The IPv6 header, shown in Fig. 5.2, is larger and simpler than IPv4. Fields include:
- Version: IP version (6 for IPv6)
- Traffic Class and Flow Label: used for QoS (Quality of Service)
- Payload Length: length of IPv6 data (not including the IPv6 header)
- Next header: next embedded protocol header
- Hop Limit: to end routing loops
Fig. 5.2 IPv6 header [4].
IPv6 Addresses and Stateless Autoconfiguration
IPv6 hosts can statelessly autoconfigure a unique IPv6 address, omitting the need for static addressing or DHCP. IPv6 stateless autoconfiguration (SLAAC) takes the host’s MAC address and uses it to configure the IPv6 address. The ifconfig (interface configuration) output in Fig. 5.3 shows the MAC address as hardware address (HWaddr) 00:0c:29:ef:11:36.
Fig. 5.3 ifconfig output showing MAC address and IPv6 addresses.