CS 635 Lecture 3, Part 3 Logical
Link Control
(Note: Material for this page has
been borrowed from http://gaia.cs.umass.edu/cs653-1997/notes/ch5/ch5-2.html)
Error Control
Go-Back-N ARQ
-
Packets transmitted continuously (when available) without waiting for ACK,
up to N outstanding, unACK’ed packets
-
A logically different sender timer association with each unACK’ed packet:
extension of AB protocol
-
Receiver:
-
ACK packet if correctly received and in-order, pass to higher layer
-
NACK or ignore (possibly discard) corrupt or out-of-order packet
-
Sender
-
If NACK received, or timeout, for packet n, begin resending from n all
aver again
-
Cumulative ACK: ACK of n implicitly acknowledges up through n
Go-Back-N continued
-
No receiver transport buffering with discard
-
Saves resources at receiver
-
Avoids large bursts of packet delivery to higher layers
-
Simplicity in buffering and protocol processing at sender and receiver
-
Tradeoff between buffering/processing complexity and bandwidth
Go Back N: Example
Selective Repeat ARQ
As in go back-N:
-
packet transmitted when available, up to limit
-
timer associated with each unACK’ed packet
-
receiver NACK’s or ignores corrupted packets
Unlike Go-Back-N
-
out-of-order (but otherwise correct) packet is ACK’ed
-
receiver: buffers out-of-order packets
-
sender: on timeout or NACK of packet n, just retransmit n
Notes:
-
more receiver buffering than Go_back-N
-
more complicated buffer management by both sides
-
saves bandwidth: no need to retransmit correctly received packets
Selective Repeat ARQ: example:
How Big Can a Window Be?
Suppose sequence number space size is N
-
Question: How big can window be and have SR still work?
-
Partial Answer: N-1 won’t work:
Fundamental problem: sender and receiver
-
Do not have synchronized info
-
Can not know the exact same information
Detecting Errors: checksums
Need to detect errors: bits in packet may be flipped while in transit or
stored at intermediate notes.
Approach: add extra bits to packets that will aloow us to detect (possibly
correct) bit errors
Simple example: parity
-
Given n-1 bit packet, add nth bit, choosing value so that total number
of 1 bits in packets (including nth bit) is even (even parity).
-
Example packet:
-
At receiver:
-
count # 1’s in packet, if odd, then error!
-
What if even number of bit flips?
-
What if odd number of bit flips?
-
Note:
-
Many codes with more powerful error detection capabilities
-
Packet header itself often separately checksummed
-
Checksumming also done at data link layer
-
Hardware support for transport-level checksum: SGI
Forward Error Correction: FEC
ARQ protocols operate by detecting errors and retransmitting
-
Retranmission needs round-trip delay to recover
-
May be too long for deep space, or high-speed, real-time applications
-
FEC: key idea is to transmit enough redundant data to allow receiver to
recover from errors itself! (no sender transmission required)
Prev Next
Up