CS 456: Computer Networks: Congestion Control/QoS Prof. Varsha Apte Slides based on William Stallings+Tanenbaum.

Slides:



Advertisements
Similar presentations
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.
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
Congestion Control Algorithms
The Network Layer Functions: Congestion Control
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.
Network and Communications Hongsik Choi Department of Computer Science Virginia Commonwealth University.
Congestion Control Tanenbaum 5.3 Tanenbaum 6.5. Congestion Control Network Layer – Congestion control point to point Transport Layer – Congestion control.
CONGESTION CONTROL T.Najah Al-Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System.
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
1.  Congestion Control Congestion Control  Factors that Cause Congestion Factors that Cause Congestion  Congestion Control vs Flow Control Congestion.
Engineering Internet QoS
Network Layer Chapter 5 Design Issues Routing Algorithms
William Stallings Data and Computer Communications 7th Edition
CS 408 Computer Networks Congestion Control (from Chapter 05)
Congestion in Data Networks
Chapter 10 Congestion Control in Data Networks1 Congestion Control in Data Networks and Internets COMP5416 Chapter 10.
Semester Copyright USM EEE442 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
Leon-Garcia & Widjaja: Communication Networks Copyright ©2000 The McGraw Hill Companies A Little More on Chapter 7 And Start Chapter 8 TCP/IP.
Answers of Exercise 7 1. Explain what are the connection-oriented communication and the connectionless communication. Give some examples for each of the.
NETWORK LAYER. CONGESTION CONTROL In congestion control we try to avoid traffic congestion. Traffic Descriptor Traffic descriptors are qualitative values.
Presented By: Pariya Raoufi. Motivations Future applications require: higher bandwidth, generate a heterogeneous mix of network traffic, low latency.
Congestion Control Tanenbaum 5.3, /12/2015Congestion Control (A Loss Based Technique: TCP)2 What? Why? Congestion occurs when –there is no reservation.
Semester Copyright USM EEE449 Computer Networks Congestion En. Mohd Nazri Mahmud MPhil (Cambridge, UK) BEng (Essex, UK) Room.
ATM Dr. Abdulaziz Almulhem. Almulhem©20012 Agenda ATM Features Services Protocol ATM switching.
Computer Networks Set 9 Congestion in Data Networks.
ATM Traffic Management
Univ. of TehranAdv. topics in Computer Network1 Advanced topics in Computer Networks University of Tehran Dept. of EE and Computer Engineering By: Dr.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
1 Congestion Control Computer Networks. 2 Where are we?
CSC 581 Communication Networks II Chapter 7c: Congestion Control Dr. Cheer-Sun Yang.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2004 Chapter 23 Congestion Control and Quality of Service.
ECS5365 Lecture 6 ATM Traffic and Network Management
CONGESTION CONTROL.
Lecture Network layer -- May Congestion control Algorithms.
William Stallings Data and Computer Communications Chapter 12 Congestion in Data Networks.
-1- Georgia State UniversitySensorweb Research Laboratory CSC4220/6220 Computer Networks Dr. WenZhan Song Professor, Computer Science.
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.
1 Congestion and Congestion Control in Packet- Switched Networks.
The Network Layer Congestion Control Algorithms & Quality-of-Service Chapter 5.
The Network Layer Role Services Main Functions Standard Functions
Congestion Control in Data Networks and Internets
Topics discussed in this section:
William Stallings Data and Computer Communications
Congestion Control Evaluation in Dynamic Network
Chapter 5 The Network Layer.
CONGESTION CONTROL.
William Stallings Data and Computer Communications
Border Gateway Protocol
Congestion Control in Data Networks and Internets
The Network Layer Network Layer Design Issues:
Congestion Control (from Chapter 05)
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 (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:

CS 456: Computer Networks: Congestion Control/QoS Prof. Varsha Apte Slides based on William Stallings+Tanenbaum

What is congestion? Impact of congestion Packet queues at links start to grow… Packets start dropping Sources start re-transmitting After a while only re-transmissions occupy the network Network resources start getting utilized in useless work (packets in queues that get timed out and re-transmitted) “Goodput” goes to nearly zero Max capacity Congestion controls try to avoid getting into this situation

Congestion Control What is congestion control? How is it done in example networks ? Bus LAN Switched LANs Internet Telephone network

Congestion control Is done in some form at all layers Flow control b/w source and destn. Network layer congestion control is still needed. (Why?) Can be done at various time-scales

Congestion control and QoS Pre-QoS: Everything “best-effort” E.g. TCP/IP networks, congestion control is left to TCP, i.e. TCP is a “well-behaved” source, that adapts to congestion Post QoS-Integrated Services: Congestion control should be different for different sources Different for file-transfer/ Different for real-time-sensitive apps, e.g. voice, video  Different based on what type of coding is used for these apps

Quality of Service Quality parameters that define the performance needs of a “flow” (i.e. a stream of packets belonging to a particular connection) Reliability – Probability of delivering packets correctly Delay Jitter – Variation in Packet delay Bandwidth

QoS Requirements

Jitter Control (a) High jitter. (b) Low jitter.

Buffering Smoothing the output stream by buffering packets.

General Principles of Congestion Control Monitor the system. detect when and where congestion occurs. Pass information to where action can be taken. Adjust system operation to correct the problem.

Congestion control time-scales Long Term: Network Resource Provisioning (sizing the network correctly) Connection duration Connection (call) admission control: In connection oriented networks, decide whether to admit connection or not Round Trip propagation time: Explicit forward congestion signaling Packet Insertion Level: Traffic shaping, policing, selective discarding

Congestion Prevention Policies Policies that affect congestion. 5-26

Routing around congestion (a) A congested subnet. (b) A redrawn subnet, eliminates congestion and a virtual circuit from A to B.

Mechanisms for Congestion Control

Implicit Congestion Signaling Transmission delay may increase with congestion Packet may be discarded Source can detect these as implicit indications of congestion Useful on connectionless (datagram) networks e.g. IP based  (TCP includes congestion and flow control)

Backpressure If node becomes congested it can slow down or halt flow of packets from other nodes May mean that other nodes have to apply control on incoming packet rates Propagates back to source Can restrict to logical connections generating most traffic Used in connection oriented that allow hop by hop congestion control (e.g. X.25) Not used in ATM nor frame relay Only recently developed for IP

Choke Packets Earlier method takes too much time to send back congestion message Instead, router can send “choke” packet back to source Once choke packet is send, original packet is marked, so downstream routers do not generate any more choke packets When choke packet comes to receiver, it decreases its traffic rate  E.g. by changing window size Increase traffic rate if choke packets slow down, decrease if more come. e.g. ICMP source quench

Hop-by-Hop Choke Packets (a) A choke packet that affects only the source. (b) A choke packet that affects each hop it passes through. Not “QoS” aware “Reactive”, rather than pro-active Generates more packets during congestion

Congestion Signaling Network alerts end systems of increasing congestion End systems take steps to reduce offered load Backwards Congestion avoidance in opposite direction to packet required Forwards Congestion avoidance in same direction as packet required

Backward Notification Mark packets headed in the opposite direction of the congestion Tell source that packets transmitted on this logical connection may encounter congestion Source can slow down

Forward notification Marks packets going in the direction of congestion Tells the destination that these packets experienced congestion Destination may alert source about congestion At network layer At transport layer

Categories of Explicit Signaling Binary A bit set in a packet indicates congestion Credit based Indicates how many packets source may send Common for end to end flow control Rate based Supply explicit data rate limit e.g. ATM

“Load Shedding” Drop packets when buffers are full Router can try to drop intelligently Dropping older packets is better for multimedia streaming apps Dropping newer packets is better for data apps (e.g. file transfer).  Receiver may discard out-of-order packets

Random Early Detect Drop packets before buffers are full, so prevent congestion before it occurs Sources will react to packet drops and slow down (e.g. TCP)

Sources may not be doing flow control (voice, video) Feedback is slow, (propagation time much greater compared to transmission time) Diverse capacity requirements – may get penalized unfairly Traffic patterns very different (not “Poisson”) (CBR, VBR, very bursty) Vastly different QoS requirements Very high speed network  wide fluctuations in reactive controls Issues to be addressed in broadband multi-service networks

ATM Example Data rate: 150 Mbps Cell size (Fixed): 53 bytes Cell Insertion Time = 2.8 microsecs Assuming US coast-to-coast, round trip propagation delay is approx. 48 milliseconds Suppose a file transfer is initiated, congestion occurs, and implicit congestion control is used Time required on the order of propagation delay Number of cells transmitted in this time = = 7 Megabits of data

Controlling Sources Connection admission control Based on some traffic descriptors, determine whether this connection can be admitted Traffic Shaping Make sure the traffic has certain performance attribute (shape) e.g. not bursty Traffic Policing Make sure traffic sent by user is according to contract done during connection admission

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

Leaky bucket Let one packet out per “clock tick” If packet arrives, queue it If “bucket” full, packet is discarded If packets are the same size, this enforces a uniform rate For variable size packets Initialize counter to n If packet size < counter, let packet thru and decrement counter by packet size If size > counter, wait until clock ticks, and re- initialized

The Leaky Bucket Algorithm (a)Input to a leaky bucket. (1 MB burst). Network speed is 200 Mbps (b) Output from a leaky bucket (2MB/sec), 1 MB bucket size Output from a token bucket with capacities of (c) 250 KB, (d) 500 KB, (e) 750 KB, (f) Output from a 500KB token bucket feeding a 10-MB/sec leaky bucket.

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

Token bucket Leaky bucket enforces rigid shape Token bucket allows some “bursts” “Save” unused credit (upto size of bucket) Does not discard packets (in principle) Variant can be done for variable size packets Increment counter every clock tick by k bytes Decrement counter when packet passes thry

Calculating burst length Let burst length = S Token arrival rate = r Maximum output rate = M Bucket capacity = C Burst size = C + Sr Burst size is also = M S S = C/(M-r)

Generalized Token bucket in ATM Termed “leaky bucket” Also termed “Generalized Cell Rate Algorithm”, used to mark cells as conformant or non Described with two parameters as GCRA (T,  ) Bucket size = T +  Bucket filled with “fluid” at rate 1/unit time (Unit time = 1 cell transmission time) Let F(t) denote fluid in the bucket at time t.  If cell arrives at time t, and F(t-) >= T, cell is labeled “conformant” and F(t+) = F(t-) – T  If F(t-) < T, cell is labeled “non-conformant” and F(t+) = F(t-)  If the next cell arrives s time units later, then F(t+s-) = min {F(t+)+s, T +  }

ATM Leaky Bucket Constant Bit Rate traffic (CBR) should on a line with rate R describe itself with PCR (peak cell rate per second) and CDVT, cell delay variation tolerance Parameters translate into GCRA as GCRA(R/PCR, CDVT) Implies a long term cell rate of PCR, with CDVT being measure of departure from this rate

ATM CBR… Example: R/PCR = 5, CDVT = 1. I.e. PCR is 20 % of line rate. Suppose initially, “bucket” is full = 6. Cell arrival times: 0,4,9,14,16,22,24,29 Cell Labels: (C= conformant, NC= non)  F(0-)= 6, C,F(0+)=1,F(4-)=5, C, F(4+)=0, F(9-)=5, C, F(9+)=0, F(14-)=5, C, F(14+)=0, F(16-)=2, NC, F(16+)=2, F(22-)=6, C, F(22+) = 1, F(24-)= 3, NC, F(24+) = 3, NC, F(29-)=6, C, F(29+)=1

ATM VBR Variable bit rate: much more bursty, with idle periods Described by: PCR, CDVT, BT (burst tolerance), SCR (sustained cell rate) Should conform to GCRA(R/PCR, CDVT), and GCRA(R/SCR, BT+ CDVT)

ATM VBR example VBR stream with R/PCR=1, R/SCR = 20, BT = 57, CDVT = 0 GCRA (1,0) means ? GCRA (20, 57):With full bucket, allows four cells back-to-back (times 0,1,2,3) Ex. 2: R/PCR=5, R/SCR=10, CDVT=16, BT=20 GCRA(5,16) and GCRA (10, 36) Bursts of five consecutive cells every 50 cell trans times (0,1,2,3,4,50,51,52,53,54,100,101,102,103,104,….)

(Material done on board) Deriving an algorithm which takes decides whether a GCRA(T,  ) flow will be admitted.