Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
How to Identify the Speed Limiting Factor of a TCP Flow E2EMON 2006 Vancouver Mark Timmer April 3, 2006 Co-authors: Pieter-Tjerk de Boer and Aiko Pras 1 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Contents • • • • • • • Motivation Related work Possible factors Overview: identifying the limiting factors One factor in-depth Measurement results Conclusions 2 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Motivation • Surfnet: 1 Gbit • Upgrades still useful? • Approach: Identify speed limiting factor 10 Gbit 3 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Related work • Y. Zhang, L. Breslau, V. Paxson, and S. Shenker, “On the characteristics and origins of internet flow rates”, Proceedings of SIGCOMM’02 • M. Siekkinen, G. Urvoy-Keller, E.W. Biersack, and T. En-Najjary, “Root cause analysis for long-lived tcp connections”, Proceedings of CoNEXT’05 4 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Speed limiting factors of a TCP flow application application (sender) (receiver) TCP (receiver) TCP (sender) network (network layer, link layer, physical layer) application layer TCP layer network 5 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Overview: identifying the limiting factors Data repository of packet traces • Information directly available: – Arrival time – IP header (source, destination) – TCP header (port numbers, sequence number, acknowledgment number, size of receive window) • Information calculated: – Number of outstanding bytes – Achieved throughput 6 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Application layer limitations (1) Slow sender limitation A B idle period data data data ack ack Identification – Measure idle period percentage – Careful when receive window is empty data data data Note: We only consider flows measured at the sending side 7 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Application layer limitations (2) Slow receiver limitation A B =30) ack (rwnd data (leng th=30) =0) ack (rwnd =30) ack (rwnd Identification – Measure how often the receive window decreases data (leng th=30) 8 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Application layer limitations (3) Application protocol limitation A B =150) ack (rwnd data (leng t data (leng h=30) t data (leng h=30) th=30) h=0) ack (lengt =4) h ack (lengt data (leng t data (leng h=30) t data (leng h=30) th=30) h=0) ack (lengt =4) h ack (lengt Identification – Measure how often an ACK contains data Note: We only consider flows sending data one-way 9 E2EMON, April 3, 2006 How to Identify the Speed Limiting Factor of a TCP Flow Network limitation (1) #outstanding bytes Limited by loss / retransmission ‘TCP Friendly formula’ BW MSS c RTT p time 10 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Network limitation (2) Limited by delay – Large buffers – Entire receive window stored – Injecting more packets more delay extra data throughput of bottleneck link extra delay 11 E2EMON, April 3, 2006 How to Identify the Speed Limiting Factor of a TCP Flow TCP buffers limitations The receive buffer limitation B B =100) ack (rwnd 60 bytes =30) ack (rwnd data (leng t data (leng h=10) data (leng th=10 th=10) =30) ack (rwnd rwnd=30) ack ( data (le data (lengngth=10) t data (leng h=10) th=10) =30) ack (rwnd 30) = ack (rwndd ata (length =10) A 60 bytes rwnd full rwnd full A The send buffer limitation data (leng t data (leng h=20) t data (leng h=20) th=20) =100) ack (rwnd 100) = ack (rwnddat a (length= 20) data (leng t h = 20) data (leng th=20) =100) ack (rwnd 100) = ack (rwnd 12 E2EMON, April 3, 2006 How to Identify the Speed Limiting Factor of a TCP Flow In-depth: the receive window limitation • Peaks t1 t2 t3 t4 rwnd full receive window receive window rwnd full #outstanding bytes A time B =30) ack (rwnd data (leng t data (leng h=10) data (leng th=10 th=10) =30) ack (rwnd rwnd=30) ack ( data (leng data (leng th=10) t data (leng h=10) th=10) =30) ack (rwnd 30) = ack (rwndd ata (length =10) 13 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Measurement results Category % flows % bytes Undetermined 20 – 40 10 – 20 Network 20 – 30 30 – 40 0 – 10 0 – 10 Receive buffer 10 – 15 10 – 20 Slow sender 20 – 30 20 – 40 Slow receiver 0–5 0–5 Application protocol 0 – 10 0–1 Send buffer 14 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Conclusions • Upgrading network still useful • However, many flows limited by buffers • Recommentations: – Perform statistical analyses – Develop tool to ‘fix’ TCP-buffer limited flows – Detect changes of limiting factor in time 15 How to Identify the Speed Limiting Factor of a TCP Flow E2EMON, April 3, 2006 Questions? 16