Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Spring 20080907422 Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion."— Presentation transcript:

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

2 Spring 20080907422 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

3 Spring 20080907422 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 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

5 Spring 20080907422 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 6 Framework Connectionless flows –a flow: a sequence of packets sent between source/destination pair & following the same route through the network

7 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

8 Spring 20080907422 Computer Networks8 Taxonomy: Characterization of Resource Allocation Mechanisms

9 Spring 20080907422 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

10 Spring 20080907422 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

11 Spring 20080907422 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

12 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

13 Spring 20080907422 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

14 Spring 20080907422 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

15 Spring 20080907422 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

16 Spring 20080907422 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

17 Spring 20080907422 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)


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

Similar presentations


Ads by Google