RFC 1127: A Perspective on the Host Requirements RFCs

2026-09-12

RFC: RFC 1127

Published: 1989

Authors: Bob Braden

RFC 1127 is one of the most unusual documents in the RFC series: a non-normative commentary on the two normative documents that had just shipped alongside it. In October 1989, the IETF published the Host Requirements RFCs — RFC 1122 (Communication Layers) and RFC 1123 (Application and Support). These 200+ pages defined what it meant for a machine to be a conforming Internet host. RFC 1127 is Bob Braden's companion piece explaining what the working group argued about, what they punted on, and what they thought was already broken.

The problem it solved was subtle but crucial. By 1989 there were multiple vendor TCP/IP stacks in commercial deployment, and every one interpreted the ambiguous corners of RFCs 791, 792, 793, and friends slightly differently. The Host Requirements RFCs were an attempt to enumerate every subtle behavior and pick one — a "MUST/SHOULD/MAY" style specification years before RFC 2119 formalized that vocabulary. But specifications are terse and don't explain why. RFC 1127 fills in the reasoning, and it's a treasure of engineering history.

A tour of the issues Braden documented:

What makes the document quietly important today is its meta-lesson: interoperability is a social contract, not a mathematical property. The Host Requirements effort was the first large-scale attempt to say "here is every corner case, ranked by how strongly we mean it." That style — MUST/SHOULD/MAY tables, explicit robustness principle discussion, deliberate divergence between "must send" and "must accept" — became the template for every serious internet protocol spec that followed. QUIC's specification (RFC 9000) still reads like a descendant of this era.

The document is also a warning about how long deprecation takes. Source Quench, subnet-directed broadcast, and the "Class E" address block were all flagged as problems in 1989. Some of them have been solved since; others still lurk in obscure firmware. Anyone who has debugged a modern network stack has, without knowing it, fought battles Braden narrated 37 years ago.

Read it if you write network code. It's a rare glimpse of a standards body arguing honestly, in public, about what it got wrong.

Why it matters: RFC 1127 is the rationale document behind the Host Requirements RFCs — the moment the IETF formalized how to reason about ambiguity, interoperability, and deprecation, in a style every serious protocol spec still imitates.

All newsletters