Priority Traffic CSCD 433/533. Advanced Networks Spring Lecture 21 Congestion Control and Queuing Strategies

Similar documents
Lecture 21. Reminders: Homework 6 due today, Programming Project 4 due on Thursday Questions? Current event: BGP router glitch on Nov.

Congestion Control and Resource Allocation

Chapter 6 Congestion Control and Resource Allocation

Lecture 22: Buffering & Scheduling. CSE 123: Computer Networks Alex C. Snoeren

Queuing. Congestion Control and Resource Allocation. Resource Allocation Evaluation Criteria. Resource allocation Drop disciplines Queuing disciplines

CS557: Queue Management

Congestion. Can t sustain input rate > output rate Issues: - Avoid congestion - Control congestion - Prioritize who gets limited resources

Overview. TCP & router queuing Computer Networking. TCP details. Workloads. TCP Performance. TCP Performance. Lecture 10 TCP & Routers

15-744: Computer Networking. Overview. Queuing Disciplines. TCP & Routers. L-6 TCP & Routers

Unit 2 Packet Switching Networks - II

CS 268: Computer Networking

Computer Networking. Queue Management and Quality of Service (QOS)

Network Layer Enhancements

CS551 Router Queue Management

Overview Computer Networking What is QoS? Queuing discipline and scheduling. Traffic Enforcement. Integrated services

EP2210 Scheduling. Lecture material:

Chapter 6 Queuing Disciplines. Networking CS 3470, Section 1

TCP Congestion Control : Computer Networking. Introduction to TCP. Key Things You Should Know Already. Congestion Control RED

Chapter 24 Congestion Control and Quality of Service 24.1

Chapter 6: Congestion Control and Resource Allocation

Router s Queue Management

Overview. Lecture 22 Queue Management and Quality of Service (QoS) Queuing Disciplines. Typical Internet Queuing. FIFO + Drop tail Problems

Resource allocation in networks. Resource Allocation in Networks. Resource allocation

Episode 5. Scheduling and Traffic Management

Resource Allocation and Queuing Theory

Advanced Lab in Computer Communications Meeting 6 QoS. Instructor: Tom Mahler

TELE Switching Systems and Architecture. Assignment Week 10 Lecture Summary - Traffic Management (including scheduling)

Congestion Control 3/16/09

Kommunikationssysteme [KS]

Lecture Outline. Bag of Tricks

Congestion Control. Resource allocation and congestion control problem

Quality of Service (QoS)

Real-Time Protocol (RTP)

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Lecture 14: Congestion Control"

of-service Support on the Internet

Router Design: Table Lookups and Packet Scheduling EECS 122: Lecture 13

Project Computer Networking. Resource Management Approaches. Start EARLY Tomorrow s recitation. Lecture 20 Queue Management and QoS

Improving QOS in IP Networks. Principles for QOS Guarantees

QUALITY of SERVICE. Introduction

Network Support for Multimedia

Lecture 14: Congestion Control"

Flow and Congestion Control

Lecture 21: Congestion Control" CSE 123: Computer Networks Alex C. Snoeren

Congestion Control in Communication Networks

Fairness, Queue Management, and QoS

Generic Architecture. EECS 122: Introduction to Computer Networks Switch and Router Architectures. Shared Memory (1 st Generation) Today s Lecture

ADVANCED COMPUTER NETWORKS

different problems from other networks ITU-T specified restricted initial set Limited number of overhead bits ATM forum Traffic Management

Communication Fundamentals in Computer Networks

Network Management & Monitoring

Outline Computer Networking. TCP slow start. TCP modeling. TCP details AIMD. Congestion Avoidance. Lecture 18 TCP Performance Peter Steenkiste

Advanced Computer Networks

CS519: Computer Networks. Lecture 5, Part 4: Mar 29, 2004 Transport: TCP congestion control

EECS 122: Introduction to Computer Networks Switch and Router Architectures. Today s Lecture

UNIT IV TRANSPORT LAYER

Integrated and Differentiated Services. Christos Papadopoulos. CSU CS557, Fall 2017

Quality of Service (QoS)

Fair Queueing. Presented by Brighten Godfrey. Slides thanks to Ion Stoica (UC Berkeley) with slight adaptation by Brighten Godfrey

Course 6. Internetworking Routing 1/33

CHAPTER 3 EFFECTIVE ADMISSION CONTROL MECHANISM IN WIRELESS MESH NETWORKS

Mohammad Hossein Manshaei 1393

Congestion Control. Queuing Discipline Reacting to Congestion Avoiding Congestion. Issues

Introduction to IP QoS

Chapter 23 Process-to-Process Delivery: UDP, TCP, and SCTP

Introduction to Real-Time Communications. Real-Time and Embedded Systems (M) Lecture 15

Lecture 5: Performance Analysis I

Topic 4a Router Operation and Scheduling. Ch4: Network Layer: The Data Plane. Computer Networking: A Top Down Approach

Basics (cont.) Characteristics of data communication technologies OSI-Model

Episode 4. Flow and Congestion Control. Baochun Li Department of Electrical and Computer Engineering University of Toronto

QoS Configuration. Overview. Introduction to QoS. QoS Policy. Class. Traffic behavior

ETSF05/ETSF10 Internet Protocols. Performance & QoS Congestion Control

Wireless Networks (CSC-7602) Lecture 8 (22 Oct. 2007) Seung-Jong Park (Jay) Fair Queueing

Congestion in Data Networks. Congestion in Data Networks

What Is Congestion? Effects of Congestion. Interaction of Queues. Chapter 12 Congestion in Data Networks. Effect of Congestion Control

Random Early Detection (RED) gateways. Sally Floyd CS 268: Computer Networks

What Is Congestion? Computer Networks. Ideal Network Utilization. Interaction of Queues

Lecture 24: Scheduling and QoS

CS CS COMPUTER NETWORKS CS CS CHAPTER 6. CHAPTER 6 Congestion Control

Transport Layer (Congestion Control)

Master Course Computer Networks IN2097

CSE 461. TCP and network congestion

Master Course Computer Networks IN2097

Lecture 14: Performance Architecture

Resource Control and Reservation

RSVP 1. Resource Control and Reservation

ETSF05/ETSF10 Internet Protocols. Performance & QoS Congestion Control

Internet Services & Protocols. Quality of Service Architecture

CS519: Computer Networks. Lecture 5, Part 5: Mar 31, 2004 Queuing and QoS

Lecture 4 Wide Area Networks - Congestion in Data Networks

Week 7: Traffic Models and QoS

Computer Networks. Course Reference Model. Topic. Congestion What s the hold up? Nature of Congestion. Nature of Congestion 1/5/2015.

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Configuring Modular QoS Congestion Avoidance

CSC 4900 Computer Networks: Network Layer

Congestion Control In The Internet Part 2: How it is implemented in TCP. JY Le Boudec 2015

Quality of Service II

Wireless Networks (CSC-7602) Lecture 8 (15 Oct. 2007)

Congestion Control In the Network

Topic 4b: QoS Principles. Chapter 9 Multimedia Networking. Computer Networking: A Top Down Approach

Transcription:

CSCD 433/533 Priority Traffic Advanced Networks Spring 2016 Lecture 21 Congestion Control and Queuing Strategies 1

Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation Criteria Effective Throughput, Delay and Power Fair Queuing Strategies 2

Introduction The goal of congestion control is. Regulate traffic flow to avoid saturating or overloading intermediate nodes in the network

Introduction So far, have looked at congestion control in terms of TCP in CSCD 330 Congestion window Happens on the end systems TCP's philosophy is to let it happen, control the congestion by sending less Taught that routers don't have too much to do with congestion They do manage queues and can let end systems know that congestion is happening

Congestion: Effects Congestion is undesirable because it can cause: Increased delay, due to queuing Packet loss, due to buffer overflow Reduced throughput, due to packet loss and retransmission Analogy: rush hour traffic

