Back to the 2019 paper

Module 4: Transport Layer & Congestion Control

20197m

In the context of Transmission Control Protocol (TCP), explain the statement, "TCP help us to establish a reliable connection over an unreliable network".

Worked SolutionAI Assisted

TCP: Reliable Connection over an Unreliable Network

The underlying IP service is best-effort: it can lose, duplicate, reorder or corrupt datagrams and offers no timing guarantees. TCP sits above IP and adds connection-oriented, end-to-end reliability so that the application sees a dependable, in-order byte stream despite that hostile network.

How TCP builds reliability

  1. Connection establishment & termination (3-way handshake). SYN → SYN-ACK → ACK fixes initial sequence numbers on both sides (avoiding old duplicate segments), establishes negotiated parameters (MSS, window scale), and symmetrically closes the connection with FIN/ACK so no data is lost.
  2. Sequence numbers and acknowledgements. Every byte carries a sequence number; the receiver ACKs the next expected byte number. This detects lost segments and eliminates duplicates.
  3. Retransmission on timeout/RTO. A retransmission timer (with RTT estimation and Karn's algorithm / exponential back-off) resends unacknowledged data. Fast retransmit on 3 duplicate ACKs avoids waiting for the full timeout.
  4. Flow control (sliding window). The advertised receive window prevents the sender from overrunning the receiver's buffer — reliability at the endpoints.
  5. Checksum. A 16-bit header+data checksum detects corruption; the segment is discarded and retransmitted.
  6. Ordered delivery. The receiver re-sequences segments that arrive out of order using the sequence numbers before handing data to the application.
  7. Congestion control (slow start, congestion avoidance, fast recovery). Even though the network is unreliable and may drop packets under load, TCP adapts its sending rate so that congestion (the main cause of loss) is minimised — the sender cooperates with the network instead of overloading it.

Why the network can stay unreliable

Reliability is placed end-to-end at the transport layer rather than in every router. Routers simply forward best-effort datagrams; TCP endpoints detect and repair loss. This is the end-to-end argument: a simpler, faster core plus intelligence at the edges yields a reliable service over an unreliable network.

In short: TCP converts IP's unreliable, connectionless datagram service into an error-free, ordered, flow- and congestion-controlled byte stream using connections, sequencing, ACKs, timers and retransmission.

Similar questions

Official AppAndroid App

PYQDeck for Android

Solve BEU previous-year exam papers anywhere, anytime. Fast search, offline paper viewing, and step-by-step solutions designed specifically for your phone.