Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002.

Slides:



Advertisements
Similar presentations
Slide Set 14: TCP Congestion Control. In this set... We begin Chapter 6 but with 6.3. We will cover Sections 6.3 and 6.4. Mainly deals with congestion.
Advertisements

TCP Variants.
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.
TCP: Transmission Control Protocol Overview Connection set-up and termination Interactive Bulk transfer Timers Improvements.
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
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.
Transport Layer 3-1 Fast Retransmit r time-out period often relatively long: m long delay before resending lost packet r detect lost segments via duplicate.
TCP Variations Naveen Manicka CISC 856 – Fall 2005 Computer & Information Sciences University of Delaware Nov 10, 2005 Most slides are borrowed from J.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
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.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
1 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Transport: TCP Manpreet Singh (Slides borrowed from various sources on the web)
1 Internet Networking Spring 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
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.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
CMPE 257 Spring CMPE 257: Wireless and Mobile Networking Spring 2005 E2E Protocols (point-to-point)
TCP Congestion Control
TCP: flow and congestion control. Flow Control Flow Control is a technique for speed-matching of transmitter and receiver. Flow control ensures that a.
COMT 4291 Communications Protocols and TCP/IP COMT 429.
TCP CS 168 Discussion Week 6 Many thanks to past EE 122 GSIs.
SELECTIVE ACKNOWLEDGEMENT (SACK) DUPLICATE SELECTIVE ACKNOWLEDGMENT
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
What is TCP? Connection-oriented reliable transfer Stream paradigm
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
Computer Networking Lecture 18 – More TCP & Congestion Control.
Lab The network simulator ns The network simulator ns Allows us to watch evolution of parameters like cwnd and ssthresh Allows us to watch evolution of.
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 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
1 Sonia FahmyPurdue University TCP Congestion Control Sonia Fahmy Department of Computer Sciences Purdue University
Network Protocols: Design and Analysis Polly Huang EE NTU
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.
TCP End-To-End Congestion Control Wanida Putthividhya Dept. of Computer Science Iowa State University Jan, 27 th 2002 (May, 25 th 2001)
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.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
1 Computer Networks Congestion Avoidance. 2 Recall TCP Sliding Window Operation.
TCP OVER ADHOC NETWORK. TCP Basics TCP (Transmission Control Protocol) was designed to provide reliable end-to-end delivery of data over unreliable networks.
Internet Networking recitation #11
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
Recap Slow start introduced cwnd Slow start introduced cwnd Can transmit up to Can transmit up to min( cwnd, offered window ) Flow control by the sender.
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Karn’s Algorithm Do not use measured RTT to update SRTT and SDEV Calculate backoff RTO when a retransmission occurs Use backoff RTO for segments until.
Malathi Veeraraghavan Originals by Jörg Liebeherr 1 Congestion Control TCP implements congestion control at the sender –This control is intended to reduce.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
Introduction to Networks
COMP 431 Internet Services & Protocols
Introduction to Congestion Control
Hojun Lee TCP enhancements Hojun Lee 11/8/2018.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
TCP.
TCP - Part II Suman Banerjee CS 640, UW-Madison
If both sources send full windows, we may get congestion collapse
EE 122: Lecture 10 (Congestion Control)
TCP flow and congestion control
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Simulation-based Comparison of Tahoe, Reno, and SACK TCP Kevin Fall & Sally Floyd Presented: Heather Heiman September 10, 2002

Heather HeimanNetwork Performance Research Lab2 TCP Versions Tahoe TCP Reno TCP New-Reno TCP SACK TCP

Heather HeimanNetwork Performance Research Lab3 Tahoe TCP First implemented in 4.3 BSD in 1988 Earlier TCP implementations used a go- back-n model to control network congestion Tahoe TCP added Slow-Start, Congestion Avoidance, and Fast Retransmit Algorithms

Heather HeimanNetwork Performance Research Lab4 Slow-Start The congestion window (cwnd) is increased by 1 for every acknowledgement received, therefore the cwnd increases exponentially Slow-Start continues until the cwnd is greater than or equal to the threshold Threshold = cutoff point based on the last occurring congestion Once the cwnd is greater than or equal to the threshold, congestion avoidance begins

Heather HeimanNetwork Performance Research Lab5 Congestion Avoidance Instead of increasing the cwnd by 1 each time an acknowledgement is received, the congestion avoidance algorithm increases the cwnd by 1 each RTT cwnd grows linearly

