Link Layer Services
Link layer services provided by a link layer protocol are the following :
- Link access
- Reliable delivery
- Error detection and correction
Although the basic service of any link layer is to move a datagram from one node an adjacent node over a single communication link, the details of the provided service can vary from one link layer protocol to the next.
Almost all link layer protocols encapsulate each network layer datagram with a link layer frame before transmission over the link. A frame consists of a data field, in which the network layer datagram is inserted, and a number of header fields. The structure of the frame is specified by the link layer protocol. We’ll see several different frame formats when we examine specific link layer protocols in this tutorial.
A medium access control (MAC) protocol specifies the rules by which a frame is transmitted onto the link. For point-to-point links that have single sender at one end of the link and a single receiver at the other end of the link, the MAC protocol is simple (or non-existent) – the sender can send a frame whenever the link is idle. The more interesting case is when multiple nodes share a single broadcast link – the so-called multiple access problem. Here, the MAC protocol serves to coordinate the frame transmission of the many nodes.
When a link layer protocol provides reliable delivery service, it guarantees to move each network layer datagram across the link without error. Recall that certain transport layer protocols (TCP) also provide a reliable delivery service. Similar to a transport layer reliable delivery service, a link layer reliable delivery service can be achieved with acknowledgements and retransmissions.
A link layer reliable delivery service is often used for links that are prone to high error rates, such as a wireless link, with the goal of correcting an error locally – on the link where the link error occurs – rather than forcing an end-to-end retransmission of the data by a transport- or application layer protocol. However, link layer reliable delivery can be considered unnecessary overhead for how low bit-error links, including fibre, coax, and many twisted-pair copper links. For this reason, many wired link layer protocols do not provide a reliable delivery service.
Error Detection & Correction
The link layer hardware in a receiving bode can incorrectly decide that a bit in a frame is zero when it was transmitted as a one, and vice versa. Such bit errors are introduces by signal attenuation and electromagnetic noise. Because there is no need to forward a datagram that has an error, many link layer protocols provide a mechanism to detect such bit errors. This is done by having the receiving node perform an error check. I guess you remember that the transport layer and network layer also provide a limited form or error detection – the internet checksum.
Error detection in the link layer is usually more sophisticated and is implemented in hardware. Error correction is similar to error detection, except that a receiver not only detects when bit errors have occurred in the frame but also determines exactly where in the frame the errors have occurred (and then corrects these errors).