# Q3(a) · Alternating-bit state transitions

Subject: Computer Networks

Exam: TEE

Reader: https://deep-learning-study-room.vercel.app/cn/#tee/papers/paper-2023-ai-partial/q3a

Canonical: https://deep-learning-study-room.vercel.app/read/cn/tee/papers/paper-2023-ai-partial--q3a/

Exact historical variant. Current-syllabus questions solved; excluded topics and source limitations stated.

### Q3(a). Use the printed rdt3.0 alternating-bit sender/receiver: S0 sends data0; S3 accepts ACK0; S5 sends data1; S8 accepts ACK1; S2/S7 are timeout retransmissions; S1/S6 ignore corrupt or wrong ACKs. Receiver R0 accepts new data0 and sends ACK0; R2 accepts new data1 and sends ACK1; R3/R1 handle corrupt or duplicate data while waiting for 0/1 respectively. Complete the global transition sequence S0, R0, t1, t2, t3, t4 that delivers two messages without errors, including the second ACK at the sender. Justify each transition. [5 marks]

### Answer

### Given

Two messages; no DATA or ACK errors; original FSM transition labels in the question.

### To find

The global interleaved transition sequence, including the final ACK.

### Formula and why

Send DATA → receive and acknowledge DATA → receive matching ACK → advance the sequence bit.

Each successful ACK permits the sender to send the next new message.

### Solution

The sequence bit labels the outstanding DATA packet. ACK0 confirms data0 and ACK1 confirms data1 in this printed FSM; these are not TCP cumulative byte numbers. An ACK loss does not advance the sender. A duplicate data packet is acknowledged again but not delivered twice.

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
| **Send0** | → | **ACK0** | → | **Send1** | → | **ACK1** |

| Order | Transition | Action |
| --- | --- | --- |
| 1 | S0 | Send data0; start timer |
| 2 | R0 | Accept data0; deliver; send ACK0 |
| 3 | S3 | Accept ACK0; stop timer |
| 4 | S5 | Send data1; start timer |
| 5 | R2 | Accept data1; deliver; send ACK1 |
| 6 | S8 | Accept ACK1; stop timer |

**Required sequence: S0, R0, S3, S5, R2, S8.** For the four placeholders: t1=S3, t2=S5, t3=R2, t4=S8.
