Sliding Window Protocols

Overview

Protocols without any form of acknowledgement have reliability problems, but stop-and-wait and automatic request protocols suffer from very poor utilization. The solution is a type of protocol commonly known as a sliding window protocol. Most reliable protocols are sliding window protocols of one type or another, and they are very similar in structure.

Objectives

Preparation

Read section 2.5 in the text and the notes.

Inquiry

Knowledge, Comprehension & Problem Solving

Terms

Questions

  1. Using a finite-state automata description, describe the protocol that you use to get a can of soda pop out of a machine. Is the protocol complete and consistent, so that it always recovers from any error and ends in reasonable state.
  2. Suppose that you have an SWP which uses 3 bit sequence numbers and a window size of 4 on each end. Simulate the behavior of this protocol for 10 packets where the following things happen:
    1. Message 0 has no problems
    2. Message 1 is lost once.
    3. The ACK for message 2 is lost.
    4. Message 3 is lost twice.
    5. Message 5 is delayed and doesn't arrive until after message 7.
    6. The ACK for message 6 is delayed and doesn't arrive until after the ACK for message 8.
  3. Start with a sender and receiver with 4-bit sequence numbers and window sizes of 4.
    1. The sender has LFS = 9, LAR = 6 and the timer for frame 7 expires. What does it do?
    2. The receiver has NFE = 14, LAS = 12 and a frame with sequence number 15 arrives. What does it do?
    3. The receiver has NFE = 14, LAS = 12 and a frame with sequence number 0 arrives. What does it do?
    4. The sender has LFS = 9, LAR = 6 and an ACK for frame 8 arrives. What does it do?
    5. The sender has LFS = 9, LAR = 6 and an ACK for frame 10 arrives. What does it do?
    6. The receiver has NFE = 14, LAS = 12 and a frame with sequence number 13 arrives. What does it do?

Analysis, Synthesis & Evaluation

  1. What do you gain by adding a NAK to an SWP (If a frame arrives with an error in it or out of order, send a NAK so that the sender hears about the problem sooner)? What do you lose?
  2. What are the advantages and disadvantages of the 1-buffer receiver model?
  3. What is the difference between an SWP operating at the Data Link Layer and one operating at the Transport Layer?
  4. Why would you choose Go-Back-N error recovery instead of Selective Repeat and vice versa?
  5. Is it reasonable for the receiver in an SWP to use a window of a single message buffer even though the sender is using a larger window? Explain?
  6. What are the advantages and disadvantages of using byte-based SWP?