The document discusses data link layer protocols. It begins by introducing the data link layer and its functions, including providing an interface to the network layer, error control, and flow control. It then discusses three elementary data link protocols: 1) an unrestricted simplex protocol with no error control, 2) a simplex stop-and-wait protocol that uses acknowledgments for flow control, and 3) a simplex protocol for noisy channels that uses positive acknowledgments and retransmissions for error control. The document focuses on the algorithms and procedures used in these elementary protocols.