The data link layer :
Provides a well-defined service interface to the network layer
Deals with transmission errors
Regulating the flow of data so that slow receivers are not swamped by fast senders
All of the above