The following features differentiate IPv6 from IPv4:
The IPv6 header (40 bytes) is double the size of the IPv4 header (20 bytes).
IPv6 (128 bits) has four times as many address bits as IPv4 (32 bits).
IPv6 has stackable extension headers that replace the IPv4 options. Several extension headers can be stacked on top of the previous extension headers.
The IPv6 header is not protected by checksum. Instead, UDP checksumming is mandated in IPv6.
Fragmentation‑related fields now belong to the fragment extension header in IPv6.
The length of the header, protocol type, and the Time to Live are redefined in the IPv6 header.
Intermediate fragmentation is not allowed in IPv6.
Two additional features are improvements over IPv4:
IPv6 supports private and public addresses as part of the architecture and associates them with a lifetime. IPv4 added the concept of scope or private addresses at a later time. Mechanisms like Dynamic Host Control Protocol try to associate lifetime to addresses in IPv4.
IPv6 addresses uses unicast, multicast, and anycast addresses. IPv4 does not have the anycast addressing as part of the base specification.
IPv6 brings in plug‑and‑play support for hosts as part of the base specification. Routers can be configured to advertise subnet prefixes and MTU parameters. Most of the facilities provided by IGMP router discovery and ARP in IPv4 are provided as part of the Neighbor Discovery protocol in IPv6.