Functions
The DLL handles synchronisation, error control, flow control, data compression, and encryption. For shared media, it also manages media access control and logical link control.
Synchronisation
Identifies the start and end of data units. Can be fixed-length (bytes or cells) or variable-length (frames). Frames encapsulate network-layer packets and are delimited by character count, character-oriented (STX/ETX), or bit-oriented (flag sequences) methods. Byte stuffing and bit stuffing prevent flag patterns from appearing in data.
Error Control
Physical transmission causes missing, inserted, or changed bits, often in bursts. Detection methods include parity, checksum, and CRC — all have residual error rates.
Correction approaches:
- Forward Error Correction — adds redundancy to recover data without retransmission; suits simplex links, CDs, high-latency or low-latency-sensitive streams like voice/video
- ARQ — either idle (stop-and-wait, low link utilisation) or continuous (sliding window using V(S)/V(R) counters, with Go-Back-N or Selective Reject on errors)
Flow Control
Managed in-band via X-ON/X-OFF, out-of-band via RTS/CTS, or through sliding window size manipulation.
Medium Access Control
Primary/secondary systems use polling (stop-and-wait or ARQ) or non-polling methods (RTS/CTS, TDMA). TDMA assigns time-slots via a master reference station.
Peer-to-peer systems include TDM (pre-assigned slots), ALOHA (transmit freely, detect and retry on collision), CSMA (listen before transmitting), CSMA/CD (abort on detected collision, wait random time before retry), collision-free carrier sense (timer/arbiter logic), Token Ring (pass a token; hold it to transmit, release after), and Token Bus (virtual ring over a physical bus).
Token Ring is fairer and more efficient than CSMA/CD under heavy load but adds complexity and token-wait delays.