Visual RFC.
ALL RFCs / RFC 1624
Read the RFC ↗
RFC 1624 / INCREMENTAL INTERNET CHECKSUM

Distinguish generation from receiver verification

04

A receiver can sum the received header including its checksum and look for all ones. That is different from regenerating a checksum and comparing its bits to the received field.

RFC 1624 · § 5EXAMPLE
4 / 4
Distinguish generation from receiver verificationSeparate verification cases start with edited non-checksum sumFFFF. Including received field0000givesFFFFand passes all-ones verification. Including fieldFFFFhas wide sum1FFFEwhich folds toFFFFand also passes. A separate regenerate-and-compare implementation obtains0000and detects its mismatch with receivedFFFF. These are separate receiver algorithms/cases, not sequential outcomes on one packet.Separate receiver-check casesregenerated checksum: 0x0000received field from old shortcut: 0xFFFFCompare actual field bitsmismatch: comparison failsShown alternative · not the recommended verifier
04
Reset: compare regenerated bits.

Regeneration gives 0x0000 while the old shortcut’s received field is 0xFFFF. That bit-comparison implementation sees a mismatch.

Source for this drawing: RFC 1624 · Read RFC section 5 ↗

Protocol participantThreat or exceptionProtocol controlSimplified drawings · precise section references
New to this? Start hereA quick picture + helpful background

A message needs an address.

Think of a packet as a small addressed envelope. Devices pass it onward; transport protocols decide what delivery promises an application gets.

Helpful first, if these ideas are unfamiliar

These pictures are analogies to help you learn. The linked RFC explains the actual rules.

Related RFCs and changes

“Updates” changes part of an earlier RFC. “Obsoletes” replaces it. This list shows selected related documents.

KEY POINT

A receiver passing this example does not prove the updater produced the canonical bits.

  • Section 5 recommends receiver verification as in RFC 1071: include the checksum field in the one’s-complement sum, and compare the result with 0xFFFF.
  • For the published edited-header sum 0xFFFF, adding either 0x0000 or 0xFFFF leaves a folded sum of 0xFFFF. Both pass that sum check in this specific example.
  • A receiver which instead regenerates a checksum with the field cleared obtains 0x0000, so comparing that value with the old shortcut’s 0xFFFF exposes the difference. RFC 1624 recommends corrected update and all-ones verification; it does not introduce a normative MUST to use a particular implementation.
DETAILS

The states are separate verification cases over the same worked header sum, not successive accept/reject events on one packet. Recompute-and-compare is shown because the RFC reports such implementations, not as the recommended algorithm. Neither check authenticates the sender or substitutes for protocol-specific validation.

Read the RFC section ↗

All chapters in RFC 1624

Drawing view

Scroll the drawing to see every part. Playback controls stay above it.

RFC 9700 / CHAPTERS

Chapters

For full details, tables, algorithms, and exceptions, read the original RFC.

RFC status and corrections ↗