Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

QoS, Priority Queuing, and Bandwidth Allocation in Computer Networks, Study Guides, Projects, Research of Computer Networks

An in-depth analysis of Quality of Service (QoS) techniques, including priority queueing and virtual circuits, in computer networks. It covers circuit switching and packet switching, discussing the advantages and disadvantages of each. The document also introduces various algorithms for fair queueing and traffic metering to ensure efficient resource utilization.

What you will learn

  • How does priority queueing work in computer networks?
  • What are the advantages and disadvantages of circuit switching compared to packet switching?
  • What algorithms can be used for fair queueing and traffic metering in computer networks?

Typology: Study Guides, Projects, Research

2021/2022

Uploaded on 09/12/2022

astur
astur 🇬🇧

4.3

(7)

227 documents

1 / 9

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Computer Networks!
Lecture'36:'
QoS,'Priority'Queueing,'VC,'WFQ'
Circuit'Switching'
Network'resources'(e.g.,'bandwidth)'divided'into'“pieces”'
Pieces'allocated'to'and'reserved'for!calls'
Resource'idle'if'not'used'by'owner'(no'sharing)'
Ways'to'divide'link'bandwidth'into'“pieces”'
frequency'division'multiplexing'(FDM)'
'
time'division'multiplexing'(TDM)'
4'users'
Example:'
frequency'
time'
frequency'
time'
Packet'Switching'
Each'end-to-end'data'stream''
divided'into'packets'
Packets'from'multiple'users'share'network'resources''
Each'packet'uses'full'link'bandwidth''
Resources'used'as'needed'
Resource'contention:''
aggregate'resource'demand'can'exceed'amount'available'
congestion:'packets'queued,'wait'for'link'use'
store'and'forward:'packets'move'one'hop'at'a'time'
each'node'receives'complete'packet'before'forwarding'
Bandwidth'division'into'“pieces”'
Dedicated'allocation'
Resource'reservation'
Packet'Switching:'
Statistical'Multiplexing'
Sequence'of'A’s'and'B’s'packets'does'not'have'a'fixed'
pattern'󲰛''statistical'multiplexing'
A
B
C
10'Mbps'
Ethernet'
1.5'Mbps'
DE
statistical'multiplexing'
queue'of'packets'
waiting'for'output'
link'
pf3
pf4
pf5
pf8
pf9

Partial preview of the text

Download QoS, Priority Queuing, and Bandwidth Allocation in Computer Networks and more Study Guides, Projects, Research Computer Networks in PDF only on Docsity!

Computer Networks

Lecture 36:

QoS, Priority Queueing, VC, WFQ

Circuit Switching

Network resources (e.g., bandwidth) divided into “pieces”

Pieces allocated to and reserved for calls

Resource idle if not used by owner (no sharing)

Ways to divide link bandwidth into “pieces”

  • frequency division multiplexing (FDM)
  • time division multiplexing (TDM) 4 users

frequency Example:

time frequency time

Packet Switching

Each end-to-end data stream

divided into packets

Packets from multiple users share network resources

Each packet uses full link bandwidth

Resources used as needed

Resource contention:

  • aggregate resource demand can exceed amount available
  • congestion: packets queued, wait for link use
  • store and forward: packets move one hop at a time
    • each node receives complete packet before forwarding Bandwidth division into “pieces” Dedicated allocation Resource reservation

Packet Switching:

Statistical Multiplexing

Sequence of A ’s and B ’s packets does not have a fixed

pattern statistical multiplexing

A

B

C

10 Mbps Ethernet 1.5 Mbps D (^) E statistical multiplexing queue of packets waiting for output link

Packet vs. Circuit Switching

Packet switching allows more users to use network!

For example:

  • 1 Mbps link
  • each user:
    • sends 100 kbps when “active”
    • active 10% of time

circuit-switching: 10 users

packet switching: with 35 users, probability that

more than 10 are active at the same time <.

N users 1 Mbps link

Pros and Cons of Packet Switching

Advantages: great for bursty data

  • resource sharing
  • simpler, no call setup

Disadvantages: excessive congestion,

packet delay and loss

  • protocols needed for reliable data transfer
  • congestion control
  • no service guarantee: “best-effort” service

Better than Best-Effort Service

Approach: deploy enough link capacity such that

congestion doesn’t occur, traffic flows without

queueing delay or overflow buffer loss

  • advantage: low complexity in network mechanisms
  • disadvantage: high bandwidth costs, most of the time bandwidth is under utilized (e.g., 2% average utilization)

Alternative: multiple classes of service

  • partition traffic into classes (not individual connections)
  • network treats different classes of traffic differently

Example: HTTP vs. VoIP Traffic

1 Mbps VoIP shares 1.5 Mbps link with HTTP

  • HTTP bursts can congest router, cause audio loss
  • want to give priority to audio over HTTP
    • packets can be differentiated by port number or
    • packets can be marked as belonging to different classes R R 1.5 Mbps link 1 Mbps phone

Circuit vs. Packet Switching

Packet switching: data sent through the

network in discrete “chunks”

Circuit switching: dedicated circuit per call

  • end-to-end resources reserved for calls
    • link bandwidth, switch capacity
    • call setup required
  • dedicated resources: no sharing
    • guaranteed performance
    • resource idle if not used by owner

Packet-Switched Networks

No call setup at network layer No state to support end-to-end connections at routers

  • no network-level concept of “connection”
  • route may change during session Packets forwarded using destination host address
  • packets between same source-destination pair may take different paths application transport network data link physical application transport network data link physical
  1. send data (^) 2. receive data

Pros and Cons of Packet Switching

