Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers.

Slides:



Advertisements
Similar presentations
Congestion Control and Fairness Models Nick Feamster CS 4251 Computer Networking II Spring 2008.
Advertisements

1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
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.
TELE202 Lecture 8 Congestion control 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »X.25 »Source: chapter 10 ¥This Lecture »Congestion control »Source:
01. Apr INF-3190: Congestion Control Congestion Control Foreleser: Carsten Griwodz
CSE331: Introduction to Networks and Security Lecture 13 Fall 2002.
ECE 4450:427/527 - Computer Networks Spring 2015
Congestion Control Created by M Bateman, A Ruddle & C Allison As part of the TCP View project.
CS 408 Computer Networks Congestion Control (from Chapter 05)
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.
Fall 2006CS 5611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Quality of Service.
1 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Transport Layer 3-1 Outline r TCP m Congestion control m Flow control.
Congestion Dr. Abdulaziz Almulhem. Almulhem©20012 Congestion It occurs when network resources are becoming scarce High demand Over utilized Offered load.
Networks: Congestion Control1 Congestion Control.
Computer Networks: TCP Congestion Control 1 TCP Congestion Control Lecture material taken from “Computer Networks A Systems Approach”, Third Ed.,Peterson.
Analysis and Simulation of a Fair Queuing Algorithm
Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Congestion Control and Resource Allocation
Spring 2002CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
Spring 2003CS 4611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion.
1 TCP Transport Control Protocol Reliable In-order delivery Flow control Responds to congestion “Nice” Protocol.
Computer Networks : TCP Congestion Control1 TCP Congestion Control.
Chapter 6 Congestion Control and Resource Allocation
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Networks : TCP Congestion Control1 TCP Congestion Control.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
Networks : TCP Congestion Control1 TCP Congestion Control Presented by Bob Kinicki.
1 #6 in Mid-Term  Most answered:  many users thru the same bottleneck -> increased queueing delay -> increased e2e latency  Possible reasons behind.
CIS679: Scheduling, Resource Configuration and Admission Control r Review of Last lecture r Scheduling r Resource configuration r Admission control.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
CONGESTION CONTROL and RESOURCE ALLOCATION. Definition Resource Allocation : Process by which network elements try to meet the competing demands that.
Advance Computer Networking L-5 TCP & Routers Acknowledgments: Lecture slides are from the graduate level Computer Networks course thought by Srinivasan.
Link Scheduling & Queuing COS 461: Computer Networks
Fundamentals of Computer Networks ECE 478/578 Lecture #22: Resource Allocation and Congestion Control Instructor: Loukas Lazos Dept of Electrical and Computer.
1 Congestion Control Computer Networks. 2 Where are we?
9.7 Other Congestion Related Issues Outline Queuing Discipline Avoiding Congestion.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Spring 2006CS 3321 Congestion Control and Resource Allocation Outline: Overview Queuing Disciplines TCP Congestion Control Combined Techniques.
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.
Spring 2009CSE Congestion Control Outline Resource Allocation Queuing TCP Congestion Control.
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.
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Congestion Control 0.
Providing QoS in IP Networks
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Transmission Control Protocol (TCP) TCP Flow Control and Congestion Control CS 60008: Internet Architecture and Protocols Department of CSE, IIT Kharagpur.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
Topics discussed in this section:
Congestion Control Outline Queuing Discipline Reacting to Congestion
Congestion Control Outline Queuing Discipline Reacting to Congestion
Congestion Control Outline Queuing Discipline Reacting to Congestion
Chapter 6 Queuing Disciplines
Congestion Control and Resource Allocation
Queuing and Queue Management
CSS432 Congestion Control Textbook Ch6.1 – 6.4
ECE 4450:427/527 - Computer Networks Spring 2017
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.
Other Methods of Dealing with Congestion
The University of Adelaide, School of Computer Science
CSS432 Congestion Control Textbook Ch6.1 – 6.4
CSCD 433/533 Advanced Networks
Network Simulation NET441
Congestion Control Reasons:
TCP Congestion Control
Congestion Control and Resource Allocation
Presentation transcript:

Congestion Control Reasons: - too many packets in the network and not enough buffer space S = rate at which packets are generated R = rate at which receivers take packets S – R == access packet rate

Some nodes are slow - links used by too many sources - example: two high speed links feeding into a low speed link

Flow control vs congestion control Flow control may be required even if congestion is not present and vice versa

Classification Router-centric and host-centric Router-centric - controlled by the routers (inside the network) - each router decides which packets to forward and which to drop to ensure the service model

Host centric: - control is done at the end points - source adjusts the rate and the receiver provides feedback

Reservation-based vs feedback based - reservation based: * each source requests resources (bandwidth, buffers) when flow is established. * flow is rejected if not enough resources are available

Feedback based: - no resources are reserved - discard packets if buffers are full -explicit or implicit feedback to adjust the sending rate

Window-based vs Rate based Both mechanism control the speed of the sender;

Although any combination of the above strategies are possible, only two are popular best effort model: feedback, host-centric and window based QoS model: reservation based, router centric and rate based

Evaluation of congestion control Throughput Delay must also be taken into account: - all links are totally packed; high-throughput but long delays Throughput/delay * fairness

Queuing Disciplines Each router must maintain queues for packets to be transmitted Packet forwarding rule Packet dropping rule

FIFO disciplines One queue at each router The first packet to arrive is the first to be transmitted If the queue is full, discard the packet Most IP routers are FIFO

Priority queues One queue for each priority level Transmit from highest priority queue first Packet dropping policy: drop low priority packets

Fair queuing FIFO does not distinguish packets of different flows Problem: all responsibility is pushed to sources (no network control) Some sources could flood the network

Fair queuing Separate queue for each flow Router serves the queues in round-robin fashion When a queue is full, its packets are discarded according to some discipline In this scheme, a source cannot hog the network Enforces fairness but no priority

Simple fair queuing is not entirely fair as packets may be of different lengths Solution: bit-by-bit round robin

Fair queuing Use clocks for each flow Assume clock ticks for each bit transmitted P i = length of packet numbered i S i = time at which packet i transmission is started F i = finish time for packet i A i = arrival time for packet i F i = S i + P i S i = max(F i-1, A i ), F i = max(F i-1, A i ) + P i

All flows: treat F i as timestamps Transmit the packet with the lowest timestamp

Variation: weighted fair queuing Weight is assigned to each flow Weight specifies how many bits to transmit each time the router services that queue Source must communicate the weight information: QoS

Feedback based control If congestion is detected then send a control packet to source Problem: too many control packets Congestion bit in message: - this bit is sent to 1 if congestion is detected and a choke packet is sent - subsequent routers do not send choke packet if congestion bit is already set.

Implicit feedback Randomly drop packets Increased timeout

TCP congestion control Each source determines how much capacity is available for a given flow in the networks. Acks are used to reach an operating point: self-clocking

Additive increase/multiplicative decrease Window = min(Congestion Window, advertised window) Linear increase Multiplicative decrease

Slow start Linear additive increase takes too long

Fast retransmit Timeouts may not be accurate; results in slow response Duplicate acks Fast recovery: reduce congestion window