End-end congestion control: window-based congestion control Sending transport entity maintains congestion window over sequence number space  can send.

Slides:



Advertisements
Similar presentations
Introduction 1 Lecture 13 Transport Layer (Transmission Control Protocol) slides are modified from J. Kurose & K. Ross University of Nevada – Reno Computer.
Advertisements

1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
EE 4272Spring, 2003 Chapter 12 Congestion in Data Networks Effect of Congestion Control  Ideal Performance  Practical Performance Congestion Control.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
24-1 Chapter 24. Congestion Control and Quality of Service (part 1) 23.1 Data Traffic 23.2 Congestion 23.3 Congestion Control 23.4 Two Examples.
Prentice HallHigh Performance TCP/IP Networking, Hassan-Jain Chapter 2 TCP/IP Fundamentals.
Transmission Control Protocol (TCP)
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.
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.
TDC365 Spring 2001John Kristoff - DePaul University1 Internetworking Technologies Transmission Control Protocol (TCP)
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
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,
1 Congestion Control. Transport Layer3-2 Principles of Congestion Control Congestion: r informally: “too many sources sending too much data too fast for.
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 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
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.
Semester Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
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.
Data Transfer Case Study: TCP  Go-back N ARQ  32-bit sequence # indicates byte number in stream  transfers a byte stream, not fixed size user blocks.
QoS Guarantees  introduction  call admission  traffic specification  link-level scheduling  call setup protocol  required reading: text, ,
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 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 March 2012 A.
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.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Transport Layer 3-1 Chapter 3 Transport Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March
CSC 581 Communication Networks II Chapter 7c: Congestion Control Dr. Cheer-Sun Yang.
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 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.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
Data Transfer Case Study: TCP  Go-back N ARQ  32-bit sequence # indicates byte number in stream  transfers a byte stream, not fixed size user blocks.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
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.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 3: Transport.
@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:
CSEN 404 Transport Layer II Amr El Mougy Lamia AlBadrawy.
11 CS716 Advanced Computer Networks By Dr. Amir Qayyum.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
The Network Layer Role Services Main Functions Standard Functions
DMET 602: Networks and Media Lab
Topics discussed in this section:
Approaches towards congestion control
Chapter 3 outline 3.1 transport-layer services
Introduction to Networks
End-end congestion control: window-based congestion control
Chapter 6: Transport Layer (Part I)
CONGESTION CONTROL.
QoS Guarantees introduction call admission traffic specification
Congestion Control (from Chapter 05)
October 1st, 2013 CS-1652 Jack Lange University of Pittsburgh
Congestion Control (from Chapter 05)
CS-1652 Congestion Control Jack Lange University of Pittsburgh
Transport Layer: Congestion Control
TCP flow and congestion control
Congestion Control (from Chapter 05)
October 4th, 2011 CS-1652 Jack Lange University of Pittsburgh
Presentation transcript:

End-end congestion control: window-based congestion control Sending transport entity maintains congestion window over sequence number space  can send a packet if packet seq. # in window  distinct from flow control window On timeout  loss assumed  decrease congestion window size  increase timeout value (in case packet was delayed) ACK received: increase window size  everything is OK, so allow even larger window Copyright All Rights Reserved, J. Kurose, D. Towsley.

End-end congestion control: TCP Uses window-based congestion control Two variables used  cwnd: congestion window size  ssthresh: threshold for slowing down rate of increase TCP slow start + congestion avoidance:  assume 4K segment size  TCP window size = min(flow control window size, congestion control window size)

initialize: cwnd=1 ssthresh=16 ssthresh=16 loop: if (ACK received and cwnd <= ssthresh) cwnd = cwnd+1 cwnd = cwnd+1 else if (ACK received and cwnd > ssthresh) else if (ACK received and cwnd > ssthresh) cwnd = cwnd + 1/cwnd cwnd = cwnd + 1/cwnd else if packet timeout else if packet timeout ssthresh = cwnd/2 /* new thresh half ssthresh = cwnd/2 /* new thresh half current win */ current win */ cwnd = 1 /* new window size back cwnd = 1 /* new window size back to 1 */ to 1 */forever

