Image from Pixabay
Point-to-Point Protocol (also known as PPP), in a simple definition, is an encapsulation protocol that transports IP traffic across point-to-point links.
In other words, it is a data link layer commonly used to create a direct connection between network entities or points (these can also be referred to as nodes) with no host or networking device in between.
The protocol does not simply occur on its own, it is constructed of various main components that we will break down in the following guide.
The Logistics Of PPP Protocol
PPP uses a point-to-point connection, which is one of the most common Wide Area Network (WAN) connection types. Through that, it connects LANs to service providers WANs and also works to connect LAN segments within an organized network.
There are various examples of that, but one of the most common is when you establish a connection to your Internet Service Provider through a modem. That link is done through two points on the network, which means the protocol used to establish the connectivity is a Point-to-Point Protocol.
Why Use Point-To-Point Protocol
Before breaking down PPP, we first need to discuss its various advantages. Not only it is not proprietary, meaning no one owns it, but it can also be used in various ways.
PPP can be run over twisted pair, fiber-optic lines, and satellite transmission. In addition, it provides transport over frame relay, ISDN, ATM, and optimal links. Those options show the different ways it can be used and the type of inherent versatility it has.
In addition, it also allows for security by serving as an end user authentication framework for an ISP to authenticate each end user before granting access to network resources.
This framework supports different authentication protocols, including Password Authentication Protocol (PAP) or Challenge Handshake Authentication Protocol (CHAP). That gives it an extra level of dependability and trust.
The Many Roles Of PPP Protocol
Continuing with the above discussion, there are many roles that PPP takes on.
For instance, it can be utilized for both basic data link layer framing and de-framing services in order to send network layer data across a point to point network. Such services have error detection as an added bonus.
The protocol can also optionally enable data compression in a way that makes it so data can be sent in a compressed form across the PPP link, and it facilitates the carry of different types of network layer protocols.
Beyond that, it also enables facility to operate over different types of physical links, including cable modems, Ethernet, and DSL.
While it does not guarantee order delivery or frames or provide reliable delivery, it plays a role in combining multiple WAN links into a bigger point to point link as well.
3 Primary Components of PPP
Now that we’ve covered the general advantages that come with PPP, the next part of this guide is breaking down its three primary components.
1. Link Control Protocol
The first such component is known as Link Control Protocol (LCP).
LCP is important because it is responsible for establishing, maintaining, and tearing down a connection between two different endpoints. It also tests the link and determines if it is active or not.
Building A Strong Connection
LCP establishes a point-to-point connection in a succinct and reliable way.
To do that, it first must detect a clocking signal on each endpoint.
However, it is important to note that a clocking signal does not always mean the link is working as intended. That is because a network clock can generate a clocking signal and share it with devices on the network.
As a result, once an LCP detects a clocking signal it then triggers the PPP host to transmit PPP Configure-Request packets.
If the remote endpoint of a point-to-point link receives the packets, it then transmits what is known as a Configure-Acknowledgment packet to back to the request’s source.
Such a process then puts into motion the final step, where, after receiving the acknowledgment, the initiating endpoint marks the link as established.
While that occurs, the remote endpoint sends its own packets and processes the acknowledgment packets. If the network is working properly, both endpoints treat the connection as established.
LCP And Connection Parameters
As the protocol establishes a connection, LCP also works to negotiate certain connection parameters like Frame Check Sequence (FCS) and High-Level Data Link Control (HDLC) framing.
Though PPP Protocol uses 16-bit FCS by default, you can also configure it to use a 32-bit FCS or a 0-bit FCS (no FCS) if you prefer. It is possible to enable an HDLC encapsulation across the connection as well.
Once the connection is established and ready to go, PPP hosts create Echo-Request and Echo-Response packets to maintain it keep it up and running.
2. PPP Authentication Protocol
The next PPP component to explore is authentication protocol, which works to establish a safe and secure connection between two points.
As mentioned above, there are several parts of PPP protocol linked to security. The authentication layer is instrumental towards that end because it ensures that the endpoint of a PPP link is a valid device.
There are many different authentication protocols out there, and they include the Extensible Authentication Protocol (EAP), the Password Authentication Protocol (PAP), and the Challenge Handshake Authentication Protocol (CHAP).
The Benefits Of Using CHAP
While you will find all three of the above security protocols used at different times, CHAP is the most common of the group because of how well it ensures a secure connection.
In it, once an LCP establishes a PPP link, the PPP hosts at either end of the connection start a three-way CHAP handshake.
However, just one is not enough. Two different handshakes are needed before both sides can fully identify an established PPP link.
Creating CHAP Protocol
In order to set up CHAP configuration, each endpoint on a PPP link needs to use a shared password (also called a secret) in order to authenticate challenges. However, that password is never sent over the wire.
Rather, the hosts on the connection exchange the information in a way that allows them to each know they have the same information. That system is extremely secure and part of what makes CHAP so reliable.
Typically, challenges are made up of a hash function calculated from the password, a numeric identifier, and a randomly chosen challenge value that shifts with each one.
The authentication is only successful if the response value matches the challenge value.
Password Authentication Protocol, while not quite as reliable as CHAP, is another useful authentication protocol.
Here, the protocol uses a simple two-way handshake to establish identity. This is commonly used right after the Link Control Protocol during the authentication phase.
3. Network Control Protocols
The final aspect of PPP Protocol is Network Control Protocols, which help handle multiple Network Layer Protocols by initializing the PPP protocol stack. In that way, it allows multiple network layer protocols to operate on the same communication link.
For each network layer user, a separate Network Control Protocol is provided as a way to negotiate options for the different network layer protocols.
This step kicks in after the above authentication process is done and the connection is fully established.
Once the system is secure, any higher-level protocols are able to both initialize and perform their own authentications.
Network Control Protocols for PPP include support for IPCP (IP Control Protocol), IPv6CP, and OSINLCP (OSI Network Layer Control Protocol).
The Magic Of Numbers
While not as integral to PPP Protocol as the above three aspects, hosts running PPP can create what is known as “magic numbers” that can be used to diagnose a connection’s overall health.
To do this, any PPP host can generate a random 32-bit number and send it out to the remote endpoint during both the LCP negotiation process and echo exchanges.
Each host on the network will get a different number to ensure the maximum amount of efficiency.
If a magic number mismatch ever occurs in an LCP message, it shows the host that the connection is not in loopback mode. That then shows that traffic is being exchanged bidirectionally.
However, if the magic number within the LCP message is the same as the configured number, the connection is in loopback mode and things are moving along smoothly.
The process of looping traffic back to the original host is a good way to diagnose network health between the host and loopback location.
Establishing A Strong Connection
Point to Point Protocol is not a simple process, but it is easy to digest once you break it down into its different parts. It is a key data link layer protocol and critical for establishing a connection between two different nodes.
While the above sections break down how it works, the protocol is also used across many physical networks, from serial cable to phone lines to fiber optic links. In that way, it has a wide range of real-world applications that affect everyday life.