Section 1. Introduction

The Point-to-Point Protocol is designed for simple links which
   transport packets between two peers.  These links provide full-duplex
   simultaneous bi-directional operation, and are assumed to deliver
   packets in order.  It is intended that PPP provide a common solution
   for easy connection of a wide variety of hosts, bridges and routers
   [1].
   Encapsulation
      The PPP encapsulation provides for multiplexing of different
      network-layer protocols simultaneously over the same link.  The
      PPP encapsulation has been carefully designed to retain
      compatibility with most commonly used supporting hardware.
      Only 8 additional octets are necessary to form the encapsulation
      when used within the default HDLC-like framing.  In environments
      where bandwidth is at a premium, the encapsulation and framing may
      be shortened to 2 or 4 octets.
      To support high speed implementations, the default encapsulation
      uses only simple fields, only one of which needs to be examined
      for demultiplexing.  The default header and information fields
      fall on 32-bit boundaries, and the trailer may be padded to an
      arbitrary boundary.
   Link Control Protocol
      In order to be sufficiently versatile to be portable to a wide
      variety of environments, PPP provides a Link Control Protocol
      (LCP).  The LCP is used to automatically agree upon the
      encapsulation format options, handle varying limits on sizes of
      packets, detect a looped-back link and other common
      misconfiguration errors, and terminate the link.  Other optional
      facilities provided are authentication of the identity of its peer
      on the link, and determination when a link is functioning properly
      and when it is failing.
   Network Control Protocols
      Point-to-Point links tend to exacerbate many problems with the
      current family of network protocols.  For instance, assignment and
      management of IP addresses, which is a problem even in LAN
      environments, is especially difficult over circuit-switched
      point-to-point links (such as dial-up modem servers).  These
      problems are handled by a family of Network Control Protocols
      (NCPs), which each manage the specific needs required by their
      respective network-layer protocols.  These NCPs are defined in
      companion documents.
   Configuration
      It is intended that PPP links be easy to configure.  By design,
      the standard defaults handle all common configurations.  The
      implementor can specify improvements to the default configuration,
      which are automatically communicated to the peer without operator
      intervention.  Finally, the operator may explicitly configure
      options for the link which enable the link to operate in
      environments where it would otherwise be impossible.
      This self-configuration is implemented through an extensible
      option negotiation mechanism, wherein each end of the link
      describes to the other its capabilities and requirements.
      Although the option negotiation mechanism described in this
      document is specified in terms of the Link Control Protocol (LCP),
      the same facilities are designed to be used by other control
      protocols, especially the family of NCPs.
1.1.  Specification of Requirements
   In this document, several words are used to signify the requirements
   of the specification.  These words are often capitalized.
   MUST      This word, or the adjective "required", means that the
             definition is an absolute requirement of the specification.
   MUST NOT  This phrase means that the definition is an absolute
             prohibition of the specification.
   SHOULD    This word, or the adjective "recommended", means that there
             may exist valid reasons in particular circumstances to
             ignore this item, but the full implications must be
             understood and carefully weighed before choosing a
             different course.
   MAY       This word, or the adjective "optional", means that this
             item is one of an allowed set of alternatives.  An
             implementation which does not include this option MUST be
             prepared to interoperate with another implementation which
             does include the option.
1.2.  Terminology
   This document frequently uses the following terms:
   datagram  The unit of transmission in the network layer (such as IP).
             A datagram may be encapsulated in one or more packets
             passed to the data link layer.
   frame     The unit of transmission at the data link layer.  A frame
             may include a header and/or a trailer, along with some
             number of units of data.
   packet    The basic unit of encapsulation, which is passed across the
             interface between the network layer and the data link
             layer.  A packet is usually mapped to a frame; the
             exceptions are when data link layer fragmentation is being
             performed, or when multiple packets are incorporated into a
             single frame.
   peer      The other end of the point-to-point link.
   silently discard
             The implementation discards the packet without further
             processing.  The implementation SHOULD provide the
             capability of logging the error, including the contents of
             the silently discarded packet, and SHOULD record the event
             in a statistics counter.