This document discusses functions and techniques of the data link layer, including line discipline, flow control, and error control. It describes flow control as procedures that tell a sender how much data it can transmit before waiting for an acknowledgement. It also explains stop-and-wait and sliding window protocols for flow control and includes diagrams of normal operation and scenarios involving damaged frames, lost frames, and lost acknowledgements.