Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation.

Slides:



Advertisements
Similar presentations
Internet Measurement Conference 2003 Source-Level IP Packet Bursts: Causes and Effects Hao Jiang Constantinos Dovrolis (hjiang,
Advertisements

Michele Pagano – A Survey on TCP Performance Evaluation and Modeling 1 Department of Information Engineering University of Pisa Network Telecomunication.
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.
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
ECE 4450:427/527 - Computer Networks Spring 2015
EE 122: Congestion Control The Sequel October 1, 2003.
Lecture 3  A round up of the most important basics I haven’t covered yet.  A round up of some of the (many) things I am missing out of this course (ATM,
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
Modeling TCP Throughput: A Simple Model and its Empirical Validation Jitendra Padhye, Victor Firoiu, Don Towsley, and Jim Kurose SIGCOMM 1998.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Stochastic Differential Equation Modeling and Analysis of TCP- Windowsize Behavior EE228a Class Presentation Anshi Liang.
AQM for Congestion Control1 A Study of Active Queue Management for Congestion Control Victor Firoiu Marty Borden.
Modeling TCP Throughput Jeng Lung WebTP Meeting 11/1/99.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
1 Chapter 3 Transport Layer. 2 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4.
1 Internet Networking Spring 2004 Tutorial 10 TCP NewReno.
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Estimating Congestion in TCP Traffic Stephan Bohacek and Boris Rozovskii University of Southern California Objective: Develop stochastic model of TCP Necessary.
TCP Congestion Control
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
Lect3..ppt - 09/12/04 CIS 4100 Systems Performance and Evaluation Lecture 3 by Zornitza Genova Prodanoff.
1 EE 122: Advanced TCP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
Modeling TCP Throughput: A Simple Model and its Empirical Validation Ross Rosemark Penn State University.
TFRC: TCP Friendly Rate Control using TCP Equation Based Congestion Model CS 218 W 2003 Oct 29, 2003.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
27th, Nov 2001 GLOBECOM /16 Analysis of Dynamic Behaviors of Many TCP Connections Sharing Tail-Drop / RED Routers Go Hasegawa Osaka University, Japan.
Stochastic Differential Equation Modeling and Analysis of TCP - Windowsize Behavior Presented by Sri Hari Krishna Narayanan (Some slides taken from or.
Lecture 9 – More TCP & Congestion Control
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Modeling TCP Throughput: A Simple Model and its Empirical Validation Jitendra Padhye, Victor Firoiu, Don Towsley, and Jim Kurose Department of Computer.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Transport Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Principles of Congestion Control Some slides.
H. OhsakiITCom A control theoretical analysis of a window-based flow control mechanism for TCP connections with different propagation delays Hiroyuki.
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
1 ICCCN 2003 Modelling TCP Reno with Spurious Timeouts in Wireless Mobile Environments Shaojian Fu School of Computer Science University of Oklahoma.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
A Stochastic Model for TCP with Stationary Random Losses
A Stochastic Model of TCP Reno Congestion Avoidance and Control
Precept 2: TCP Congestion Control Review
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
ECE 599: Multimedia Networking Thinh Nguyen
Chapter 6 TCP Congestion Control
CS640: Introduction to Computer Networks
TCP Throughput Modeling
CS4470 Computer Networking Protocols
EE 122: Lecture 10 (Congestion Control)
EE 122: Congestion Control The Sequel
Computer Science Division
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Presentation transcript:

Modeling TCP Throughput Jitendra Padhye Victor Firoiu Don Towsley Jim Kurose Presented by Jaebok Kim A Simple Model and its Empirical Validation

Introduction Simple analytic characterization of the steady state throughput –A stochastic model of TCP congestion control Deriving mathematical formulas –Taking account of not only retransmit but also timeout

Contents TCP Congestion Avoidance Simplifying assumptions Loss indications & triple-duplicate ACKs Loss indications & triple-duplicate ACKs, time-outs Impact of window limitation & a full model Empirical validation Conclusion

TCP Congestion Avoidance How do we resolve this problem?

TCP Congestion Avoidance TCP Reno – a newer version Slow Start –W’ = W + 1 (each ACK arrives) –Eventually, doubling every RTT

TCP Congestion Avoidance Additive Increase –W’ = W + 1/W (each ACK arrives) –W’’ = W + 1/B (Second round begins) B = n of Acknowledged Packets by 1 ACK (Typically, 2) W/B ACKs will arrive & each ACK increase 1/W

TCP Congestion Avoidance Multiplicative Decrease (3Duplicate ACKs) –W’ = W * Md –Eventually, W’ = W/2 –Don’t go back to Slow Start, but Additive Increase Time Out –Go back to Slow Start –W = 1

Simplifying assumptions No time for Fast Recovery No time for Slow Start Correlated packets losses in a round –Drop-tail policy At a full buffer, drop all packets arriving late –But, independent between rounds Separated by RTT Same implementation of TCP-Reno P1P2P4P3P5P6 r r

Loss indications & triple-duplicate ACKs B – long term steady-state TCP throughput –Windows increases by 1/b –Windows decreases by a factor of 2 P – loss probability Get B(p) by utilizing Markov Regenerative Process –B = E[Y] / E[A] Y = N of packets sent in TDP i A = duration of the period E[ ] = Expected value in MRGP

Loss indications & triple-duplicate ACKs Why do we need MRGP? –A cycle will repeat (TDP1, TDP2, TDP3, so on….) Like a sequence of output –New size of windows depends on only previous one’s Markov Chain –Each loss in rounds is separated by RTT (Independently) In statistics, a sequence of random variables is independent and identically distributed (i.i.d.) if each has the same probability distribution as the others and all are mutually independent –Representing steady state model

Loss indications & triple-duplicate ACKs Markov Model –Predict the future through the past –Based on conditional probability Future state depends on only current state, not the past

Loss indications & triple-duplicate ACKs P(Rain, Sunny, Cloudy) = ? = p(Rain) * p(Sunny|Rain) * p(Cloudy|Sunny)

Loss indications & triple-duplicate ACKS How do we predict the weather ?

Loss indications & triple-duplicate ACKs MRGP –I.I.D random variables

Loss indications & triple-duplicate ACKs To get B(p) = E[Y]/E[A] –N of packets, including first lost packet, sent in a TDP i : α i –The round where a loss occurs : X i –Y i = α i + W i – 1 Total of Y i packets sent in X i +1 rounds –E[Y] = E[α] + E[W] – 1(2)

Loss indications & triple-duplicate ACKs To derive E[α] –Expected value in random process {α i } i : E[α] –Based on the assumption Lost packets in a round are independent on any packets in other rounds Independent & identically distributed random variables –P[α = k] equal to p that k-1 packets are acknowledged before a loss –By using (2) and (4), we could derive (5) E[Y]

Loss indications & triple-duplicate ACKs The increase is linear with slope 1/b Y i can be expressed by (10) B i : N of packets sent in the last round –B i = W i / 2

Loss indications & triple-duplicate ACKs To derive E[W] –{Wi}, {Xi} all independent sequence of I.I.D random v –So, derive (12) from (7),(10) and (5) –Quadratic equation from (11) & (12) (1-p)/p + w = b* E[W]/4 (3/2 * E[W] – 1) + E[W]/2

Loss indications & triple-duplicate ACKs As we get E[W], we could get E[X] & E[A] Eventually, B(p) is derived from E[Y]/E[A]

Loss indications & triple-duplicate ACKs, Time-outs The major reason for window decreases –Timeout rather than fast retransmit –Occurring when packets(or ACKs) are lost –After time-out, W’ = 1 –The period of time-out will doubles

Loss indications & triple-duplicate ACKs, Time-outs Utilizing MRGP again –Z TO : duration of a sequence of time-outs –Z TD : time interval b/w 2 consecutive TO sequences –S i = Z i TO + Z i TD –M : N of packets sent during S i –B = E[M] / E[S]

Loss indications & triple-duplicate ACKs, Time-outs How to get B(p) ? –We’ve already known E[Y], E[A]. So, let’s utilize them –Ri = N of packets sent during time-out sequence Z TO Similar process to get B(p) for TDP –Getting a full model & an approximate model

Impact of window limitation & a full model Keep in mind that limitation of window size Windows can’t grow up over W max Let’s follow the similar process to previous models’ –Unconstrained window size : Wu –E[Wu] < W max –W max approximately equal to E[Wu]

Impact of window limitation & a full model A full model An approximate model

Empirical validation Validating formulae, derived so far, by measurement –24 data sets with 1 hour long TCP connection –Infinite source X-axis = frequency of loss indication Y-axis = n of packets sent TD = only TD intervals T0 = single TO intervals T1 = double TO intervals T2 = Triple TO intervals TD Only = prediction of TD only model Full = prediction of full model

Empirical validation Analysis of measurement tables Overestimation of throughput in TD Only model Full model close to measurement Connections suffering from more time-out rather than 3 duplicate ACKs

Conclusion A simple model of TCP-Reno –Capturing essence of TCP’s congestion avoidance behavior TDP & time-out –Expressing throughput as a function of loss rate Most connections suffered from a considerable number of time-outs

Q&A Thank you for listening to my presentation