Spring 20080907422 Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.

Slides:



Advertisements
Similar presentations
Computer Networking Lecture 20 – Queue Management and QoS.
Advertisements

1 CNPA B Nasser S. Abouzakhar Queuing Disciplines Week 8 – Lecture 2 16 th November, 2009.
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.
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.
CS640: Introduction to Computer Networks Mozafar Bag-Mohammadi Lecture 3 TCP Congestion Control.
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
CS 408 Computer Networks Congestion Control (from Chapter 05)
CS 4700 / CS 5700 Network Fundamentals Lecture 12: Router-Aided Congestion Control (Drop it like it’s hot) Revised 3/18/13.
CSS432: Congestion Control1 CSS432 Congestion Control Textbook Ch6.1 – 6.4 Professor: Munehiro Fukuda.
Fall 2006CS 5611 Congestion Control Outline Queuing Discipline Reacting to Congestion Avoiding Congestion Quality of Service.
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.
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.
Chapter 6 Congestion Control and Resource Allocation
ACN: Congestion Control1 Congestion Control and Resource Allocation.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
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.
Fundamentals of Computer Networks ECE 478/578 Lecture #22: Resource Allocation and Congestion Control Instructor: Loukas Lazos Dept of Electrical and Computer.
CSS432 Congestion Control Textbook Ch6.1 – 6.4
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.
Spring 2009CSE Congestion Control Outline Resource Allocation Queuing TCP Congestion Control.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429 Introduction to Computer Networks Lecture 18: Quality of Service Slides used with.
T. S. Eugene Ngeugeneng at cs.rice.edu Rice University1 COMP/ELEC 429/556 Introduction to Computer Networks Weighted Fair Queuing Some slides used with.
SMUCSE 5344/73441 Congestion Control Class 18 Resource Allocation Considerations.
Random Early Detection (RED) Router notifies source before congestion happens - just drop the packet (TCP will timeout and adjust its window) - could make.
1 Fair Queuing Hamed Khanmirza Principles of Network University of Tehran.
Queue Scheduling Disciplines
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.
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.
1 COM Chapter 6 Congestion Control and Resource Allocation.
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.
The University of Adelaide, School of Computer Science
CSS432 Congestion Control Textbook Ch6.1 – 6.4
Congestion Control (from Chapter 05)
CSCD 433/533 Advanced Networks
Computer Science Division
Congestion Control (from Chapter 05)
Network Simulation NET441
Congestion Control (from Chapter 05)
COMP/ELEC 429/556 Fall 2017 Homework #2
Congestion Control Reasons:
TCP Congestion Control
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control and Resource Allocation
Presentation transcript:

Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion

Spring Computer Networks2 Terminology Flow control –keeping a fast sender from overrunning a slow receiver Congestion Control –keeping (forbidding) a set of senders from sending too much data into the network because of lack of resources at some point

Spring Computer Networks3 Terminology (continued) Network Resources link bandwidth buffer space in routers Resource Allocation –the process (mechanism) by which network elements try to meet competing demands that applications have for network resources

4 Issues Two approaches to deal with congestion –pre-allocate resources so as to avoid congestion –control congestion if (and when) it occurs Two points of implementation –hosts at the edges of the network (transport protocol) –routers inside the network (queuing discipline) A situation leading to congestion

Spring Computer Networks5 Issues (continued) Underlying service model –best-effort (assume for now): each packet is treated in exactly the same way A situation leading to congestion

6 Framework Connectionless flows –a flow: a sequence of packets sent between source/destination pair & following the same route through the network

7 Framework (continued) maintain soft state at the routers –information that can be used to make resource allocation decisions about the packets that belong to the flow connectionless network maintains no state at the routers a connection-oriented network that maintains hard state at the routers soft state need not always be explicitly created and removed by signaling like “hard” state

Spring Computer Networks8 Taxonomy: Characterization of Resource Allocation Mechanisms

Spring Computer Networks9 Taxonomy : Router-Centric versus Host-Centric router-centric design –each router decides which packets are dropped when packets are forwarded –each router informs hosts how many packets they are allowed to send host-centric design –end hosts observe network conditions and adjust their behavior accordingly

Spring Computer Networks10 Taxonomy: Reservation-Based versus Feedback-Based reservation-based –end host asks the network for a certain amount of capacity at the time a flow is established feedback-based –end hosts begin sending data without first reserving any capacity and then adjust their sending rate according to the feedback they receive

Spring Computer Networks11 Taxonomy : Window-Based versus Rate-Based A way is needed to express, to the sender, how much data it is allowed to transmit –Window-based window advertisement used within network to limit & reserve buffer space –Rate-based control a sender’s behavior using a rate  how many bits per second the network is able to absorb

Evaluation of the effectiveness of Resource Allocation Mechanisms –Fairness: a fair share of bandwidth does not always mean an equal share of bandwidth. A “Fairness Index” is defined (p. 466) –Power (ratio of throughput to delay) ideally, the resource allocation mechanism would operate at the peak To the left of the peak the mechanism is not allowing enough packets to be sent to keep the links busy To the right, so many packets are being allowed into the network that increases in delay due to queuing are starting to dominate any small gains in throughput

Spring Computer Networks13 Queuing Discipline: FIFO First-In-First-Out (FIFO) –first packet that arrives at a router is the first packet to be transmitted (FIFO with tail drop) –most widely used –pushes responsibility for congestion control & resource allocation to edges of network applications like Internet telephony do not to use TCP and hence, bypass its end-to-end congestion-control mechanism  flood the Internet’s routers with its own packets, thereby causing other applications’ packets to be discarded

Spring Computer Networks14 Queuing Discipline: Fair Queuing (FQ) Fair Queuing (FQ) –explicitly segregates traffic based on flows –ensures no flow captures more than its share of capacity

Spring Computer Networks15 Queuing Discipline: Weighted Fair Queuing (WFQ) Packets being processed at a router are not necessarily the same length –bit-by-bit round-robin is needed A weight is assigned to each flow (queue) which specifies how many bits to transmit each time router services that queue Example: –q1 weight = 2; q2 weight = 1; q3 weight = 3 q1 flow gets 1/3 (2/6) of bandwidth; q2 flow gets 1/6 of bandwidth; q3 gets 1/2 (3/6) of bandwidth

Spring Computer Networks16 FQ Algorithm Suppose clock ticks each time “a bit” is transmitted –Let P i denote the length of packet i –Let S i denote the time when transmission of packet i starts –Let F i denote the time when transmission of packet i finishes Then, F i = S i + P i Consider a single flow, when does router start transmitting packet i ? –if packet i arrived before router is finished transmitting packet i-1, then router starts transmitting packet i immediately after last bit of i - 1 (F i-1 ) –if no current packets, then start transmitting packet i when it arrives (call this A i ) Thus: F i = MAX (F i - 1, A i ) + P i

Spring Computer Networks17 FQ Algorithm (cont) For multiple flows –calculate F i for each packet that arrives on each flow –treat all F i ’s as timestamps –next packet to transmit is one with lowest timestamp Not perfect: can’t preempt current packet –does not exactly simulate bit-by-bit round-robin Example Flow 1Flow 2 (a)(b) Output F = 8 F = 10 F = 5 F = 10 F = 2 Flow 1 (arriving) Flow 2 (transmitting)