Various Types of Transfer Modes in HDLC

High-Level Data Link Control (HDLC) is basically data link control protocol that is capable of supporting range of various models of operation or data transfer. A mode in HDLC generally represents relationship among two devices that are involved in an exchange.

A mode basically describes who actually controls data link. HDLC communications session uses several modes of data transfer or communications simply to determine or identify how primary and secondary stations actually interact with each other. HDLC basically offers and provides three different modes of operations.

These modes of operations or data transfer are given below :

1. Normal Response Mode (NRM) :
NRM is generally is type of unbalanced configuration in which only primary terminal or station may initiate or starts data transfer to secondary station. Secondary terminal or station transfers data only in response when it is commanded to do so by primary station. We usually have only one primary station and various secondary stations. NRM is also used for both point-to-point and multipoint transmission or links.



In simple words, secondary station that is running in an unbalanced communications or configurations environment may only communicate when being commanded or signaled to do so by primary station. In other words, secondary station must receive command or permission from primary station to transfer or transmit response. Transmission from secondary station to primary station is much more than just an acknowledgment of a data frame. In NRM, primary station controls overall data link management. It also allows operation over half-duplex communications links, as long as primary station is aware that it might not transfer when it has commanded to a secondary station.

2. Asynchronous Response Mode (ARM) :
ARM is a type of Unbalanced Configuration in which primary station may initiate or start a data transfer as well as secondary station can also start or initiate data transfer without any explicit permission or command from primary station to transfer data. We usually have on only one primary station and multiple secondary stations.

In simple words, in an unbalanced configuration environment, secondary station may transmit at will, however, primary station still has responsibility of doing initialization, error correction or recovery, control flow of data, and logical disconnections. Moreover, ARM is less disciplined than NRM. If it allows operations over full-duplex communication links, secondary station can transfer or transmit data frames at any time. If it allows operations over half-duplex communication links, secondary station must have to wait until it detects an idle channel before it can transfer or transmit any data frames. In this, secondary stations are more independent.

3. Asynchronous Balanced Mode (ABM) :
ABM is a type of Balanced configuration in which secondary station can initiate data transfer without any explicit permission or command from primary station. ABM also provides a reliable point-to-point link service. It is also used to provide a service that supports either a datagram or reliable network protocol that can act as both a primary and a secondary.

In simple words, in a balanced configuration environment, either a combined station can initiate or start transmission. This mode is basis for LAP-B in X.25, LAP-D in ISDN, etc. In ABM, error recovery such as checkpoint or go-back-n error recovery is basically employed to simply ensure a well ordered and reliable flow of data frames. It is most common mode used nowadays. It is generally used in Point-to-Point communications or links, for communication among combined stations. In ABM, data frames can be transferred in a full-duplex manner.

Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.