Question? Leave a message!




TCP Behavior Interference Tool

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 TOOL (TBIT)CONTENTS 1. Overview 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 12. ConclusionOVERVIEW 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 web servers 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 Internet”. 3. A third motivation for TBIT is to have the ability to easily verify that endtoend 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 are received. 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 SACKcapable 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 ECNcapable clients. 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 1988 Jac88. 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 web pages. 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 various reasons. 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 1996, respectively. 2. Tahoe 3. Slow stat4. Congestion avoidance 5. Fast rtx 6. Reno 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 loss. 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 unacknowledged packet. e) As soon as TBIT detects this retransmission, it closes the connection and terminates the test.RESPONSE TO SELECTIVE ACKNOWLEDGEMENTS 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. 2MSL time wait can avoid the portreuse problem. 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.RESPONSE TO ECN 1. Explicit Congestion Notification (ECN) is a mechanism to allow routers to mark TCP packets to indicate congestion, instead of dropping them, when possible. 2. While ECNcapable routers are not yet widely deployed, the latest versions of the Linux operating system include full ECN support. 3. Following this deployment of ECNenabled end nodes, there were widespread complaints that ECNcapable hosts could not access a number of websites. 4. Setting up an ECNenabled TCP connection involves a handshake between the sender and the receiverCONCLUSION 1. TBIT can be used to check any web server, without the need for any special privileges on that web server, in a nondisruptive manner. 2. The source code for TBIT is available from the TBIT web page 3. the congestion control mechanisms used by traffic in the InternetAny queries You can find us at queriesthesisscientist.com