PPP versus HDLC
Table of Contents:
Both PPP
and HDLC provide a data-link layer (layer 2) service, according to the Open
Systems Interconnection (OSI) reference model.
The HDLC protocol
is defined by ISO for use on both point-to-point and multipoint (multidrop)
data links. It supports full duplex transparent-mode operation and is now
extensively used in both multipoint and computer networks. The PPP, on the
other hand, is a protocol for communication only over point-to-point links,
typically between a personal computer and a server which are connected by a
phone line. The PPP's links provide as well full-duplex simultaneous
bi-directional operation, and are assumed to deliver packets in order.
PPP frames'
format:
|
Protocol |
Information |
Padding |
|
2 Bytes |
variable |
* |
HDLC frames'
format:
|
Flag |
Address |
Control |
Information |
FCS |
Flag |
|
1 Byte |
1-2 Bytes |
1 Byte |
variable |
2 Bytes |
1 Byte |
At the very bottom of PPP is the High-Level Data Link Control (HDLC) protocol, which
defines the boundaries around the individual PPP frames and provides a 16-bit
checksum. PPP adds the Protocol field. By adding the Protocol field
to the basic HDLC frame PPP is capable of holding packets from protocols other
than IP, such as Novell's IPX or Appletalk. The Protocol field identifies the
type of packet carried by the frame.
The PPP
adds The Link Control Protocol, (LCP) which is used on top of HDLC.
The Link Control Protocol (LCP) operates at the data
link layer to manage communication functions. LCP establishes the link between
two PPP peers and negotiates configuration options.
The LCP management functions do the following:
·
Determine encapsulation format
options
·
Negotiate optimal packet size by
implementing the MRU (Maximum Receive Unit) process. MRU defines the optimal
packet size for both ends of the serial link which increases the transmission
efficiency of the link
·
Negotiate Magic Number, which
identifies each peer so loopback conditions can be recognized and corrected.
·
Terminate the link
·
Authenticate the identity of the
peer on the link (optional)
·
Negotiate PPP Multilink
·
Data Compression (optional)
·
Link quality monitoring (optional)
Prior to
any kind of transmission a logical connection between the two communication
parties must be established.
In the HDLC
protocol a logical connection between the two communication parties is
accomplished by the exchange of two unnumbered frames.
The SNRM is
first sent by the primary station with the poll bit set to 1 and the address of
the appropriate secondary in the address field. The secondary responds with a
UA frame with the final bit set and its own address in the address field. After
all the data has been transferred, the link is cleared by the primary sending a
DISC frame and the secondary responding with a UA.
The procedure on the PPP protocol goes at the
following way:
An implementation wishing to open a connection must
transmit a Configure-Request. Upon reception of a
Configure-Request, an appropriate reply must be transmitted.
Few scenarios can occur:
·
If every Configuration Option
received in a Configure-Request is recognizable and all values are acceptable,
then the implementation must transmit a Configure-Ack.
·
if every instance of the received
Configuration Options is recognizable, but some values are not acceptable, then
the implementation must transmit a Configure-Nak.
·
If some Configuration Options
received in a Configure-Request are not recognizable or are not acceptable for
negotiation (as configured by a network administrator), then the implementation
must transmit a Configure-Reject.
The protocol includes Terminate-Request and Terminate-Ack
Codes in order to provide a mechanism for closing a connection.
RFC 1661 - The
Point-to-Point Protocol (PPP)
TCP/IP Illustrated, volume1 by W. Richard Stevens.
Data
Communications, Computer Networks and Open Systems, by Fred Halsall
Data
Communication ICs, High-Level Serial Communications, by Siemens