Quiz Entry - updated: 2026.07.05
Why was the header checksum removed in IPv6?
To save router processing time — IPv6 dropped the IP-layer checksum because upper layers (TCP/UDP) and link layers already detect errors, so recomputing it at every hop was wasteful.
In IPv4 the header has a checksum that every router must recompute — because the TTL changes at each hop, the checksum changes too. That's per-packet, per-hop work.
IPv6 removes it entirely:
- Link-layer framing (e.g. Ethernet CRC) already catches corruption on each link
- Transport-layer checksums (TCP, and now mandatory in UDP over IPv6) catch end-to-end errors
- So an IP-layer checksum was redundant — removing it means routers do less work per packet, fitting IPv6's "fast, simple forwarding" goal
Tip: This is part of why IPv6 forwarding is leaner: no checksum to recompute and no options to parse at each hop.
Go deeper:
IPv6 packet (Wikipedia) — confirms the header has no checksum and explains the link/transport-layer reasoning.