Quality-of-Service Architectures for the Internet

Quality-of-Service Architectures for the Internet © Jörg Liebeherr, 1998-2002 1 Quality of Service What is Quality-of-Service? • QoS refers to traf...
Author: Derek Lane
2 downloads 0 Views 137KB Size
Quality-of-Service Architectures for the Internet

© Jörg Liebeherr, 1998-2002

1

Quality of Service What is Quality-of-Service? • QoS refers to traffic control mechanisms that seek to either differentiate performance based on application or networkoperator requirements, or provide predictable or guaranteed performance to applications, sessions, or traffic aggregates. Why is this an issue? • The default service in many packet networks is to give all applications the same service, and not consider any service requirements to the network This is called a best-effort service.

© Jörg Liebeherr, 1998-2002

2

1

Quality of Service Who needs Quality-of-Service? – – – –

Video and audio conferencing à bounded delay and loss rate Video and audio streaming à bounded packet loss rate Time-critical applications (real-time control) à bounded delays “valuable applications” à better service than less valuable applications

How are Quality-of-Service requirements specified? • QoS requirements can be specified as – – – –

Delay Delay Variation (Jitter) Throughput Error Rate

© Jörg Liebeherr, 1998-2002

3

Components of a QoS Network 1. At routers: Packet Classification, Packet Scheduling 2. At network entrance: Traffic conditioning 3. At routers or somewhere in the network: Admission Control 4. Between hosts and routers: Signaling Admission control

Sender Traffic conditioning © Jörg Liebeherr, 1998-2002

Routers

Receiver 4

2

Classification and Scheduling Routers need to be able to 1. classify arriving packets according to QoS requirements à Packet Classification 2. Transmit packets in order to meet QoS à Packet Scheduling

© Jörg Liebeherr, 1998-2002

5

Traffic Conditioning • Traffic conditioning mechanisms at the network boundary need to enforce that traffic from a flow does not exceed specification àPolicing Drop traffic that violates specification àShaping Buffer traffic that violates specification àMarking Mark packets with a lower priority or as best effort, if the traffic specification is violated

© Jörg Liebeherr, 1998-2002

6

3

Traffic Conditioning •

The most popular traffic conditioning algorithm is the leaky bucket r token/sec are added (no tokens are added if there are b tokens)

A shaper buffers packets until a token becomes available A policer drops a packet if no token is available

Token pool (Bucket) has depth b

Network Each packet removes a token from the pool. If pool is empty, packet cannot enter © Jörg Liebeherr, 1998-2002

7

Admission Control • Admission Control is a function that decides if the network has enough resources – Admit new flow if enough resources are available – Reject the flow otherwise

I need100 ms delay for 1 Mbps traffic

Admission control Reserve capacity Admit

Sender Traffic conditioning © Jörg Liebeherr, 1998-2002

Routers

Receiver 8

4

Distributed Admission Control •

Example: End-to-end delay must be less than a delay bound D D,d1,d2,d3 D,d1

D

D,d1,d2

1

3

R

2 Reject D

S

< d 1+d2+d3 à Reject

Accept

D > d 1+d2+d3 à Accept • •

Calculate smallest possible delay bound at each node: d*1,d*2 ,d*3 and reserve resources At receiver: – If D < d*1+d*2+d*3 , reject flow, send reject message to sender and release resources – If D > d*1+d*2+d*3 , accept flow, commit resource reservation and notify sender

© Jörg Liebeherr, 1998-2002

9

Signaling • Signaling Protocol is used to reserve and release resources and to do admission control

Reserve 1 Mbps

Reserve 1 Mbps

1

Reserve 1 Mbps

Reserve 1 Mbps

3

R

2

S

© Jörg Liebeherr, 1998-2002

10

5

Granularity of QoS

• Per-flow guarantees – Require per-flow reservations in the network – Require per-flow classification at routers © Jörg Liebeherr, 1998-2002

11

Granularity of QoS

1 1

1 1

1

2

1

2

1

2 2

1

1

2 2

2 2

1

2

1

2

2 2

1

• Per-class guarantees – Bundle traffic flows with similar service requirements into “classes” – No per-flow reservations – Per-class guarantees do not immediately translate into per-flow guarantees © Jörg Liebeherr, 1998-2002

12

6

QoS Service Architectures for the Internet • Two QoS architectures have been defined for Internet. – Integrated Services (IntServ) • Proposed in 1994 • Per-flow Quality of Service • Resource reservation/admission control • Can support delay guarantees – Differentiated Services (DiffServ) • Proposed in 1998 • Class-based QoS • Resource reservation not always needed © Jörg Liebeherr, 1998-2002

13

Integrated Services IntServ specifies two types of services: Guaranteed Service – Guaranteed bandwidth – End-to-end delay bounds – No loss due to buffer overflows Controlled Load Service – Provides a service that is equivalent to a best effort service in a lightly loaded network • Low loss • Low delay • No absolute guarantees © Jörg Liebeherr, 1998-2002

