IPv6

Unlike IP Addressing (IP Protocol) with IPv4, all that changes is the size of the address space. It is:

History

We didn't have any problems using IP Addressing (IP Protocol) with IPv4 until pretty recently. Why would Amazon support IPv6 if the clients can't support it (or vice versa)? Both need to support the protocol for the thing to work.

That is until now, where after solving the chicken-and-egg problem we finally have servers and clients that support the protocol. The big tug was the number of IP addresses are running out, so we can use this protocol to make more where needed.

See the header below:

Pasted image 20250211152424.png

Going through it:

What's missing? No fragmentation header! The router is going to get a PDU - Protocol Data Unit and if it is too large it throws it away. Fragmentation and assembly only happen at the source/destination.

There are extension headers that are optional for the header. These are always some variable headers, described below:

Pasted image 20250211152812.png

Some notes:

Types of Addressing

We have three types, Unicast Connection, Multicast Connection, and Anycast. This is one-to-one of a set, meaning if you have a set of servers/devices and you want to send to one of those. It's up to Google to figure out how the traffic gets routed internally, while the client only cares about the connection to get to Google (really the routers do but yeah).

The idea is, before DNS, the routers in between would tell your device where the closest server to say Google is, and then you'd use that IP address to send it there (Google handles the rest).

Note

IPv6 doesn't have Broadcast Connection

The address itself looks like 4 hex numbers, for 8 sets:

89AB:0000:0000:0000:1123:0067:89AB:CDEF
(can also remove leading zeroes using ::)
89AB: :            :1123:67  :89AB:CDEF (read from Left to Right)

The idea is the IPv6 information will be passed to the host via a process similar to DHCP.

IPv6 Addressing

The way they are allocating these addresses now is that:

Privacy and Security Issues

The network interface identifier (MAC) is unique to a device - no matter where you move. Using IPv6 would:

Instead, some devices will randomize the last 64 bits (ie: the interface ID) and give temporary IDs so that when you do move the ID has been used and any new one would be uncorrelated to the old one.

NAT

NATv6 (at least they would rather you not NAT IPv6) was an edge protocol such that the router at your house would translate a local IP address (such as 192.168.0.1) to an external (your router's) IP address.

Note that NAT can break SIP (used for Voice over IP). There's also privacy extensions for IPv6 like Stateless Address Autoconfiguration (SLAAC).