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.

Slides:



Advertisements
Similar presentations
CprE 458/558: Real-Time Systems
Advertisements

EE 4272Spring, 2003 Chapter 12 Congestion in Data Networks Effect of Congestion Control  Ideal Performance  Practical Performance Congestion Control.
Network layer -- May Network layer Computer Networks.
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
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Congestion Control Algorithms
The Network Layer Functions: Congestion Control
CS 456: Computer Networks: Congestion Control/QoS Prof. Varsha Apte Slides based on William Stallings+Tanenbaum.
Review: Routing algorithms Distance Vector algorithm. –What information is maintained in each router? –How to distribute the global network information?
William Stallings Data and Computer Communications 7 th Edition Chapter 13 Congestion in Data Networks.
Congestion Control Tanenbaum 5.3 Tanenbaum 6.5. Congestion Control Network Layer – Congestion control point to point Transport Layer – Congestion control.
Congestion Control Algorithms
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.
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.
Traffic Shaping Why traffic shaping? Isochronous shaping
Quality of Service Requirements
ATM : CONGESTION CONTROL Group 7 29 DECEMBER 2004.
1.  Congestion Control Congestion Control  Factors that Cause Congestion Factors that Cause Congestion  Congestion Control vs Flow Control Congestion.
Jaringan Komputer Lanjut Traffic Management Aurelio Rahmadian.
Network Layer Chapter 5 Design Issues Routing Algorithms
CS 408 Computer Networks Congestion Control (from Chapter 05)
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies A Little More on Chapter 7 And Start Chapter 8 TCP/IP.
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.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
1 Why traffic shaping? yIn packet networks that implement resource sharing xadmission control and scheduling alone are insufficient users may attempt to.
ACN: RED paper1 Random Early Detection Gateways for Congestion Avoidance Sally Floyd and Van Jacobson, IEEE Transactions on Networking, Vol.1, No. 4, (Aug.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
Chapter 12 Transmission Control Protocol (TCP)
1 Congestion Control Computer Networks. 2 Where are we?
CSC 581 Communication Networks II Chapter 7c: Congestion Control Dr. Cheer-Sun Yang.
Queueing and Active Queue Management Aditya Akella 02/26/2007.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
CONGESTION CONTROL.
Lecture Network layer -- May Congestion control Algorithms.
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.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Providing QoS in IP Networks
1 Lecture 15 Internet resource allocation and QoS Resource Reservation Protocol Integrated Services Differentiated Services.
Chapter 10 Congestion Control in Data Networks and Internets 1 Chapter 10 Congestion Control in Data Networks and Internets.
The Network Layer Congestion Control Algorithms & Quality-of-Service Chapter 5.
Tel Hai Academic College Department of Computer Science Prof. Reuven Aviv Markov Models for data flow In Computer Networks Resource: Fayez Gebali, Analysis.
UNIT 4.  Functions of network devices Separating (connecting) networks or expanding network e.g. repeaters, hubs, bridges, routers, switches, gateways.
The Network Layer Role Services Main Functions Standard Functions
Congestion Control in Data Networks and Internets
Topics discussed in this section:
Buffer Management in a Switch
Congestion Control Evaluation in Dynamic Network
Chapter 5 The Network Layer.
CONGESTION CONTROL.
CONGESTION CONTROL, QUALITY OF SERVICE, & INTERNETWORKING
William Stallings Data and Computer Communications
Border Gateway Protocol
Advanced Computer Networks
Congestion Control (from Chapter 05)
PRESENTATION COMPUTER NETWORKS
Congestion Control, Quality of Service, & Internetworking
Congestion Control (from Chapter 05)
Figure Areas in an autonomous system
Chapter 11. Frame Relay Background Frame Relay Protocol Architecture
Congestion Control (from Chapter 05)
Congestion Control Reasons:
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
The Network Layer Congestion Control Algorithms & Quality-of-Service
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Congestion Control (from Chapter 05)
Presentation transcript:

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 routers are receiving packets faster than they can forward them, one of two things must happen: –The subnet must prevent additional packets from entering the congested region until those already present can be processed. –The congested routers can discard queued packets to make room for those that are arriving.

3 Factors that Cause Congestion Packet arrival rate exceeds the outgoing link capacity. Insufficient memory to store arriving packets Bursty traffic Slow processor

4 Congestion Control vs Flow Control Congestion control is a global issue – involves every router and host within the subnet Flow control – scope is point-to-point; involves just sender and receiver.

5 Congestion Control, cont. Congestion Control is concerned with efficiently using a network at high load. Several techniques can be employed. These include: –Warning bit –Choke packets –Load shedding –Random early discard –Traffic shaping The first 3 deal with congestion detection and recovery. The last 2 deal with congestion avoidance.

6 Warning Bit A special bit in the packet header is set by the router to warn the source when congestion is detected. The bit is copied and piggy-backed on the ACK and sent to the sender. The sender monitors the number of ACK packets it receives with the warning bit set and adjusts its transmission rate accordingly.

7 Choke Packets A more direct way of telling the source to slow down. A choke packet is a control packet generated at a congested node and transmitted to restrict traffic flow. The source, on receiving the choke packet must reduce its transmission rate by a certain percentage. An example of a choke packet is the ICMP Source Quench Packet.

8 Hop-by-Hop Choke Packets Over long distances or at high speeds choke packets are not very effective. A more efficient method is to send to choke packets hop-by-hop. This requires each hop to reduce its transmission even before the choke packet arrive at the source.

9 Load Shedding When buffers become full, routers simply discard packets. Which packet is chosen to be the victim depends on the application and on the error strategy used in the data link layer. For a file transfer, for, e.g. cannot discard older packets since this will cause a gap in the received data. For real-time voice or video it is probably better to throw away old data and keep new packets. Get the application to mark packets with discard priority.

10 Random Early Discard (RED) This is a proactive approach in which the router discards one or more packets before the buffer becomes completely full. Each time a packet arrives, the RED algorithm computes the average queue length, avg. If avg is lower than some lower threshold, congestion is assumed to be minimal or non-existent and the packet is queued.

11 RED, cont. If avg is greater than some upper threshold, congestion is assumed to be serious and the packet is discarded. If avg is between the two thresholds, this might indicate the onset of congestion. The probability of congestion is then calculated.

12 Traffic Shaping Another method of congestion control is to “shape” the traffic before it enters the network. Traffic shaping controls the rate at which packets are sent (not just how many). Used in ATM and Integrated Services networks. At connection set-up time, the sender and carrier negotiate a traffic pattern (shape). Two traffic shaping algorithms are: –Leaky Bucket –Token Bucket

13 The Leaky Bucket Algorithm The Leaky Bucket Algorithm used to control rate in a network. It is implemented as a single-server queue with constant service time. If the bucket (buffer) overflows then packets are discarded.

14 The Leaky Bucket Algorithm (a) A leaky bucket with water. (b) a leaky bucket with packets.

15 Leaky Bucket Algorithm, cont. The leaky bucket enforces a constant output rate (average rate) regardless of the burstiness of the input. Does nothing when input is idle. The host injects one packet per clock tick onto the network. This results in a uniform flow of packets, smoothing out bursts and reducing congestion. When packets are the same size (as in ATM cells), the one packet per tick is okay. For variable length packets though, it is better to allow a fixed number of bytes per tick. E.g bytes per tick will allow one 1024-byte packet or two 512-byte packets or four 256-byte packets on 1 tick.

16 Token Bucket Algorithm In contrast to the LB, the Token Bucket Algorithm, allows the output rate to vary, depending on the size of the burst. In the TB algorithm, the bucket holds tokens. To transmit a packet, the host must capture and destroy one token. Tokens are generated by a clock at the rate of one token every  t sec. Idle hosts can capture and save up tokens (up to the max. size of the bucket) in order to send larger bursts later.

17 The Token Bucket Algorithm (a) Before. (b) After. 5-34

18 Leaky Bucket vs Token Bucket LB discards packets; TB does not. TB discards tokens. With TB, a packet can only be transmitted if there are enough tokens to cover its length in bytes. LB sends packets at an average rate. TB allows for large bursts to be sent faster by speeding up the output. TB allows saving up tokens (permissions) to send large bursts. LB does not allow saving.