14

7

Integrated Services

1. At network entrance: Policing and Shaping 2. Somewhere in the network: Admission Control

in IntServ FlowSpec (TSpec,RSpec) Distributed

3. At switches: Classification, Scheduling

Weighted Fair Queuing or other rate-based algorithm

4. Between hosts and routers: Signaling

RSVP

© Jörg Liebeherr, 1998-2002

15

Resource ReSerVation Protocol (RSVP) • RSVP is a signaling protocol that enables senders, receivers, and routers of unicast or multicast sessions to communicate with each other for setting up state to support a service – Receiver-driven • Resource reservation is initiated by receivers – Unicast and multicast sessions – Soft-state: state information of RSVP must be periodically refreshed • Separate mechanisms required for authorization, authentication, and charging © Jörg Liebeherr, 1998-2002

16

8

RSVP Functional Diagram Host

Router RSVPD

RSVPD Routing Process

Application D A T A

Packet Classifier

Policy Control

Policy Control

Admissions Control

Admissions Control

Packet Scheduler

DATA

© Jörg Liebeherr, 1998-2002

Packet Classifier

Packet Scheduler

DATA

Source: Gordon Chaffee, UC Berkeley

17

Resource Reservation • Senders advertise using PATH message • Receivers reserve using RESV message – Flowspec + filterspec + policy data – Travels upstream in reverse direction of Path message • Merging of reservations • Sender/receiver notified of changes

© Jörg Liebeherr, 1998-2002

Source: Gordon Chaffee, UC Berkeley 18

9

RSVP UDP Reservation (1)

R2

R3 PATH

2 1

R4

PATH

R1

PA TH

3

Host B 128.32.32.69

TH PA

Host A 24.1.70.210

R5

1. An application on Host A creates a session, 128.32.32.69/4078, by communicating with the RSVP daemon on Host A .

3. The PATH message follows the next hop path through R5 and R4 until it gets to Host B . Each router on the path creates soft session state with the reservation parameters.

2. The Host A RSVP daemon generates a PATH message that is sent to the next hop RSVP router, R1, in the direction of the session address, 128.32.32.69.

Source: Gordon Chaffee, UC Berkeley 19

© Jörg Liebeherr, 1998-2002

RSVP UDP Reservation (2)

R2

R3 PATH

R4 PATH RESV

Host A 24.1.70.210

R1

PA TH

TH PA

RE SV

4. An application on Host B communicates with the local RSVP daemon and asks for a reservation in session 128.32.32.69/4078. The daemon checks for and finds existing session state.

SV RE

RESV

5

4

Host B 128.32.32.69

6 R5 6. The RESV message continues to follow the next hop path through R5 and R1 until it gets to Host A . Each router on the path makes a resource reservation.

5. The Host B RSVP daemon generates a RESV message that is sent to the next hop RSVP router, R4, in the direction of the source address, 24.1.70.210.

© Jörg Liebeherr, 1998-2002

Source: Gordon Chaffee, UC Berkeley 20

10

RSVP Flowspecs Sender TSpec, Controlled Load Flowspec ... Token Bucket Rate [r] Token Bucket Size [b] Peak Data Rate [p] Minimum Policed Unit [m] Maximum Policed Unit [M]

Guaranteed Flowspec

...

Token Bucket Rate [r] Token Bucket Size [b] Peak Data Rate [p] Minimum Policed Unit [m] Maximum Policed Unit [M]

Rate [R] Slack Term [S]

Source: Gordon Chaffee, UC Berkeley 21

© Jörg Liebeherr, 1998-2002

Reservation Merging

(3) 50Kbs (7) 100 Kbs R1

Reservations merge as they travel up tree.

(6) 100 Kbs (2) 50Kbs

R3

(9) 60Kbs R4

(1) 50Kbs

© Jörg Liebeherr, 1998-2002

Receiver #1

R6

(8) 60Kbs

Receiver #2 Source:

(5) 100 Kbs R7

(4) 100 Kbs

Receiver

Gordon #3 Chaffee, UC Berkeley 22

11

Summary of IntServ – Advantages: • Strong guarantees (bounded delays) – Disadvantages: • Requires that all routers implement IntServ • Scalability concerns since routers must maintain state information • Charging and authentication of reservations must be solved • Interdomain issues are difficult to resolve

© Jörg Liebeherr, 1998-2002

23

DiffServ • Motivation: – The Integrated Services (IntServ) model is not scalable since it requires per-flow state in each node Goal: • Push complexity to the network edge and keep network core simple • Avoid per-flow state within the network as much as possible

© Jörg Liebeherr, 1998-2002

24

12

Differentiated Service Mechanisms • Definitions : – Mechanisms that allow providers to allocate different levels of service to different users of the Internet – broad view: Any mechanism that treats different users differently, including signaling (RSVP), per-session scheduling, etc. – Internet context: Simple and lightweight mechanisms that do not depend entirely on per-flow reservation

