The second layer of the osi reference model is data link layer. This layer provides functions and procedures required to transfer data between physical entities
The data link layer defines how a networking components accesses the media to which it is connected and defines media’s frame type and transmission method. The data link layer is also responsible for taking bits from the physical layer and reassembling them into the original data link layer frame. The data link layer does error detection and will discard bad frames. Switches and bridges operate in this layer.
The frame includes the fields and components the data link uses to communicate with devices on the same wire. This layer has two sub layers. Media Access Control (MAC) and Logical Link Control (LLC). The function of MAC sub layer is to provide addressing and channel access mechanism too access multiple hosts within the network. The LLC sub layer is responsible for multiplexing for several network protocols. See the image below.
Functions of data link layer
- This layer receives the stream of bits from the network layer divides into manageable data units called frames.
- Data link protocols determine which device has control over the link at any point of time.
- This layer adds mechanisms to detect and retransmit lost frames increases reliability.
- The Data link layer adds a header to the frame that contains a destination address.
- Flow control is the technique through wh3ich the constant data rate is maintained on both the sides so that no data get corrupted.
- When data frames are sent on the link, both machines must be synchronized in order to transfer to take place.
Some data link layer protocols
- ARP Address Resolution Protocol
- CDP Cisco Discovery Protocol
- PPP Point-to-point protocol
- SMLT Split multi-link trunking
- UDLD Unidirectional Link Detection
- IEEE802.11 wireless LAN
- HDLC High level data link control
- FDDI Fiber Distributed Data Interface
- CAN Controller Area Network
- EAPS Ethernet Automatic Protection Switching
- MPLS Multiprotocol Label Switching