Janey C. Hoe Laboratory for Computer Science at MIT 노상훈, Pllab.

Slides:



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

TCP/IP Over Lossy Links - TCP SACK without Congestion 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.
1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
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.
Introduction 1 Lecture 14 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
School of Information Technologies TCP Congestion Control NETS3303/3603 Week 9.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #11 TCP Eiffel (RFC 3522)
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.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
CSEE W4140 Networking Laboratory Lecture 7: TCP flow control and congestion control Jong Yul Kim
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
15-744: Computer Networking L-10 Congestion Control.
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.
Congestion Avoidance and Control Van Jacobson Jonghyun Kim April 1, 2004.
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 2006 Tutorial 10 The Eifel Detection Algorithm for TCP RFC 3522.
Congestion Avoidance and Control CSCI 780, Fall 2005.
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.
TCP in Heterogeneous Network Md. Ehtesamul Haque # P.
Advanced Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Fourth.
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.
1 EE 122: Advanced TCP Ion Stoica TAs: Junda Liu, DK Moon, David Zats (Materials with thanks to Vern Paxson,
COMT 4291 Communications Protocols and TCP/IP COMT 429.
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
CSE 461 University of Washington1 Topic How TCP implements AIMD, part 1 – “Slow start” is a component of the AI portion of AIMD Slow-start.
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
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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
CS640: Introduction to Computer Networks Aditya Akella Lecture 15 TCP – III Reliability and Implementation Issues.
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.
Winter 2003CS244a Handout 71 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
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
CS 6401 Congestion Control in TCP Outline Overview of RENO TCP Reacting to Congestion SS/AIMD example.
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.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
@Yuan Xue A special acknowledge goes to J.F Kurose and K.W. Ross Some of the slides used in this lecture are adapted from their.
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
9.6 TCP Congestion Control
Introduction to Networks
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP flow control, congestion control, and error control in TCP.
Lecture 19 – TCP Performance
So far, On the networking side, we looked at mechanisms to links hosts using direct linked networks and then forming a network of these networks. We introduced.
Congestion Control in TCP
CS4470 Computer Networking Protocols
CS640: Introduction to Computer Networks
CS4470 Computer Networking Protocols
Transport Layer: Congestion Control
Presentation transcript:

Janey C. Hoe Laboratory for Computer Science at MIT 노상훈, Pllab

Abstract Previous scheme has some defects Analyze behavior of congestion control scheme Use Estimated sstrhesh Modify Fast Retransmit and Fast Recovery algorithms Propose several changes The result show that the performance is improved Experiments 1

Introduction 2 Slow-start Fast Retransmit and Fast Recovery This proposal based on congestion control scheme Especially focus on the start-up period Fixed default value cause multiple packet losses Only one packet loss can be recovered Analyze congestion control schemeImprove the congestion control scheme

Related Work 3 Slow start, congestion avoidance Fast retransmit, Fast recovery added Van Jacobson’s Scheme Selective Ack Resolve multiple packet loss pr0blem Require Cooperative Receiver SACK Modify Slow-start’s linear growth Vegas

The Congestion Control Scheme CWND ramp up to ssthresh Use arbitrarily initialized ssthresh (=64 segments) Slow-start Triggered by 3 duplicate acknowledge Retransmit without waiting retransmission timeout Lower CWND, ssthresh Fast retransmit After fast retransmit, recover CWND by linear mode Fast recovery 4

Slow-start problem SSTHRESH uses arbitrary value CWND ramp up over capacity of link Cause multiple packet loss by segment surge If too high CWND be stable slowly Cause lower performance If too low 5

Fast retransmit problem #1 : Timeout CWND is full 51 is recovered By fast retransmit 53 couldn’t recovered Network is idle Retransmission time0ut Ignored cue Max seq is 54 and Last ack is 53 Obviously 53 was lost 6

Fast retransmit problem #2 : False Fast Retransmit 7 Activation of algorithm when no segment loss. False Fast Retransmits Forces the sender to go into linear mode Problem of FFR

Modification: Slow-start Use better initial value of ssthresh Estimated value is better than arbitrary default value Estimation method At first, initialize as previous default value (=64 seg) During 3 ack (= establishing connection) Least square estimation of bandwidth-delay product Even if default value is high, CWND not ramp up riskily 8

Modification: Slow-start Prevent multiple packet losses during start-up period on severe environment 9

Modification: Fast retransmit & Fast Recovery #1 Marks highest sequence number, snd_high Keep fast retransmit mode until all packet recovered 1 Keep “flywheel” Every 2 duplicate Ack received, send new data segment 2 10

Modification: Fast retransmit & Fast Recovery #2 Fast retransmit phase Setup (1)set ssthresh = ½ cwnd cwnd = 1 segment snd_next = snd_una (2) set snd_high = snd_max save_cwnd = ssthresh + 1 segment Fast retransmit phase Setup (1)set ssthresh = ½ cwnd cwnd = 1 segment snd_next = snd_una (2) set snd_high = snd_max save_cwnd = ssthresh + 1 segment Upon receiving 3 duplicate ACK’s begin fast restransmit Phase Yes, Still in fast retransmit phase Retransmit (3) send using slow start algorithm (4) allow congestion window to increase as long as congestion window <= save_cwnd (5) do not start a new fast retransmit phase (6) upon receiving 2 duplicate ACK’s, send out 1 new packet beyond snd_high Retransmit (3) send using slow start algorithm (4) allow congestion window to increase as long as congestion window <= save_cwnd (5) do not start a new fast retransmit phase (6) upon receiving 2 duplicate ACK’s, send out 1 new packet beyond snd_high Seq number ACKed < snd_high No 11 cwnd=save_cwnd

Modification: Fast retransmit & Fast Recovery #3 Modified algorithm can handle multiple packet losses 12

Simulation Environment Bottle-neck link 13 HOST 1 HOST 2 Switch 1 Switch 2 10Mbps 1600Kbps 50ms delay

Multiple packet losses occurred during start-up period Simulation result - original 14

Graph show new algorithm is better than original algorithm Simulation result – improved 15

Conclusion Proposes several possible changes to improve the start- up behavior of the congestion control scheme. Estimated ssthresh value. Modification Fast retransmit algorithm. Tested in simulations and over real network. These changes can significantly improve TCP’s performance during start-up period By eliminating the wait for unnecessary timeout These changes are noticeable in short TCP data transfers 16

Reference [1] Janey C. Hoe, Improving the Start-up Behavior of a Congestion Control Scheme for TCP, Proceedings of the ACM SIGCOMM Conference, 1996 [2] Kevin Fall. Kannan Varadhan, ns Notes and Documentation, UC Berkeley, LBL, USC/ISI, and Xerox PARC 17

Supplement 1: About Implementation. [2] ns Notes and Documentation 18

Supplement 2: About Implementation 19

Supplement 3: About graph There is no TCL variable which is contain current sequence number. We added new variable “just_seq_” and compiled. 20