TCP Behavior Inference Tool (TBIT) is designed to characterize the TCP behavior of remote web servers. TBIT helps to document the migration of new TCP mechanisms to the public Internet Download free ppt
TCP BEHAVIOR INFERENCE
2. Motivation for TBIT
3. Example of TBIT Application
4. TBIT Architecture
5. TCP behaviors of web server
6. Initial value of congestion window (ICW)
7. Congestion control algorithm (CCA)
8. Conformant congestion control (CCC)
9. Response to selective acknowledgments
10. Time wait duration
11. Response to ECN
1. TCP Behavior Inference Tool (TBIT) is designed to characterize the TCP
behavior of remote web servers.
2. There are two reasons for using web servers to test TCP behavior, one
expedient and the other more fundamental
3. First, web servers are easy to test and secondly, the overall congestion control
behavior of the Internet is heavily influenced by the TCP implementations in
4. TBIT helps to document the migration of new TCP mechanisms to the public
InternetMOTIVATION FOR TBIT
1. First, motivation for TBIT is to answer questions such as“Is it
appropriate to base Internet simulation and analysis on RenoTCP?”
2. A second motivation for TBIT is to answer questions such as
“What are the initial windows used in TCP connections in the
3. A third motivation for TBIT is to have the ability to easily verify
that end-to-end congestion control is in fact deployed at end hosts in
the Internet4. A fourth motivation of TBIT is to aid in the identification
and correction of bugs detected in TCP implementations.
5. A fifth motivation that arose after the initial development of
TBIT was that of testing not just the TCP behavior of web
servers, but also testing the TCP behavior determined by
equipment on the path to the server.EXAMPLE OF TBIT APPLICATION
1. Initial window used by TCP: amount of data sent out in a“burst” before any ACKs
2. RFC 2414: min (4MSS, max (2MSS, 4380 bytes))
3. MSS 512 burst of 2000 bytes
4. We have found TCPs that send 8000+ bytes with MSS of 512
5. Large bursts of packets buffering problems, loss, delays.TBIT ARCHITECTURESACK:
1. many web servers that claimed to be SACK-capable didn't seem to actually use the
information in the SACK blocks.
2. SACK reduces RTOs, improves performance.
Explicit Congestion Notification (ECN):
1. ECN allows end to end notification of network congestion without dropping packets.
2. Negotiated during SYN/ACK exchange.
3. 8% of web servers unreachable from ECN-capable
4. Sometimes, problem with Cisco Local Director (Dax Kelson) Fixed.Reno: Initial congestion window
1. guesses at a reasonable initial window 1. The TCP congestion window was
size, using a form of polling introduced as part of the congestion
control algorithm by Van Jacobson in
2. slowly increases the window size if no
losses occur, on the theory that
maximum available throughput may not 2. the server can have a significant
yet have been reached improvement in TCP performance,
resulting in faster downloads and faster
3. rapidly decreases the window size
otherwise, on the theory that if losses
occur then drastic action is neededTCP BEHAVIOR OF WEB SEVERS
1. Initial value of congestion window (ICW)
2. Congestion control algorithm (CCA)
3. Conformant congestion control (CCC)
4. Response to selective acknowledgments
5. Time wait duration
6. Response to ECNINITIAL VALUE OF CONGESTION WINDOW (ICW)
1. A TBIT test can terminate without returning a result due to
2. There were several reasons for early termination:
a) TBIT did not receive a SYN/ACK in response to its SYN,
even after retransmissions, so no connection was established.b) The server sent a SYN/ACK but did not send any data in response to
the HTTP request.
c) TBIT detected a packet loss.
d) The remote server sent a packet with the RST or FIN flag set, before
the test was complete.
e) The remote server sent a packet with MSS larger than the one TBIT had
specified.Difficulties in measuring ICW
1. Web page too small to fill cwnd
2. Repeat test multiple times
3. Multiple computers answer to the
same IP address
4. Machine to test have no web serverCONGESTION CONTROL ALGORITHM (CCA)
1. There are a range of TCP congestion control behaviors in
deployed TCP implementations, including Tahoe, Reno,
NewReno , and SACK, which date from 1988, 1990, 1996, and
3. Slow stat4. Congestion avoidance
5. Fast rtx
Tahoe + fast recovery
7. New Reno
Reno + modified fast recoveryCONFORMANT CONGESTION CONTROL
1. A TCP sender is expected to halve its congestion window after a packet
2. The test is carried out as follows:
a) TBIT establishes a connection with the remote server, using a small MSS,
and requests the base web page.
b) TBIT acknowledges all packets until packet 15 is received. If the remote
TCP has been exhibiting correct slowstart behavior, the congestion window
should be at least eight segments at this time. TBIT drops packet 15.c) TBIT ACKs all packets appropriately, sending duplicate ACKs
acknowledging packet 14, until packet 15 is retransmitted. The retransmission
is acknowledged appropriately.
d) After that, TBIT does not acknowledge any more packets. This will
ultimately force the remote server to time out and retransmit the first
e) As soon as TBIT detects this retransmission, it closes the connection and
terminates the test.RESPONSE TO SELECTIVE
1. A number of TCP stacks have implemented the TCP Selective
Acknowledgment option (SACK)
2. the following TBIT test to verify:
a) TBIT sends a SYN packet with a small MSS and the SACK -
PERMITTED option to the remote web server.
b) If the returning SYN/ACK does not contain the SACK PER MITTED
option, TBIT terminates the testc) Otherwise, TBIT continues to receive and acknowledge packets until
packet 15 is received. Packets 15, 17 and 19 are dropped. TBIT sends
appropriate SACKs in response to packets 16 and 18.
d) TBIT continues to receive packets, and send appropriate SACKs
until the retransmissions of packets 15, 17 and 19 are received.
e) TBIT closes the connectionTIME WAIT DURATION
1. 2-MSL time wait can avoid the
2. Server should retain sufficient state
information about the connection
during the time wait.
3. Many major web servers use a
smaller value of MSL.