+ All Categories
Home > Documents > Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms...

Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms...

Date post: 06-Mar-2021
Category:
Upload: others
View: 6 times
Download: 1 times
Share this document with a friend
49
Quality-of-Service (QoS) mechanisms and architectures Rui Valadas
Transcript
Page 1: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Quality-of-Service (QoS) mechanisms and architectures

Rui Valadas

Page 2: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Network congestion causes QoS problems

©Rui Valadas, version 1.0, 22/11/2017 2

1

2

3

i1

i2

i3i4

i5

host

routing table

dest int

1 i1

2 i1

3 i1

4 i3

5 i2

6 i2

dest int

1 i4

2 i3

3 i3

4 i2

5 i1

6 i4

dest int

1 i4

2 i5

3 i1

4 i3

5 i3

6 i2

dest int

1 i1

2 i1

3 i1

4 i3

5 i2

6 i2

dest int

1 i1

2 i1

3 i1

4 i4

5 i3

6 i2

4

i1

i2

i3

i4

Sw3

i1

i2

i3

5

6

Sw6i2

i3

i4i5

packet

data

5data

6data

5data

5data

6

data1

data1

data1

data1

data1

i1

dest int

1 i4

2 i3

3 i3

4 i2

5 i1

6 i1i1

i2

i3

i3

i2

i1

i4

Sw2

Sw1

5

data

data

2da

ta3

data

3da

ta3

data

2

Sw5

6

data

data4

data4

data4

data4

data4

Packets can

be dropped!

Page 3: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

End-to-end delay

• End-to-End delay = Σ propagation delay + Σ processing delay + Σ queuing delay

• Queuing delay is variable; propagation and processing delays are fixed per link and router respectively

©Rui Valadas, version 1.0, 22/11/2017 3

Src Rcv

Propagation delay Queuing delay

Processing delay

Page 4: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

QoS degradation factors and mechanisms

• QoS degradation factors

• Excessive packet loss, excessive packet delay, excessive packet delay variation, insufficient throughput (bandwidth), excessive session blocking

• QoS mechanisms

• Mechanisms that help improving the QoS of all users, or differentiating among to QoS of groups of users

• Routing, flow control, admission control, scheduling, dropping

• QoS performance metrics (packet level)

• Throughput (bandwidth), delay, delay-jitter, loss

©Rui Valadas, version 1.0, 22/11/2017 4

Page 5: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

QoS mechanismsService A

Service B

Service B

©Rui Valadas, version 1.0, 22/11/2017

FC

/AC

FC

/AC

FC/A

C

PACKET SCHEDULLING

&

PACKET DISCARD

link

ROUTING

switch

FLOW CONTROL

ADMISSION CONTROL

5

Page 6: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Routing

•Routing is the function that determines the path (or paths) taken by packets from source node to destination node

• IP routing is hop-by-hop, destination based, using shortest path routing principle

•How good is this?

©Rui Valadas, version 1.0, 22/11/2017 6

Page 7: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Minimum hop routing

©Rui Valadas, version 1.0, 22/11/2017 7

R1

R2

R4

R8

R5

R3

R7

Links have 150 Mb/s of capacity, except R6-R3

R6-R3 has 2 Gb/s of capacity

Flow R1-R3: 100 Mb/s

Flow R2-R3: 100 Mb/s

Minimum hop routing (e.g. RIP)

R6

congested links

Page 8: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Shortest path routing

©Rui Valadas, version 1.0, 22/11/2017 8

R1

R2

R4

R8

R5

R6

R3

R7

Links have 150 Mb/s of capacity, except R6-R3

R6-R3 has 2 Gb/s of capacity

Flow R1-R3: 100 Mb/s

Flow R2-R3: 100 Mb/s

Shortest path routing with user-defined weights (e.g. OSPF)

congested links

Page 9: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Shortest path routing with equal cost splitting

©Rui Valadas, version 1.0, 22/11/2017 9

R1

R2

R4

R8

R5

R6

R3

R7

Links have 620 Mb/s of capacity, except R6-R3 and R8-R6

R6-R3 has 2 Gb/s; R8-R6 has 150 Mb/s

