IPv6 was developed to address limitations in IPv4, such as the depletion of available IPv4 addresses. IPv6 features a 128-bit address space providing vastly more addresses than IPv4. It uses a simplified header structure compared to IPv4, removing unnecessary fields and expanding others. IPv6 also supports stateless autoconfiguration allowing nodes to automatically assign themselves addresses. Extension headers provide additional optional information for areas like routing, fragmentation, security and more. IPv6 aims to resolve issues with IPv4 and build upon lessons learned from over 20 years of IPv4 usage on the internet.