Internet Protocol Version 4 (IPv4) uses a checksum to check for errors in an IP header. Every checksum is unique to a source/destination combination. A routing node generates a new checksum when it gets a packet. If the new checksum is different from the old one, the routing node knows the packet is bad and throws it out. IPv6 assumes another protocol will check for errors and leaves out the checksum. This is to improve performance.