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

Slides:



Advertisements
Similar presentations
Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
Advertisements

CS144 Review Session 4 April 25, 2008 Ben Nham
TCP Variants.
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
TCP Variations: Tahoe, Reno, New Reno, Vegas, Sack
Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.
TCP Vegas: New Techniques for Congestion Detection and Control.
Different TCP Flavors CSCI 780, Fall TCP Congestion Control Slow-start Congestion Avoidance Congestion Recovery Tahoe, Reno, New-Reno SACK.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
Transport Layer – TCP (Part2) Dr. Sanjay P. Ahuja, Ph.D. Fidelity National Financial Distinguished Professor of CIS School of Computing, UNF.
Transportation Layer. Very similar to the data link layer. – two hosts connected by a link or two hosts connected by a network differences: – When two.
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Provides a reliable unicast end-to-end byte stream over an unreliable internetwork.
Presentation by Joe Szymanski For Upper Layer Protocols May 18, 2015.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth Edition,Peterson.
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Explicit Congestion Notification (ECN) RFC 3168 Justin Yackoski DEGAS Networking Group CISC856 – TCP/IP Thanks to Namratha Hundigopal.
TCP Variations Naveen Manicka CISC 856 – Fall 2005 Computer & Information Sciences University of Delaware Nov 10, 2005 Most slides are borrowed from J.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 Internet Networking Spring 2002 Tutorial 10 TCP NewReno.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
Gursharan Singh Tatla Transport Layer 16-May
TCP-Related Measurements Presented by: Charles Simpson (Robby) September 30, 2003.
The Transport Layer.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 Transport Layer Computer Networks. 2 Where are we?
Raj Jain The Ohio State University R1: Performance Analysis of TCP Enhancements for WWW Traffic using UBR+ with Limited Buffers over Satellite.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 2.5 Internetworking Chapter 25 (Transport Protocols, UDP and TCP, Protocol Port Numbers)
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
SELECTIVE ACKNOWLEDGEMENT (SACK) DUPLICATE SELECTIVE ACKNOWLEDGMENT
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
1 TCP: Reliable Transport Service. 2 Transmission Control Protocol (TCP) Major transport protocol used in Internet Heavily used Completely reliable transfer.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Lecture 9 – More TCP & Congestion Control
Lecture 18 – More TCP & Congestion Control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
ECE 4110 – Internetwork Programming
Transport Protocols.
IP Configuration API. Network Interface Configuration NAIfconfigIsDeviceUp() NAIfconfigDeviceFromInterface() NAIfconfigBringDeviceUp() NAIfconfigSetIpAddress()
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Fall 2004FSU CIS 5930 Internet Protocols1 Second phase of the project Please check some networking textbooks for details on TCP and OSPF.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
Limited Transmit & Early Retransmit for TCP Bryan Youse CISC TCP/IP & Upper Layer Protocols October 23, 2008 See Also: RFC 3042 Hari Balakrishnan's.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Sandeep Kakumanu Smita Vemulapalli Gnan
DMET 602: Networks and Media Lab
Adding ECN Capability to TCP’s SYN/ACK Packets
Introduction to Networks
Introduction to Congestion Control
Limited Transmit for TCP
TCP.
TCP.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Limited Transmit & Early Retransmit for TCP
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Transportation Layer.
TCP flow and congestion control
Presentation transcript:

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

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

CISC856 Fall 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

CISC856 Fall 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

CISC856 Fall 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 bytes with MSS of 512 Large bursts of packets: buffering problems, loss, delay, etc.

TBIT Architecture

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

CISC856 Fall Difficulties in Measuring ICW 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 AB SYN “GET / HTTP/1.0” + ACK SYN+ACK TCP-PDU n TCP-PDU 1 RST Timeout

CISC856 Fall Using TBIT to Determine Time-wait Duration 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 2 MSL Time-wait ClientServer Closed FIN FIN + ACK ACK Data Transfer

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

CISC856 Fall 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)

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

CISC856 Fall TCP without Fast Retransmit

CISC856 Fall Tahoe No retransmit timeout before the retransmission of packet 13 Unnecessary retransmission of packet 17

CISC856 Fall Reno Fast retransmit for packet 13, a retransmit timeout for packet 16 No unnecessary retransmission of packet 17

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

CISC856 Fall Characteristics of TCP Variations under 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

CISC856 Fall Sample Testing Result (I) Aug 31, 2003  Total: 439  Error:27  uses 0  uses 1  uses 10 Initial windowCount

CISC856 Fall Sample Testing Result (II) Experimental results obtained by testing web servers (27914 classified):  NewReno76%  Tahoe 4%(w/o Fast Retransmit)  Reno15%  Other 1%  Tahoe 4% Source: Medina, Allman, and Floyd, “Measuring the Evolution of Transport Protocols in the Internet”, May 2004

CISC856 Fall 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: 

CISC856 Fall 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

CISC856 Fall 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