TCP (Transmission Control Protocol) Transmission Control Protocol The Internet transport protocol that delivers data reliably and in order, with flow control and congestion control. introduced in ch. 1 treats every lost segment as a sign of congestion. On a wireless link that assumption is often wrong, and this short section is where chapters 3, 6 and 7 finally meet.
Words you will meet
-
Congestion window congestion window Simple A sender-side limit on unacknowledged data, set by what the network seems able to take. Precise cwnd: a variable kept only at the sender, which together with rwnd bounds the unacknowledged data by LastByteSent − LastByteAcked ≤ min{cwnd, rwnd}. Roughly, the sender may send cwnd bytes per round-trip time, so its rate is about cwnd/RTT. Unlike rwnd it appears in no header — the network never states it, the sender infers it. introduced in ch. 3 — open in glossary — how much TCP allows itself to have unacknowledged at once.
-
Local recovery local recovery Simple Fixing an error on the link where it happened, before the sender ever notices. Precise A class of approach in which protocols recover from bit errors when and where they occur — for example the 802.11 ARQ protocol, or schemes combining ARQ and forward error correction as used in 4G/5G. The TCP sender remains unaware that its segments are traversing a wireless link. introduced in ch. 7 — open in glossary — repairing an error at the link where it happened, before TCP notices.
-
Sender awareness — letting TCP know a wireless link is in the path, so it can react differently.
-
Split-connection approach split-connection approach Simple Cutting one connection into a wireless half and a wired half that meet at the access point. Precise An approach in which the end-to-end connection between a mobile user and the other end point is broken into two transport-layer connections: one from the mobile host to the wireless access point, and one from the access point to the other end point. The end-to-end connection is formed by the concatenation of a wireless part and a wired part. introduced in ch. 7 — open in glossary — cutting one end-to-end connection into a wireless half and a wired half.
-
Location-aware application — an application that uses where the device is, which mobility makes possible.
Why this matters
This is the shortest section in the chapter and the one that pays off the most reading you have already done.
Chapter 3 built TCP’s congestion control — the Internet Protocol suite’s answer to overload — on one assumption: that a lost segment means a router queue overflowed. Section 7.2 then showed that bit errors are far more common on wireless links than on wired ones. Put those two facts together and something has to give.
The rest of this chapter described mechanisms. This section describes a consequence.
The assumption, stated plainly
Recall from chapter 3 what a TCP sender actually learns when a segment goes missing. The receiver’s acknowledgements tell it only that a segment did not arrive intact. They do not say why.
For a mobile user, a segment can be lost in three different ways:
- Congestion — a router buffer overflowed, as in section 3.6.
- Handover — the delay in rerouting segments to the device’s new point of attachment, which section 7.6 traced message by message.
- Bit errors — corruption on the wireless link, which section 7.2 showed is common there.
In all three cases the sender does the same thing. It retransmits the segment, and it decreases its congestion window.
In plain words
By always shrinking its window, TCP is making a silent claim: if a segment was lost, the network must be congested.
On a wired path that claim is usually right. On a wireless path it is often wrong. And when it is wrong, the sender slows down for no reason — the router buffers may be completely empty, with packets flowing along the whole path unimpeded.
Watch the cost
The plot below runs the same connection twice. Both curves grow by one segment per round and halve on loss, which is the AIMD (additive-increase, multiplicative-decrease) additive-increase, multiplicative-decrease TCP’s congestion-control shape: grow the window by one MSS each round trip, halve it on a loss event. It draws the sawtooth (§3.7.1). introduced in ch. 3 behaviour of section 3.7.
The green curve suffers congestion losses only. The red curve suffers the same congestion losses plus wireless losses, and halves for those too, because TCP cannot tell them apart.
At 40.0 (move the pointer over the plot to read it anywhere):
- if only congestion caused loss:22.8 segments
- what TCP actually does:6.6 segments
The green curve is what the path could have carried: the same connection with only congestion losses. The red curve is what TCP actually sends, because it halves the window for every loss, whatever caused it. Drag the wireless-loss slider from 20 down to 3 and watch the gap open.
Drag the wireless-loss slider toward 3 and read the two numbers under the plot. The green curve is unchanged, because the path itself did not get worse. The red curve collapses. Nothing about the network deteriorated: only the sender’s belief about it did.
What this plot does not claim
The curves are the AIMD mechanism with two loss sources, not a measurement of any real link. Real wireless losses arrive irregularly, not on a fixed period.
The shape is the argument, and the shape is what the book states: an unconditional decrease of the congestion window assumes a cause that may not be present.
Three ways to fix it
Researchers recognised this problem in the early to mid 1990s, given the high bit error rates of wireless links and the possibility of handover loss. The book groups the answers into three broad classes.
A single TCP connection runs from the mobile host to the wired host. A bit error on the wireless hop looks exactly like congestion in the wired network, because the only signal that reaches the sender is a missing acknowledgement.
The same path, three times. Watch where the recovery happens in each, and who knows that a wireless link exists at all.
Read all steps as text
- The problem: one connection, end to end — A single TCP connection runs from the mobile host to the wired host. A bit error on the wireless hop looks exactly like congestion in the wired network, because the only signal that reaches the sender is a missing acknowledgement.
- 1. Local recovery — repair it where it happens — The wireless link repairs its own errors, before TCP ever sees them. 802.11 ARQ from section 7.3 does this, and 4G/5G adds forward error correction on top. The TCP sender is never told that a wireless link exists.
- 2. Sender awareness — tell TCP the truth — The sender and receiver both know a wireless link is in the path. They distinguish congestion loss in the wired network from corruption at the wireless link, and reduce the sending rate only for the first kind.
- 3. Split connection — cut the path in two — The end-to-end connection is broken into two transport connections that meet at the access point: mobile host to access point, and access point to wired host. Each half can use whatever protocol suits it.
Step through the four panels above and one question separates the three approaches: who is allowed to know that a wireless link is in the path?
| Local recoveryrepair at the wireless link | Sender awarenessTCP learns the difference | Split connectiontwo connections, joined | |
|---|---|---|---|
| Who repairs the error | |||
| Does the TCP sender know about the wireless link? | |||
| What has to change | |||
| Is the connection still end to end? | |||
| Used in practice? |
Cells marked ⓘ have a reason behind them — click to read it.
They differ in one question: who is allowed to know that a wireless link is in the path? Click any cell for the detail.
The least pure answer is the deployed one
Split-connection approaches break the end-to-end principle that chapters 1 to 3 built up. The access point stops being a device that forwards and becomes a device that terminates transport connections.
Yet measurements report that split TCP connections have been widely used in cellular data networks, with significant improvements from doing so.
Compare that with section 7.6’s Mobile IP, which was architecturally clean and never deployed. Neither outcome was decided by elegance.
The book’s treatment here is deliberately brief, and it says so. In-depth surveys of TCP’s difficulties over wireless links, and of the solutions proposed, are cited for readers who want them. This remains an active research area.
Above the transport layer
Transport was the layer where the damage showed. The application layer is affected differently.
Because wireless spectrum is shared, applications running over wireless links — and over cellular links in particular — must treat bandwidth as a scarce resource. A web server sending content to a browser on a 4G smartphone will likely not offer the same image-rich page it would send to a browser on a wired connection.
But the same mobility that causes these difficulties also creates something new. Because the device knows where it is, a rich set of location-aware and context-aware applications becomes possible. The book’s closing judgement is that we have seen only a small part of the effect wireless and mobile networks will have on networked applications.
The mental model
TCP’s congestion control is an inference. It observes a missing acknowledgement and concludes that a queue overflowed.
Wireless links break the inference, because they lose segments for reasons that have nothing to do with queues. Every fix in this section answers the same question in a different way. Repair the loss before TCP sees it. Or teach TCP to tell the causes apart. Or split the path, so each half is treated on its own terms.
Check yourself
Check yourself
0 of 6 answered1.A TCP sender does not receive an acknowledgment for a segment. What does it learn about the cause?
2.predictIn the congestion-window plot, you drag the wireless-loss slider from 20 rounds down to 3. What happens to the green curve, which shows congestion losses only?
3.Which approach leaves the TCP sender unaware that a wireless link exists?
4.What does a split-connection approach give up?
5.Which of the three approaches does the book report as widely used in cellular data networks?
6.How does the shared nature of wireless spectrum affect the application layer?
What to remember
-
TCP’s congestion-window reduction is an inference, and wireless breaks it. A lost segment is assumed to mean congestion, so a bit error or a handover makes the sender slow down while the router buffers may be entirely empty.
-
The three fixes differ in who knows about the wireless link. Local recovery hides it, sender awareness reveals it to both endpoints, and the split-connection approach removes the question by cutting the path in two.
-
The approach that gives up the end-to-end connection is the one widely deployed in cellular data networks — the same lesson as Mobile IP in section 7.6, arriving from the opposite direction.