1. How to configure:
- Set Window Size (SNs) β determines how many PDUs can be outstanding.
- Set Loss Probability β chance that a PDU is lost (no ACK).
- Set RTT (slots) β delay before retransmission.
- Use Send PDU to transmit the next sequence number.
- Use Advance Slot to move time forward (triggers retransmissions).
- Use Inject ACK to manually acknowledge a specific SN (to unstall).
2. What will be the flow:
- Stall phase: When the earliest unacknowledged SN (VT(A)) plus window size β€ next SN to send, the sender stops transmitting. This is window stall.
- Unstall phase: When an ACK arrives for an earlier SN, the window slides forward and transmission resumes.
- If a PDU is lost and not retransmitted in time, stall can persist until retransmission succeeds or maxRetx is reached.
3. What student can expect:
- Visual representation of the transmission window: VT(A) (acknowledged), VT(MS) (window end), and pending SNs.
- Colourβcoded PDUs: acknowledged (green), pending (yellow), lost/retx (orange).
- Stall indicator lights up when stall condition is met.
- Unstall occurs when ACK advances VT(A).
4. Recommended exploration:
- Set window size small (e.g., 4), send enough PDUs to fill window β observe stall.
- Inject an ACK for the earliest SN β window slides, stall clears.
- Increase loss probability to see stall persist longer.