The Second Internet HTML version
There are over 5500 RFCs today. I have included many references to the relevant RFCs in this book. If
you want to see all the gory details on any subject, go right to the source and read it. You may find it
somewhat tough going until you learn to read “RFC-ese”. A number of books on Internet technology are
either just a collection of RFCs, or RFCs make up a large part of the content. There is no reason today to
do that – anyone can download all the RFCs you want, and have them in soft (searchable) form.
Most of the topics covered in this book also have considerable coverage on the Internet outside of the
RFCs, such as in Wikipedia. Again, if you want to drill deeper in any of these topics, crank up your
favorite search engine and have at it. The information is out there. What I’ve done is to try to collect
together the essential information in a logical sequence, with a lot of explanations and examples, plus all
the references you need to drill as deep as you like. I taught cryptography and Public Key Infrastructure
for VeriSign for two years, so I have a lot of experience trying to explain complex technical concepts in
ways that reasonably intelligent people can easily follow. Hopefully you will find my efforts worthwhile.
3.3 – TCP/IPv4
The software that made the First Internet (and virtually all Local Area Networks) possible has actually
been around for quite some time. It is actually a suite (family) of protocols. The core protocols of this
suite are TCP (the Transmission Control Protocol) and IP (Internet Protocol), which gave it its common
name, TCP/IP. Its official name is The Internet Protocol Suite.
TCP was first defined officially in RFC 675, “Specification of Internet Transmission Control Program”,
December 1974. The protocol described in this document does not look much like the current TCP, and
in fact, the Internet Protocol did not even exist at the time. Jon Postel was responsible for splitting the
functionality described in RFC 675 into two separate protocols, (the new) TCP and IP. RFC 675 is largely
of historical interest now. The modern version of TCP was defined in RFC 795, “Transmission Control
Protocol – DARPA Internet Program Protocol Specification”, September 1981 (seven years later). It was
later updated by RFC 1122, “Requirements for Internet Hosts – Communication Layers” October 1989,
which covers the link layer, IP layer and transport layer. It was also updated by RFC 3168, “The Addition
of Explicit Congestion Notification (ECN) to IP”, September 2001, which adds ECN to TCP and IP.
Both of these core protocols, and many others, will be covered in considerable detail in the rest of this
3.3.1 – Four Layer TCP/IPv4 Architectural Model
Unlike the OSI network stack, which really does have seven layers, the DoD network model has four
layers, as shown below: