Congestion Control Overview



Similar documents
Announcements. Midterms. Mt #1 Tuesday March 6 Mt #2 Tuesday April 15 Final project design due April 11. Chapters 1 & 2 Chapter 5 (to 5.

1. The subnet must prevent additional packets from entering the congested region until those already present can be processed.

The Network Layer Functions: Congestion Control

QoS Parameters. Quality of Service in the Internet. Traffic Shaping: Congestion Control. Keeping the QoS

Distributed Systems 3. Network Quality of Service (QoS)

Quality of Service in the Internet. QoS Parameters. Keeping the QoS. Traffic Shaping: Leaky Bucket Algorithm

Motivation. QoS Guarantees. Internet service classes. Certain applications require minimum level of network performance:

Multimedia Requirements. Multimedia and Networks. Quality of Service

Per-Flow Queuing Allot's Approach to Bandwidth Management

Introduction to Quality of Service. Andrea Bianco Telecommunication Network Group

Wide Area Networks. Learning Objectives. LAN and WAN. School of Business Eastern Illinois University. (Week 11, Thursday 3/22/2007)

Chapter 5: Sample Questions, Problems and Solutions Bölüm 5: Örnek Sorular, Problemler ve Çözümleri Örnek Sorular (Sample Questions):

CHAPTER 1 ATM TRAFFIC MANAGEMENT

Faculty of Engineering Computer Engineering Department Islamic University of Gaza Network Chapter# 19 INTERNETWORK OPERATION

Quality of Service. Translation of QoS Parameters. Quality of Service

Stop And Wait. ACK received; transmit frame 2 CS 455 3

A Preferred Service Architecture for Payload Data Flows. Ray Gilstrap, Thom Stone, Ken Freeman

TCP over Multi-hop Wireless Networks * Overview of Transmission Control Protocol / Internet Protocol (TCP/IP) Internet Protocol (IP)

Introduction to LAN/WAN. Network Layer

Internet Packets. Forwarding Datagrams

Routing in packet-switching networks

Lecture 16: Quality of Service. CSE 123: Computer Networks Stefan Savage

Final for ECE374 05/06/13 Solution!!

Quality of Service versus Fairness. Inelastic Applications. QoS Analogy: Surface Mail. How to Provide QoS?

Network management and QoS provisioning - QoS in the Internet

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

Congestion Control Review Computer Networking. Resource Management Approaches. Traffic and Resource Management. What is congestion control?

Dynamic Source Routing in Ad Hoc Wireless Networks

Introduction to LAN/WAN. Network Layer (part II)

Configuring an efficient QoS Map

Transport Layer Protocols

How To Provide Qos Based Routing In The Internet

Improving the Performance of TCP Using Window Adjustment Procedure and Bandwidth Estimation

Quality of Service (QoS)) in IP networks

Names & Addresses. Names & Addresses. Hop-by-Hop Packet Forwarding. Longest-Prefix-Match Forwarding. Longest-Prefix-Match Forwarding

Communication Systems Internetworking (Bridges & Co)

28 Networks and Communication Protocols

Local Area Networks transmission system private speedy and secure kilometres shared transmission medium hardware & software

Introduction. Abusayeed Saifullah. CS 5600 Computer Networks. These slides are adapted from Kurose and Ross

Lecture 15: Congestion Control. CSE 123: Computer Networks Stefan Savage

Computer Network. Interconnected collection of autonomous computers that are able to exchange information

TCP in Wireless Mobile Networks

College 5, Routing, Internet. Host A. Host B. The Network Layer: functions

CS 268: Lecture 13. QoS: DiffServ and IntServ

Overview of Network Hardware and Software. CS158a Chris Pollett Jan 29, 2007.

Computer Networks. Chapter 5 Transport Protocols

Computer Networks Homework 1

Based on Computer Networking, 4 th Edition by Kurose and Ross

1 Introduction to mobile telecommunications

Data Link Layer. Flow Control. Flow Control

Referring to the above question, the end-to-end delay (transmission delay plus propagation delay) is

Differentiated Services

QoS issues in Voice over IP

TCOM 370 NOTES LOCAL AREA NETWORKS AND THE ALOHA PROTOCOL

Network Management Quality of Service I

PART III. OPS-based wide area networks

Smart Queue Scheduling for QoS Spring 2001 Final Report

Encapsulating Voice in IP Packets

CS640: Introduction to Computer Networks. Why a New Service Model? Utility curve Elastic traffic. Aditya Akella. Lecture 20 QoS

10CS64: COMPUTER NETWORKS - II

Computer Networks. Definition of LAN. Connection of Network. Key Points of LAN. Lecture 06 Connecting Networks

Protagonist International Journal of Management And Technology (PIJMT) Online ISSN Vol 2 No 3 (May-2015) Active Queue Management

Internet Quality of Service

CS 5480/6480: Computer Networks Spring 2012 Homework 4 Solutions Due by 1:25 PM on April 11 th 2012

18: Enhanced Quality of Service

Quality of Service in ATM Networks

Infrastructure Components: Hub & Repeater. Network Infrastructure. Switch: Realization. Infrastructure Components: Switch

Internet structure: network of networks

Chapter 6. The Network Layer

Voice over IP: RTP/RTCP The transport layer

CSE3214 Computer Network Protocols and Applications. Chapter 1 Examples and Homework Problems

Communication Networks. MAP-TELE 2011/12 José Ruela

First Midterm for ECE374 02/25/15 Solution!!

Ethernet. Ethernet Frame Structure. Ethernet Frame Structure (more) Ethernet: uses CSMA/CD

Answer: that dprop equals dtrans. seconds. a) d prop. b) d trans

Chapter 7 outline. 7.5 providing multiple classes of service 7.6 providing QoS guarantees RTP, RTCP, SIP. 7: Multimedia Networking 7-71

Real-time apps and Quality of Service

How To Solve A Network Communication Problem

[Prof. Rupesh G Vaishnav] Page 1

Transport and Network Layer

Improving Quality of Service

CSE 473 Introduction to Computer Networks. Exam 2 Solutions. Your name: 10/31/2013

Level 2 Routing: LAN Bridges and Switches

Burst Testing. New mobility standards and cloud-computing network. This application note will describe how TCP creates bursty

Requirements of Voice in an IP Internetwork

CS268 Exam Solutions. 1) End-to-End (20 pts)

Solving complex performance problems in TCP/IP and SNA environments.

R2. The word protocol is often used to describe diplomatic relations. How does Wikipedia describe diplomatic protocol?

Optimizing Enterprise Network Bandwidth For Security Applications. Improving Performance Using Antaira s Management Features

Quality of Service Analysis of site to site for IPSec VPNs for realtime multimedia traffic.

Advanced Networking Voice over IP: RTP/RTCP The transport layer

CS 78 Computer Networks. Internet Protocol (IP) our focus. The Network Layer. Interplay between routing and forwarding

Three Key Design Considerations of IP Video Surveillance Systems

Optimizing Converged Cisco Networks (ONT)

Sources: Chapter 6 from. Computer Networking: A Top-Down Approach Featuring the Internet, by Kurose and Ross

Subnetting,Supernetting, VLSM & CIDR

Mixer/Translator VOIP/SIP. Translator. Mixer

Introduction to IP v6

Traffic Mangement in ATM Networks Dollar Day Sale

Transcription:

Congestion Control Overview Problem: When too many packets are transmitted through a network, congestion occurs t very high traffic, performance collapses completely, and almost no packets are delivered Causes: bursty nature of traffic is the root cause When part of the network no longer can cope a sudden increase of traffic, congestion builds upon. Other factors, such as lack of bandwidth, ill-configuration and slow routers can also bring up congestion Packets delivered Maximum carrying capacity of subnet Perfect Packets sent Desirable Congested Solution: congestion control, and two basic approaches Open-loop: try to prevent congestion occurring by good design Closed-loop: monitor the system to detect congestion, pass this information to where action can be taken, and adjust system operation to correct the problem (detect, feedback and correct) Differences between congestion control and flow control: Congestion control try to make sure subnet can carry offered traffic, a global issue involving all the hosts and routers. It can be open-loop based or involving feedback Flow control is related to point-to-point traffic between given sender and receiver, it always involves direct feedback from receiver to sender 119

Open-Loop Congestion Control Prevention: Different policies at various layers can affect congestion, and these are summarised in the table Transport Retransmission policy e.g. retransmission policy at data link layer Out-of-order caching policy affects congestion: jumpy sender that times cknowledgement policy out quickly and retransmits all the outstanding Flow control policy frames using go back n will put a heavy load Timeout determination on the system than a leisurely sender that uses Network selective repeat Congestion prevention tries to design these policies carefully to minimise congestion in the first place Traffic shaping: s burstiness of traffic is a main cause of congestion, it is used to regulate average rate and burstiness of traffic Data link Virtual circuit versus datagram Packet queueing and service policy Packet discard policy Routing algorithm Packet lifetime management Retransmission policy Out-of-order caching policy cknowledgement policy Flow control policy e.g. when a virtual circuit is set up, the user and the subnet first agree certain traffic shape for that circuit. Monitoring traffic flow, called traffic policing, is left to the subset greeing to a traffic shape and policing it afterward are easier with virtual circuit subnets, but the same ideas can be applied to datagram subnet at transport layer 120

Leaky ucket / Token ucket Faucet Leaky bucket: consists of a finite queue Host computer When a packet arrives, if there is a room on the queue it is joined the queue; otherwise, it is discarded t every (fixed) clock tick, one packet is transmitted unless the queue is empty It eliminates bursts completely: packets passed to the subnet at the same rate Leaky bucket Water drips out of the hole at a constant rate (a) Water Interface containing a leaky bucket Network (b) Packet Unregulated flow The bucket holds packets Regulated flow This may be a bit overdone, and also packets can get lost (when bucket is full) Host computer Host computer Token bucket: Tokens are added at a constant rate. For a packet to be transmitted, it must capture and destroy one token One token is added to the bucket every T The bucket holds tokens (a) shows that the bucket holds three tokens with five packets waiting to be transmitted (b) shows that three packets have gotten through but the other two are stuck waiting for tokens to be generated Networks (a) Networks (b) 121

Token ucket (continue) Unlike leaky bucket, token bucket allows saving, up to maximum size of bucket n. This means that bursts of up to n packets can be sent at once, giving faster response to sudden bursts of input n important difference between two algorithms: token bucket throws away tokens when the bucket is full but never discards packetswhile leaky bucket discards packets when the bucket is full Let token bucket capacity be C (bits), token arrival rate ρ (bps), maximum output rate M (bps), and burst length S (s) During burst length of S (s), tokens generated are ρs (bits), and output burst contains a maximum of C + ρs (bits) lso output in a maximum burst of length S (s) is M S (bits), thus C + ρs = MS or S = C M ρ Token bucket still allows large bursts, even though the maximum burst length S can be regulated by careful selection of ρ and M One way to reduce the peak rate is to put a leaky bucket of a larger rate (to avoid discarding packets) after the token bucket 122

Illustration (a) The input to a leaky bucket, 25 Mbps for 40 ms, i.e. 40 25 Kbits = 1 Mbits burst (b) The output of leaky bucket at 2 Mbps uniform rate for 500 ms (assuming no packet is discarded) (c) The output of token bucket with 250 Kbits capacity and token arrival rate 2 Mbps, assuming that the token bucket is full when the 1 Mbits burst arrives (a) (b) 25 M/sec for 40 msec 0 Time (msec) 500 2 M/sec for 500 msec Output at first is at the full burst rate of 25 Mbps for about 11 ms (S = 10.87 ms). During this burst period, 272 Kbits are send. The remaining 1000 272 = 728 Kbits have to be cleared at the rate 2 Mbps for a duration of 728/2 = 364 ms (d) and (e) The outputs of token buckets for capacities of 500 Kbits and 750 Kbits, respectively, with token arrival rate 2 Mbps (f) The output for 500 Kbits token bucket followed by a 10 Mbps leaky bucket 21.7 25 + (x 21.7) 2 = 10x x = 62.4 ms 0 Time (msec) 500 25 M/sec for 11 msec (c) 2 M/sec for 364 msec 0 Time (msec) 500 25 M/sec for 22 msec (d) 2 M/sec for 228 msec 0 Time (msec) 500 25 M/sec for 33 msec (e) 2 M/sec for 92 msec 0 Time (msec) 500 (f) 10 M/sec for 62 msec 2 M/sec for 190 msec 0 Time (msec) 500 123

Congestion Control in Virtual Circuits These are closed-loop based designed for virtual circuits subnets, which are connection oriented during connection set up, something can be done to help congestion control The basic principle is obvious: When setting up a virtual circuit, make sure that congestion can be avoided dmission control: Once congestion has been signaled, no more new virtual circuits can be set up until the problem has gone away. This is crude but simple and easy to do Congestion Congestion Select alternative routes to (a) (b) avoid part of the network that is overloaded, i.e. temporarily rebuild your view of network e.g. Normally, when router sets a connection to, it would pass through one of the two congested routers, as this would result in a minimum-hop route (4 and 5 hops respectively). To avoid congestion, a temporary subnet is redrawn by eliminating congested routers. virtual circuit can then be established to avoid congestion Negotiate quality of connection in advance, so that network provider can reserve buffers and other resources, guaranteed to be there Virtual circuit 124

Choke Packets This closed-loop congestion control is applicable to both virtual circuits and datagram subnets asic idea: Router checks the status of each output line: if it is too occupied, sends a choke packet to the source. The host is assumed to be cooperative and will slow down When the source gets a chock packet, it cuts rate by half, and ignores further choke packets coming from the same destination for a fixed period fter that period has expired, the host listens for more choke packets. If one arrives, the host cut rate by half again. If no choke packet arrives, the host may increase rate Uncooperative cheating host may get all bandwidth while cooperative honest host gets penalised Use weighted fair queueing to enforce cooperation and assign priority Problem of basic Choke Packets: For high-speed WNs, return path for a choke packet may be so long that too many packets have already been sent by the source before the source notes congestion and takes action Host in San Francisco (router ) is sending heavy traffic to a host in New York (router D), and D is in trouble. It sends a choke packet to. Note how long it takes for to reduce the rate and eventually to relieve D Solution: Use push-back or hop-by-hop choke packets When choke packet reaches router F, it forwards choke packet to router E as well as reduces its traffic to D. Thus the problem that D has is push-back to F and D gets relief quickly. This process is repeated down the route until the ball is back to the root source 125

Choke packets in WNs: (a) basic, (b) hope-by-hope (a) (b) Choke C D E F Choke Choke Reduced flow Flow is still at maximum rate Flow is reduced C D E F Heavy flow Choke Choke Reduced flow Choke 126

Last Resort Load Shedding: When all the other methods cannot make congestion disappear, routers may force to use this last resort, but how to drop or discard packets? router may randomly pick packets to drop but it can usually do better than this Which packet to discard depends on the applications running Wine policy: For file transfer, an old packet is worth more than a new one. This is because dropping an old packet may force more packets to be retransmitted (since receiver will discard out-of-order packets). For this kind of applications, the older the better Milk policy: For multimedia, a new packet is more important than an old one. Thus, fresher is better Implementing some sort of intelligent discard policy: For some applications, some packets are more important than others e.g. in MPEG video standard, periodically, an entire frame is transmitted and this is followed by subsequent frames as differences from the full reference frame drop packets that is part of a difference is preferred to drop one that contains part of the last full reference frame pplications mark their packets in priority classes to indicate how important they are, such as very important never discard, or lower priority, etc. 127

Congestion Control for Multicasting Congestion control algorithms discussed so far deal with single-source to single-destination case In the advent of all kinds of services on the Internet that deal with broadcasting streams of data (voice and video) with a limited bandwidth, managing multicast flows from multiple sources to multiple destinations becomes critical Multicast routing uses spanning trees Hosts 1 and 2 are multicast senders, and hosts 3, 4 and 5 are multicast receivers (a) shows network topology, multicast trees from hosts 1 and 2 are shown in (b) and (c) D G J Resource reservation protocol: The 3 4 5 3 4 5 3 4 5 basic idea is that, to avoid congestion, extra information can be broadcasted to Receivers (a) (b) (c) the group periodically to tell the routers along the tree to maintain certain data structures in their memories Senders 1 2 E H K C F I L D G J 1 2 E H K C F I L D G J 1 2 E H K C F I L 128

RSVP (continue) ny receiver can send a reservation message up the tree to the sender, using the reverse path forwarding routing algorithm t each hop, router notes reservation and reserve necessary bandwidth If insufficient bandwidth is available, it reports back failure y the time the message gets back to source, bandwidth has been reserved all the way from sender to receiver along the spanning tree D G J 1 2 E H K 3 4 5 (a) C F andwidth reserved for source 1 I L D G J 1 2 1 2 K E H 3 4 5 (b) C andwidth reserved for source 2 F I L D G J K E H 3 4 5 Host 3 has requested a channel to host 1. Once it has been established, packets can flow from 1 to 3 without congestion. Next host 3 decides to reserve a channel to the other sender, host 2, and 2nd path is reserved Now, host 5 makes a reservation to host 1. First, dedicated bandwidth has to be reserved as far as router H. Router H can see that it already has a feed from host 1 ssume bandwidth requested for host 1 to host 5 is no more than that reserved for host 1 to host 3. s the necessary bandwidth has already been reserved, it does not have to reserve any more (c) C F I L 129

Summary Congestion: the root cause is the bursty nature of traffic Open-loop based congestion control Prevention and traffic shaping, leaky bucket, token bucket Closed-loop based congestion control For single source to single destination: congestion control in virtual circuits subnets and (hop-by-hop) choke packets approach For multiple sources to multiple destinations: resource reservation protocol 130