© Jörg Liebeherr, 1998-2002

25

Components of Differentiated Services

(1) Service profile between user and network defines commitment of the network to the user (2) Aggregate traffic from each user is policed at the network entrance according to profile (3) Node behavior: network nodes implement a variety of forwarding, scheduling, buffer management techniques (4) Bits in packet header trigger action at nodes

© Jörg Liebeherr, 1998-2002

26

13

Common to Most Proposed Services • Traffic marking (in-profile, out-profile) and enforcement is done only at network boundaries • Inside the network: Only differentiate a few service classes, based on marking of the packets

© Jörg Liebeherr, 1998-2002

27

Operational Model network boundary Host

Meters

network boundary ISP 1

Meters

ISP 2

Host

Source negotiates a traffic profile Nodes perform scheduling and buffer management based on marking of packets (“per -hop behavior”)

Policing, shaping, or marking based on profile

Policing, shaping, or marking based on profile © Jörg Liebeherr, 1998-2002

28

14

Aspects of a Differentiated Service (1) Semantics of the service: Which service is given to in-profile traffic of a user? (2) Spatial Granularity: Is the profile applied to a single destination, a subset of destinations, or all destinations? (3) Assurance Level: What is the level of certainty that an in-profile packet will be delivered?

© Jörg Liebeherr, 1998-2002

29

DiffServ Services • Two services defined: • Assured Forwarding (AF) – customers sign service agreements with ISPs – Edge routers mark packets as being “in” or “out” of profile – core routers run RIO: RED with in/out – Distinguishes different classes: • Expedited Forwarding (EF) – Hard guarantee on the delay and delay variations

© Jörg Liebeherr, 1998-2002

30

15

Assured Forwarding - 1 • User defines traffic profile (token bucket) • Profile meter at network entrance tag packets as in-profile or out-profile • Service guarantee: guarantee: In In--profile packets are unlikely to be dropped • Out-profile packets have higher drop preference at routers

“in”

Profile meter “out”

© Jörg Liebeherr, 1998-2002

31

Assured Forwarding - 2 Mechanisms • Mechanisms Needed : – Dropping Mechanisms at routers – Mechanism for tagging packets (“Meters”) – Method to classify packets

Host

Meters

ISP 1

Meters

ISP 2

Host

drop © Jörg Liebeherr, 1998-2002

32

16

Assured Forwarding - 3 RIO

• Routers have different dropping mechanism: RIO = RED with `in’ and `out’ • Routers do not perform separate queueing • RED (Random Early Detection): When the avgerage queue size exceeds a threshold drop each packet with a certain probability (Pdrop ) P(drop)

P(drop)

1

1 Pmax_in

Min_in

Pmax_out

Avg. queue Max_in

© Jörg Liebeherr, 1998-2002

Min_out

Max_out

Avg. queue 33

Expedited Forwarding - 1 • EF traffic must be served at a configured rate of R or faster, independent of the load • Service is equivalent to a “virtual leased line” • Routers have two priority levels (premium and best effort) • Admission Control via Bandwidth Brokers

P-bit marking

© Jörg Liebeherr, 1998-2002

Spaced to peak rate R

34

17

Expedited Forwarding - - 2 Admission Control • “Bandwidth Brokers” perform admission control at ingress router • Only the ingress router differentiates flows

Host

Packet Marking

ISP 1

Bandwidth broker

Packet Marking

ISP 2

dest Host

Bandwidth broker

© Jörg Liebeherr, 1998-2002

35

Summary of DiffServ – Advantages: • No per-flow processing in network core • Per-flow processing only at the network edge • Simpler to implement than IntServ • No signaling protocol – Disadvantages: • AF has weaker service guarantees • EF service raises same issues with charging and authentication as IntServ services

© Jörg Liebeherr, 1998-2002

36

18

Leaf Router: Input (Leaf router = the router closest to the source)

Marker (Premium Service)

Packet Classifier

Set P Bit

...

Clear A and P bits

F (pr low em 1 ium )

Wait for Token

Packet Forwarding

w2 Flo red) su (as

Marker (Assured Service)

No Token

Test if Token

Token

Set A Bit

Best Effort Traffic

Input

Marker

Output

© Jörg Liebeherr, 1998-2002

37

Border Router: Input (Border router = ingress router of a network)

No

Clear A Bit

Arriving

Packet marked?

Pakcet

n ke To

A

se t

Token available?

To ke n

et PS

Token available?

Input

© Jörg Liebeherr, 1998-2002

Forwarding Engine

Not Marked

No

Drop Packet

Profile Meter

Output

38

19

Router: Output

High priority

Yes P-bit set ?

Low priority

No

RIO queue management

© Jörg Liebeherr, 1998-2002

39

20