CSC 4900 Computer Networks: TCP

Similar documents
Chapter 3 Transport Layer

CSC 8560 Computer Networks: TCP

Chapter 3 Transport Layer

Chapter 3 Transport Layer

Chapter III: Transport Layer

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 10

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Computer Networking Introduction

Chapter 3 Transport Layer

Principles of congestion control

CSCI Topics: Internet Programming Fall 2008

TCP reliable data transfer. Chapter 3 outline. TCP sender events: TCP sender (simplified) TCP: retransmission scenarios. TCP: retransmission scenarios

TCP: Overview RFCs: 793,1122,1323, 2018, 2581

Mid Term Exam Results

TCP: Overview RFCs: 793, 1122, 1323, 2018, 2581

Chapter 3- parte B outline

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

CNT 6885 Network Review on Transport Layer

Detecting half-open connections. Observed TCP problems

Chapter 3 Transport Layer

Congestion Control. Principles of Congestion Control. Network-assisted Congestion Control: ATM. Congestion Control. Computer Networks 10/21/2009

Lecture 11. Transport Layer (cont d) Transport Layer 1

Congestion Control. Principles of Congestion Control. Network assisted congestion. Asynchronous Transfer Mode. Computer Networks 10/23/2013

CC451 Computer Networks

Lecture 15: Transport Layer Congestion Control

CSCI Topics: Internet Programming Fall 2008

CSC 401 Data and Computer Communications Networks

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

Lecture 8. TCP/IP Transport Layer (2)

LECTURE 3 - TRANSPORT LAYER

Chapter III: Transport Layer

Computer Networking: A Top Down Approach

CS321: Computer Networks Congestion Control in TCP

CS 43: Computer Networks. 19: TCP Flow and Congestion Control October 31, Nov 2, 2018

rdt3.0: channels with errors and loss

Application. Transport. Network. Link. Physical

Data Communications & Networks. Session 9 Main Theme Network Congestion Causes, Effects, Controls, and TCP Applications. Dr. Jean-Claude Franchitti

Congestion Control. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, Development of reliable protocol Sliding window protocols

The Transport Layer Congestion control in TCP

Outline. TCP: Overview RFCs: 793, 1122, 1323, 2018, steam: r Development of reliable protocol r Sliding window protocols

CSCE 463/612 Networks and Distributed Processing Spring 2017

CS 268: Lecture 7 (Beyond TCP Congestion Control)

TCP congestion control:

Go-Back-N. Pipelining: increased utilization. Pipelined protocols. GBN: sender extended FSM

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transport Layer Congestion Control

CSCD 330 Network Programming Winter 2015

CS4700/CS5700 Fundamentals of Computer Networks

Transport layer. UDP: User Datagram Protocol [RFC 768] Review principles: Instantiation in the Internet UDP TCP

Transport layer. Review principles: Instantiation in the Internet UDP TCP. Reliable data transfer Flow control Congestion control

CS3600 SYSTEMS AND NETWORKS

Good Ideas So Far Computer Networking. Outline. Sequence Numbers (reminder) TCP flow control. Congestion sources and collapse

Master Course Computer Networks IN2097

Correcting mistakes. TCP: Overview RFCs: 793, 1122, 1323, 2018, TCP seq. # s and ACKs. GBN in action. TCP segment structure

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Flow and Congestion Control (Hosts)

Department of Computer and IT Engineering University of Kurdistan. Transport Layer. By: Dr. Alireza Abdollahpouri

15-744: Computer Networking TCP

By Ossi Mokryn, Based also on slides from: the Computer Networking: A Top Down Approach Featuring the Internet by Kurose and Ross

Master Course Computer Networks IN2097

What is Congestion? Congestion: Moral of the Story. TCP Approach. Transport Layer: TCP Congestion Control & Buffer Management

Bandwidth Allocation & TCP

image 3.8 KB Figure 1.6: Example Web Page

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Fall 2012: FCM 708 Bridge Foundation I

