Assume that a file is transferred from a node A to a node B. The file has been fragmented in 5 frames (denoted as f0, f1, f2, f3, f4). Show the flow of frames exchanged between the two nodes, and the status of the windows after the transmission/reception of each information/control frame, if the field of sequence number is three-bit-length, and the sender and receiver are using the maximum possible window size (7), for the following data link control techniques: Simplest Stop-And-Wait Stop-and-wait ARQ Go-back-N ARQ Selective- Repeat ARQ
AB f0 f1 f2 f3 f4 Simplest (ideal channel, no error)
Stop and Wait in ideal channel (no error) AB f0 (seq 0) f1 (seq 1) ACK 0 f2 (seq 0) ACK 1 ACK 0 f3 (seq 1)
Stop and Wait ARQ AB f0 (0) ACK 1 f1 (1) ACK 0 f1 (1) Time out Premature Time out f2 (0) f3 (1) ACK 1 f3 (1) ACK 0 accepted discarded accepted discarded fm (n): frame #m with sequence number of n Time out
Go-Back-N ARQ AB f0 f1 ACK 1 ACK 2 ACK 4 f1 Time out f4 f3 ACK 5 discarded f2 discarded f f1 f discarded f Time out Premature Time out … … ACK 3
Stop-and-Wait ARQ Example Assume that computer A sends 3 frames to computer B. The three data frames sent by A are denoted as A1, A2, A3. Suppose each data frame needs 1 ms to transmit and each ack frame needs no time to transmit. The time-out value is set to be 4ms. The round trip time is always 2 ms (i.g., each direction takes 1ms). Use “A1, 0” denote a frame with data A1 and sequence 0. Use “Ack 1” denote an ack frame with ack number 1.
Case 1: Ideal channel without any error/lost or congestion AB A1A2A3
Case 2: second frame (A2) from A to B is lost AB A1A2A3
Case 3: second frame (A2) from A to B uses 3 ms AB A1A2A3
Case 4: second ack frame from B to A uses 3ms AB A1A2A3
Duplex Communication with Stop-and-Wait ARQ Assume that computer A and computer B communicate with each other. Each has 3 frames to send to the other. The three data frames sent by A are denoted as A1, A2, A3 and the frames from B are B1, B2, B3. They use duplex Stop-and-Wait ARQ for the communication, i.e., each data frame has a sequence # field and an Ack # field. Suppose each data frame needs 1 ms to transmit and each ack-only frame needs no time to transmit. The time-out value is set to be 5ms. The round trip time is always 2 ms. Use “A1, (0,1)” denote a frame with data A1 and sequence 0, ack 1.
Ideal channel without any error/lost or congestion AB A1A2 B1 A3 B2B3