DATALINK LAYER 
      
	Definition:
             
The data link layer provides error-free transfer  of data frames from one node to another over the physical layer, allowing layers  above it to assume virtually error-free transmission over the link. To do this,  the data link layer provides
               
Link establishment and  termination:
             
 It establishes and terminates the logical link between two nodes.
             
Frame traffic control:
             
 It tells the transmitting node to "back-off" when no frame buffers are  available.
             
Frame sequencing:
             
 It transmits/receives frames sequentially. 
             
Frame acknowledgment:
             
 It provides/expects frame acknowledgments. Detects and recovers from errors that  occur in the physical layer by retransmitting non-acknowledged frames and  handling duplicate frame receipt.
             
Frame delimiting:
             
It creates and recognizes frame boundaries.
Frame error checking:
It checks received frames for integrity.
           
Media access  management:
           
It determines when the node "has the right" to use the  physical medium.