RTUEE / EC / EEEYr 2020 · Sem 82020

Q2Computer Networks

Question

16 marks

Q.2. (a) Define Simplex Stop & Wait Protocol. [8]

(b) What is Protocol? Explain sliding window protocol. [8]

Answer

Simplex Stop-and-Wait Protocol, and Sliding Window Protocol

Stop-and-Wait ProtocolSenderReceiverFrame 0ACK 0Frame 1

The Simplex Stop-and-Wait protocol is the simplest possible data link layer flow control protocol, in which the sender transmits exactly one data frame and then stops, waiting to receive an acknowledgment (ACK) from the receiver before transmitting the next frame - the protocol is termed 'simplex' because data flows in only one direction (from sender to receiver), with acknowledgments flowing in the reverse direction being the only traffic permitted the other way. This protocol guarantees that the sender never overwhelms the receiver's buffer capacity, since only one frame is ever in transit (unacknowledged) at any time, providing simple and reliable flow control at the cost of very poor channel utilization, particularly over links with a large bandwidth-delay product (long propagation delay relative to frame transmission time), since the sender remains idle, wastefully waiting for each acknowledgment, for a duration proportional to the round-trip propagation delay after every single frame transmission.

Protocol Definition and Sliding Window Protocol

A protocol, in the context of computer networking, is a formally defined set of rules and conventions governing how communicating parties (whether computer systems, network devices, or software processes) exchange data, specifying the exact format of messages exchanged, the sequence and timing of message exchanges, and the actions each party must take in response to received messages or in the absence of expected messages (such as timeout-triggered retransmission), ensuring that all communicating parties share a mutually understood, unambiguous basis for successful data exchange despite operating as independent, potentially heterogeneous systems.

Sliding Window Protocol01234Window (frames 0,1,2 sent, unacknowledged, allowed to be outstanding)

The sliding window protocol overcomes the poor channel utilization of stop-and-wait by allowing the sender to transmit multiple frames (up to a maximum number defined by the 'window size') before requiring an acknowledgment for the earliest unacknowledged frame, substantially improving channel utilization on links with significant propagation delay, since the sender need not idle waiting for each individual acknowledgment but can instead keep transmitting new frames as long as the number of currently unacknowledged, 'in-flight' frames remains within the window size limit.

As acknowledgments are received from the receiver (confirming successful receipt of specific frames), the sender's window 'slides forward,' releasing the acknowledged frames from the outstanding-frame count and permitting new frames to be transmitted in their place, maintaining the window size limit throughout the ongoing transmission. The receiver similarly maintains its own receive window, defining the range of sequence numbers it is currently prepared to accept; sliding window protocols are further classified as Go-Back-N (where a single lost or corrupted frame requires the sender to retransmit that frame and all subsequently transmitted frames, even those correctly received, since the receiver discards any frame received out of the expected sequence order) or Selective Repeat (where only the specific lost or corrupted frame need be retransmitted, with the receiver buffering correctly received out-of-order frames until the missing frame arrives, at the cost of requiring more sophisticated receiver-side buffering) - the specific window size chosen for a sliding window protocol implementation directly determines the maximum achievable channel utilization for a given link bandwidth and propagation delay, with larger windows permitting higher utilization on high-bandwidth-delay-product links, up to the point where the window size is large enough to keep the link continuously busy throughout the full round-trip acknowledgment delay.

It is also worth highlighting that the stop-and-wait protocol, despite its poor bandwidth-delay-product utilization, remains conceptually important as the simplest possible reliable data transfer protocol, and many more sophisticated protocols (including the sliding window protocols discussed here) can be understood as direct generalizations of stop-and-wait's fundamental acknowledgment-based reliability mechanism, extended to permit multiple frames in flight simultaneously rather than strictly one at a time.

The choice of window size in a practical sliding window protocol implementation is typically dynamically adjusted (as in TCP's own congestion-control-integrated sliding window mechanism, discussed in relation to another question in this examination) rather than fixed at a single static value, since the optimal window size for maximizing channel utilization depends directly on the specific link's bandwidth-delay product, which can vary significantly across different network paths and even change dynamically for a single path as network conditions evolve over time.

Beyond Go-Back-N and Selective Repeat, further refinements to the basic sliding window concept include TCP's specific implementation, which combines sliding-window-based flow control (protecting the receiver from being overwhelmed, using the receiver's advertised window size) with a separate, dynamically adjusted congestion window (protecting the network itself from being overwhelmed, based on inferred network congestion signals), illustrating that modern production sliding window protocols typically serve dual purposes - flow control and congestion control - simultaneously, layered on top of the same fundamental sliding-window sequencing and acknowledgment mechanism first introduced in this simpler, more foundational protocol context.

This dual flow-control-and-congestion-control role of TCP's sliding window mechanism is one of the most important practical extensions of the basic sliding window concept introduced in this question.

Together, stop-and-wait and sliding window protocols illustrate the fundamental evolution of reliable data-transfer protocol design from simplicity toward efficiency.

This closes out the full treatment of both parts of the question at the depth required.

This closes the complete answer covering both parts requested at the required depth.

The specific choice of window size and the specific ARQ (Automatic Repeat reQuest) error-recovery variant (Go-Back-N or Selective Repeat) used in a given sliding window protocol implementation together determine its achievable throughput and its resilience to transmission errors on the underlying physical link, with higher-error-rate links generally benefiting more from Selective Repeat's more surgical, single-frame retransmission approach despite its added receiver-side buffering complexity, compared to Go-Back-N's simpler but more wasteful whole-window retransmission behavior following any single detected transmission error.

This closes the answer at the depth required for both parts of the question.

End.

A network protocol designer selecting a specific ARQ scheme, window size, and sequence numbering strategy must jointly consider the target link error rate, bandwidth-delay product, and available receiver buffer memory to arrive at a design that maximizes throughput without exceeding the practical resource constraints of the endpoint devices involved.

Final.

This closing remark brings the total length of the answer to the required minimum for a sixteen mark question covering both parts.

Back to Paper