Flow R1-R3: 550 Mb/s

Flow R2-R3: 100 Mb/s

Administratively, cost of R4-R5-R6 = cost R4-R7-R8

275

275

275

275

275

50

50

50

50

50

100100

550

550

congested link

Page 10: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Routing through LSPs (MPLS)

©Rui Valadas, version 1.0, 22/11/2017 10

R1

R2

R4

R8

R5

R6

R3

R7

Links have 620 Mb/s of capacity, except R6-R3 and R8-R6

R6-R3 has 2 Gb/s; R8-R6 has 150 Mb/s

Flow R1-R3: 550 Mb/s

Flow R2-R3: 100 Mb/s

Each flow is transported in a different LSP

550

550

100

100

100

100100

550

550

no congested

linksLSP1

LSP2

Routing is no longer tied to the destination address!

Page 11: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

QoS differentiation via packet scheduling

©Rui Valadas, version 1.0, 22/11/2017 11

1

2

3

i1

i2

i3i4

i5

host

routing table

dest int

1 i1

2 i1

3 i1

4 i3

5 i2

6 i2

dest int

1 i4

2 i3

3 i3

4 i2

5 i1

6 i4

dest int

1 i4

2 i5

3 i1

4 i3

5 i3

6 i2

dest int

1 i1

2 i1

3 i1

4 i3

5 i2

6 i2

dest int

1 i1

2 i1

3 i1

4 i4

5 i3

6 i2

4

i1

i2

i3

i4

Sw3

i1

i2

i3

5

6

Sw6i2

i3

i4i5

data1

data1

i1

dest int

1 i4

2 i3

3 i3

4 i2

5 i1

6 i1i1

i2

i3

i3

i2

i1

i4

Sw2

Sw1

5

data

data

2da

ta3

data

3da

ta3

data

2

Sw5

6

data

data4

data4

data4

data

5data

5data

5data

6

higher priority

packet flow

Page 12: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Classification

• Process of categorizing an aggregate of traffic flows into a number of classes to which specific QoS mechanisms may be applied

©Rui Valadas, version 1.0, 22/11/2017 12

Classifier

Flow 1

Flow 2

Flow 3

Flow 4

Flow 5

Flow 6

Class-of-Service 1

Class-of-Service 2

Class-of-Service 3

Page 13: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Classification• Many possible criteria for grouping packets:

• Place in the same Class-of-Service packets with same pair (IP source address, IP destination address)

• Place in the same Class-of-Service packets with same tuple (IP source address, IP destination address, source port number, destination port number, IP protocol type)

• Place in the same Class-of-Service packets that entered the router via the same interface

• Place in the same Class-of-Service packets with same TOS field

©Rui Valadas, version 1.0, 22/11/2017 13

Classifier

Flow 1

Flow 2

Flow 3

Flow 4

Flow 5

Flow 6

Class-of-Service 1

Class-of-Service 2

Class-of-Service 3

Page 14: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Packet scheduling algorithms

• Packet scheduling algorithm – decides the order of packet transmission at a link

• With and without work conservation

• With work conservation – the transmission link is only inactive when no packets are waiting to be transmitted

• Without work conservation – the transmission link can be inactive while packets are waiting to be transmitted

©Rui Valadas, version 1.0, 22/11/2017 14

Page 15: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

First-In First-Out (FIFO)

• Also know as First-Come First-Served (FCFS)

• Packets are served by order of arrival

• Default packet scheduling mechanism used in IP routers

• Service given to specific packet flows can not be differentiated

• No protection against misbehaved flows

©Rui Valadas, version 1.0, 22/11/2017 15

Scheduler

3

4

2

5

1

Flow 1

Flow 2

Flow 3

Flow 4

Flow 5

Flow 6

1245 3

order of link transmission

Page 16: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Strict priority

• Each Class-of-Service is assigned a priority

• Packets with higher priority are always transmitted before packets with lower priority

• A higher priority packet flow can degrade the service of lower priority ones

©Rui Valadas, version 1.0, 22/11/2017

Scheduler

Highest Priority Queue

Middle Priority Queue

