RFC 1661 (rfc1661) – Page 1 of 52
The Point-to-Point Protocol (PPP)
Alternative Format: Original Text Document
Network Working Group W. Simpson, Editor Request for Comments: 1661 Daydreamer STD: 51 July 1994 Obsoletes: 1548 Category: Standards Track The Point-to-Point Protocol (PPP) Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract The Point-to-Point Protocol (PPP) provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP is comprised of three main components: 1. A method for encapsulating multi-protocol datagrams. 2. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection. 3. A family of Network Control Protocols (NCPs) for establishing and configuring different network-layer protocols. This document defines the PPP organization and methodology, and the PPP encapsulation, together with an extensible option negotiation mechanism which is able to negotiate a rich assortment of configuration parameters and provides additional management functions. The PPP Link Control Protocol (LCP) is described in terms of this mechanism. Table of Contents 1. Introduction .......................................... 1 1.1 Specification of Requirements ................... 2 1.2 Terminology ..................................... 3 2. PPP Encapsulation ..................................... 4 Simpson [Page i] RFC 1661 Point-to-Point Protocol July 1994 3. PPP Link Operation .................................... 6 3.1 Overview ........................................ 6 3.2 Phase Diagram ................................... 6 3.3 Link Dead (physical-layer not ready) ............ 7 3.4 Link Establishment Phase ........................ 7 3.5 Authentication Phase ............................ 8 3.6 Network-Layer Protocol Phase .................... 8 3.7 Link Termination Phase .......................... 9 4. The Option Negotiation Automaton ...................... 11 4.1 State Transition Table .......................... 12 4.2 States .......................................... 14 4.3 Events .......................................... 16 4.4 Actions ......................................... 21 4.5 Loop Avoidance .................................. 23 4.6 Counters and Timers ............................. 24 5. LCP Packet Formats .................................... 26 5.1 Configure-Request ............................... 28 5.2 Configure-Ack ................................... 29 5.3 Configure-Nak ................................... 30 5.4 Configure-Reject ................................ 31 5.5 Terminate-Request and Terminate-Ack ............. 33 5.6 Code-Reject ..................................... 34 5.7 Protocol-Reject ................................. 35 5.8 Echo-Request and Echo-Reply ..................... 36 5.9 Discard-Request ................................. 37 6. LCP Configuration Options ............................. 39 6.1 Maximum-Receive-Unit (MRU) ...................... 41 6.2 Authentication-Protocol ......................... 42 6.3 Quality-Protocol ................................ 43 6.4 Magic-Number .................................... 45 6.5 Protocol-Field-Compression (PFC) ................ 48 6.6 Address-and-Control-Field-Compression (ACFC) SECURITY CONSIDERATIONS ...................................... 51 REFERENCES ................................................... 51 ACKNOWLEDGEMENTS ............................................. 51 CHAIR'S ADDRESS .............................................. 52 EDITOR'S ADDRESS ............................................. 52 Simpson [Page ii] RFC 1661 Point-to-Point Protocol July 1994 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 Simpson