Jim Breen's HDLC (High-Level Data-link Control protocol) Server

This server uses a program I wrote back in 1991 as a teaching aid to demonstrate the operation of the Asynchronous Balanced Mode (ABM) version of the HDLC communications protocol. ABM is the mode of HDLC that is used in many areas of communications. It is the basis for LAP-B in X.25, IS8802 in LANs, LAP-D in ISDN, LAP-M in GSM, HDLC framing in PPP, etc. The basic concepts are closely related to the recovery and flow control mechanisms in TCP.

My original program was called ABMDEMO and was released as a DOS executable. Copies are still hanging around freeware archives. The server simply wraps CGI operation around the ABMDEMO program. Click here for an explanation of the fields in the simulation output.


The server simulates the exchange of frames between DTE-A and DTE-B on a full-duplex synchronous link. The user provides the basic parameters for each DTE and the length of the simulation. Note: The value of the ACK timer is set to 30 clock ticks.

DTE A:
Specify whether the number of I-frames is Fixed and the number of frames to send
OR whether the I-frames are sent continuously and the % of time the link is busy %.

Specify whether the frames are of Random length or of a Fixed length , and state the length or average length units.

Specify the probability of an I-frame encountering an error %.

DTE B:
Specify whether the number of I-frames is Fixed and the number of frames to send
OR whether the I-frames are sent continuously and the % of time the link is busy %.

Specify whether the frames are of Random length or of a Fixed length , and state the length or average length units.

Specify the probability of an I-frame encountering an error %.

Specify the length of the simulation run in clock units .
(You can optionally specify a new random number seed: .)

.