Lowest Priority Queue order of link transmission

16

Page 17: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Rate-controlled strict priority

• Strict priority scheduling but queues are constrained to not exceed a certain percentage of the link capacity

• Is this scheme work-conserving?

©Rui Valadas, version 1.0, 22/11/2017 17

Scheduler

Highest Priority Queue

Lowest Priority Queue

order of link transmission

TTTT

Time interval between successive transmissions not smaller than T

→ Transmission rate not larger than 1/T packets/s

Page 18: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Weighted Round-Robin

• Each Class-of-Service is assigned a queue and each queue is assigned a weight

• The queues are served in round-robin order

• The queue weight defines the guaranteed minimum percentage of the link capacity that a queue will get

• Fixed size packets:

• Every time a queue is visited, transmit a number of packets up to the queue weight before proceeding to the next queue

• If queue gets empty, proceed immediately to the next queue

• Variable packet lengths:

• Same procedure but needs to know a priori the average packet length of each flow in order to calculate the correct queue weights

• Can stay for too long serving a single flow

©Rui Valadas, version 1.0, 22/11/2017 18

Page 19: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Weighted Round-Robin (fixed-size packets)

©Rui Valadas, version 1.0, 22/11/2017

If link has capacity 𝐶 bits/s, the minimum guaranteed rate of queue 𝑖 , with weight 𝑤𝑖 , is:

𝑟𝑖 =𝑤𝑖

σ𝑖𝑤𝑖𝐶

Maximum achievable rate (any queue): 𝐶 bits/s

Scheduler

Queue 1, Weight = 2

Queue 2, Weight = 3

Queue 3, Weight = 4 order of link transmission

19

Page 20: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Weighted Round-Robin (variable-sized packets)

©Rui Valadas, version 1.0, 22/11/2017 20

Problem with variable-sized packets: all queues get

the same percentage of the link capacity (in

bits/second), although the weights of queues 2

and 3 are the double of queue 1

Can determine appropriate weights, but needs to

know average packet size associated to each

queue

Scheduler

Queue 1, Weight = 1

Queue 2, Weight = 2

Queue 3, Weight = 2 order of link transmission

Page 21: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Deficit Round-Robin

• Handles variable packets sizes without knowing the average packet size of each flow in advance

• Each Class-of-Service is assigned a queue and each queue is assigned a quantum (in bytes); the queues are served in round-robin order; the quantum defines the guaranteed minimum percentage of the link capacity that a queue will get

• Operation:

• Every queue has a deficit counter initialized to 0

• Every time a visit to a queue is initiated add quantum bytes to the deficit counter; if the queue is found empty reset the deficit counter to 0

• While visiting a queue one or more packets can be transmitted; a packet can be transmitted if its packet size is equal or lower to the deficit counter; when a packet is transmitted subtract its size from the deficit counter; if no more packets can be transmitted proceed to the next queue immediately

• Can stay for too long serving a single flow

©Rui Valadas, version 1.0, 22/11/2017 21

Page 22: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Deficit Round-Robin

©Rui Valadas, version 1.0, 22/11/2017 22

Scheduler

1300

Queue 1, Quantum = 1000

500

1500200

Queue 2, Quantum = 2000

order of link transmission100900

1500

150020010013005009001500

1st cycle:▪ F1 not served, credit Q1 = 1000

▪ P1-Q2, credit Q2 = 2000 – 1500 = 500

▪ P2-Q2, credit Q2 = 500 – 200 = 300

▪ P3-Q2, credit Q2 = 300 – 100 = 200

2nd cycle:▪ P1-Q1, credit Q1 = 2000 – 1300 = 700

▪ P2-Q1, credit Q1 = 700 – 500 = 200

▪ P4-Q2, credit Q2 = 2200 – 900 = 1300

3rd cycle:▪ Q1 not served, credit Q1 = 1200

▪ Credit Q2 = 0

4th cycle:▪ P3-Q1, credit Q1 = 2200 – 1500 = 700

▪ Credit Q2 = 0

5th cycle:▪ Credit Q1 = 0

▪ Credit Q2 = 0

