When a message is carried in one very large frame, even a single-bit error would require the retransmission of the whole frame
fixed-size framming
there is no defining the boundaries of frame
the size itself can be used a delimiter
example : ATM, WAN
Variable size framming
Character-Oriented framming
carried 8-bit character (such as ASCII)
To seperate one frame from next one, an 8-bit flag is added at beginning and the end of the frame
The Header carries the source and destination and other control infromation (8-bit)
The Trailer carries error detection redandunt bits (8-bit)
Bit-Oriented framming
delimetiter to seperate one frame from the other, Protocol uses a special 8-bit pattern flag (01111110)
In dataword, If we encounter 011111, to avoid misunderstaning with flag, add single 0 bit; 01111110 -> 011111010 (It called bit stuffing)
Flow and Error control
Flow control
If the items are produced faster than they can be consumed, the consumer can be overwhelmed and may need to discard some ltems. (Vice versa)
Buffer
AIthough flow control can be implemented in several ways, one of the solutions is normally to use two buffers
A buffer is a set of memory locatlons that can hold packets at the sender and receiver
When the buffer of the receiving data-link layer is full, it informs the sending data-link layer to stop pushing frames.
Error control
Error control at the data-link layer is normally very simple and implemented using one of the following two methods.
In both methods, a CRC is added to the frame header by the sender and checked by the receiver.
In the first method, if the frame is corrupted, it is silently discarded; if it is not corrupted, the packet is delivered to the network layer. This method is used mostly in wired LANs such as Ethernet.
ln the second method, if the frame is corrupted, it is silently discarded; if it is not corrupted, an acknowledgment is sent(for the purpose of both flow and error control) to the sender.
Data Link Control Protocols
Simple
Stop and Wait
Go Back N (disapeared)
Selective Repeat (disapeared)
Piggyback
In sender site, not immediatly send ACK
Only if we have data to transfer.
Add(Piggybacking) an ACK field within an existing data frame.