Understanding the basics of Point-to-Point Protocol (PPP) is critical for network administrators. As more and more sensitive data gets passed over networks, making sure those packets are secure will involve an understanding of this popular protocol. PPP is a robust Layer 2 encapsulation method that can provide secure and flexible transport across serial and point-to-point links. Cisco’s implementation of PPP provides a long list of features including:
- Support for multiple network layer protocols (including IP, IPX, and AppleTalk)
- Multilink PPP
Point-to-Point Protocol architecture
The Point-to-Point Protocol frame actually consists of three data link layer protocols. The first protocol is High-level Data Link Control (HDLC). HDLC is the basis of the PPP frame format and is used as a method to encapsulate datagrams over serial links. Running over HDLC is the Link Control Protocol (LCP). As its name implies, LCP is responsible for link management. LCP responsibilities include configuring, authenticating, and establishing data link connections. Lastly, the Network Control Protocols (NCPs) run over LCP and are responsible for communicating with the upper layer network protocols. NCP is the protocol that enables PPP to support multiple network layer protocols. For each network layer protocol, there is an NCP that supports it. For example, IP is supported by the NCP protocol IPCP.
PPP supports two authentication methods: Password Authentication Protocol (PAP) and Challenge Handshake Authentication Protocol (CHAP). PAP is a relatively simplistic authentication method that transmits passwords in clear text. This means that network sniffers can capture PAP authentication packets and the clear text passwords can be read, thus making PAP susceptible to playback attacks. CHAP, however, uses a more sophisticated method of authentication that includes encrypting passwords as they traverse the network and a challenge/handshake method of authentication. Configuring PAP or CHAP on a Cisco device requires the following steps:
Multilink PPP provides load balancing and improves network performance by bundling multiple links to create one larger link. LCP provides the PPP multilink feature when a link is negotiated. Multilink PPP operates by fragmenting packets and transmitting the fragments over multiple links. To ensure proper reassembly of the fragmented packets, up to eight bytes of sequencing data is added to the PPP frame. Enabling PPP Multilink on an interface is a simple process performed by issuing the following commands:
(Caution: Although configuring an interface to use Multilink PPP is a simple process, designing and managing a Multilink PPP network can be challenging. Before implementing Multilink PPP, make sure you have done your homework.)
The benefits of compression vary depending on the type of data being transmitted and the hardware that is performing the compression and decompression of the data. That said, in some situations, compression could greatly improve network performance. Cisco’s implementation of PPP supports four methods of compression methods.
- TCP header compression—Compresses only the TCP header.
- Microsoft Point-to-Point Compression (MPPC) protocol—A Lempel-Ziv-based compression method used by Microsoft clients.
- Stacker—Also a Lempel-Ziv-based compression method, designed to send a data type only once when the information occurs within the same data stream.
- Predictor—Determines whether the data being transmitted has already been compressed. If so, the data is sent without wasting resources trying to recompress it.
- The commands to enable PPP compression are as follows:
Want more information?
PPP is a complex protocol that can add security and efficiency to your network. One good source of additional information on PPP is Cisco IOS 12.0 Dial Solutions.
Warren Heaton Jr., MCSE+I, CCNP, CCDP is the Cisco program manager for A Technological Advantage in Louisville, KY.If you'd like to share your opinion about PPP, please post a comment below or send the editor an e-mail.