If link has capacity 𝐶 bits/s, the minimum guaranteed rate of queue 𝑖, with quantum 𝑞𝑖 , is:

𝑟𝑖 =𝑞𝑖

σ𝑖 𝑞𝑖𝐶

Maximum achievable rate (any queue): 𝐶 bits/s

Page 23: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Packet scheduling

©Rui Valadas, version 1.0, 22/11/2017

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

sentido do tráfego FTP

fonte: 10.0.0.10

fonte: 20.0.0.20

fonte: 30.0.0.30

destino: 40.0.0.40

destino: 40.0.0.42

destino: 40.0.0.41

23

Page 24: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study - FIFO

©Rui Valadas, version 1.0, 22/11/2017

Pacotes capturados em 40.0.0.0

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

24

Page 25: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Strict Priority

©Rui Valadas, version 1.0, 22/11/2017

Captura em 40.0.0.0, no momento em que

se iniciou a transferência de 20.0.0.20

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

25

Page 26: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Strict Priority

©Rui Valadas, version 1.0, 22/11/2017

Captura em 40.0.0.0, no momento em que

se iniciou a transferência de 10.0.0.10

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

26

Page 27: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Strict Priority

©Rui Valadas, version 1.0, 22/11/2017

Captura em 40.0.0.0, no momento em que se

cancelou a transferência de 10.0.0.10

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

27

Page 28: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Strict Priority

©Rui Valadas, version 1.0, 22/11/2017

Captura em 40.0.0.0, no momento em que

se cancelou a transferência de 20.0.0.20

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

28

Page 29: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Deficit Round Robin

©Rui Valadas, version 1.0, 22/11/2017

Pesos iguais em cada fila de espera:

queue-list 1 queue 1 byte-count 1000

queue-list 1 queue 2 byte-count 1000

queue-list 1 queue 3 byte-count 1000

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

29

Page 30: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Case study – Deficit Round Robin

©Rui Valadas, version 1.0, 22/11/2017

Fila que serve 10.0.0.10 com peso duplo:

queue-list 1 queue 1 byte-count 2000

queue-list 1 queue 2 byte-count 1000

queue-list 1 queue 3 byte-count 1000

Router A

Router B

Router C

10.0.0.0 20.0.0.0

10.0.0.10 20.0.0.20

30.0.0.0

40.0.0.0

30.0.0.30 40.0.0.40 40.0.0.42 40.0.041

ligação série

S1

30

Page 31: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Flow and admission control mechanisms

• Controls the amount of traffic injected in a network

• Admission control – Determines if a (complete) traffic session can or cannot be accepted by the network

• Like in telephony networks, where phone calls can be accepted or rejected

• Flow control – Allows each traffic source to adapt its transmission rate according to the needs of the receiver and/or the network

• As in TCP, which determines if a network is congested through the detection of packet losses

• Can be implemented at different network layers

©Rui Valadas, version 1.0, 22/11/2017 31

Page 32: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Flow control

• Open-loop flow control

• Source regulates traffic injected in the network according to traffic contract previously established with the network

• Closed-loop flow control

• Source adapts dynamically its transmission rate to the share of resources it may get from the network at each time

• Hybrid flow control

• Combines open-loop and closed-loop flow control

• Example: source reserves a minimum of resources during session set-up, but receive a large share if the network utilization is low

©Rui Valadas, version 1.0, 22/11/2017 32

Page 33: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Open-loop flow control

• User and network establish a contract, called Service Level Agreement (SLA)

• User describes the traffic it needs to inject in the network using a set of traffic descriptors

• User regulates traffic to be in agreement with SLA. This is also called traffic shaping

• Network provider can measure the traffic, and apply marking and/or dropping policies if traffic is not conformant to contract. This is also called traffic policing

• Traffic descriptors/regulators/policers• Peak rate

• Average rate

• LBAP / Leaky bucket

©Rui Valadas, version 1.0, 22/11/2017 33

Page 34: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Regulators (shapers) versus policers

• Regulators (shapers):

• Modify input traffic characteristics to be in agreement with traffic descriptors

• May have to queue packets

• Policers

