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.

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.
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.
Announcement Project 2 finally ready on Tlab Homework 2 due next Mon tonight –Will be graded and sent back before Tu. class Midterm next Th. in class –Review.
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 Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach Featuring the Internet, 2 nd edition. Jim Kurose, Keith Ross Addison-Wesley,
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.
The Future r Homework questions> r The next test is coming the 19 th (just before turkey day!) r Wednesday = review + anything not done today r Friday.
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
Transport Layer3-1 Data Communication and Networks Lecture 8 Congestion Control October 28, 2004.
Transport Layer Congestion control. Transport Layer 3-2 Approaches towards congestion control End-to-end congestion control: r no explicit feedback.
EEC-484/584 Computer Networks Lecture 14 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Transport Layer Outline
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.
Transport Layer3-1 Announcement r Homework 2 in tonight m Will be graded and sent back before Th. class r Midterm next Tu. in class m Review session next.
EEC-484/584 Computer Networks Lecture 16 Wenbing Zhao (Part of the slides are based on Drs. Kurose & Ross ’ s slides for their Computer.
Introduction 1 Lecture 14 Transport Layer (Congestion Control) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer Science.
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.
Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
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.
Chapter 3 Transport Layer
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 A.
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!
17-1 Last time □ UDP socket programming ♦ DatagramSocket, DatagramPacket □ TCP ♦ Sequence numbers, ACKs ♦ RTT, DevRTT, timeout calculations ♦ Reliable.
Transport Layer3-1 Announcements r Collect homework r New homework: m Ch3#3,4,7,10,12,16,18-20,25,26,31,33,37 m Due Wed Sep 24 r Reminder: m Project #1.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
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 Layer 3- Midterm score distribution. Transport Layer 3- TCP congestion control: additive increase, multiplicative decrease Approach: increase.
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.
Advance Computer Networks Lecture#09 & 10 Instructor: Engr. Muhammad Mateen Yaqoob.
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.
Transport Layer3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, April 2009.
-1- Georgia State UniversitySensorweb Research Laboratory CSC4220/6220 Computer Networks Dr. WenZhan Song Professor, Computer Science.
@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.
Transport Layer session 1 TELE3118: Network Technologies Week 11: Transport Layer TCP Some slides have been taken from: r Computer Networking:
@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.
CS450 – Introduction to Networking Lecture 19 – Congestion Control (2)
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
Chapter 3 outline 3.1 Transport-layer services
Chapter 3-3 TCP Congestion CTL *
Flow and Congestion Control
Chapter 6 TCP Congestion Control
October 1st, 2013 CS-1652 Jack Lange University of Pittsburgh
TCP Overview.
CS-1652 Congestion Control Jack Lange University of Pittsburgh
Transport Layer: Congestion Control
Chapter 3 outline 3.1 Transport-layer services
TCP flow and congestion control
Chapter 3 Transport Layer
October 4th, 2011 CS-1652 Jack Lange University of Pittsburgh
Presentation transcript:

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 of reliable data transfer r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management r 3.6 Principles of congestion control r 3.7 TCP congestion control

Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for network to handle” r different from flow control! r manifestations: m lost packets (buffer overflow at routers) m long delays (queueing in router buffers) r a top-10 problem!

Transport Layer3-3 Close look at the congested node(1) r Congestion in a network will occur if the load on the network(the number of packets sent to the network) is greater than the capacity of the network(the number of packets the network can process). r A router(switch) have buffers(queues) that hold packets before processing them.

Transport Layer3-4 Close look at the congested node(2) r If packets arrive faster than being processed at a router, they will be held in the buffers. So there will be a queuing delay while they stay in the buffer. r If packets arrive too much faster than a router can process, then the buffer will be overflowed, consequently causing the loss of packets. r Such state of a network is said to be in a congestion.

Transport Layer3-5 Close look at the congested node(3) r The packets that are lost at a router can not reach the receiver. So the sender cannot receive any ACKs for the lost packets. r Then the sender retransmits the packets and it aggregates the situation in the network.

Transport Layer3-6 Congestion Control r There are two approaches to the congestion control. m Proactive(preventive) congestion control m Reactive congestion control r proactive congestion control m It keeps the network load(input to a network) below the network capacity so that it prevents the network from being in a state of congestion. m This can be done by admission control and traffic policy control.

Transport Layer3-7 Reactive Congestion Control r Reactive congestion control m There is no strict admission control. But when a network is in an early stage of congestion, network load(input to a network) should be decreased enough for a network not getting into the serious congested state. m So generally there are two steps in the reactive congestion control. Congestion detection and notification Congestion avoidance: input-rate control

Transport Layer3-8 Who acts the congestion control End-end congestion control: r no explicit feedback from network r congestion inferred from end-system observed loss, delay r approach taken by TCP Network-assisted congestion control: r routers provide feedback to end systems m single bit indicating congestion (SNA, DECbit, TCP/IP ECN, ATM)

Transport Layer3-9 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 of reliable data transfer r 3.5 Connection-oriented transport: TCP m segment structure m reliable data transfer m flow control m connection management r 3.6 Principles of congestion control r 3.7 TCP congestion control

Transport Layer3-10 TCP Congestion Control r Congestion detection and notification m Timeout: TCP assumes that the cause of lost segments is due to congestion in the network. m If the sender does not receive an ACK until the retransmission timer timeouts, it assumes that congestion occurs. (implicit notification) m Another one is when the sender receives 3 dup ACKs.  TCP sender reduces rate ( CongWin ) when it detect congestion. r TCP Congestion control schemes m Slow Start m Congestion avoidance: conservative after timeout events m Fast Retransmit m Fast Recovery

Transport Layer3-11 Control parameters r Awnd (advertised window by receiver) m At the initial setup, the receiver informs the receiver of its maximum buffer size, which is the initial value of awnd. m Every time the receiver transmits an ACK(or a segment), it advertises its current available buffer size. r Cwnd (congestion window) m Determine how many segments can be sent without receiving ACKs. rate = CongWin RTT Bytes/sec

Transport Layer3-12 Slow Start r slow Start initialize: cwnd = 1 (one maximum segment size); For each segment that is acknowleged cwnd = cwnd + 1 until min(cwnd, awnd) /* exponential growth */

Transport Layer3-13 Slow Start (more) r When connection begins, increase rate exponentially until first loss event:  double CongWin every RTT  done by incrementing CongWin for every ACK received r Summary: initial rate is slow but ramps up exponentially fast Host A one segment RTT Host B time two segments four segments

Transport Layer3-14 Congestion Avoidance r When no ACK arrives until timeout, TCP enters “the congestion avoidance.” r Congestion Avoidance Algorithm If (segment timeout) 1. Set threshold = cwnd/2 2. Set cwnd = 1 and restart “slow-start” until (cwnd = threshold) 3. If (cwnd  threshold) cwnd = cwnd + 1 every roundtrip time

Transport Layer3-15 CWND=1 A B CWND=2 CWND=3 CWND=4 CWND=5 CWND=6 CWND=7 CWND=8 CWND=9 CWND=10 CWND=11 CWND=12 CWND=13 CWND=14 CWND=15 CWND=16 Congestion avoidance CWND=1 A B CWND=2 CWND=3 CWND=4 CWND=5 CWND=6 CWND=7 CWND=8 CWND=9 CWND=10 (a) Slow start, ending with a time out (b) Slow start followed by congestion avoidance

Transport Layer3-16 cwnd Round-trip times Time out occurs Threshold Slow Start and Congestion Avoidance

Transport Layer3-17 TCP AIMD (additive-increase multiplicative-decrease) multiplicative decrease: cut CongWin in half after loss event additive increase: increase CongWin by 1 MSS every RTT in the absence of loss events: probing Long-lived TCP connection

Transport Layer3-18 Fast Retransmission r Background m TCP is required to generate an immediate acknowledgement (a duplicate ACK) when an out-of-order segment is received. m We don’t know whether a duplicate ACK is caused by a lost segment or just a reordering of segments. m If three or more duplicate ACKs are received in a row, it is a strong indication that a segment has been lost. Three or more duplicate ACKs implies that there is a flow of segments over the network. m Therefore the Congestion Avoidance is too conservative approach to this case. r Fast retransmission m If 4 consecutive ACKs are received before timeout, then TCP do not wait for the timeout and retransmit the segment immediately.

Transport Layer3-19 AB SN=1001 SN=1201(lost) SN=1401 SN=1601 SN=1801 SN=2001 SN=2201 SN=2401 SN=2601 SN=1201(retransmission) SN=2801 SN=3001 SN=3201 A=801 A=1001 A=1201 A=2801 A=2601 Elapsed time less than current RTO Fast Retransmit

Transport Layer3-20 Fast Recovery r After 3 dup ACKs:  CongWin is cut in half m window then grows linearly r But after timeout event:  CongWin instead set to 1 MSS; m window then grows exponentially m to a threshold, then grows linearly 3 dup ACKs indicates network capable of delivering some segments timeout before 3 dup ACKs is “more alarming” Philosophy:

Transport Layer3-21 congestion avoidance and fast recovery

Transport Layer3-22 Fast Retransmission and Fast Recovery send time (sec) seq # & cwnd sequence number

Transport Layer3-23 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window size when loss occurs. r When window is W, throughput is W/RTT r Just after loss, window drops to W/2, throughput to W/2RTT. r Average throughout:.75 W/RTT

Transport Layer3-24 TCP Futures r Example: 1500 byte segments, 100ms RTT, want 10 Gbps throughput r Requires window size W = 83,333 in-flight segments r Throughput in terms of loss rate:  ➜ L = 2· Wow r New versions of TCP for high-speed needed!

Transport Layer3-25 Fairness goal: if K TCP sessions share same bottleneck link of bandwidth R, each should have average rate of R/K TCP connection 1 bottleneck router capacity R TCP connection 2 TCP Fairness

Transport Layer3-26 Why is TCP fair? Two competing sessions: r Additive increase gives slope of 1, as throughout increases r multiplicative decrease decreases throughput proportionally R R equal bandwidth share Connection 1 throughput Connection 2 throughput congestion avoidance: additive increase loss: decrease window by factor of 2 congestion avoidance: additive increase loss: decrease window by factor of 2

Transport Layer3-27 Fairness (more) Fairness and UDP r Multimedia apps often do not use TCP m do not want rate throttled by congestion control r Instead use UDP: m pump audio/video at constant rate, tolerate packet loss r Research area: TCP friendly Fairness and parallel TCP connections r nothing prevents app from opening parallel cnctions between 2 hosts. r Web browsers do this r Example: link of rate R supporting 9 cnctions; m new app asks for 1 TCP, gets rate R/10 m new app asks for 11 TCPs, gets R/2 !