T Computer Networks

COMP/ELEC 429/556 Introduction to Computer Networks

User Datagram Protocol (UDP) Transmission Control Protocol (TCP)

Master Course Computer Networks IN2097

Transport protocols. Transport Layer 3-1

The Transport Layer: TCP & Congestion Control

CSC358 Week 5. Adapted from slides by J.F. Kurose and K. W. Ross. All material copyright J.F Kurose and K.W. Ross, All Rights Reserved

TCP Congestion Control

TCP Congestion Control

Course on Computer Communication and Networks. Lecture 5 Chapter 3; Transport Layer, Part B

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

Overview. TCP congestion control Computer Networking. TCP modern loss recovery. TCP modeling. TCP Congestion Control AIMD

Chapter 3 Transport Layer

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

Part1: Lecture 2! TCP congestion control!

TCP conges+on control

CSE 123A Computer Networks

internet technologies and standards

Flow and Congestion Control Marcos Vieira

TCP Congestion Control

TCP Congestion Control

Page 1. Review: Internet Protocol Stack. Transport Layer Services. Design Issue EEC173B/ECS152C. Review: TCP

internet technologies and standards

Page 1. Review: Internet Protocol Stack. Transport Layer Services EEC173B/ECS152C. Review: TCP. Transport Layer: Connectionless Service

ADVANCED COMPUTER NETWORKS

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

Chapter 3 Transport Layer

ECE 333: Introduction to Communication Networks Fall 2001

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2014

NWEN 243. Networked Applications. Transport layer and application layer

CE693 Advanced Computer Networks

Communication Networks

Computer Network Fundamentals Spring Week 10 Congestion Control Andreas Terzis

Transcription:

CSC 4900 Computer Networks: TCP Professor Henry Carter Fall 2017

Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 Principles of congestion control 3.7 TCP congestion control 2

Principles of Congestion Control Informally: too many sources sending too much data too fast for network to handle different from flow control! manifestations: lost packets (buffer overfill at routers) long delays (queueing in router buffers) a top-10 problem! 3

Causes/costs of congestion: Scenario 1 two senders, two receivers output link capacity: R no retransmission one router, infinite buffers 4

Causes/costs of congestion: Scenario 2 one router, finite buffers sender retransmission of timed-out packet application-layer input = application-layer output: λin = λout transport-layer input includes retransmissions: λin λin 5

Causes/costs of congestion: Scenario 2 Idealization: perfect knowledge sender sends only when router buffers available 6

Causes/costs of congestion: Scenario 2 Idealization: known loss packets can be lost, dropped at router due to full buffers sender only resends if packet known to be lost 7

Causes/costs of congestion: Scenario 2 Realistic: duplicates packets can be lost, dropped at router due to full buffers sender times out prematurely, sending two copies, both of which are delivered 8

Causes/costs of congestion: Scenario 2 Realistic: duplicates packets can be lost, dropped at router due to full buffers sender times out prematurely, sending two copies, both of which are delivered Costs of congestion: more work (retrans) for given goodput unneeded retransmissions: link carries multiple copies of pkt decreasing goodput 9

Causes/costs of congestion: Scenario 3 Scenario: four senders, multihop paths, timeout/retransmit Q: What happens as λin and λin increase? A: as red λin increases, all arriving blue pkts at upper queue are dropped, blue throughput 0 10

Causes/costs of congestion: Scenario 3 Another cost of congestion: when packet dropped, any upstream transmission capacity used for that packet was wasted! 11

Approaches towards congestion control two broad approaches towards congestion control: Network-Assisted congestion control routers provide feedback to end systems single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM) explicit rate for sender to send at End-end congestion control no explicit feedback from network congestion inferred from endsystem observed loss, delay approach taken by TCP 12