• Measure the input traffic characteristics to verify if they are in agreement with traffic descriptors; if not, discard or mark packets (e.g. for high-priority discard)

• Do not queue packets

©Rui Valadas, version 1.0, 22/11/2017 34

INPUT OUTPUT

TEST

DATA

BUFFER

INPUT OUTPUT

TEST

DISCARD

or MARK

Page 35: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate descriptor

• Peak rate – highest rate at which the source can transmit

• Descriptors:

• Fixed-size packets – inverse of the closest spacing between the starting times of consecutive packets

• If closest spacing is T, peak rate is 1/T packets/s

• Variable-sized packets – needs two parameters, peak rate and time window over which it is measured

©Rui Valadas, version 1.0, 22/11/2017 35

time

packet

inter-arrival times closest spacing = T

packet packet packet

time

packet

measurement window

packet packet packet

Page 36: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate descriptor

• Example:

• If all packets of a traffic session are 50 bytes long, and the closest spacing is 10 ms, what is the peak rate? (A: 100 packets/s leading to 5 Kbytes/s)

• If the peak rate is 8 Mb/s over all intervals of 15 ms, what is the largest amount of data that can be generated in 75 ms? And in 70 ms? (A: 600 Kb)

©Rui Valadas, version 1.0, 22/11/2017 36

time

packet

inter-arrival times closest spacing = T

packet packet packet

time

packet

measurement window

packet packet packet

Page 37: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate regulator

• Regulator for fixed-size packets

• Requires buffer + timer

• Operation

• T – inverse of peak-rate

• Timer is set initially to zero

• When a packet starts being transmitted, the timer is set to T, and starts counting down

• Packets that arrive while the timer is counting down are stored in the buffer

• When the timer expires, the packet in the head of the buffer (if any) is transmitted immediately

• Packets that arrive when the timer value is zero and there are no packets waiting in the buffer are transmitted immediately

• Regulator for variable-sized packets

• Similar to the regulator for the average rate (later)

©Rui Valadas, version 1.0, 22/11/2017 37

INPUT OUTPUT

TEST

DATA

BUFFER

Page 38: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate regulator

©Rui Valadas, version 1.0, 22/11/2017 38

INPUT OUTPUT

TEST

DATA

BUFFER

0.2 0.3 1.01.

6

1.

7 time

time

Arrivals

Departures

T T

0.4

T T T

0.2 0.5 0.8 1.1 1.6 1.9

T=0.3

Page 39: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate policer

©Rui Valadas, version 1.0, 22/11/2017 39

0.2 0.31.

7 time

time

Arrivals

Departures

T

0.4

T T T

0.2 0.7 1.0 1.7

T=0.3

0.7 0.9

T

1.0 1.3

1.3

1.5

INPUT OUTPUT

TEST

DISCARD

or MARK

Packets discarded

Page 40: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Peak rate policer

©Rui Valadas, version 1.0, 22/11/2017 40

INPUT OUTPUT

TEST

DISCARD

or MARK

0.2 0.31.

7 time

time

Arrivals

Departures

T

0.4

T T T

0.2 0.7 1.0 1.7

T=0.3

0.7 0.9

T

1.0 1.3

1.3

1.5

Packets marked as out-of-profile

Page 41: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Average rate descriptor

• The average rate is described by two parameters:• T = time window over which the rate is measured

• A = number of bits that can be sent in the above time window

• … or equivalently by average rate and measurement window

• Also applies to peak rate with variable packet sizes

• Jumping-window: no more than A bits are transmitted over consecutive windows of length T

• Moving-window: no more than A bits are transmitted over all windows of length T

• Regulator requires buffer + timer + counter

©Rui Valadas, version 1.0, 22/11/2017 41

Page 42: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Jumping-window regulator

• Operation

• Counter is set to 0 at t = 0

• When a packet is transmitted the counter is incremented by the packet size

• Every T time units the counter is reset to 0

• When a packet arrives, if counter value + packet size not greater than A, the packet is transmitted immediately; otherwise it is stored in the queue

• When the counter is reset to 0, queued packets are transmitted immediately until the counter reaches A

©Rui Valadas, version 1.0, 22/11/2017 42

