In
computer network
A computer network is a collection of communicating computers and other devices, such as printers and smart phones. In order to communicate, the computers and devices must be connected by wired media like copper cables, optical fibers, or b ...
ing, Point-to-Point Protocol (PPP) is a
data link layer
The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between nodes on a network segment across the physical layer. The data link layer p ...
(layer 2)
communication protocol
A communication protocol is a system of rules that allows two or more entities of a communications system to transmit information via any variation of a physical quantity. The protocol defines the rules, syntax, semantics (computer science), sem ...
between two routers directly without any host or any other networking in between. It can provide loop detection,
authentication
Authentication (from ''authentikos'', "real, genuine", from αὐθέντης ''authentes'', "author") is the act of proving an Logical assertion, assertion, such as the Digital identity, identity of a computer system user. In contrast with iden ...
, transmission
encryption
In Cryptography law, cryptography, encryption (more specifically, Code, encoding) is the process of transforming information in a way that, ideally, only authorized parties can decode. This process converts the original representation of the inf ...
, and
data compression
In information theory, data compression, source coding, or bit-rate reduction is the process of encoding information using fewer bits than the original representation. Any particular compression is either lossy or lossless. Lossless compressi ...
.
PPP is used over many types of physical networks, including
serial cable
A serial cable or RS-232 cable is a electrical cable, cable used to transfer information between two devices using a serial communication protocol. The form of connectors depends on the particular serial port used. A cable wired for connecting two ...
,
phone line,
trunk line,
cellular telephone
A mobile phone or cell phone is a portable telephone that allows users to make and receive calls over a radio frequency link while moving within a designated telephone service area, unlike fixed-location phones ( landline phones). This radio ...
, specialized radio links,
ISDN
Integrated Services Digital Network (ISDN) is a set of communication standards for simultaneous digital transmission of voice, video, data, and other network services over the digitalised circuits of the public switched telephone network. ...
, and
fiber optic links such as
SONET. Since IP packets cannot be transmitted over a
modem
The Democratic Movement (, ; MoDem ) is a centre to centre-right political party in France, whose main ideological trends are liberalism and Christian democracy, and that is characterised by a strong pro-Europeanist stance. MoDem was establis ...
line on their own without some data link protocol that can identify where the transmitted frame starts and where it ends,
Internet service provider
An Internet service provider (ISP) is an organization that provides a myriad of services related to accessing, using, managing, or participating in the Internet. ISPs can be organized in various forms, such as commercial, community-owned, no ...
s (ISPs) have used PPP for customer
dial-up access to the
Internet
The Internet (or internet) is the Global network, global system of interconnected computer networks that uses the Internet protocol suite (TCP/IP) to communicate between networks and devices. It is a internetworking, network of networks ...
.
PPP is used on former
dial-up networking lines. Two derivatives of PPP,
Point-to-Point Protocol over Ethernet
The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It appeared in 1999, in the context of the boom of DSL as the solution for tunneling packe ...
(PPPoE) and
Point-to-Point Protocol over ATM (PPPoA), are used most commonly by ISPs to establish a
digital subscriber line
Digital subscriber line (DSL; originally digital subscriber loop) is a family of technologies that are used to transmit digital data over telephone lines. In telecommunications marketing, the term DSL is widely understood to mean asymmetric dig ...
(DSL) Internet service LP connection with customers.
Description
PPP is very commonly used as a
data-link-layer protocol for connection over
synchronous
Synchronization is the coordination of events to operate a system in unison. For example, the conductor of an orchestra keeps the orchestra synchronized or ''in time''. Systems that operate with all parts in synchrony are said to be synchrono ...
and
asynchronous circuit
Asynchronous circuit (clockless or self-timed circuit) is a sequential logic, sequential digital logic electrical network, circuit that does not use a global clock circuit or clock signal, signal generator to synchronize its components. Instea ...
s, where it has largely superseded the older
Serial Line Internet Protocol
The Serial Line Internet Protocol (SLIP) is an encapsulation of the Internet Protocol designed to work over serial ports and router connections. It is documented in . On personal computers, SLIP has largely been replaced by the Point-to-Point P ...
(SLIP) and telephone company mandated standards (such as
Link Access Protocol, Balanced (LAPB) in the
X.25
X.25 is an ITU-T standard protocol suite for Packet switched network, packet-switched data communication in wide area network, wide area networks (WAN). It was originally defined by the CCITT, International Telegraph and Telephone Consultative Co ...
protocol suite). The only requirement for PPP is that the circuit provided be
duplex. PPP was made to work with numerous
network-layer protocol
In the seven-layer OSI model of computer networking, the network layer is layer 3. The network layer is responsible for packet forwarding including routing through intermediate routers.
Functions
The network layer provides the means of transf ...
s, including
Internet Protocol
The Internet Protocol (IP) is the network layer communications protocol in the Internet protocol suite for relaying datagrams across network boundaries. Its routing function enables internetworking, and essentially establishes the Internet.
IP ...
(IP),
TRILL
TRILL (Transparent Interconnection of Lots of Links) is a networking protocol for optimizing bandwidth and resilience in Ethernet networks, implemented by devices called TRILL switches. TRILL combines techniques from bridging and routing, and ...
, Novell's
Internetwork Packet Exchange
Internetwork Packet Exchange (IPX) is the network-layer protocol in the IPX/SPX protocol suite. IPX is derived from Xerox Network Systems' IDP. It also has the ability to act as a transport layer protocol.
The IPX/SPX protocol suite was very ...
(IPX),
NBF, DEC net and
AppleTalk
AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the ...
. Like SLIP, this is a full Internet connection over telephone lines via modem. It is more reliable than SLIP because it double checks to ensure Internet packets arrive intact.
It resends any damaged packets.
PPP was designed somewhat after the original
HDLC
High-Level Data Link Control (HDLC) is a communication protocol used for transmitting data between devices in Telecommunications, telecommunication and Computer network, networking. Developed by the International Organization for Standardization ...
specifications. The people who had designed PPP included many additional features that had been seen only in proprietary data-link protocols up to that time. PPP is specified in RFC 1661.
RFC 2516 describes
Point-to-Point Protocol over Ethernet
The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It appeared in 1999, in the context of the boom of DSL as the solution for tunneling packe ...
(PPPoE) as a method for transmitting PPP over
Ethernet
Ethernet ( ) is a family of wired computer networking technologies commonly used in local area networks (LAN), metropolitan area networks (MAN) and wide area networks (WAN). It was commercially introduced in 1980 and first standardized in 198 ...
that is sometimes used with
DSL
Digital subscriber line (DSL; originally digital subscriber loop) is a family of technologies that are used to transmit digital data over telephone lines. In telecommunications marketing, the term DSL is widely understood to mean asymmetric di ...
. RFC 2364 describes
Point-to-Point Protocol over ATM (PPPoA) as a method for transmitting PPP over
ATM Adaptation Layer 5 (
AAL5), which is also a common alternative to PPPoE used with DSL.
PPP,
PPPoE
The Point-to-Point Protocol over Ethernet (PPPoE) is a network protocol for Encapsulation (networking), encapsulating Point-to-Point Protocol (PPP) frames inside Ethernet frames. It appeared in 1999, in the context of the boom of DSL as the solu ...
and
PPPoA are widely used in
WAN lines.
PPP is a layered protocol that has three components:
# An encapsulation component that is used to transmit datagrams over the specified
physical layer
In the seven-layer OSI model of computer networking, the physical layer or layer 1 is the first and lowest layer: the layer most closely associated with the physical connection between devices. The physical layer provides an electrical, mechani ...
.
# A
Link Control Protocol (LCP) to establish, configure, and test the link as well as negotiate settings, options and the use of features.
# One or more Network Control Protocols (NCP) used to negotiate optional configuration parameters and facilities for the network layer. There is one NCP for each higher-layer protocol supported by PPP.
Automatic self configuration
LCP initiates and terminates connections gracefully, allowing hosts to negotiate connection options. It is an integral part of PPP, and is defined in the same standard specification. LCP provides automatic configuration of the interfaces at each end (such as setting
datagram
A datagram is a basic transfer unit associated with a packet-switched network. Datagrams are typically structured in header and payload sections. Datagrams provide a connectionless communication service across a packet-switched network. The de ...
size, escaped characters, and magic numbers) and for selecting optional authentication. The LCP protocol runs on top of PPP (with PPP protocol number 0xC021) and therefore a basic PPP connection has to be established before LCP is able to configure it.
RFC 1994 describes
Challenge-Handshake Authentication Protocol
In computing, the Challenge-Handshake Authentication Protocol (CHAP) is an authentication protocol originally used by Point-to-Point Protocol (PPP) to validate users. CHAP is also carried in other authentication protocols such as RADIUS and Diamete ...
(CHAP), which is preferred for establishing dial-up connections with ISPs.
Although deprecated,
Password Authentication Protocol (PAP) is still sometimes used.
Another option for authentication over PPP is
Extensible Authentication Protocol (EAP) described in RFC 2284.
After the link has been established, additional network (
layer 3) configuration may take place. Most commonly, the
Internet Protocol Control Protocol (IPCP) is used, although
Internetwork Packet Exchange Control Protocol (IPXCP) and
AppleTalk Control Protocol (ATCP) were once popular.
Internet Protocol Version 6 Control Protocol (IPv6CP) will see extended use in the future, when
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
replaces
IPv4
Internet Protocol version 4 (IPv4) is the first version of the Internet Protocol (IP) as a standalone specification. It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. ...
as the dominant layer-3 protocol.
Multiple network layer protocols
PPP permits multiple network layer protocols to operate on the same communication link. For every network layer protocol used, a separate Network Control Protocol (NCP) is provided in order to encapsulate and negotiate options for the multiple network layer protocols. It negotiates network-layer information, e.g.
network address or compression options, after the connection has been established.
For example, IP uses IPCP, and Internetwork Packet Exchange (IPX) uses the Novell IPX Control Protocol (
IPX/SPX). NCPs include fields containing standardized codes to indicate the network layer protocol type that the PPP connection encapsulates.
The following NCPs may be used with PPP:
* IPCP for IP, protocol code number 0x8021, RFC 1332
* the OSI Network Layer Control Protocol (OSINLCP) for the various
OSI network layer protocols, protocol code number 0x8023, RFC 1377
* the
AppleTalk Control Protocol (ATCP) for
AppleTalk
AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the ...
, protocol code number 0x8029, RFC 1378
* the
Internetwork Packet Exchange Control Protocol (IPXCP) for the
Internet Packet Exchange, protocol code number 0x802B, RFC 1552
* the DEC net Phase IV Control Protocol (DNCP) for DNA Phase IV Routing protocol (
DEC net Phase IV), protocol code number 0x8027, RFC 1762
* the NetBIOS Frames Control Protocol (NBFCP) for the
NetBIOS Frames protocol (or
NetBEUI as it was called before that), protocol code number 0x803F, RFC 2097
* the
IPv6 Control Protocol (IPV6CP) for
IPv6
Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communication protocol, communications protocol that provides an identification and location system for computers on networks and routes traffic ...
, protocol code number 0x8057, RFC 5072
Looped link detection
PPP detects looped links using a feature involving
magic numbers. When the node sends PPP LCP messages, these messages may include a magic number. If a line is looped, the node receives an LCP message with its own magic number, instead of getting a message with the peer's magic number.
Configuration options
The previous section introduced the use of LCP options to meet specific WAN connection requirements. PPP may include the following LCP options:
*Authentication - Peer routers exchange authentication messages. Two authentication choices are
Password Authentication Protocol (PAP) and
Challenge Handshake Authentication Protocol (CHAP). Authentication is explained in the next section.
*Compression - Increases the effective throughput on PPP connections by reducing the amount of data in the frame that must travel across the link, using a agreed-on algorithm such as BSD
compress or Deflate. The protocol decompresses the frame at its destination. See for more details.
*Error detection - Identifies fault conditions. The Quality and Magic Number options help ensure a reliable, loop-free data link. The Magic Number field helps in detecting links that are in a looped-back condition. Until the Magic-Number Configuration Option has been successfully negotiated, the Magic-Number must be transmitted as zero. Magic numbers are generated randomly at each end of the connection.
*Multilink - Provides load balancing several interfaces used by PPP through Multilink PPP (see below).
PPP frame
Structure
PPP frames are variants of
HDLC
High-Level Data Link Control (HDLC) is a communication protocol used for transmitting data between devices in Telecommunications, telecommunication and Computer network, networking. Developed by the International Organization for Standardization ...
frames:
If both peers agree to Address field and Control field compression during LCP, then those fields are omitted. Likewise if both peers agree to Protocol field compression, then the 0x00 byte can be omitted.
The Protocol field indicates the type of payload packet: 0xC021 for
LCP, 0x80xy for various
NCPs, 0x0021 for IP, 0x0029 AppleTalk, 0x002B for
IPX, 0x003D for Multilink, 0x003F for
NetBIOS
NetBIOS () is an acronym for Network Basic Input/Output System. It provides services related to the session layer of the OSI model allowing applications on separate computers to communicate over a local area network. As strictly an API, Net ...
, 0x00FD for
MPPC and
MPPE, etc. PPP is limited, and cannot contain general
Layer 3 data, unlike
Ether Type.
The Information field contains the PPP payload; it has a variable length with a negotiated maximum called the
Maximum Transmission Unit
In computer networking, the maximum transmission unit (MTU) is the size of the largest protocol data unit (PDU) that can be communicated in a single network layer transaction. The MTU relates to, but is not identical to the maximum frame size tha ...
. By default, the maximum is 1500
octets
Octet may refer to:
Music
* Octet (music), ensemble consisting of eight instruments or voices, or composition written for such an ensemble
** String octet, a piece of music written for eight string instruments
*** Octet (Mendelssohn), 1825 compos ...
. It might be padded on transmission; if the information for a particular protocol can be padded, that protocol must allow information to be distinguished from padding.
Encapsulation
PPP frames are encapsulated in a lower-layer protocol that provides framing and may provide other functions such as a
checksum
A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify dat ...
to detect transmission errors. PPP on
serial links is usually encapsulated in a framing similar to
HDLC
High-Level Data Link Control (HDLC) is a communication protocol used for transmitting data between devices in Telecommunications, telecommunication and Computer network, networking. Developed by the International Organization for Standardization ...
, described by IETF RFC 1662.
The Flag field is present when PPP with HDLC-like framing is used.
The Address and Control fields always have the value hex FF (for "all stations") and hex 03 (for "unnumbered information"), and can be omitted whenever PPP LCP Address-and-Control-Field-Compression (ACFC) is negotiated.
The
frame check sequence (FCS) field is used for determining whether an individual frame has an error. It contains a checksum computed over the frame to provide basic protection against errors in transmission. This is a
CRC code similar to the one used for other layer two protocol error protection schemes such as the one used in Ethernet. According to RFC 1662, it can be either 16 bits (2 bytes) or 32 bits (4 bytes) in size (default is 16 bits - Polynomial ''x''
16 + ''x''
12 + ''x''
5 + 1).
The FCS is calculated over the Address, Control, Protocol, Information and Padding fields after the message has been encapsulated.
Line activation and phases
;Link Dead: This phase occurs when the link fails, or one side has been told to disconnect (e.g. a user has finished his or her dialup connection.)
;Link Establishment Phase: This phase is where Link Control Protocol negotiation is attempted. If successful, control goes either to the authentication phase or the Network-Layer Protocol phase, depending on whether authentication is desired.
;Authentication Phase: This phase is optional. It allows the sides to authenticate each other before a connection is established. If successful, control goes to the network-layer protocol phase.
;Network-Layer Protocol Phase: This phase is where each desired protocols' Network Control Protocols are invoked. For example, IPCP is used in establishing IP service over the line. Data transport for all protocols which are successfully started with their network control protocols also occurs in this phase. Closing down of network protocols also occur in this phase.
;Link Termination Phase: This phase closes down this connection. This can happen if there is an authentication failure, if there are so many checksum errors that the two parties decide to tear down the link automatically, if the link suddenly fails, or if the user decides to hang up a connection.
Over several links
Multilink PPP
Multilink PPP (also referred to as MLPPP, MP, MPPP, MLP, or Multilink) provides a method for spreading traffic across multiple distinct PPP connections. It is defined in RFC 1990. It can be used, for example, to connect a home computer to an Internet Service Provider using two traditional 56k modems, or to connect a company through two leased lines.
On a single PPP line frames cannot arrive out of order, but this is possible when the frames are divided among multiple PPP connections. Therefore, Multilink PPP must number the fragments so they can be put in the right order again when they arrive.
Multilink PPP is an example of a
link aggregation
In computer networking, link aggregation is the combining ( aggregating) of multiple network connections in parallel by any of several methods. Link aggregation increases total throughput beyond what a single connection could sustain, and prov ...
technology.
Cisco IOS
The Internetworking Operating System (IOS) is a family of proprietary network operating systems used on several router and network switch models manufactured by Cisco Systems
Cisco Systems, Inc. (using the trademark Cisco) is an American ...
Release 11.1 and later supports Multilink PPP.
Multiclass PPP
With PPP, one cannot establish several simultaneous distinct PPP connections over a single link.
That's not possible with Multilink PPP either. Multilink PPP uses contiguous numbers for all the fragments of a packet, and as a consequence it is not possible to suspend the sending of a sequence of fragments of one packet in order to send another packet. This prevents from running Multilink PPP multiple times on the same links.
Multiclass PPP is a kind of Multilink PPP where each "class" of traffic uses a separate sequence number space and reassembly buffer. Multiclass PPP is defined in RFC 2686
Tunnels
Derived protocols
PPTP (Point-to-Point Tunneling Protocol) is a form of PPP between two hosts via
GRE using encryption (
MPPE) and compression (
MPPC).
As a layer 2 protocol between both ends of a tunnel
Many protocols can be used to
tunnel
A tunnel is an underground or undersea passageway. It is dug through surrounding soil, earth or rock, or laid under water, and is usually completely enclosed except for the two portals common at each end, though there may be access and ve ...
data over IP networks. Some of them, like
SSL,
SSH, or
L2TP create
virtual network interfaces and give the impression of direct physical connections between the tunnel endpoints. On a
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
host for example, these interfaces would be called tun0 or ppp0.
As there are only two endpoints on a tunnel, the tunnel is a point-to-point connection and PPP is a natural choice as a data link layer protocol between the virtual network interfaces. PPP can assign IP addresses to these virtual interfaces, and these IP addresses can be used, for example, to route between the networks on both sides of the tunnel.
IPsec in tunneling mode does not create virtual physical interfaces at the end of the tunnel, since the tunnel is handled directly by the TCP/IP stack.
L2TP can be used to provide these interfaces, this technique is called L2TP/IPsec. In this case too, PPP provides IP addresses to the extremities of the tunnel.
IETF standards
PPP is defined in RFC 1661 (The Point-to-Point Protocol, July 1994). RFC 1547 (Requirements for an Internet Standard Point-to-Point Protocol, December 1993) provides historical information about the need for PPP and its development. A series of related RFCs have been written to define how a variety of network control protocols, including
TCP/IP
The Internet protocol suite, commonly known as TCP/IP, is a framework for organizing the communication protocols used in the Internet and similar computer networks according to functional criteria. The foundational protocols in the suite are ...
,
DECnet
DECnet is a suite of network protocols created by Digital Equipment Corporation. Originally released in 1975 in order to connect two PDP-11 minicomputers, it evolved into one of the first peer-to-peer network architectures, thus transforming DEC ...
,
AppleTalk
AppleTalk is a discontinued proprietary suite of networking protocols developed by Apple Computer for their Macintosh computers. AppleTalk includes a number of features that allow local area networks to be connected with no prior setup or the ...
,
IPX, work with PPP; they can be found on the Datatracker IETF website.
See also
*
Diameter
In geometry, a diameter of a circle is any straight line segment that passes through the centre of the circle and whose endpoints lie on the circle. It can also be defined as the longest Chord (geometry), chord of the circle. Both definitions a ...
*
Extensible Authentication Protocol
*
Hayes command set
The Hayes command set (also known as the AT command set) is a specific command language originally developed by Dale Heatherington and Dennis Hayes for the Hayes Smartmodem in 1981.
The command set consists of a series of short text string ...
*
Link Access Procedure for Modems (LAPM)
*
Multiprotocol Encapsulation {{IPstack
Multiprotocol Encapsulation, or MPE for short, is a Data link layer protocol defined
by DVB which has been published as part of ETSI EN 301 192. It
provides means to carry packet oriented protocols (like for instance
IP) on top of MPEG ...
(MPE) for
MPEG transport stream
MPEG transport stream (MPEG-TS, MTS) or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast syst ...
*
Point-to-Point Protocol daemon (PPPD)
*
PPPoX
*
RADIUS
In classical geometry, a radius (: radii or radiuses) of a circle or sphere is any of the line segments from its Centre (geometry), center to its perimeter, and in more modern usage, it is also their length. The radius of a regular polygon is th ...
*
Unidirectional Lightweight Encapsulation (ULE) for
MPEG transport stream
MPEG transport stream (MPEG-TS, MTS) or simply transport stream (TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data. It is used in broadcast syst ...
References
*
{{DEFAULTSORT:Point-to-Point Protocol
Internet Standards
Link protocols
Logical link control
Modems
Telecommunication protocols
Wide area networks