1. Address Space
IPv4 has an address space of 32 bits. This equates to about 4 billion different addresses available, which has been greatly expanded with NAT. The foreseeable address exhaustion of IPv4 is a huge factor for redesign.
IPv6 has an address space of 128 bits. As Juniper Networks puts it, IPv6 has enough addresses for every molecule in the solar system. IPv6 does away with NAT as well as the “class divisions” that IPv4 employs and instead uses subnetting to address network sizes with a given address space assignment.
2. IPv6 has more efficient routing.
IPv6 routers no longer have to fragment packets in the way IPv4 routers do.
3. IPv6 has a native security framework.
IPv6 employs IPSec, where IPv4 was designed without one, but IPSec has become optional for it.
4. Auto Configuration
IPv6 permits hosts to automatically configure themselves (without DHCP) when they connect to an IPv6 network by querying all of the local routers with a multicast message. On that note, while IPv4 uses broadcast addresses which force every device to stop and look at the packets (if they are not relevant to them), IPv6 does away with broadcast and instead uses multicast groups for everything.
5. Improved header structure
IPv6 has an improved packet header structure that requires less processing overhead. IPv4 headers include information that is either used infrequently or is optional.