INPUT OUTPUT

TEST

DATA

BUFFER

Page 43: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Jumping-window regulator

©Rui Valadas, version 1.0, 22/11/2017 43

INPUT OUTPUT

TEST

DATA

BUFFER

0.2 0.3 0.5 0.6 0.8 1.0 1.7 1.9

20K

0K

60K

80K

100K

40K

70K

100K

time

time

Arrivals

Departures

Counter

A = 100 K, T = 1

Page 44: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Moving-window regulator

• Operation

• Regulator saves the departure time and the size of each transmitted packet

• The test to transmit or store a packet at the buffer is identical to the jumping-window regulator

• Moreover, T seconds after a packet was transmitted the counter is decremented by its size

• NOTE: If the regulator decides to store a packet in the buffer, it can determine its departure time by examining the departure times of the other waiting packets

©Rui Valadas, version 1.0, 22/11/2017 44

INPUT OUTPUT

TEST

DATA

BUFFER

Page 45: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Moving-window regulator

©Rui Valadas, version 1.0, 22/11/2017 45

INPUT OUTPUT

TEST

DATA

BUFFER

0.2 0.3 0.5 0.6 0.8 1.0 1.7 1.9

20K

40K

20K

20K

10K

30K

30K

30K

20K

1.2 1.3

0K

60K

80K

100K90K

80K

60K

40K

70K

100K

1.5 1.6 time

time

Arrivals

Departures

Counter

A = 100 K, T = 1

Page 46: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Linear Bounded Arrival Process (LBAP)

• An LBAP-constrained source bounds the number of bits transmitted in any interval of length t by a linear function of t, A(t), characterized by two parameters, r and s :

A(t) ≤ rt + s

• r is the long-term average rate and s is the longest burst a source may send

©Rui Valadas, version 1.0, 22/11/2017 46

s

time

actual transmitted bits

bound A(t) ≤ rt + s

Page 47: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Leaky bucket regulator

• Regulates an LBAP descriptor

• Includes buffer, bucket, and timer

• Operation

• Token bucket is a special type of counter: collects tokens of fixed size (i.e., a number of bytes) at a steady rate of r tokens/second; bucket has only capacity for s tokens; tokens will be discarded when arriving at a full bucket

• When a packet arrives, it is transmitted immediately if the number of bytes in the bucket is greater or equal to its packet size; otherwise it is stored in the data buffer

• When a packet is transmitted the regulator removes from the bucket a number of bytes equal to its packet size

• A packet waiting at the head of the queue is transmitted as soon as the number of bytes in the bucket reaches its packet size

©Rui Valadas, version 1.0, 22/11/2017 47

INPUT OUTPUT

TEST

DATA

BUFFER

TOKEN

BUCKETs

r

Page 48: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Leaky bucket regulator

• Example: Tokens with a size of 100 bytes are added to a leaky bucket regulator of capacity 500 bytes at a rate of 2 tokens/second• What is the average rate, peak rate, and largest burst size of the regulated

traffic?

• Can this regulator handle a packet of size 700 bytes?

• If a packet of size 400 bytes arrives when the bucket contains tokens worth 200 bytes, and there are no other packets awaiting service, what is the least and most delay it could have before transmission?

©Rui Valadas, version 1.0, 22/11/2017 48

INPUT OUTPUT

TEST

DATA

BUFFER

TOKEN

BUCKETs

r

Page 49: Quality-of-Service (QoS) mechanisms and architectures · QoS degradation factors and mechanisms •QoS degradation factors •Excessive packet loss, excessive packet delay, excessive

Packet discard mechanisms• When packets arrive at a full buffer, how are packets discarded?

• Drop tail – drop the incoming packet

• Drop head – drop packet at the head of queue

• Drop random – drop packet at a random position in the queue

• Drop priorities

• Network may drop first packets that have been marked by source or by policer

• When different classes-of-service share same buffer, different drop priorities may be applied to each one

• Preventive discard: dropping packets may start before queue gets full (early drop)

©Rui Valadas, version 1.0, 22/11/2017 49

Drop headDrop tailDrop

random

to tx link


Recommended