Data and Computer Communications: Data Link Control Protocols
Data and Computer Communications: Data Link Control Protocols
Data and Computer Communications: Data Link Control Protocols
frame synchronization flow control error control addressing control and data link management
Flow Control
ensure
influenced
by:
transmission time
time taken to emit all bits into medium
propagation time
time for a bit to traverse the link
assume
transmits frame destination receives frame and replies with acknowledgement (ACK) source waits for ACK before sending next destination can stop flow by not send ACK works well for a few large frames Stop and wait becomes inadequate if large block of data is split into small frames
allows multiple numbered frames to be in transit receiver has buffer W long transmitter sends up to W frames without ACK ACK includes number of next frame expected sequence number is bounded by size of field (k)
receiver can ack frames without permitting further transmission (Receive Not Ready) must send a normal acknowledge to resume if have full-duplex link, can piggyback ACks
Error Control
detection
common
techniques use:
error detection positive acknowledgment retransmission after timeout negative acknowledgement & retransmission
name for such error control mechanisms, including: stop and wait go back N selective reject (selective retransmission)
source transmits single frame wait for ACK if received frame damaged, discard it
transmitter has timeout if no ACK within timeout, retransmit transmitter will retransmit receive gets two copies of frame use alternate numbering and ACK0 / ACK1
simple inefficient
Go Back N
based
on sliding window if no error, ACK as usual 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 - Handling
Damaged
Frame
Lost
Frame
Go Back N - Handling
Damaged Acknowledgement
receiver gets frame i, sends ack (i+1) which is lost acks are cumulative, so next ack (i+n) may arrive before transmitter times out on frame i if transmitter times out, it sends ack with P bit set can be repeated a number of times before a reset procedure is initiated reject for damaged frame is lost handled as for lost frame when transmitter times out
Damaged Rejection
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 hence less widely used useful for satellite links with long propagation delays
important data link control protocol specified as ISO 33009, ISO 4335 station types:
Primary - controls operation of link Secondary - under control of primary station Combined - issues commands and responses
link
configurations
unbalanced config, primary initiates transfer used on multi-drop lines, eg host + terminals
balanced config, either station initiates transmission, has no polling overhead, widely used unbalanced config, secondary may initiate transmit without permission from primary, rarely used
delimit frame at both ends with 01111110 seq receiver hunts for flag sequence to synchronize bit stuffing used to avoid confusion with data containing flag seq 01111110
0 inserted after every sequence of five 1s if receiver detects five 1s it checks next bit if next bit is 0, it is deleted (was stuffed bit) if next bit is 1 and seventh bit is 0, accept as flag if sixth and seventh bits 1, sender is indicating abort
Address Field
identifies secondary station that sent or will receive frame usually 8 bits long may be extended to multiples of 7 bits
Control Field
Supervisory - ARQ when piggyback not used Unnumbered - supplementary link control
Control Field
use of Poll/Final bit depends on context in command frame is P bit set to1 to solicit (poll) response from peer in response frame is F bit set to 1 to indicate response to soliciting command seq number usually 3 bits
Field
in information and some unnumbered frames must contain integral number of octets variable length
Frame
HDLC Operation
consists
initialization
by either side, set mode & seq
data transfer
with flow and error control using both I & S-frames (RR, RNR, REJ, SREJ)
disconnect
when ready or fault noted
Summary
introduced
need for data link protocols flow control error control HDLC