IPv6 was developed to replace IPv4 due to IPv4's limited 32-bit address space and inefficient use of addresses. IPv6 supports 2128 addresses, improves security with IPSec, and uses more efficient routing through address aggregation. IPv6 addresses are 128-bit and written in hexadecimal, with groups of zeros represented by double colons. IPv6 implements subnet masks as CIDR prefixes between /48 and /64. It uses DNS clusters, global unicast addresses, and DHCPv6 to assign addresses and DNS servers to clients.