Case study: ATM ABR congestion control ABR: available bit rate: elastic service if sender s path underloaded : sender should use available bandwidth if sender s path congested: sender throttled to minimum guaranteed rate RM (resource management) cells: sent by sender, interspersed with data cells bits in RM cell set by switches ( networkassisted ) NI bit: no increase in rate (mild congestion) CI bit: congestion indication RM cells returned to sender by receiver, with bits intact 13

Case study: ATM ABR congestion control two-byte ER (explicit rate) field in RM cell congested switch may lower ER value in cell senders send rate thus max supportable rate on path EFCI bit in data cells: set to 1 in congested switch if data cell preceding RM cell has EFCI set, receiver sets CI bit in returned RM cell 14

Chapter 3 outline 3.1 Transport-layer services 3.2 Multiplexing and demultiplexing 3.3 Connectionless transport: UDP 3.4 Principles of reliable data transfer 3.5 Connection-oriented transport: TCP segment structure reliable data transfer flow control connection management 3.6 Principles of congestion control 3.7 TCP congestion control 15

TCP Congestion Control Additive Increase, Multiplicative Decrease (AIMD) approach: sender increases transmission rate (window size), probing for usable bandwidth, until loss occurs additive increase: increase cwnd by 1 MSS every RTT until loss detected multiplicative decrease: cut cwnd in half after loss 16

TCP Congestion Control: Details sender limits transmission: cwnd is dynamic, function of perceived network congestion TCP sending rate: roughly: send cwnd bytes, wait RTT for ACKS, send more bytes 17

TCP Slow Start When connection begins, increase rate exponentially until first loss event: initially cwnd = 1 MSS double cwnd every RTT done by incrementing cwnd for every ACK received Summary: initial rate is slow but ramps up exponentially fast 18

TCP: detecting, reacting to loss loss indicated by timeout: cwnd set to 1 MSS; window then grows exponentially (as in slow start) to threshold, then grows linearly loss indicated by 3 duplicate ACKs: TCP RENO dup ACKs indicate network capable of delivering some segments cwnd is cut in half window then grows linearly TCP Tahoe always sets cwnd to 1 (timeout or 3 duplicate acks) 19

TCP: Switching from Slow Start to CA Q: when should the exponential increase switch to linear? A: when cwnd gets to 1/2 of its value before timeout Implementation variable ssthresh on loss event, ssthresh is set to 1/2 of cwnd just before loss event 20

Summary: TCP Congestion Control 21

TCP throughput avg. TCP throughput as function of window size, RTT? ignore slow start, assume always data to send W: window size (measured in bytes) where loss occurs avg. window size (# in-flight bytes) is ¾ W avg. thruput is 3/4W per RTT 22

Fine... but WHY? This saw-toothed pattern is normal TCP behavior. Is that good or bad? Are there lost opportunities? 23

TCP Futures: TCP over long, fat pipes example: 1500 byte segments, 100ms RTT, want 10 Gbps throughput requires W = 83,333 in-flight segments throughput in terms of segment loss probability, L [Mathis 1997]: to achieve 10 Gbps throughput, need a loss rate of L = 2 10-10 a very small loss rate! new versions of TCP for high-speed 24

TCP Fairness Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K 25

Why is TCP fair? two competing sessions: additive increase gives slope of 1, as throughout increases multiplicative decrease decreases throughput proportionally 26

Fairness (more) Fairness and UDP multimedia apps often do not use TCP do not want rate throttled by congestion control instead use UDP: send audio/video at constant rate, tolerate packet loss Fairness, parallel TCP connections application can open multiple parallel connections web browsers do this e.g., link of rate R with 9 existing connections: new app asks for 1 TCP, gets rate R/10 new app asks for 11 TCPs, gets > R/2 27

Chapter 3: Summary principles behind transport layer services: multiplexing, demultiplexing reliable data transfer flow control congestion control instantiation, implementation in the Internet UDP TCP Next: leaving the network edge (application, transport layers) into the network core 28

Next Time... Textbook Chapter 4.1-4.2 Remember, you need to read it BEFORE you come to class! Homework Project #2 is posted! Start now! 29