Buffering: A Solution? Buffering in switches/routers can help alleviate short term or transient congestion problems, but... Under sustained overload, buffers will still fill up, and packets will be lost Only defers congestion problem More buffers means more queuing delay Beyond a certain point, more buffering makes the congestion problem worse Answer Because of increased delay and retransmission

Congestion Control, Resource Allocation and Provisioning Are... active areas of research Problem that crosses all network layers Resource Allocation - Definition Process where network elements try to meet competing demands that applications have for network resources Not always possible to meet all demands for network... when too many packets queued then, Congestion control - Definition Describes how network responds to or controls overload conditions 7

Congestion Control, Resource Allocation and Provisioning Provisioning is Long term solution to congestion Involves Spare routers, Purchase extra bandwidth and Allocate resources Helps with temporary congestion conditions 8

Layers Involved Congestion Control and Resource Allocation Complimentary concepts Networks can take an active role Allocate resources, If done well, congestion avoided Ask what layers of network is resource allocation and provisioning done? Where is congestion control implemented?

Introduction Resource allocation, Provisioning Network layer Congestion control Network layer, transport layer, link layer

Flows in Networks Up to now, defined network as being either Connectionless datagram or Connection oriented circuit or virtual circuit In reality too rigid a definition Datagram model says that each datagram travels independently of other datagrams But, connections send stream of datagrams from a pair of hosts through a set of routers Known as a flow, we have looked at these before Flow Sequence of packets sent between source and destination pair following the same route through the network in a given amount of time 11

Flows in Networks Flows Can be defined between source/dest hosts or between source/dest host/port pairs A flow between a source/dest port pair is same as a channel Flows are something routers can see and manipulate Router maintains some state for flows 12

Flow Routers Can See Them 13

Resource Allocation (RA) Many ways to classify RA mechanisms Examine a few in the next few slides Router Centric vs. Host Centric Router Centric Each router responsible for deciding when packets are forwarded Selects when packets are to be dropped Host Centric End hosts observe network conditions and adjust behavior according 14

Resource Allocation (RA) Host vs. Router Reality. lots of overlap between two schemes Both used to help with allocation of resources Routers do some allocation and hosts adjust behavior in response to traffic conditions, How do hosts do this? Reservation Based vs. Feedback Based Reservation based systems, host asks network for certain capacity at time flow is established Each router allocates enough resources to satisfy request If request can t be satisfied, because of over committed resources, router rejects flow 15

Resource Allocation Reservation vs. Feedback Approach Feedback Approach End hosts send data without first reserving any capacity and then adjust sending rate according to feedback they receive Windows Based vs. Rate Based Windows Based TCP is an example of Windows based, where receiver advertises a window to sender How much buffer space receiver has limits amount of data sender can transmit Supports flow control 16

Resource Allocation (RA) Windows Based vs. Rate Based Windows Based Similar to TCP mechanism, routers use Window Advertisement to reserve buffer space Rate Based Use number bits/sec receiver or network is able to absorb Several multimedia protocols use rate based For example if receiver says it can handle 1 Mbps, sender sends frames within that limit 17

Evaluation Criteria How do you evaluate Resource Allocation? Two ways Is it Effective? Does it work? Is it Fair? Distributes resources among competitors Effective Throughput and Delay Want as much throughput with as little delay To increase throughput, increase packets Yet is a relationship between throughput and delay 18

Evaluation Criteria Effective continued Higher number of packets in the network Increases the length of queues at routers Longer queues means more delay Network Designers Specify the Relationship Called the Power of the Network Power = Throughput/Delay Power might not be the best metric for judging resource allocation effectiveness Based on network model that assumes infinite queues 19

Evaluation Criteria Power = Throughput / Delay Objective is to maximize ratio Function of how much load you place on network The load in turn is set by resource allocation mechanism 20

Evaluation Criteria Ideally, resource allocation would operate at peek of curve Left of peak Too conservative Not allowing enough packets in Right of peak Too generous, increases delay due to queues 21

Fair Resource Allocation Fairness Another criterion to judge resource allocation When several flows share a particular link Want each flow to get an equal share of bandwidth So, how do you quantify fairness of a congestion control mechanism? 22

Fairness Index f(x1,x2, xn) = x j n x j 2 2 If all n flows, get 1 unit of data per second The ratio becomes n 2 /n x n = 1, 1 is the maximum value if all flows have equal throughput Suppose, one flow receives a throughput of 1 + a Fairness index becomes: n 2 + 2na + a 2 / n 2 + 2na + na 2 With a larger denominator, the index < 1 One flow is either getting more or less than rest, if a is a negative value. 23

Queuing Discipline Each router must implement some queuing discipline Governs how packets are buffered while waiting to be transmitted Queuing Algorithm Allocates bandwidth and buffer space Affects latency of a packet how long packet waits to get transmitted Two common Queuing Algorithms FIFO First In First Out FQ Fair Queueing 24

FIFO FIFO If packet arrives first, first to get transmitted If buffer is full, last one gets discarded If last packet arrives and queue is full, packet gets dropped tail drop FIFO and tail drop simplest queuing implementation Other drop policies possible more later 25

FIFO with Tail Drop First in, first to transmit As long as there is buffer space Last arriving packets get dropped 26

Is FIFO Good for Congestion? Because FIFO is default queuing in Internet Does nothing for congestion control Easy to implement Causes packets to be lost in bursts Can lose many packets from a single flow What other queuing schemes are there? Priority Queue Idea, mark each packet with priority Mark could be placed in Type of Service field in IP packet 27

Priority Queue Router implements separate FIFO queue per priority class Always transmit from highest priority queue first Could there be any problems with this? 28

Priority Queue With each priority queue FIFO is used Doesn t make QOS guarantees Just allows high priority packets preference Problem High priority queue can starve out all other queues For this to work, need limits on how much high priority traffic to allow 29

Queuing Disciplines Fair Queuing (FQ) Yet another strategy for queues Tries to maintain a fair allocation of resources without under utilizing network resources What does it do? Maintains separate queue for each flow Router services queues round robin When flow sends too much traffic, queue fills Packets from that flow are dropped 30

Fair Queuing Source can t increase share of network capacity at expense of other flows Does not provide feedback for sources No way to tell router s state Segregate traffic into separate queues Keeps one sender from hogging all the bandwidth Should be used with end-to-end algorithm that does congestion control 31

Fair Queuing Each queue gets a turn as long as packets are queued 32

Notes on Fair Queuing Link never left idle if packets in queue Queuing scheme called, Work preserving If I am only one sending, can use entire bandwidth But, when other flows happen they get a share of bandwidth and my capacity will decrease If link fully loaded and n flows sending data Can t use more than 1/nth of link bandwidth If I try to send more My packets get increasingly large timestamps Sit in queue longer awaiting transmission Queue will eventually overflow 33

More Queue Management Previous schemes based on creative buffer management Manage buffers and do not notify senders of congestion Next schemes anticipate congestion and take steps to prevent it from happening More aggressive in approach and more intelligent in selection of packets to drop

35 Random Early Detection (RED) Queuing discipline with proactive packet discard Picks packets and drops them, uses algorithm Anticipate congestion and take early avoidance action Does not penalize bursty traffic Control average queue length (buffer size) within bounds therefore, control average queuing delay

36 RED Buffer Management Discard probability is calculated for each packet arrival at the output queue based on: Current weighted average queue size, and Number of packets sent since previous packet discard

37 Generalized RED Algorithm Calculate average queue size, avg if avg < TH min Queue the packet else if TH min avg < TH max Calculate probability P a With probability P a discard the packet else with probability 1 P a Queue the packet else if avg TH max Discard the packet

RED Algorithm Maintains running average of queue length If avgq < min th do nothing Low congestion, send packets through If avgq > max th, drop packet Protection from misbehaving sources Does not penalize all packets in a flow Better distribution of dropped packets

Reading: Chapter 5.3 End 39

1

Topics Congestion Control and Resource Allocation Flows Types of Mechanisms Evaluation Criteria Effective Throughput, Delay and Power Fair Queuing Strategies 2

Introduction So far, have looked at congestion control in terms of TCP in CSCD 330 Congestion window Happens on the end systems TCP's philosophy is to let it happen, control the congestion by sending less Taught that routers don't have too much to do with congestion They do manage queues and can let end systems know that congestion is happening 4

Congestion Control, Resource Allocation and Provisioning Are... active areas of research Problem that crosses all network layers Resource Allocation - Definition Process where network elements try to meet competing demands that applications have for network resources Not always possible to meet all demands for network... when too many packets queued then, Congestion control - Definition Describes how network responds to or controls overload conditions 7

Congestion Control, Resource Allocation and Provisioning Provisioning is Long term solution to congestion Involves Spare routers, Purchase extra bandwidth and Allocate resources Helps with temporary congestion conditions 8

Layers Involved Congestion Control and Resource Allocation Complimentary concepts Networks can take an active role Allocate resources, If done well, congestion avoided Ask what layers of network is resource allocation and provisioning done? Where is congestion control implemented? 9

Introduction Resource allocation, Provisioning Network layer Congestion control Network layer, transport layer, link layer 10

Flows in Networks Up to now, defined network as being either Connectionless datagram or Connection oriented circuit or virtual circuit In reality too rigid a definition Datagram model says that each datagram travels independently of other datagrams But, connections send stream of datagrams from a pair of hosts through a set of routers Known as a flow, we have looked at these before Flow Sequence of packets sent between source and destination pair following the same route through the network in a given amount of time 11

Flows in Networks Flows Can be defined between source/dest hosts or between source/dest host/port pairs A flow between a source/dest port pair is same as a channel Flows are something routers can see and manipulate Router maintains some state for flows 12

Flow Routers Can See Them 13

Resource Allocation (RA) Many ways to classify RA mechanisms Examine a few in the next few slides Router Centric vs. Host Centric Router Centric Each router responsible for deciding when packets are forwarded Selects when packets are to be dropped Host Centric End hosts observe network conditions and adjust behavior according 14

Resource Allocation (RA) Host vs. Router Reality. lots of overlap between two schemes Both used to help with allocation of resources Routers do some allocation and hosts adjust behavior in response to traffic conditions, How do hosts do this? Reservation Based vs. Feedback Based Reservation based systems, host asks network for certain capacity at time flow is established Each router allocates enough resources to satisfy request If request can t be satisfied, because of over committed resources, router rejects flow 15

Resource Allocation Reservation vs. Feedback Approach Feedback Approach End hosts send data without first reserving any capacity and then adjust sending rate according to feedback they receive Windows Based vs. Rate Based Windows Based TCP is an example of Windows based, where receiver advertises a window to sender How much buffer space receiver has limits amount of data sender can transmit Supports flow control 16

Resource Allocation (RA) Windows Based vs. Rate Based Windows Based Similar to TCP mechanism, routers use Window Advertisement to reserve buffer space Rate Based Use number bits/sec receiver or network is able to absorb Several multimedia protocols use rate based For example if receiver says it can handle 1 Mbps, sender sends frames within that limit 17

Evaluation Criteria How do you evaluate Resource Allocation? Two ways Is it Effective? Does it work? Is it Fair? Distributes resources among competitors Effective Throughput and Delay Want as much throughput with as little delay To increase throughput, increase packets Yet is a relationship between throughput and delay 18

Evaluation Criteria Effective continued Higher number of packets in the network Increases the length of queues at routers Longer queues means more delay Network Designers Specify the Relationship Called the Power of the Network Power = Throughput/Delay Power might not be the best metric for judging resource allocation effectiveness Based on network model that assumes infinite queues 19

Evaluation Criteria Power = Throughput / Delay Objective is to maximize ratio Function of how much load you place on network The load in turn is set by resource allocation mechanism 20

Evaluation Criteria Ideally, resource allocation would operate at peek of curve Left of peak Too conservative Not allowing enough packets in Right of peak Too generous, increases delay due to queues 21

