This document discusses various data link layer protocols. It begins by describing the services provided by the data link layer, including framing, error control, and flow control. It then discusses different types of framing such as fixed-size and variable-size. The document also covers different protocols for handling flow control and error control, including stop-and-wait, go-back-N ARQ, and selective repeat ARQ. It analyzes the performance of these protocols on both noiseless and noisy channels.