IPv6 is the successor to the current IPv4 protocol and is necessary because we are running out of IPv4 addresses. While IPv6 has been defined for over 15 years, adoption has been slow because NAT allows the continued use of IPv4 by making addresses shared. However, NAT causes problems for applications and means devices cannot directly communicate. Major networks are now adopting IPv6, so transition is needed to maintain connectivity. Options for transition include running dual stack IPv4 and IPv6 networks, using IPv6-only with NAT64 for IPv4 connectivity, or adopting dual stack for servers and NAT64 for IPv4 clients.