The data-link layer provides error-free transfer of data frames from one computer to another over the physical layer. The layers above this layer can assume virtually error-free transmission over the network.
The data-link layer provides the following functions:
Establishment and termination of logical links (virtual-circuit connection) between two computers identified by their unique network adapter addresses.
Control of frame flow by instructing the transmitting computer not to transmit frame buffers.
Sequential transmission and reception of frames.
Providing and listening for frame acknowledgment, and detecting and recovering from errors that occur in the physical layer by retransmitting non-acknowledged frames and handling duplicate frame receipts.
Management of media access to determine when the computer is permitted to use the physical medium.
Delimiting of frames to create and recognize frame boundaries.
Error-checking of frames to confirm the integrity of the received frame.
Inspection of the destination address of each received frame and determination of whether the frame should be directed to the layer above.
While the services of the data-link layer provide for reliable delivery of data, many routable protocol suites such as TCP/IP and IPX/SPX do not provide for, nor utilize reliable data-link layer delivery services. Instead, reliable data delivery is provided by protocols operating at the transport layer.