pipelined protocols

Work in Progress

Summary

Pipelined protocols

ProtocolTimeoutRetransmitHandle out-of-order
Go-Back-Noldest unACKed packetall unACKed, >=ndiscard
Selective repeatindividual unACKed packetsone, nbuffer, discard only if too far

same assumptions as RDT 3.0

Concept

Stop and Wait

SenderReceiverp1r1dtransRTT

Go-Back-N

  • cumulative ACK -> ACKn means all packets <=n have been received
  • sender:
    • keeps track of N unACKed packets in a sliding window
    • advance to n+1 only on reciept of ACKn
    • timer for smallest unACKed n
    • upon timeout(n), retransmit >=n in the window
  • receiver:
    • only ACK packets in order, simple receiver -> only track expectedSeqNum
    • discard out of order packets, even if received successfully

Pasted image 20260304033049.png

Go-Back-N can handle corrupted/lost ACK

Selective Repeat

  • each packet must be ACKed
  • sender:
    • track timeouts for N unACKed packets
    • upon timeout(n), retransmit n only
    • when ACKn is received, mark it as ACKed, advance window to next unACKed
  • receiver:
    • maintains a buffer
    • pktn in window -> send ACKn
      • in order -> deliver + advance buffer
      • else -> store in buffer
    • pktn before window -> send ACKn
    • else(ahead of window) -> ignore

Pasted image 20260304042713.png