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