Advantages: great for bursty data

  • resource sharing
  • simpler, no call setup

Disadvantages: excessive congestion, packet

delay and loss

  • protocols needed for reliable data transfer
  • congestion control
  • no service guarantee of any kind

How to provide circuit-like quality of service?

  • bandwidth and delay guarantees needed for multimedia apps

Virtual Circuits (VC)

Datagram network provides network-layer

connectionless service

VC network provides network-layer connection-

oriented service

Analogous to the transport-layer services, but:

  • service is host-to-host, as opposed to socket-to-socket
  • implementation in network core

Source-to-destination path behaves much like a

telephone circuit

  • in terms of performance, and
  • network actions along the path

Virtual Circuits

A VC comprises:

  1. path from source to destination
    • each call must be set up before data can flow
      • requires signalling protocol
    • fixed path determined at call setup time, remains fixed throughout call
    • every router on path maintains state for each passing connection/flow
    • link, router resources (bandwidth, buffers) may be allocated to VC
  2. VC numbers, one number for each link along path
    • each packet carries a VC identifier (not destination host address)
  3. entries in forwarding tables in routers along path

Virtual Circuits

Signalling protocol:

  • used to setup, maintain, teardown VC
  • e.g., ReSource reserVation Protocol (RSVP) application transport network data link physical application transport network data link physical
  1. initiate call (^) 2. incoming call
  2. call connected 3. accept call
  3. data flow begins 6. receive data

VC Forwarding Table

Forwarding table on router NW:

Routers maintain connection state information!

Packet belonging to a VC carries a VC number

VC number must be changed for each link

New VC number obtained from forwarding table

Examples: MPLS, Frame-relay, ATM, PPP

12 22 32 1 32 VC number interface number NW incoming interface incoming VC# outgoing interface outgoing VC# 1 12 2 22 2 63 1 18 3 7 2 17 1 97 3 87 … … … …

Per-VC Resource Isolation

To provide circuit-like quality of service

  • resources allocated to a VC must be isolated from other traffic

Bit-by-bit Round Robin:

  • cyclically scan per-VC queues, sending one bit from each VC (if present)
  • 1 round, R ( ), is defined as all non-empty queues have been served 1 quantum
  • R ( t 5 ) = 2
  • time at Round 3? Round 4? A.k.a. Generalized Processor Sharing (GPS) μ RR 1 bit 4321 321 5 4321 t t t t t t t t t t t11 t

Round Computation Example

Scenario:

  • flows A has 1 packet of size 1 arriving at time t 0
  • flows B and C each has 1 packet of size 2 arriving at time t 0
  • flow A has another packet of size 2 arriving at time t 4

Slope (∂ R /∂ t ):

a = ⅓, b = ½,

c = ⅓, d = 1

What is the arrival

round of A’s 2 nd^ packet?

R ( t

A

2 )^ =^ 1.

a b c Wall-clock time Round# 0 3 5.5 7 d 4 1

2

F 1 A F^ B 1 F 1 C F 2 A assuming fluid-flow approximation SA 2 = AA 2

Arrival Round Computation

When packet i of an active flow arrives, its finish round is computed as F α i =^ F α i –1 +^ P α i , where^ F α i –1 is the finish round of the last packet in α ’s queue If flow α is inactive, there’s no packet in its queue, Fα i = Aα i + Pα i , how do we compute Aα i? If flow α has been inactive for Δ t time and there has been Nac flows during the whole time, we can perform round catch up: A α i =^ F α i –1 +^ Δ t (1/ Nac ) Iterated deletion: if Nac has changed, one or more times, over Δ t , round catch up must be computed in piecewise fashion, every time Nac changes  expensive

Weighted Fair Queueing

Weighted-Fair Queueing (WFQ):

  • generalized Round Robin
  • each VC/flow/class gets weighted amount of service in each cycle
  • P α i =^ L α i/μ ),^ L α i size of packet WFQ^ μ 2 1 321 t t t t9t8 t7 t 654 F= F= F= F= F= F= F= F= ω= ω= t4 t ω=⅔ ω=⅓

(Weighted) Fair Queueing

Credit accumulation:

  • allows a flow to have a bigger share if it has been idle
  • discouraged because it can be abused: accumulate credits for a long time, then send a big burst of data

Characteristics of (W)FQ:

  • max-min fair
  • bounded delay
  • expensive to implement

Max-Min Fair

In words: max-min fair share maximizes minimum

share of flows whose demands have not been fully

satisfied

1. no flow gets more than its request

2.no other allocation satisfying condition 1 has a

higher minimum allocation

3. condition 2 remains true as we remove the flow

with minimal request

Max-Min Fair

Let:

μtotal : total resource (e.g., bandwidth) available

μi : total resource given to (flow) i

μfair : fair share of resource

ρi : request for resource by (flow) i

Max-Min fair share is μi = MIN( ρi , μfair )

μtotal = ∑ μi, i = 1 to n

Max-Min Fair Share Example

Let:

μtotal = 30

Initialy μfair = 10

ρC = 8 , so unused resource (10 – 8 = 2) is divided

evenly between flows whose demands have not

been fully met

Thus, μfair for A and B = 10 + 2 / 2 = 11

i ρi μi A 12 11 B 11 11 C 8 8

Providing Delay Guarantee

Token bucket filter and WFQ combined provides

guaranteed upper bound on delay

Same inefficiency issue as with circuit switching: allocating non- sharable bandwidth to flow leads to low utilization if flows don’t use their allocations

D max = b / μf

QoS guarantee!

WFQ token rate, r bucket size, b per-flow rate, μf arriving traffic arriving traffic