[Jump to code hierarchy]

Internet checksum code[1,2]

Description

Checksum code that divides a binary string into 16-bit words and appends the one’s complement of their one’s complement sum [3]. One’s complement addition of 16-bit words is addition modulo \(2^{16}-1\). A received string passes the check when all of its words, including the checksum, sum to zero modulo \(2^{16}-1\).

Protection

Detects all burst errors of length at most 15, including all single-bit errors [4; Sec. 3.3]. Errors that preserve the sum modulo \(2^{16}-1\) go undetected, e.g., reordering the 16-bit words or changing a word from all zeros to all ones [4; Sec. 3.3].

Realizations

Internet protocol suite: error detection for IPv4 headers and for TCP and UDP segments [5–7].

Primary Hierarchy

Parents
The checksum of the Internet checksum code is the one’s complement of the one’s complement sum of the message’s 16-bit words [3].
Internet checksum code

References

[1]
J. Postel, DoD Standard Internet Protocol (RFC Editor, 1980) DOI
[2]
J. Postel, DoD Standard Transmission Control Protocol (RFC Editor, 1980) DOI
[3]
R. T. Braden, D. A. Borman, and C. Partridge, Computing the Internet Checksum (RFC Editor, 1988) DOI
[4]
T. C. Maxino and P. J. Koopman, “The Effectiveness of Checksums for Embedded Control Networks”, IEEE Transactions on Dependable and Secure Computing 6, 59 (2009) DOI
[5]
J. Postel, Internet Protocol (RFC Editor, 1981) DOI
[6]
J. Postel, Transmission Control Protocol (RFC Editor, 1981) DOI
[7]
J. Postel, User Datagram Protocol (RFC Editor, 1980) DOI
Page edit log

Your contribution is welcome!

on github.com (edit & pull request)

— see instructions

Zoo Code ID: internet_checksum

Cite as:
“Internet checksum code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2025. https://errorcorrectionzoo.org/c/internet_checksum, arXiv:2606.11484
BibTeX:
@incollection{eczoo_internet_checksum,
title={Internet checksum code},
booktitle={The Error Correction Zoo},
year={2025},
editor={Albert, Victor V. and Faist, Philippe},
eprint={2606.11484},
doi={10.48550/arXiv.2606.11484},
url={https://errorcorrectionzoo.org/c/internet_checksum}
}
Share via:
Twitter | Mastodon |  | E-mail
Permanent link:
https://errorcorrectionzoo.org/c/internet_checksum

Cite as:

“Internet checksum code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2025. https://errorcorrectionzoo.org/c/internet_checksum, arXiv:2606.11484

Github: https://github.com/errorcorrectionzoo/eczoo_data/edit/main/codes/classical/bits/easy/checksum/internet_checksum.yml.