Title: Elementary Data Link Protocols
1Elementary Data Link Protocols
2Elementary Data Link Protocols
- Assumptions
- Each layer (physical, data link and network) are
independent of each other - Machine A wants to send a long data stream to
machine B using a reliable connection-oriented
service. - The data link layer encapsulates the packet in a
frame by adding a data link header and trailer.
3Elementary Data Link Protocols
- Assumptions
- The software (and hardware) is dedicated full
time to handling just one channel - Checksums are computed and used to manage
erroneous frames. - A frame header and tail will never be given to
the network layer
4Elementary Data Link Protocols
- Five data structures that describe a frame
boolean, integer, packet, frame kind and frame - A frame is composed of four fields (frame
header) kind, seq, ack, and info - Frame sequence numbers are always in the range of
0 and a predefined maximum constant and are
incremented in a circular manner
5Elementary Data Link Protocols
- Timers are used to manage lost or missing frames
or acknowledgements - Network layer can be disabled to control the
number of packets to prevent the network layer
from swamping it with packets for which it has no
buffer space
6An Unrestricted Simplex Protocol
- UTOPIA
- Data transmitted in one direction only
- Transmitting and receiving layers are always
ready - Processing time is ignored
- Infinite buffer space
- Ideal communication channel - no loss, no errors
7A Simplex Stop-and-Wait Protocol
- Consider a slow receiver
- no buffer space
- slow processor
- but channel is still error free and traffic is
still simplex - Possible solutions
- introduction of delays
- send information very slowly
8A Simplex Stop-and-Wait Protocol
- Stop and wait
- Sender only sends out the succeeding packet after
receiving an acknowledgement - Data traffic is simplex
- Communication channel needs to be bidirectional
- Communication channel can be half-duplex
9A Simplex Protocol for a Noisy Channel
- Noisy Channel
- Lost or damaged frames
- Damage must be detectable through checksums
- Possible solution
- Receiver only acknowledges when there is an
undamaged frame received.
10A Simplex Protocol for a Noisy Channel
- What happens if the acknowledgement frame gets
lost? - The protocol would keep passing wrong information
up to the network protocol - The proper solution requires the receiver to
distinguish a frame that it is seeing for the
first time from a retransmission - Use sequence numbers
11A Simplex Protocol for a Noisy Channel
- What is the minimum number of bits needed for the
sequence number? - to ensure that the frame header is also small
- 1-bit sequence number is sufficient
- Protocols in which the sender waits for a
positive acknowledgement before advancing to the
next data item - PAR (Positive Acknowledgement with
Retransmission) - ARQ (Automatic Repeat reQuest
12A Simplex Protocol for a Noisy Channel
- Timeout interval must be long enough to prevent
premature timeouts - It cannot be set too short
- allow time for the frame to reach the receiver,
to get processed and to receive an acknowledgement
13A Simplex Protocol for a Noisy Channel
- Sender can wait for three things
- an acknowledgement frame arrives undamaged
- an acknowledgement frame arrives damaged
- timer goes off
- Valid frames are passed on to the network layer
- Duplicate frames and damaged frames are not
passed on to the network layer.
14Sliding Window Protocols
- Bidirectional traffic
- Interleaving of data and acknowledgements
- Piggybacking the technique of temporarily
delaying outgoing acknowledgements so that they
can be hooked onto the next outgoing data frame
15Sliding Window Protocols
- Advantage of piggybacking
- use of less bits to transmit an acknowledgement,
- fewer interrupts for the acknowledgement receiver
- fewer required buffer space in the receiver
- Complication How long to timeout?
16Sliding Window Protocols
- Characteristics of Sliding Window Protocols
- sequence numbers (with a maximum and minimum)
- sending window
- receiving window
17Sliding Window Protocols
- Maintain the requirement of a wire-like
protocol - Sender window - frames sent but not yet
acknowledged - Sender must have n buffers if it has a windows
size of n, in order to retransmit frames upon
timeout or error
18Protocol Using Go Back n
- What happens when there is a long roundtrip time?
- Pipelining At all times n unacknowledged frames
are outstanding the senders maximum window size
is n.
19Protocol Using Go Back n
- Go back n strategy - discard all subsequent
frames after an error
20Protocol Using Go Back n
- Selective Repeat - store all correct frames
following a bad one
- Tradeoff between bandwidth and data link layer
buffer space
21Protocol Using Selective Repeat
- How to simulate a sequential receive given a
non-sequential receive?
22Protocol Using Selective Repeat
- Making sure that the windows do not overlap
- What is the required buffer size?
- What is the required number of timers?