Point-to-Point Protocol
From Free net encyclopedia
Layer | Protocols |
---|---|
Application | DNS, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, TELNET, BitTorrent, RTP, rlogin, ENRP, … |
Transport | TCP, UDP, DCCP, SCTP, IL, RUDP, … |
Network | IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, … |
Link | Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, … |
In computing, the Point-to-Point Protocol, or PPP, is commonly used to establish a direct connection between two nodes. It can connect computers using serial cable, phone line, trunk line, cellular telephone, specialized radio links, or fiber optic links. Most internet service providers use PPP for dial-up access to the Internet.
PPP is commonly used to act as a "layer 2" (the "Data Link" layer of the OSI model) protocol for connection over synchronous and asynchronous circuits, where it has largely superseded an older non-standard protocol (known as SLIP), and telephone company mandated standards (such as X.25). PPP was designed to work with numerous "layer 3" network layer protocols, including IP, Novell's IPX, and AppleTalk.
Contents |
Basic Features
PPP was designed somewhat after the original HDLC specifications. The designers of PPP included many additional features that had been seen only in various proprietary data-link protocols up to that time.
PPP is described by Internet Engineering Task Force (IETF) RFC 1661.
Enhanced error detection
PPP uses a Frame Check Sequence (FCS) field to determine whether an individual frame has an error. PPP monitors the frequency with which frames are received in error.
Frame Check Sequence (FCS): 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. It can be either 16 bits or 32 bits in size (default is 16 bits).
The FCS is calculated over the Address, Control, Protocol, Information and Padding fields.
Automatic self configuration
Link Control Protocol (LCP) is an integral part of PPP, and 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.
RFC 1994 describes Challenge-handshake authentication protocol (CHAP), preferred for establishing dialup connections with ISPs. Although deprecated, Password authentication protocol (PAP) is often used.
After the link has been established, additional network (layer 3) configuration may take place. Most commonly, the Internet Protocol Control Protocol (IPCP) is available, although Internetwork Packet Exchange Control Protocol (IPXCP) and AppleTalk Control Protocol (ATCP) were once very popular.
Both PPP and Dynamic Host Configuration Protocol (DHCP) offer support for automatic configuration of interfaces. While DHCP is used primarily for multi-point access, it may also be used on point-to-point links only after PPP has completed establishment of the essential link and network configuration.
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.
PPP frame
PPP is usually encapsulated in a framing similar to HDLC, described by IETF RFC 1662.
Name | Number of bytes | Description |
---|---|---|
Flag | 1 | indicates frame's begin or end |
Address | 1 | broadcast address |
Control | 1 | control byte |
Protocol | 1 or 2 | setting of protocol in data field |
Data | variable (0 or more) | datagram |
FCS | 2 (or 4) | error correction sum |
The Flag field is present when PPP with HDLC-like framing is used. The Address and Control fields can be omitted whenever PPP LCP Address-and-Control-Field-Compression (ACFC) is negotiated.
Multilink PPP
Multilink PPP can connect multiple links between two systems as needed to provide extra bandwidth. Remotely accessing resources through PPP Multilink allows for the increase in overall throughput by combining the bandwidth of two or more physical communication links such as analog modems, ISDN, and other analog/digital links. PPP Multilink is based on Internet Engineering Task Force (IETF) standard RFC 1990 (obsoletes RFC 1717).
Multiclass PPP
MP's monotonically increasing sequence numbering (contiguous numbers are needed for all fragments of a packet) does not allow suspension of the sending of a sequence of fragments of one packet in order to send another packet. The obvious approach to providing more than one level of suspension with PPP Multilink is to run Multilink multiple times over one link. Multilink as it is defined provides no way for more than one instance to be active. Each class runs a separate copy of the mechanism defined i.e. uses a separate sequence number space and reassembly buffer. See RFC 2686.
Other features
Numerous documents on PPP have been published through the RFC process since July 1990, including various authentication, encryption, and compression methods, and the use of PPP in conjunction with other network protocols.
Although these are not standard applications, PPP is also occasionally used over broadband connections.
RFC 2516 describes Point-to-Point Protocol over Ethernet (PPPoE), a method for transmitting PPP over Ethernet that is sometimes used with DSL.
RFC 2364 describes Point-to-Point Protocol over ATM (PPPoATM), a method for transmitting PPP over ATM Adaptation Layer 5 (AAL5).
RFC 2615 is also used in Packet over SONET/SDH (PoS) transmissions.
RFCs
- RFC 2687, Proposed Standard, PPP in a Real-time Oriented HDLC-like Framing
- RFC 2153, Informational, PPP Vendor Extensions
- RFC 1994, PPP Challenge Handshake Authentication Protocol (CHAP)
- RFC 1662, Standard 51, PPP in HDLC-like Framing
- RFC 1661, Standard 51, The Point-to-Point Protocol (PPP)
See also
da:PPP de:Point-to-Point Protocol es:Point-to-Point Protocol fr:Protocole point à point ku:PPP li:Point-to-Point Protocol nl:Point to Point Protocol ja:Point-to-Point Protocol pl:PPP pt:Protocolo Ponto-a-Ponto ru:Point-to-Point Protocol sl:PPP fi:PPP sv:Point-to-Point Protocol zh:点对点协议