This preview shows page 1. Sign up to view the full content.
Unformatted text preview: sing UDP (to avoid the overhead of TCP connections) but many of the desirable
features (dynamic timeout and retransmission, congestion avoidance, etc.) are placed into
the application, where they're reinvented over and over again.
A better solution is to provide a transport layer that provides efficient handling of
transactions. The transaction protocol we describe in this section is called T/TCP. Our
description is from its definition, RFC 1379 [Braden 1992b] and [Braden 1992c].
Most TCPs require 7 segments to open and close a connection (see Figure 18.13). Three
more segments are then added: one with the request, another with the reply and an ACK
of the request, and a third with the ACK of the reply. If additional control bits are added
onto the segments-that is, the first segment contains a SYN, the client request, and a FINthe client still sees a minimal overhead of twice the RTT plus SPT. (Sending a SYN
along with data and a FIN is legal; whether current TCPs handle it correctly is another
Another problem with TCP is the TIME_WAIT state and its required 2MSL wait. As
shown in Exercise 18.14, this limits the transaction rate between two hosts to about 268
The two modifications required for TCP to handle transactions are to avoid the three-way file:///D|/Documents%20and%20Settings/bigini/Docu.../homenet2run/tcpip/tcp-ip-illustrated/tcp_fut.htm (16 of 20) [12/09/2001 14.47.34] Chapter 24. TCP Futures and Performance handshake and shorten the TIME_WAIT state. T/TCP avoids the three-way handshake
by using an accelerated open:
1. It assigns a 32-bit connection count (CC) value to connections it opens, either
actively or passively. A host's CC value is assigned from a global counter that gets
incremented by 1 each time it's used.
2. Every segment between two hosts using T/TCP includes a new TCP option named
CC. This option has a length of 6 bytes and contains the sender's 32-bit CC value
for the connection.
3. A host maintains a per-host cache of the last CC value recei...
View Full Document
- Spring '12