📄 rfc1171.txt
字号:
Network Working Group D. Perkins
Request for Comments: 1171 CMU
Obsoletes: RFC 1134 July 1990
The Point-to-Point Protocol
for the
Transmission of Multi-Protocol Datagrams Over Point-to-Point Links
Status of this Memo
This RFC specifies an IAB standards track protocol for the Internet
community.
Please refer to the current edition of the "IAB Official Protocol
Standards" for the standardization state and status of this protocol.
This proposal is the product of the Point-to-Point Protocol Working
Group of the Internet Engineering Task Force (IETF). Comments on this
memo should be submitted to the IETF Point-to-Point Protocol Working
Group chair.
Distribution of this memo is unlimited.
Abstract
The Point-to-Point Protocol (PPP) provides a method for transmitting
datagrams over serial point-to-point links. PPP is composed of three
parts:
1. A method for encapsulating datagrams over serial links.
2. An extensible Link Control Protocol (LCP).
3. A family of Network Control Protocols (NCP) for establishing
and configuring different network-layer protocols.
This document defines the encapsulation scheme, the basic LCP, and an
NCP for establishing and configuring the Internet Protocol (IP)
(called the IP Control Protocol, IPCP).
The options and facilities used by the LCP and the IPCP are defined
in separate documents. Control protocols for configuring and
utilizing other network-layer protocols besides IP (e.g., DECNET,
OSI) are expected to be developed as needed.
Perkins [Page i]
RFC 1171 Point-to-Point Protocol July 1990
Table of Contents
1. Introduction .......................................... 1
1.1 Motivation ...................................... 1
1.2 Overview of PPP ................................. 1
1.3 Organization of the document .................... 2
2. Physical Layer Requirements ........................... 3
3. The Data Link Layer ................................... 4
3.1 Frame Format .................................... 5
4. The PPP Link Control Protocol (LCP) ................... 9
4.1 The LCP Automaton ............................... 11
4.1.1 Overview ........................................ 11
4.1.2 State Diagram ................................... 11
4.1.3 State Transition Table .......................... 13
4.1.4 Events .......................................... 13
4.1.5 Actions ......................................... 16
4.1.6 States .......................................... 17
4.2 Loop Avoidance .................................. 20
4.3 Timers and Counters ............................. 20
4.4 Packet Format ................................... 21
4.4.1 Configure-Request ............................... 23
4.4.2 Configure-Ack ................................... 24
4.4.3 Configure-Nak ................................... 25
4.4.4 Configure-Reject ................................ 27
4.4.5 Terminate-Request and Terminate-Ack ............. 29
4.4.6 Code-Reject ..................................... 31
4.4.7 Protocol-Reject ................................. 32
4.4.8 Echo-Request and Echo-Reply ..................... 34
4.4.9 Discard-Request ................................. 36
4.5 Configuration Options ........................... 38
4.5.1 Format .......................................... 39
5. A PPP Network Control Protocol (NCP) for IP ........... 40
5.1 Sending IP Datagrams ............................ 40
APPENDICES ................................................... 42
A. Asynchronous HDLC ..................................... 42
B. Fast Frame Check Sequence (FCS) Implementation ........ 44
B.1 FCS Computation Method .......................... 44
B.2 Fast FCS table generator ........................ 46
REFERENCES ................................................... 47
Perkins [Page ii]
RFC 1171 Point-to-Point Protocol July 1990
SECURITY CONSIDERATIONS ...................................... 48
CHAIRMAN'S ADDRESS ........................................... 48
Perkins [Page iii]
RFC 1171 Point-to-Point Protocol July 1990
1. Introduction
1.1. Motivation
In the last few years, the Internet has seen explosive growth in the
number of hosts supporting TCP/IP. The vast majority of these hosts
are connected to Local Area Networks (LANs) of various types,
Ethernet being the most common. Most of the other hosts are
connected through Wide Area Networks (WANs) such as X.25 style Public
Data Networks (PDNs). Relatively few of these hosts are connected
with simple point-to-point (i.e., serial) links. Yet, point-to-point
links are among the oldest methods of data communications and almost
every host supports point-to-point connections. For example,
asynchronous RS-232-C [1] interfaces are essentially ubiquitous.
One reason for the small number of point-to-point IP links is the
lack of a standard encapsulation protocol. There are plenty of non-
standard (and at least one defacto standard) encapsulation protocols
available, but there is not one which has been agreed upon as an
Internet Standard. By contrast, standard encapsulation schemes do
exist for the transmission of datagrams over most popular LANs.
One purpose of this memo is to remedy this problem. But even more
importantly, the Point-to-Point Protocol proposes more than just an
encapsulation scheme. 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 circuits (e.g., dialups).
Some additional issues addressed by this specification of PPP include
asynchronous (start/stop) and bit-oriented synchronous encapsulation,
network protocol multiplexing, link configuration, link quality
testing, error detection, and option negotiation for such
capabilities as network-layer address negotiation and data
compression negotiation.
PPP addresses these issues by providing an extensible Link Control
Protocol (LCP) and a family of Network Control Protocols (NCP) to
negotiate optional configuration parameters and facilities.
1.2. Overview of PPP
PPP has three main components:
1. A method for encapsulating datagrams over serial links. PPP
uses HDLC as a basis for encapsulating datagrams over point-
to-point links. At this time, PPP specifies the use of
Perkins [Page 1]
RFC 1171 Point-to-Point Protocol July 1990
asynchronous or synchronous duplex circuits, either dedicated
or circuit switched.
2. An extensible Link Control Protocol (LCP) to establish,
configure, and test the data-link connection.
3. A family of Network Control Protocols (NCP) for establishing
and configuring different network-layer protocols. PPP is
designed to allow the simultaneous use of multiple network-
layer protocols.
In order to establish communications over a point-to-point link, the
originating PPP would first send LCP packets to configure and test
the data link. After the link has been establish and optional
facilities have been negotiated as needed by the LCP, the originating
PPP would send NCP packets to choose and configure one or more
network-layer protocols. Once each of the chosen network-layer
protocols has been configured, datagrams from each network-layer
protocol can be sent over the link.
The link will remain configured for communications until explicit LCP
or NCP packets close the link down, or until some external event
occurs (e.g., inactivity timer expires or user intervention).
1.3. Organization of the document
This memo is divided into several sections. Section 2 discusses the
physical-layer requirements of PPP. Section 3 describes the Data
Link Layer including the PPP frame format and data link encapsulation
scheme. Section 4 specifies the LCP including the connection
establishment and option negotiation procedures. Section 5 specifies
the IP Control Protocol (IPCP), which is the NCP for the Internet
Protocol, and describes the encapsulation of IP datagrams within PPP
packets. Appendix A summarizes important features of asynchronous
HDLC, and Appendix B describes an efficient table-lookup algorithm
for fast Frame Check Sequence (FCS) computation.
Perkins [Page 2]
RFC 1171 Point-to-Point Protocol July 1990
2. Physical Layer Requirements
The Point-to-Point Protocol is capable of operating across any
DTE/DCE interface (e.g., EIA RS-232-C, EIA RS-422, EIA RS-423 and
CCITT V.35). The only absolute requirement imposed by PPP is the
provision of a duplex circuit, either dedicated or circuit switched,
which can operate in either an asynchronous (start/stop) or
synchronous bit-serial mode, transparent to PPP Data Link Layer
frames. PPP does not impose any restrictions regarding transmission
rate, other than those imposed by the particular DTE/DCE interface in
use.
PPP does not require the use of modem control signals, such as
Request To Send (RTS), Clear To Send (CTS), Data Carrier Detect
(DCD), and Data Terminal Ready (DTR). However, using such signals
when available can allow greater functionality and performance.
Perkins [Page 3]
RFC 1171 Point-to-Point Protocol July 1990
3. The Data Link Layer
The Point-to-Point Protocol uses the principles, terminology, and
frame structure of the International Organization For
Standardization's (ISO) High-level Data Link Control (HDLC)
procedures (ISO 3309-1979 [2]), as modified by ISO 3309:1984/PDAD1
"Addendum 1: Start/stop transmission" [5]. ISO 3309-1979 specifies
the HDLC frame structure for use in synchronous environments. ISO
3309:1984/PDAD1 specifies proposed modifications to ISO 3309-1979 to
allow its use in asynchronous environments.
The PPP control procedures use the definitions and Control field
encodings standardized in ISO 4335-1979 [3] and ISO 4335-
1979/Addendum 1-1979 [4]. The PPP frame structure is also consistent
with CCITT Recommendation X.25 LAPB [6], since that too is based on
HDLC.
Note: ISO 3309:1984/PDAD1 is a Proposed Draft standard. At
present, it seems that ISO 3309:1984/PDAD1 is stable and likely to
become an International Standard. Therefore, we feel comfortable
about using it before it becomes an International Standard. The
progress of this proposal should be tracked and encouraged by the
Internet community.
The purpose of this memo is not to document what is already
standardized in ISO 3309. We assume that the reader is already
familiar with HDLC, or has access to a copy of [2] or [6]. Instead,
this paper attempts to give a concise summary and point out specific
options and features used by PPP. Since "Addendum 1: Start/stop
transmission", is not yet standardized and widely available, it is
summarized in Appendix A.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -