The Twelve Networking Truths
This is RFC
1925 - copied in here since its truths are even less limited than
the author says. 5, 6, 6a and 7 in particular can often be quoted
during software development discussions.
Network Working Group|
Request for Comments: 1925
R. Callon, Editor
1 April 1996
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
This memo documents the fundamental truths of networking for the
Internet community. This memo does not specify a standard, except in
the sense that all standards must implicitly follow the fundamental
The truths described in this memo result from extensive study over an
extended period of time by many people, some of whom did not intend
to contribute to this work. The editor merely has collected these
truths, and would like to thank the networking community for
originally illuminating these truths.
This Request for Comments (RFC) provides information about the
fundamental truths underlying all networking. These truths apply to
networking in general, and are not limited to TCP/IP, the Internet,
or any other subset of the networking community.
2. The Fundamental Truths
- It Has To Work.
- No matter how hard you push and no matter what the priority,
you can't increase the speed of light.
- (corollary). No matter how hard you try, you
can't make a baby in much less than 9 months. Trying to speed
this up might make it slower, but it won't make it
happen any quicker.
- With sufficient thrust, pigs fly just fine. However, this is
not necessarily a good idea. It is hard to be sure where they
are going to land, and it could be dangerous sitting under them
as they fly overhead.
- Some things in life can never be fully appreciated nor
understood unless experienced firsthand. Some things in
networking can never be fully understood by someone who neither
builds commercial networking equipment nor runs an operational
- It is always possible to agglutinate multiple separate problems
into a single complex interdependent solution. In most cases
this is a bad idea.
- It is easier to move a problem around (for example, by moving
the problem to a different part of the overall network
architecture) than it is to solve it.
- (corollary). It is always possible to add
another level of indirection.
- It is always something.
- (corollary). Good, Fast, Cheap: Pick any two
(you can't have all three).
- It is more complicated than you think.
- For all resources, whatever it is, you need more.
- (corollary) Every networking problem always
takes longer to solve than it seems like it should.
- One size never fits all.
- Every old idea will be proposed again with a different name and
a different presentation, regardless of whether it works.
- (corollary). See rule 6a.
- In protocol design, perfection has been reached not when there
is nothing left to add, but when there is nothing left to take
This RFC raises no security issues. However, security protocols are
subject to the fundamental networking truths.
The references have been deleted in order to protect the guilty and
avoid enriching the lawyers.
Internet Order of Old Farts
c/o Bay Networks
3 Federal Street
Billerica, MA 01821
(Note that the RFC is covered by its own copyright notice; the one
below just covers this HTML page.)
|Copyright © 2005 Trolltech||Trademarks
Qt version 2.3.10