Fair Resource Allocation Fairness Another criterion to judge resource allocation When several flows share a particular link Want each flow to get an equal share of bandwidth So, how do you quantify fairness of a congestion control mechanism? 22

Fairness Index f(x1,x2, xn) = 2 x j 2 n x j If all n flows, get 1 unit of data per second The ratio becomes n 2 /n x n = 1, 1 is the maximum value if all flows have equal throughput Suppose, one flow receives a throughput of 1 + a Fairness index becomes: n 2 + 2na + a 2 / n 2 + 2na + na 2 With a larger denominator, the index < 1 One flow is either getting more or less than rest, if a is a negative value. 23

Queuing Discipline Each router must implement some queuing discipline Governs how packets are buffered while waiting to be transmitted Queuing Algorithm Allocates bandwidth and buffer space Affects latency of a packet how long packet waits to get transmitted Two common Queuing Algorithms FIFO First In First Out FQ Fair Queueing 24

FIFO FIFO If packet arrives first, first to get transmitted If buffer is full, last one gets discarded If last packet arrives and queue is full, packet gets dropped tail drop FIFO and tail drop simplest queuing implementation Other drop policies possible more later 25

FIFO with Tail Drop First in, first to transmit As long as there is buffer space Last arriving packets get dropped 26

Is FIFO Good for Congestion? Because FIFO is default queuing in Internet Does nothing for congestion control Easy to implement Causes packets to be lost in bursts Can lose many packets from a single flow What other queuing schemes are there? Priority Queue Idea, mark each packet with priority Mark could be placed in Type of Service field in IP packet 27

Priority Queue Router implements separate FIFO queue per priority class Always transmit from highest priority queue first Could there be any problems with this? 28

Priority Queue With each priority queue FIFO is used Doesn t make QOS guarantees Just allows high priority packets preference Problem High priority queue can starve out all other queues For this to work, need limits on how much high priority traffic to allow 29

Queuing Disciplines Fair Queuing (FQ) Yet another strategy for queues Tries to maintain a fair allocation of resources without under utilizing network resources What does it do? Maintains separate queue for each flow Router services queues round robin When flow sends too much traffic, queue fills Packets from that flow are dropped 30

Fair Queuing Source can t increase share of network capacity at expense of other flows Does not provide feedback for sources No way to tell router s state Segregate traffic into separate queues Keeps one sender from hogging all the bandwidth Should be used with end-to-end algorithm that does congestion control 31

Fair Queuing Each queue gets a turn as long as packets are queued 32

Notes on Fair Queuing Link never left idle if packets in queue Queuing scheme called, Work preserving If I am only one sending, can use entire bandwidth But, when other flows happen they get a share of bandwidth and my capacity will decrease If link fully loaded and n flows sending data Can t use more than 1/nth of link bandwidth If I try to send more My packets get increasingly large timestamps Sit in queue longer awaiting transmission Queue will eventually overflow 33

More Queue Management Previous schemes based on creative buffer management Manage buffers and do not notify senders of congestion Next schemes anticipate congestion and take steps to prevent it from happening More aggressive in approach and more intelligent in selection of packets to drop 34

Random Early Detection (RED) Queuing discipline with proactive packet discard Picks packets and drops them, uses algorithm Anticipate congestion and take early avoidance action Does not penalize bursty traffic Control average queue length (buffer size) within bounds therefore, control average queuing delay 35

RED Buffer Management Discard probability is calculated for each packet arrival at the output queue based on: Current weighted average queue size, and Number of packets sent since previous packet discard 36

Generalized RED Algorithm Calculate average queue size, avg if avg < TH min Queue the packet else if TH min avg < TH max Calculate probability P a With probability P a discard the packet else with probability 1 P a Queue the packet else if avg TH max Discard the packet 37

RED Algorithm Maintains running average of queue length If avgq < min th do nothing Low congestion, send packets through If avgq > max th, drop packet Protection from misbehaving sources Does not penalize all packets in a flow Better distribution of dropped packets 38

Reading: Chapter 5.3 End 39