Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Point-to-Point Protocol
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Description== PPP is very commonly used as a [[data-link-layer protocol]] for connection over [[Synchronous circuit|synchronous]] and [[asynchronous circuit]]s, where it has largely superseded the older [[Serial Line Internet Protocol]] (SLIP) and telephone company mandated standards (such as [[LAPB|Link Access Protocol, Balanced]] (LAPB) in the [[X.25]] protocol suite). The only requirement for PPP is that the circuit provided be [[Duplex (telecommunications)|duplex]]. PPP was made to work with numerous [[network-layer protocol]]s, including [[Internet Protocol]] (IP), [[TRILL]], Novell's [[Internetwork Packet Exchange]] (IPX), [[NetBIOS Frames|NBF]], DEC net and [[AppleTalk]]. 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.<ref name="Stevens_1994_p26-27" /> It resends any damaged packets. PPP was designed somewhat after the original [[HDLC]] 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]] (PPPoE) as a method for transmitting PPP over [[Ethernet]] that is sometimes used with [[Digital subscriber line|DSL]]. RFC 2364 describes [[Point-to-Point Protocol over ATM]] (PPPoA) as a method for transmitting PPP over [[Asynchronous Transfer Mode|ATM]] Adaptation Layer 5 ([[AAL5]]), which is also a common alternative to PPPoE used with DSL. PPP, [[PPPoE]] and [[PPPoA]] are widely used in [[Wide area network|WAN]] lines. PPP is a layered protocol that has three components:<ref name="Stevens_1994_p26-27">{{Harvnb|Stevens 1994|pp=26β27|loc=sec 2.6: "PPP: Point-to-Point Protocol"}}</ref> # An encapsulation component that is used to transmit datagrams over the specified [[physical layer]]. # 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]] 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]] (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 ([[Network layer|layer 3]]) configuration may take place. Most commonly, the [[Internet Protocol Control Protocol]] (IPCP) is used, although [[IPX/SPX|Internetwork Packet Exchange Control Protocol]] (IPXCP) and [[AppleTalk|AppleTalk Control Protocol]] (ATCP) were once popular.<ref>{{Cite report |url=https://datatracker.ietf.org/doc/rfc1552/ |title=The PPP Internetworking Packet Exchange Control Protocol (IPXCP) |last=Simpson |first=William A. |date=December 1993 |publisher=Internet Engineering Task Force |issue=RFC 1552}}</ref><ref>{{Cite report |url=https://datatracker.ietf.org/doc/rfc1378/ |title=The PPP AppleTalk Control Protocol (ATCP) |last=Parker |first=J. Bradford |date=November 1992 |publisher=Internet Engineering Task Force |issue=RFC 1378}}</ref> [[IPv6CP|Internet Protocol Version 6 Control Protocol]] (IPv6CP) will see extended use in the future, when [[IPv6]] replaces [[IPv4]] as the dominant layer-3 protocol. ===Multiple network layer protocols=== {| border="0" cellspacing="3" style="float:right; text-align:center; padding-left:15px" |+ '''PPP architecture''' |- | | | | bgcolor="#eeeeff" rowspan=2 colspan=1 | [[Internet Protocol|IP]] |- | bgcolor="#9999ff" | [[Link Control Protocol|LCP]] | bgcolor="#9999ff" | [[Challenge-handshake authentication protocol|CHAP]] [[Password authentication protocol|PAP]] [[Extensible Authentication Protocol|EAP]] | bgcolor="#9999ff" | [[Internet Protocol Control Protocol|IPCP]] |- | bgcolor="#9999ff" rowspan=1 colspan=4 | PPP encapsulation |- | bgcolor="#ffcc99" rowspan=1 colspan=2 | [[High-Level Data Link Control|HDLC]]-like Framing | bgcolor="#ffcc99" | [[Point-to-Point Protocol over Ethernet|PPPoE]] | bgcolor="#ffcc99" | [[Point-to-Point Protocol over ATM|PPPoA]] |- | valign="bottom" bgcolor="#ffeebb" rowspan=2 colspan=1 | [[RS-232]] | bgcolor="#ffcc99" | [[Packet over SONET/SDH|POS]] | valign="bottom" bgcolor="#ffeebb" rowspan=2 colspan=1 | [[Ethernet]] | valign="bottom" bgcolor="#ffeebb" rowspan=2 colspan=1 | [[Asynchronous Transfer Mode|ATM]] |- | bgcolor="#ffeebb" | [[Synchronous optical networking|SONET/SDH]] |} {{anchor|NCP}}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 model#Layer 3: Network layer|OSI network layer protocols]], protocol code number 0x8023, RFC 1377 * the [[AppleTalk Control Protocol]] (ATCP) for [[AppleTalk]], protocol code number 0x8029, RFC 1378 * the [[Internetwork Packet Exchange Control Protocol]] (IPXCP) for the [[IPX|Internet Packet Exchange]], protocol code number 0x802B, RFC 1552 * the DEC net Phase IV Control Protocol (DNCP) for DNA Phase IV Routing protocol ([[DECnet|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]], protocol code number 0x8057, RFC 5072 ===Looped link detection=== PPP detects looped links using a feature involving [[Magic number (programming)|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.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)