COMP 431 Internet Services & Protocols

Slides:



Advertisements
Similar presentations
3-1 TCP Protocol r point-to-point: m one sender, one receiver r reliable, in-order byte steam: m no “message boundaries” r pipelined: m TCP congestion.
Advertisements

1 TCP Congestion Control. 2 TCP Segment Structure source port # dest port # 32 bits application data (variable length) sequence number acknowledgement.
3: Transport Layer3b-1 TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 r full duplex data: m bi-directional data flow in same connection m MSS: maximum.
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.
Announcement Homework 2 in tonight –Will be graded and sent back before Th. class Midterm next Tu. in class –Review session next time –Closed book –One.
Chapter 3 Transport Layer slides are modified from J. Kurose & K. Ross CPE 400 / 600 Computer Communication Networks Lecture 12.
Transport Layer 3-1 outline r TCP m segment structure m reliable data transfer m flow control m congestion control.
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.
Transport Layer3-1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
Week 9 TCP9-1 Week 9 TCP 3 outline r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management.
1 Lecture 9: TCP and Congestion Control Slides adapted from: Congestion slides for Computer Networks: A Systems Approach (Peterson and Davis) Chapter 3.
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.
Data Communication and Networks
Networks : TCP Congestion Control1 TCP Congestion Control.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point:
3: Transport Layer3b-1 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle”
Transport Layer 4 2: Transport Layer 4.
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 r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP r 3.4 Principles.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley Chapter3_3.
Transport Layer3-1 Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012.
Transport Layer1 Flow and Congestion Control Ram Dantu (compiled from various text books)
Principles of Congestion Control Congestion: informally: “too many sources sending too much data too fast for network to handle” different from flow control!
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
17-1 Last time □ UDP socket programming ♦ DatagramSocket, DatagramPacket □ TCP ♦ Sequence numbers, ACKs ♦ RTT, DevRTT, timeout calculations ♦ Reliable.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
1 Transport Layer Lecture 10 Imran Ahmed University of Management & Technology.
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 Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
By N.Gopinath AP/CSE Unit: III Introduction to Transport layer.
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 John Magee 20 February 2014 CS 280: Transport Layer: Congestion Control Concepts, TCP Congestion Control Most slides adapted from Kurose and Ross, Computer.
CS-1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
TCP. TCP ACK generation [RFC 1122, RFC 2581] Event at Receiver Arrival of in-order segment with expected seq #. All data up to expected seq # already.
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.
CIS679: TCP and Multimedia r Review of last lecture r TCP and Multimedia.
@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.
Approaches towards congestion control
Transport Layer CS 381 3/7/2017.
Chapter 3 outline 3.1 transport-layer services
Chapter 6 TCP Congestion Control
CS-1652 Jack Lange University of Pittsburgh
Congestion Control.
Chapter 3 outline 3.1 Transport-layer services
Internet and Intranet Protocols and Applications
Chapter 3-3 TCP Congestion CTL *
TCP.
Flow and Congestion Control
TCP Review.
Chapter 6 TCP Congestion Control
October 1st, 2013 CS-1652 Jack Lange University of Pittsburgh
TCP 3: Transport Layer.
CS 5565 Network Architecture and Protocols
CS4470 Computer Networking Protocols
TCP Overview.
CS-1652 Congestion Control Jack Lange University of Pittsburgh
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581 point-to-point:
TCP flow and congestion control
Chapter 3 Transport Layer
October 4th, 2011 CS-1652 Jack Lange University of Pittsburgh
Presentation transcript:

COMP 431 Internet Services & Protocols The Transport Layer Congestion control in TCP Jasleen Kaur April 12, 2016

Transport Layer Protocols & Services Outline application transport network data link physical Fundamental transport layer services Multiplexing/Demultiplexing Error detection Reliable data delivery Pipelining Flow control Congestion control Internet transport protocols UDP TCP network data link physical ... network data link physical ... Logical end-to-end transport ... ... application transport network data link physical

Congestion Control Congestion control v. Flow control In flow control the sender adjusts its transmission rate so as not to overwhelm the receiver One source is sending data too fast for a receiver to handle In congestion control the sender(s) adjust their trans-mission rate so as not to overwhelm routers in the network Many sources independently work to avoid sending too much data too fast for the network to handle Symptoms of congestion: Lost packets (buffer overflow at routers) Long delays (queuing in router buffers)

The Causes and Effects of Congestion Scenario 1: Two equal-rate senders share a single link B1 B2 T3 B3 CPU 2 x in R in R in out Router Two sources send as fast as possible to two receivers across a shared link with capacity R Data is delivered to the application at the receiver at rate out Packets queue at the router Assume the router has infinite storage capacity (Thus no packets are lost and there are no retransmissions)

The Causes and Effects of Congestion Scenario 1: Two equal-rate senders share a single link out R/2 in Time Throughput Delay The maximum achievable per connection throughput is constrained by 1/2 the capacity of the shared link Exponentially large delays are experienced when the router becomes congested The queue grows without bound

