1 / 22

TCP Behavior Inference Tool

TCP Behavior Inference Tool. Jitendra Padhye, Sally Floyd. Presented by Songjie Wei. Overview. Motivation Sample application: initial congestion window TBIT architecture Application 1: time wait duration Application 2: congestion control algorithm Summary. Motivation.

meda
Télécharger la présentation

TCP Behavior Inference Tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. TCP Behavior Inference Tool Jitendra Padhye, Sally Floyd Presented by Songjie Wei

  2. Overview • Motivation • Sample application: initial congestion window • TBIT architecture • Application 1: time wait duration • Application 2: congestion control algorithm • Summary

  3. Motivation • TCP carries most of the Internet traffic • TCP is a complex protocol with many parameters and variations • Understanding TCP behaviors is important for: • OS vendors and customers • Internet-related researchers • Application developers

  4. Testing TCP Behavior of Web Servers • The overall congestion control behavior of the Internet is heavily influenced by TCP implementation in web servers • Web servers are easy to test • No special privileges required to request information from web servers

  5. Example of TBIT Application • Initial value of the congestion window (ICW) • Number of bytes sent in a burst after three-way handshaking, before receiving any ACKs • RFC2581: at most 2*MSS bytes • RFC2414: min(4*MSS, max(2*MSS, 4380)) • Some TCP are found to send 8000+ bytes with MSS of 512 • Large bursts of packets: buffering problems, loss, delay, etc.

  6. TBIT Architecture

  7. Using TBIT to Determine ICW Web server TBIT SYN SYN+ACK “GET / HTTP/1.0” with ACK TCP-PDU 1 TCP-PDU 2 TCP-PDU 3 No ack to these TPDUs Timeout TCP-PDU n TCP-PDU 1 RST What is the ICW size measured?

  8. Difficulties in Measuring ICW A B SYN • Web page too small to fill cwnd • Use smaller MSS • Use URL of bigger object • TPDUs get lost • Repeat test multiple times • Multiple computers answer to the same IP address • Repeat test multiple times • Non-repeatable results? • Machine to test has no web server • no solution SYN+ACK “GET / HTTP/1.0” + ACK TCP-PDU 1 Timeout TCP-PDU n TCP-PDU 1 RST

  9. Using TBIT to Determine Time-wait Duration Client Server • What is Time-wait? • 2 MSL time-wait can avoid the port-reuse problem • Server should retain sufficient state information about the connection during the time-wait • Many major web servers use a smaller value of MSL Data Transfer FIN FIN + ACK ACK 2 MSL Time-wait Closed Closed

  10. Using TBIT to Determine Time-wait Duration TBIT Web Server Data Transfer How about the sequence number of these SYNs? FIN Should this constant time be a big or small value ? FIN + ACK ACK SYN 2 MSL Estimated time-wait duration SYN SYN Closed SYN + ACK RST

  11. Review of TCP Congestion control • Tahoe • slow start, congestion avoidance, fast rtx (dupacks) • Reno • Tahoe + fast recovery (new acks) • New Reno • Reno + modified fast recovery (partial acks)

  12. Using TBIT to Test TCP Congestion Control TBIT Web Server Three-way handshake “GET /HTTP/1.0” TPDU 1 TPDU 2 rwnd=5 MSS Initial cwnd=2 MSS ACK 1 ACK 2 TPDU 3 TPDU 4 TPDU 5 TPDU 6 ACK 3 ACK 4 ACK 5 ACK 6 TPDU 7 TPDU 8 TPDU 9 TPDU 10 TPDU 11 ACK 7 ACK 8 ACK 9 ACK 10 ACK 11 TPDU 12 TPDU 13 TPDU 14 TPDU 15 TPDU 16 ACK 12 ACK 12 ACK 12 TPDU 17 ACK 12 What happens now ?

  13. TCP without Fast Retransmit

  14. Tahoe No retransmit timeout before the retransmission of packet 13 Unnecessary retransmission of packet 17

  15. Reno Fast retransmit for packet 13, a retransmit timeout for packet 16 No unnecessary retransmission of packet 17

  16. NewReno Fast retransmit for packet 13, no additional fast retransmits or retransmit timeout No unnecessary retransmission of packet 17

  17. Characteristics of TCP Variationsunder TBIT Tests • TCP without fast retransmission • No fast retransmission • Timeout for packet 13 • Tahoe • No retransmit timeout before retransmission of packet 13 • Necessary retransmission of packet 17 • Reno • Fast retransmit of packet 13 • Retransmit timeout for packet 16 • No unnecessary retransmission of packet 17 • NewReno • Fast retransmit of packet 13 • No additional fast retransmit or retransmit timeout • No unnecessary retransmission of packet 17

  18. Sample Testing Result (I) • Aug 31, 2003 • Total: 439 • Error:27 • www.joins.com uses 0 • www.cnn.com uses 1 • www.stoo.com uses 10

  19. Sample Testing Result (II) • Experimental results obtained by testing 84394 web servers (27914 classified): • NewReno 76% • Tahoe 4% (w/o Fast Retransmit) • Reno 15% • Other 1% • Tahoe 4% Source: Medina, Allman, and Floyd, “Measuring the Evolution of Transport Protocols in the Internet”, May 2004

  20. Summary • TBIT is presented for characterizing the TCP behaviors • TBIT can be used to check any web server without special privileges, in a non-disruptive manner • More information are obtained by TBIT about the congestion control mechanisms • Source code and detailed results at: • http://www.aciri.org/tbit

  21. References • Jitendra Padhye and Sally Floyd,Identifying the TCP Behavior of Web Servers. June 2001, In Proceedings of SIGCOMM 2001 • Alberto Medina, Mark Allman, and Sally Floyd, Measuring Interactions Between Transport Protocols and Middleboxes. Internet Measurement Conference 2004, August 2004 • Sourabh Ladha, Paul D. Amer, Armando Caro, Jr., Janardhan R. Iyengar, On the Prevalence and Evaluation of Recent TCP Enhancements. Globecom 2004, Dallas TX, November 2004 • Alberto Medina, Mark Allman, and Sally Floyd, Measuring the Evolution of Transport Protocols in the Internet. To appear in Computer Communications Review, April 2005

  22. TBIT Homework (due on Nov 22) • Design a TBIT test for both of the following: • Whether a web server supports TCP SACK • Value and increase of the persistence timer • Requirements • Describe the test step by step • Draw time time diagram to show what are expected to happen during the test • Consider any possible difficulties in the test, such as lost/duplicate/reordered packets, etc. • State clearly any assumptions made for the local host, the web server, or the network • You don’t really need to install and run TBIT for this homework

More Related