Network-indicated Congestion Control Window-based control strictly end-end  network layer not involved, but congestion occurs in network layer! One network-indicated approach: network "marks" packets passing through congested node  receiver sees congestion indication mark and tells sender to slow down  congestion-experienced flag in ISO CLNP, CWI (change window indicator) in IBM SNA virtual route pacing

Network-indicated Congestion Control (cont) Second network-indicated approach: upon detecting congestion, congested router sends explicit message back to traffic sources to slow them down  text: choke packets  source quench in ICMP (Internet control message protocol)  VR-RWI bit in SNA VR pacing

Network Indicated Congestion Control: Difficulties Receiver-initiated control may have long feedback time in high-speed networks  sender may have 1000’s sent (but unACKed) packets before congestion indicator receiver  pipe filled already Both approaches require coupling of network and transport layer  OK for homogeneous networks  difficult in internetworked environment, with different network layers

Rate-Based congestion control  congestion control particularly hard in high-speed networks  e.g.,: 1 Gbit. sec link, 1Kbyte packet takes 8  sec to transmit  thousands of packets "in the wire" propagating cross country  when congestion occurs, too late to react  avoid congestion by regulating flow of packets into network  smoother flows will avoid bursts of packets from different senders arriving at same node and causing congestion  smooth out packet bursts at network edge on per session basis before they enter network.

Rate Based Congestion Control: Leaky Bucket Goal: regulate rate at which sender can inject packets into network

Rate Based Congestion Control: Leaky Bucket Goal: regulate rate at which sender can inject packets into network  a packet must match up with (and remove ) a token before entering network  tokens added to bucket at rate r: controls long term rate of packet entry into network  at most b tokens accumulate in bucket. Bucket size b control "burstiness" of arrivals  maximum number of packets entering network in t time units is b+rt  XTP uses rate and burst parameters analagous to r,b

Congestion control by Buffer Preallocation  lack of buffering in network is fundamental cause of congestion  avoid congestion by allocating buffers to an end-end connection  if insufficient buffers for a new connection, block it (as in circuit switching)  buffers dedicated to connection, link still shared  protects behaving connections from misbehaving one  data link layer involved in transport layer congestion control

Congestion Control in ATM ABR Service ATM ABR (available Bit Rate) service:  allows sender to send at rate up to a peak cell rate (PCR)  guarantees a rate of at least minimum cell rate (MCR) when needed  sender rate may fluctuate between 0 and PCR, depending on sender need, network congestion  provides max-min fairness among sessions Congestion Control in ABR service:  combines aspects of rate-based and network- indicated congestion control

ATM ABR Congestion Control: EFCI EFCI: explicit forward congestion indication  based on negative feedback ("bad things are happening") to sender  congested node (queue length > threshold) marks EFCI bit in sender-to-receiver cell  receiver sees EFCI set and notifies sender  sender decreases cell rate:  ACR: allowed cell rate ACR = max(ACR * multiplicative decrease, MCR) ACR = max(ACR * multiplicative decrease, MCR)  sender increases cell rate if no negative feedback in an update interval: ACR = min(ACR+ additive_increase, PCR) ACR = min(ACR+ additive_increase, PCR)

ATM ABR Congestion Control: explicit rates Sender declares every N-th cell as "RM" cell  RM: resource management  records its PCR, allowed_call_rate in RM cell  ER field in RM cell: used by switches to set source rate Switch on sender-to-receiver path: if congested  determine new rate for that source (consider PCR, ACR)  set ER field to indicate new rate only if new rate less than current ER value

Connection Management: Connection Paradigms Connection-oriented  explicitly setup/tear down connections  setup up session context  initial sequence number, flow control window size  exchange data within context of connection  e.g., TCP, ISO TP4

Connection Paradigms (cont) Connectionless service  pure datagram  one-time unreliable send  e.g., UDP (RFC 768), ISO CLTP (ISO 8072)  transaction oriented  single request from sender, single reply from receiver  VMTP protocol

Connection Management: Fundamental Issues Source of problems:  network can delay, reorder lose packets  timeout/retransmit introduces duplicates of data, ACKs, connect, close packets On packet arrival: is it real or is it memorex?  new connection request/release from "real live client" or an old one  transport protocols must create/maintain/destroy enough "state” information to answer the memorex question  explicit connection establishment/teardown with connection- oriented service

Connection Management: Two basic approaches for setting up a connection  two way handshake with wristwatch  three way handshake