Katz, Stoica F04 EECS 122: Introduction to Computer Networks Transport Analysis Computer Science Division Department of Electrical Engineering and Computer.

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

CSCI-1680 Transport Layer II Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
CSCI-1680 Transport Layer III Congestion Control Strikes Back
1 Transport Protocols & TCP CSE 3213 Fall April 2015.
CS 6401 Transport Control Protocol Outline TCP objectives revisited TCP basics New algorithms for RTO calculation.
1 Chapter 5 End-to-End Protocols Outline 5.1 UDP 5.2 TCP 5.3 Remote Procedure Call.
1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
1 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
6-May-154/598N: Computer Networks End-to-End Protocols Underlying best-effort network –drop messages –re-orders messages –delivers duplicate copies of.
CSE Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 14 – February 23, 2010.
ECE 4450:427/527 - Computer Networks Spring 2015
1 TCP CSE May TCP Services Flow control Connection establishment and termination Congestion control 2.
Fundamentals of Computer Networks ECE 478/578 Lecture #21: TCP Window Mechanism Instructor: Loukas Lazos Dept of Electrical and Computer Engineering University.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Transport Layer 3-1 Transport Layer r To learn about transport layer protocols in the Internet: m TCP: connection-oriented protocol m Reliability protocol.
EECS122 – Lecture 5 Department of Electrical Engineering and Computer Sciences University of California Berkeley.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Performance Modeling Computer Science Division Department of Electrical Engineering and Computer.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #7 TCP New Reno Vs. Reno.
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Packet Scheduling and QoS Computer Science Division Department of Electrical Engineering and.
EE 122: Error detection and reliable transmission Ion Stoica September 16, 2002.
UCB Review for M2 Jean Walrand U.C. Berkeley
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
UCB TCP Jean Walrand U.C. Berkeley
Spring 2002CS 4611 Reliable Byte-Stream (TCP) Outline Connection Establishment/Termination Sliding Window Revisited Flow Control Adaptive Timeout.
Networking. Protocol Stack Generally speaking, sending an message is equivalent to copying a file from sender to receiver.
CSCI-1680 Transport Layer II Data over TCP Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Rodrigo Fonseca.
1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind.
CS 4396 Computer Networks Lab
CS540/TE630 Computer Network Architecture Spring 2009 Tu/Th 10:30am-Noon Sue Moon.
CSCI-1680 Transport Layer II Data over TCP Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti Theophilus Benson.
Chapter 12 Transmission Control Protocol (TCP)
1 Introduction to Computer Networks University of ilam Dr. Mozafar Bag-Mohammadi Transport Layer.
1 TCP III - Error Control TCP Error Control. 2 ARQ Error Control Two types of errors: –Lost packets –Damaged packets Most Error Control techniques are.
Ali Movaghar Winter 2009 Modeling and Analysis of Computer Networks (Delay Models in Data Networks)
CSCI-1680 Transport Layer III Congestion Control Strikes Back Based partly on lecture notes by David Mazières, Phil Levis, John Jannotti, Ion Stoica Rodrigo.
Computer Science Division
Computer Networking 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
Katz, Stoica F04 EECS 122: Introduction to Computer Networks Congestion Control Computer Science Division Department of Electrical Engineering and Computer.
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
Winter 2008CS244a Handout 81 CS244a: An Introduction to Computer Networks Handout 8: Congestion Avoidance and Active Queue Management Nick McKeown Professor.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
Data and Computer Communications Chapter 18 – Internet ProtocolsChapter 18 – Internet Protocols.
Transport Layer: Sliding Window Reliability
Retransmission. Automatic Repeat reQuest (ARQ) 2 Time Packet ACK Timeout Automatic Repeat Request –Receiver sends acknowledgment (ACK) when it receives.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
CSCI-1680 Transport Layer II Data over TCP Based partly on lecture notes by David Mazières, Phil Levis, Rodrigo Fonseca John Jannotti.
1 End-to-End Protocols UDP TCP –Connection Establishment/Termination –Sliding Window Revisited –Flow Control –Congestion Control –Adaptive Timeout.
CSE331: Introduction to Networks and Security Lecture 4 Fall 2002.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
3. END-TO-END PROTOCOLS (PART 2) Rocky K. C. Chang Department of Computing The Hong Kong Polytechnic University 22 March
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
Transport Control Protocol
ECE 4450:427/527 - Computer Networks Spring 2017
CS4470 Computer Networking Protocols
Transport Control Protocol
5. End-to-end protocols (part 2)
EE 122: Network Performance, Queueing Theory, Evaluation
TCP Throughput Modeling
State Transition Diagram
Advanced Computer Networks
CSS432 End-to-End Protocols Textbook Ch5.1 – 5.2
TCP III - Error Control TCP Error Control.
Computer Science Division
Transport Layer Outline Intro to transport UDP
Presentation transcript:

Katz, Stoica F04 EECS 122: Introduction to Computer Networks Transport Analysis Computer Science Division Department of Electrical Engineering and Computer Sciences University of California, Berkeley Berkeley, CA

Katz, Stoica F04 2 Outline  Exponential averaging and its applications  Retransmission timeout (RTO) computation  Little’s Theorem (revisited)

Katz, Stoica F04 3 Exponential Averaging  Let X 1, X 2, …, X N be a series of measurements  Then average value A i after the i-th measurement is computed as A i =  A i-1 + (1 -  ) X i where  is a constant between 0 and 1  Note that (assuming A 0 = 0): A i =   (1 -  ) X 1 +   (1 -  ) X 2 + (1 -  ) X N  What is the role of  ? What does  control?

Katz, Stoica F04 4 Exponential Averaging: Example  X constant; A converges to X A … X iteration

Katz, Stoica F04 5 Exponential Averaging: Example  Maintaining queue size in RED

Katz, Stoica F04 6 Exponential Averaging: Example  RTT estimation in TCP  Measure RTT for each packet/ACK pair  Compute average of RTT as -EstRTT =  x EstRTT + (1 -  ) x RTT  is 0.9 (or 0.8)

Katz, Stoica F04 7 Moving Window Average  Let X 1, X 2, …, X N be a series of measurements  Then average value A i after the i-th measurement is computed as A i = (X i-1 + X i-2 + … + X i-w )/W where W is the window size  How do exponential averaging and moving window averaging compare?

Katz, Stoica F04 8 Outline  Exponential averaging and its applications  Retransmission timeout (RTO) computation  Little’s Theorem (revisited)

Katz, Stoica F04 9 Retransmission Timeout (RTO) Computation: The Problem 1 1 Timeout too long  inefficiency 1 1 Timeout too short  duplicate packets RTT Timeout RTT

Katz, Stoica F04 10 RTO Computation: Original Algorithm  Measure RTT for each packet/ACK pair, then perform 1.EstRTT =  x EstRTT + (1 -  ) x RTT, where  is 0.9 (or 0.8) 2.RTO = 2 x EstRTT

Katz, Stoica F04 11 RTO Computation: Jacobson/Karels Algorithm  Measure RTT for each packet/ACK pair, then perform 1.Err = RTT - EstRTT 2.EstRTT = EstRTT + (1 –  ) x Err (Note: equivalent to EstRTT =  x EstRTT + (1 -  ) x RTT ) 3.DevRTT =  x DevRTT +  x | Err| 4.RTO = EstRTT + 4 DevRTT where  = 0.9 and  = 1/8 DevRTT represents the mean of the deviation (like standard deviation) of the RTT Why do we need DevRTT ?

Katz, Stoica F04 12 RTO Computation: Karn/Partridge Algorithm  Add the following two considerations to Jacobson/Karels algorithm -EstRTT is updated only when an ACK is received before the timeout expires. Why? -If a packet timeouts, double EstRTT. Why?

Katz, Stoica F04 13 Outline  Exponential averaging and its applications  Retransmission timeout (RTO) computation  Little’s Theorem (revisited)

Katz, Stoica F04 14 Little’s Theorem  Assume a system (e.g., a queue) at which packets arrive at rate a(t)  Let d(i) be the delay of packet i, i.e., time packet i spends in the system  What is the average number of packets in the system? system a(t) – arrival rate d(i) = delay of packet i  Intuition: -Assume arrival rate is a = 1 packet per second and the delay of each packet is s = 5 seconds -What is the average number of packets in the system?

Katz, Stoica F04 15 Little’s Theorem Latest bit seen by time t SenderReceiver 12 time x(t) d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t T What is the system occupancy, i.e., average number of packets in transit between 1 and 2 ?

Katz, Stoica F04 16 Little’s Theorem Latest bit seen by time t SenderReceiver 12 time x(t) T Average occupancy = S/T d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t S= area

Katz, Stoica F04 17 Little’s Theorem Latest bit seen by time t SenderReceiver 12 time x(t) S(N) P d(N-1) S(N-1) T S = S(1) + S(2) + … + S(N) = P*(d(1) + d(2) + … + d(N)) d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t S= area

Katz, Stoica F04 18 Average occupancy Average arrival time Average delay Little’s Theorem Latest bit seen by time t SenderReceiver 12 time x(t) S(N) P d(N-1) S(N-1) T S/T = (P*(d(1) + d(2) + … + d(N)))/T = ((P*N)/T) * ((d(1) + d(2) + … + d(N))/N) d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t S= area

Katz, Stoica F04 19 Little’s Theorem Latest bit seen by time t SenderReceiver 12 time x(t) S(N) Average occupancy = (average arrival rate) x (average delay) S= area a(i) d(N-1) S(N-1) T d(i) = delay of packet i x(t) = number of packets in transit (in the system) at time t