RFC 793 (rfc793) - Page 2 of 85
Transmission Control Protocol
Alternative Format: Original Text Document
September 1981
Transmission Control Protocol
Introduction
TCP is based on concepts first described by Cerf and Kahn in [1]. The
TCP fits into a layered protocol architecture just above a basic
Internet Protocol [2] which provides a way for the TCP to send and
receive variable-length segments of information enclosed in internet
datagram "envelopes". The internet datagram provides a means for
addressing source and destination TCPs in different networks. The
internet protocol also deals with any fragmentation or reassembly of
the TCP segments required to achieve transport and delivery through
multiple networks and interconnecting gateways. The internet protocol
also carries information on the precedence, security classification
and compartmentation of the TCP segments, so this information can be
communicated end-to-end across multiple networks.
Protocol Layering
+---------------------+
| higher-level |
+---------------------+
| TCP |
+---------------------+
| internet protocol |
+---------------------+
|communication network|
+---------------------+
Figure 1
Much of this document is written in the context of TCP implementations
which are co-resident with higher level protocols in the host
computer. Some computer systems will be connected to networks via
front-end computers which house the TCP and internet protocol layers,
as well as network specific software. The TCP specification describes
an interface to the higher level protocols which appears to be
implementable even for the front-end case, as long as a suitable
host-to-front end protocol is implemented.
1.2. Scope
The TCP is intended to provide a reliable process-to-process
communication service in a multinetwork environment. The TCP is
intended to be a host-to-host protocol in common use in multiple
networks.
1.3. About this Document
This document represents a specification of the behavior required of
any TCP implementation, both in its interactions with higher level
protocols and in its interactions with other TCPs. The rest of this