The Causes and Effects of Congestion Scenario 2: Finite capacity router queue CPU 2 x ´in B3 T3 B2 B1 R ´in R ´in out Router Assume packets can now be lost Sender retransmits upon detection of loss Define offered load as the original transmissions plus retransmissions ´in = in + retransmit

The Causes and Effects of Congestion Scenario 2: Throughput analysis Ideal throughput (in = ´in) R/2 R/3 Perfect retransmissions (out < ´in) (But an extreme loss rate!) R/4 Premature retransmissions (´in = 2in) (Each segment transmitted twice) Premature retransmissions plus loss out ´in R/2 Throughput By definition out = in Retransmission scenarios: “Perfect” — Retransmissions occur only when there is loss Premature — Delayed packets are retransmitted out = “goodput”

End-to-End Congestion Control TCP Congestion Control Sender’s Congestion Window Byte sequence 1st Byte Last Byte Sent and ACKed Sent and not ACKed Eligible to be sent Ineligible nextSeqNum (= LastByteSent + 1) sendBase (= LastByteACKed + 1) Transmission rate is limited by the congestion window size, congWin LastByteSent - LastByteACKed ≤ MIN(congWin,RcvWindow) Maximum rate is w MSS byte segments sent every RTT throughput = w x MSS RTT bytes/sec

TCP Congestion Control Congestion window and transmission rate Host A Host B If w  MSS/R < RTT, then the maximum rate at which a TCP connection can transmit data is RTT secs wMSS bytes data data data ACK w x MSS RTT data bytes/sec data w is the minimum of the number of segments in the receiver’s window or the congestion window ACK Time

TCP Congestion Control Congestion window control Sender’s Congestion Window Byte sequence 1st Byte Last Byte TCP connections probe for available bandwidth Increase the congestion window until loss occurs When loss is detected decrease window, then begin probing (increasing) again The congestion window grows in two phases: Slow start — Ramp up transmission rate until loss occurs Congestion avoidance — Keep connection close to sustainable bandwidth A window size “threshold” distinguishes between slow start and congestion avoidance phases

TCP Congestion Control Slowstart Host A Host B congWin = 1 MSS for (each original ACK received) congWin++ until (loss event OR congWin > threshold) RTT one segment Exponential increase in window size each RTT until: Loss occurs congWin = threshold (Not so slow!) two segments four segments Note: TCP implementations detect loss using: TCP “ Reno”: Timeout or three duplicate ACKs Time

TCP Congestion Control Congestion avoidance Increase congestion window by 1 segment each RTT, decrease by a factor of 2 when packet loss is detected “Additive Increase, Multiplicative Decrease” (AIMD) Window transmissions Congestion window size (segments) 2 4 6 8 10 12 14 1 3 5 7 9 11 13 Threshold /* slowstart is over; congWin > threshold */ until (loss event) { whenever congWin segments ACKed: congWin++ } /* loss event timeout */ threshold = congWin/2 congWin = 1 MSS perform slowstart Loss event

TCP Congestion Control Slow-start v. Congestion avoidance Initial Threshold is 1 MB ≈ 700 segments The threshold is an estimate of a “safe” level of throughput that is sustainable in the network The threshold specifies a throughput that was sustainable in the recent past 24 Slow Start Congestion Avoidance 22 20 18 16 14 Congestion window size (segments) 12 10 8 Slow-start quickly increases throughput to this threshold Congestion avoidance slows probes for additional available bandwidth beyond the threshold 6 4 2 2 4 6 8 10 12 14 16 18 20 Window transmissions w x MSS R Assume RTT >

TCP Congestion Control Slow-start v. Congestion avoidance Initial Threshold is 1 MB ≈ 700 segments Window transmissions Congestion window size (segments) 2 4 6 8 10 12 14 16 18 20 22 24 Congestion Avoidance Slow Start Loss (at any time) reduces the “safe” throughput estimate to 1/2 of the current throughput This is the throughput that resulted in loss Slow-start begins anew whenever there is loss Throughput at initial threshold = 1 MB/RTT At 1st threshold: 16MSS/RTT At 2nd threshold: 10MSS/RTT w x MSS R Assume RTT >

TCP Congestion Control Major TCP variants TCP Tahoe: Loss signaled by timeout threshold = congWin/2 congWin = 1 MSS 24 Slow Start Congestion Avoidance 22 20 18 16 14 TCP Reno: “Fast retransmit” — Receipt of 3 duplicate ACKs also signals a packet loss “Fast recovery” — Skips slowstart and continues in congestion avoidance new slowstart threshold Congestion window size (segments) 12 10 8 3 duplicate ACKs 6 4 2 2 4 6 8 10 12 14 16 18 20 Window transmissions Others: TCP NewReno, SACK, … w x MSS R Assume RTT >