Heather HeimanNetwork Performance Research Lab6 Fast Retransmit When a set number of duplicate acknowledgements have been received for the same packet, the data sender retransmits the packet without waiting for the retransmit timer to expire

Heather HeimanNetwork Performance Research Lab7 Reno TCP Same as Tahoe TCP, but changed Fast Retransmit to include Fast Recovery Fast Recovery is entered once a certain number of duplicate acks have been received (generally the threshold is set to 3) Like Fast Retransmit, the sender retransmits the packet that has been lost, but instead of slow- starting the cwnd is cut in half and then the sender counts duplicate acks to determine when to send packets

Heather HeimanNetwork Performance Research Lab8 Reno TCP Sender’s usable window = min(awin, cwnd + ndup) awin = receiver’s advertised window cwnd = sender’s congestion window ndup = number of duplicate acks (remains at 0 until the number of duplicate acks reaches the threshold) During Fast Recovery, the sender increases it’s usable window by the number of duplicate acks received

Heather HeimanNetwork Performance Research Lab9 Reno TCP Fast Recovery is exited when an ack is received asking for new data Fast Recovery is optimal for the case when only one packet is lost from a window of data The best rate Reno TCP can retransmit packets is the rate of 1 per RTT

Heather HeimanNetwork Performance Research Lab10 New-Reno TCP Same as Reno TCP, but implements a modification to the sender’s algorithm during Fast Recovery In Reno TCP, if a partial ack is received, Fast Recovery is exited and the usable window size is reset to the cwnd size In New-Reno TCP, if a partial ack is received, it indicates to the sender that the packet numbered immediately after the acked packet has been lost

Heather HeimanNetwork Performance Research Lab11 New-Reno TCP The packet is immediately retransmitted without waiting for the retransmit timer to expire New-Reno exits Fast Recovery only when all the outstanding data when it began has been acked A “maxburst” parameter is used to limit the number of packets that can be sent in response to a single ack, even if the cwnd would allow more packets to be sent Maxburst = four when outside of Fast Recovery Maxburst = two during Fast Recovery

Heather HeimanNetwork Performance Research Lab12 SACK TCP Explained in detail in RFC 2018 Uses SACK blocks that contain information about received and queued non-contiguous data packets The first block is required to keep track of the most recently received data sequence SACK TCP uses the same algorithms for adjusting the cwnd The main difference between SACK TCP and New-Reno TCP is during multiple packet loss

Heather HeimanNetwork Performance Research Lab13 SACK TCP During Fast Recovery, SACK has an extra variable called pipe pipe is used to keep track of the number of outstanding packets New or retransmitted data is only sent when pipe < cwnd When a packet is sent, pipe is incremented by 1 When a duplicate ack is received with a SACK option indicating new data has been received, pipe is decremented by 1

Heather HeimanNetwork Performance Research Lab14 SACK TCP If a partial ack is received, pipe is decreased by 2 This represents the original packet sent and the retransmitted packet For partial acks, the sender never recovers slower than Slow-Start

Heather HeimanNetwork Performance Research Lab15 SACK TCP SACK TCP keeps track of all acks from previous SACK options using a data structure called the “scoreboard” When the sender is allowed to send a packet, it retransmits the next packet on the list that the receiver is thought to have not received If there are no packets on the list, then a new packet is sent

Heather HeimanNetwork Performance Research Lab16 SACK TCP If a retransmitted packet is lost, it is detected when the retransmit timer expires When this occurs, the packet is retransmitted Then SACK TCP goes into Slow-Start

Heather HeimanNetwork Performance Research Lab17 Simulation Results One Packet Loss: Tahoe TCP doesn’t perform as well as the other versions due to the fact it does slow-start after packet loss Two Packet Losses: Reno TCP doesn’t do as well as New-Reno and SACK Multiple Packet Losses: SACK TCP performs the best out of all the algorithms

Heather HeimanNetwork Performance Research Lab18 TCP Option Numbers

Heather HeimanNetwork Performance Research Lab19 Problems w/TCP Unnecessary traffic due to retransmissions Protocols that retransmit all unacknowledged data at a single time can overwhelm the network. Unsuccessful connections The load on network servers can be very high when processing unsuccessful connections Beginning Connections without a Slow-Start can cause bursts of traffic

Heather HeimanNetwork Performance Research Lab20

Heather HeimanNetwork Performance Research Lab21