Data Link Layer Services: - Flow Control: - Error Detection
Data Link Layer Services: - Flow Control: - Error Detection
Flow Control:
pacing between senders and receivers
Error Detection:
errors are caused by signal attenuation and noise.
Receiver detects presence of errors:
it signals the sender for retransmission or just
drops the corrupted frame
Error Correction:
mechanism for the receiver to locate and correct
the error without resorting to retransmission
Flow Control
Ensuring the sending entity does not
overwhelm the receiving entity
Preventing buffer overflow
Transmission time
Time taken to emit all bits into medium
Propagation time
Time for a bit to traverse the link
Model of Frame
Transmission
Fragmentation
Large block of data may be split into small
frames
Limited buffer size
Errors detected sooner (when whole frame received)
On error, retransmission of smaller frames is needed
Prevents one station occupying medium for long
periods
Sliding Window
Enhancements
Receiver can acknowledge frames without
permitting further transmission (Receive
Not Ready)
Must send a normal acknowledge to
resume
If duplex, use piggybacking
If no data to send, use acknowledgement frame
If data is sent, but no acknowledgement to
send, send last acknowledgement number
again, or have ACK valid flag (TCP)
Error Detection
Additional bits added by transmitter for error
detection code
Parity
Value of parity bit is such that character has even
(even parity) or odd (odd parity) number of ones
Even number of bit errors goes undetected
Checksum can be a simple XOR operation of bits
to be checked
Frame
Control
Data
CRC
CRC Generation
Given a Specific Polynomial G(x)
called the generator, and a Data
Message M(x), Calculate a Frame
Check Sequence (FCS), or Checksum
Append the FCS (Checksum) to the
Data Message for Transmission
At the Receiver, Recalculate the
Checksum, and Check with the
Transmitted Value
Error Control
Go Back N
Based on sliding window
If no error, ACK as usual with next frame
expected
Use window to control number of
outstanding frames
If error, reply with rejection
Discard that frame and all future frames until
error frame received correctly
Transmitter must go back and retransmit that
frame and all subsequent frames
Go Back N - Damaged
Frame
Go Back N - Damaged
Acknowledgement
Receiver gets frame i and send
acknowledgement (i+1) which is lost
Acknowledgements are cumulative, so
next acknowledgement (i+n) may arrive
before transmitter times out on frame i
If transmitter times out, it sends
acknowledgement with P bit set as before
This can be repeated a number of times
before a reset procedure is initiated
Go Back N - Damaged
Rejection
Same method is followed as the lost
frame.
Go Back N
Diagram
Selective Reject
Also called selective retransmission
Only rejected frames are
retransmitted
Subsequent frames are accepted by
the receiver and buffered
Minimizes retransmission
Receiver must maintain large enough
buffer
More complex logic in transmitter
Selective
Reject Diagram
Secondary station
Under control of primary station
Frames issued called responses
Combined station
May issue commands and responses
Balanced
Two combined stations
Supports full duplex and half duplex
Frame Structure
Synchronous transmission
All transmissions in frames
Single frame format for all data and
control exchanges
Frame Structure
Flag Fields
Delimit frame at both ends with a
unique pattern - 01111110
A single frame can be used as closing
flag (for one frame) and an opening
flag (for another frame).
On the both sides of the user-network
interface, Receiver hunts for flag
sequence to synchronize on the start
of the frame.
Bit
Stuffing
Example with
possible
errors
Address Field
Identifies the secondary station that
sent or will receive frame.
Not required in point-to-point link.
Usually 8 bits long.
May be extended to multiples of 7
bits
LSB of each octet indicates that it is the
last octet (1) or not (0)
Control Field
Different for different frame type
Information frames (I-frames): data
to be transmitted to user.
Flow and error control are piggybacked on
information frames
Poll/Final Bit
Usage depends on context
Command frame
P bit
Set to 1 to solicit (poll) response from
peer
Response frame
F bit
Set to 1 indicates response to soliciting
command
Information Field
Only in information (I-frames) and
some unnumbered frames (U-frames)
Must contain integral number of
octets, any sequence.
Variable length
HDLC Operation
Exchange of information, supervisory
and unnumbered frames
Three phases
Initialization
Data transfer
Disconnect
Initialization:
It signals the other side that initialization is
requested.
It specifies the modes that is requested.
It specifies whether 3 or 7 bit sequence
numbers are to be used.
Data transfer:
After the establishment of logical connections,
both sides may begin sending user data in Iframe, starting with a sequence number, 0.
N(S) and N(r) fields of the I-frame contains
sequence number that support flow and error
control.
N(R) is the acknowledgement of the frame
that is received and it will also mention the
expected frame.
Disconnect:
HDLC module can initiate disconnect, if
there is any fault or at the request of the
higher layer user.
A DISC frame is issued.
A UA is sent after the acceptance, by the
entity.
Any outstanding I-frames will be lost.
Example
Example