QoS Architectures in Computer Networks Prof. A. Sahoo KReSIT IIT Bombay

advertisement

QoS Architectures in Computer Networks

Prof. A. Sahoo

KReSIT

IIT Bombay

Introduction

 For Many Years Internet was primarily used for networking research. File transfer, email were the most popular application: They do not need any performance guarantee from underlying network.

 New applications such as VoIP, video conferencing, ecommerce apps are sensitive to network performance.

4/12/2020 IIT Bombay

2

Introduction (cont’d)

 Internet cannot provide any resource guarantees : the service is best effort

 Internet does not provide service differentiation : all packets are treated equal.

 But applications such as VoIP require low delay, jitter and packet loss; whereas file transfer app can tolerate fair amount of delay and loss. Thus there is a need to differentiate between packets of such applications.

4/12/2020 IIT Bombay

3

Current State of Internet

 Uses best-effort service model

 No guarantee of timeliness or delivery

 No service discrimination

 Bandwidth and network congestion problems

 Unpredictable network response time

4/12/2020 IIT Bombay

4

What is QoS

 The capability to provide resource assurance and service differentiation so that delay, jitter or loss sensitive applications can perform satisfactorily is often referred to as quality of service (QoS).

 can be provided through relative prioritization of resource allocation to different flows/packets in the network.

4/12/2020 IIT Bombay

5

Resource Allocation

 Many problems in the Internet come down to issue of resource allocation.

 Packets get delayed or dropped because network resource cannot meet the traffic demands.

 A network consists of shared resources : bandwidth, buffer, serving traffic from competing users.

 To support QoS network must allocate resources and decide who should get how much resources.

4/12/2020 IIT Bombay

6

Resource Allocation (cont’d)

 Current Internet does not support active resource allocation.

 Network treats all packets equally and serves them FCFS.

 Hence current Internet offers best effort service.

 Adequate for some apps (e.g. file transfer), but not suitable for realtime apps.

4/12/2020 IIT Bombay

7

4/12/2020

Integrated Services (Intserv)

IIT Bombay

8

Integrated Services

 Based on per flow resource reservation.

 Apps must make a reservation before transmitting traffic.

 App characterize its traffic and resource requirement.

 Network uses routing protocol to find a path.

 A reservation protocol is used to install the reservation state along that path.

4/12/2020 IIT Bombay

9

Integrated Services (cont’d)

 At each hop admission control checks whether sufficient resources are available to accept the new reservation.

 Resource reservation enforced by packet classification and scheduling mechanisms.

 Two new service models were introduced : guaranteed service and controlled load.

Guaranteed service provides deterministic worst case delay

Controlled load provides less firm guarantee : it’s close to a lightly loaded best-effort network.

4/12/2020 IIT Bombay

10

Integrated Services (cont’d)

 Overhead of setting up reservation is high.

 Scalability problem : Backbone will have a large number of flows and keeping flow information is not feasible.

4/12/2020 IIT Bombay

11

Basic Approach

 A set of mechanisms and protocols is used for making explicit resource reservation.

 To receive performance guarantee from the network resource reservation must be set up before the application can start transmitting packets.

4/12/2020 IIT Bombay

12

Basic Approach (Cont’d)

 Sender starts the setup of a reservation by sending characteristics and resource requirement of the flow.

 The network can accept the new application flow only if sufficient resource is there.

 Once reservation is setup successfully, application can start sending data packets.

4/12/2020 IIT Bombay

13

Key Components

QoS routing agent Admission control

Reservation setup agent

Resource reservation table

Control plane

4/12/2020

Flow identification Packet scheduler

Data plane

IIT Bombay

14

Key Component (cont’d)

 Control Plane sets up resource reservation.

 Data plane forwards data packets based on reservation state.

 To setup reservation, app first characterizes its traffic flow and specifies QoS requirements : referred to as flow specification

 The reservation setup request is then sent to the network.

4/12/2020 IIT Bombay

15

Key Component (cont’d)

Router upon getting the request, interacts with QoS routing agent to find the next hop.

It then coordinates with the admission control module to determine if there are sufficient resources to meet the requested resources.

Once reservation set up is successful, the information for the reserved flow is installed into the resource reservation table.

Info. in the resource reservation table is used to configure flow identification module and the packet scheduling module in the data plane.

4/12/2020 IIT Bombay

16

Route Selection

 IntServ does not specify any route selection of its own.

 It relies on existing routing protocols to forward its control packets further.

 Obviously a more efficient routing protocol which can find a path that is likely to have sufficient resources is desired.

4/12/2020 IIT Bombay

17

Reservation Setup

 To setup reservation a reservation set up protocol is needed that goes hop by hop along the path to install the reservation state in the routers.

 The reservation protocol must also deal with changes in the network topology.

 In IntServ, RSVP has been developed as the resource reservation protocol.

4/12/2020 IIT Bombay

18

Admission Control

 In order to provide guaranteed resources for reserved flows, a network must monitor its resource usage and admit a new flow only if it has sufficient resource.

 It has two functions : to determine if a new flow reservation can be set up based on the admission control policies and to monitor and measure the available resources.

4/12/2020 IIT Bombay

19

Flow Identification

 Router must examine every incoming packet and decide whether the packet belongs to one of the reserved flows.

 IP flow is identified by src addr, dest addr, proto ID, src port, dst port : five-tuple.

 These five fields of the incoming packet is compared against the five-tuple of all the flows in the reservation table for flow identification.

4/12/2020 IIT Bombay

20

Packet Scheduling

 Packet scheduler responsible for resource allocation

 Directly affects delay, jitter and packet loss

 Primary task is to select a packet to transmit when outgoing link is ready such that the QoS promised to flows is provided

4/12/2020 IIT Bombay

21

Service Models

 Describe interface between the network and its users.

 IntServ has standardized two basic service models:

Guaranteed service

Controlled load service

4/12/2020 IIT Bombay

22

Flow Specification

 A service contract that specifies the traffic that the source will send

 If application violates the contract then it may not get the

QoS expected.

 This is done by policing the traffic to ensure that it conforms to its traffic description.

4/12/2020 IIT Bombay

23

Flow characterization

 Peak rate : highest rate at which a source can generate traffic.

Can be calculated from packet size and the spacing between two packets.

 Average rate : The avg. transmission rate over a time interval.

Typically calculated with a moving time window.

 Burst : The max amount of data that can be injected at peak rate.

4/12/2020 IIT Bombay

24

Flow specification (cont’d)

 In IntServ, traffic is described in terms of leaky bucket parameters.

 It has two parameters : token arrival rate r and bucket depth b .

 Token gets into bucket at the rate r and packet is sent only if there are enough tokens.

 When a packet is sent, tokens equal to the packet size is removed from the bucket.

4/12/2020 IIT Bombay

25

Guaranteed Service

 Provides guaranteed bandwidth and strict bounds for delay.

 Intended for apps that require highest assurance on bw and delay : mission critical apps, intolerant playback apps.

 Can be viewed as a virtual circuit with guaranteed bw.

 Provides bounds on maximal queuing delay.

4/12/2020 IIT Bombay

26

Controlled load service

Strict bw assurance and delay bound comes at a price : resources have to be reserved for the worst case.

For some apps a service model with less strict guarantees and lower cost would better serve their needs.

End-to-end behavior somewhat vague.

A very high percentage of packets will be successfully delivered by the network to the receivers.

The transit delay experienced by a very high percentage of packets will not greatly exceed min delay.

4/12/2020 IIT Bombay

27

RSVP

 A resource reservation protocol defined under IntServ.

 Used by hosts to communicate service requirements to the network and by routers in the network to establish reservation state along a path

4/12/2020 IIT Bombay

28

Basic Features

 Simplex Reservation :

Makes reservation only in one direction.

Treats sender as logically distinct from a receiver

For two way communication, the two ends must establish reservation for both directions.

 Receiver Oriented

Receivers of a flow initiates and maintains the resource reservation.

4/12/2020 IIT Bombay

29

Basic Features (Cont’d)

 Routing Independent

Designed to operate with current and future unicast and multicast routing protocols

The path for a flow is done separately by routing protocols

 Policy Independent

RSVP transports and maintains traffic control and policy control parameters that are opaque to RSVP

Control params are passed to relevant control modules for processing.

4/12/2020 IIT Bombay

30

Basic Features (Cont’d)

 Soft State

RSVP maintains soft states providing graceful support for dynamic membership changes and automatic adaptation to routing changes.

Reservation state has a timer associated with the state. When timer expires, the state is automatically deleted.

RSVP periodically refreshes the reservation state to maintain the state along the paths.

4/12/2020 IIT Bombay

31

Basic Features (Cont’d)

 Reservation Style

RSVP provides several reservation models or styles to fit a variety of applications

Can be used to share a reservation among traffic streams from multiple senders or to select a particular sender.

4/12/2020 IIT Bombay

32

Protocol Overview

4/12/2020

(1)

(6)

(5)

(2)

IIT Bombay

(3)

PATH

(4)

RESV

33

Protocol Overview (Cont’d)

 Two primary RSVP msgs : PATH and RESV

 PATH msgs are sent from source towards the receivers.

Used to pass characteristics of the path.

Installs path state in each node along the way

Includes IP address of previous hop (needed to send RESV msg)

 After receiving PATH msg receiver can request a reservation by sending RESV msg.

4/12/2020 IIT Bombay

34

Protocol Overview (Cont’d)

 RESV must follow the exact same reverse path upstream.

 They create reservation state in each node along the paths

 After receiving RESV msg sender can start sending data packets.

4/12/2020 IIT Bombay

35

IntServ References

R. Braden, D. Clark, S. Shenker, “Integrated Services in the Internet Architecture: an Overview”, RFC1633

J. Wroclawski, “The Use of RSVP with IETF Integrated

Services”, RFC2210.

J. Wroclawski , “Specification of the Controlled-Load

Network Element Service”, RFC2211

S. Shenker, C. Patridge, R. Guerin, “Specification of

Guaranteed Quality of Service, RFC2212

R. Braden, L.Zhang et. al., “Resource Reservation

Protocol (RSVP)”, RFC2205

4/12/2020 IIT Bombay

36

4/12/2020

Differentiated Service

IIT Bombay

37

DiffServ

 Differentiated Services (DiffServ) is proposed by IETF as a scalable QoS solution for the next generation Internet.

 Developed for relatively simple, coarse methods of providing different levels of service for Internet traffic.

 Divides traffic into a small number of classes and allocates resources on a per class basis.

 Core of a diffserv network distinguishes between small number of forwarding classes rather than individual flows.

4/12/2020 IIT Bombay

38

DiffServ (cont.)

 Complex per-flow classification and scheduling used in intServ (causes scalability) not needed.

 Operates on a per-hop behavior (PHB) basis

 Classifies packets by marking the headers; Routers discriminate packets based on their markings

 Packet marking is done on the basis of a service level agreement (SLA) between the host and the ISP

 Provides service assurances but no QoS guarantee

4/12/2020 IIT Bombay

39

Basic Approach

 Traffic is divided into a small number of groups called forwarding classes

 Forwarding class that a packet belongs to is encoded into a field in the IP packet header.

 Each forwarding class represents a predefined forwarding treatment in terms of drop priority and bandwidth allocation.

4/12/2020 IIT Bombay

40

Basic Approach(cont.)

 Achieves scalability by implementing traffic classification and conditioning functions at network boundary nodes

 Classification involves mapping packets to different forwarding classes.

 Conditioning : checking whether traffic flows meet the service agreement and dropping/remarking nonconformant packets.

 Interior nodes forward packets based solely on the forwarding class.

4/12/2020 IIT Bombay

41

Basic Approach(cont.)

 Resource allocation for aggregated traffic rather than individual flows

Performance assurance to individual flows in a forwarding class provided through prioritization and provisioning rather than per-flow reservation

 Traffic policing on the edge and class-based forwarding in the core

 Define forwarding behaviors not services

4/12/2020 IIT Bombay

42

Basic Approach(cont.)

 Guarantee by provisioning rather than reservation

Allocate resources to forwarding class and control the amount of traffic for these classes

Provides only service assurance; no bw or delay guarantee

 Based on SLAs, not dynamic signaling

 Focus on a single domain, not end-to-end

Forwarding classes can be defined for a single domain and between domains service providers can extend or map their definitions through bilateral agreement

4/12/2020 IIT Bombay

43

Per Hop Behavior (PHB)

 Forwarding treatments at a node

 Each PHB is represented by a 6-bit value called DSCP

 All packets with the same code points are referred to as a behavior aggregate (BA) and they receive the same forwarding treatment.

 Basic building block in diffserv for resource allocation to different BAs.

4/12/2020 IIT Bombay

44

PHB (cont.)

 May describe forwarding behavior in either relative or absolute terms

Minimal bw for BA : absolute term

Allocate bw proportionally : relative

 Typically implemented by means of buffer management and packet scheduling.

4/12/2020 IIT Bombay

45

Services

Describes the overall treatment of a customer’s traffic within a DS domain or end-to-end.

 This is what is visible to the customers; PHBs are hidden inside the network node.

 Realizing a service involves many components to work together: mapping of traffic to specific PHBs, traffic conditioning at the boundary, network provisioning,

PHB-based forwarding in the core

4/12/2020 IIT Bombay

46

Services (cont.)

 In diffserv, services are defined in the form of a Service

Level Agreement (SLA) between a customer and its service provider

 One important element of SLA in diffserv is the traffic conditioning agreement (TCA).

 TCA details the service parameters for traffic profiles and policing actions.

4/12/2020 IIT Bombay

47

Services (cont.)

 This may include

Traffic profiles, such as token bucket parameters for each of the classes

Performance metrics : throughput, delay

Actions for non-conformant packets

 In addition to TCA, an SLA may also contain other characteristics and business-related agreements such as availability, security, monitoring, auditing, billing.

4/12/2020 IIT Bombay

48

Services (cont.)

 SLAs may be static or dynamic

 Services can be defined in either quantitative or qualitative terms

 Services may have different scopes:

All traffic from ingress node A and any egress nodes

All traffic between ingress node A and egress node B

4/12/2020 IIT Bombay

49

Diffserv Architecture

BB

Leaf marker

Intermediate marker

BB

Leaf marker

Intermediate marker

--end user --edge router

BB

Intermediate marker

--core router

BB

4/12/2020 IIT Bombay

50

Packet Classifier and Traffic Conditioner

METER

PACKETS

CLASSIFIER MARKER

SHAPER

DROPPER

4/12/2020 IIT Bombay

51

Classifier

 Divides an incoming packet stream into multiple groups based on predefined rules

 Two basic types of classifiers:

Behavior aggregate (BA)

Multifield (MF)

 BA classifier selects packets based solely on DSCP value in the packet header

 BA classifier is used when DSCP has been set (marked) before the packet reaches the classifier

4/12/2020 IIT Bombay

52

Classifier (Cont.)

 MF classifier uses a combination of one or more fields of the five-tuple (src addr, src port, dest addr, dest port, proto ID) in the packet header for classification

 Classification policies may specify a set of rules and corresponding DSCP values for marking the matched packets

4/12/2020 IIT Bombay

53

Traffic Conditioner

 Performs traffic policing function to enforce the TCA between customer and service providers

 Four basic elements : meter, marker, shaper and dropper

4/12/2020 IIT Bombay

54

Meter

 For each forwarding class meter measures the traffic flow from a customer against its traffic profile

 In-profile packets are allowed to enter the network

 Out-profile packets are further conditioned based on TCA

4/12/2020 IIT Bombay

55

Marker

 Sets the DS field of a packet to a particular DSCP, adding marked packet to forwarding class.

 May act on unmarked packets or remark previously marked packets.

 Can occur at different locations:

Can be marked by the application

Marked by the first-hop routers on LAN

Such marking is usually associated with an MF classification

4/12/2020 IIT Bombay

56

Marker (cont.)

 Marking can be done on non-conforming packets:

Packets may be marked with a special DSCP to indicate nonconformance

These packets would be dropped first in the event of network congestion

 Since packets travel through different domains, packets that have been marked may be remarked (to a different

DSCP).

4/12/2020 IIT Bombay

57

Marker (cont.)

 When packet remarked with new DSCP receives worse forwarding treatment than from previous DSCP : PHB demotion

 With better forwarding treatment : PHB promotion

4/12/2020 IIT Bombay

58

Shaper

 Shapers delay non-conformance packets in order to bring the stream into compliance.

 A stronger form of policing than marking

 Shaping may also be needed at a boundary node to a different domain (to make sure that the traffic is conformant before entering the next domain)

 Usually has finite buffer, so may also drop packets when buffer is full

4/12/2020 IIT Bombay

59

Dropper

 Discards packets in a traffic stream in order to bring the stream into compliance with a traffic profile.

 Strongest policing entity

 Can be implemented as a special case of a shaper by setting the shaper buffer size to zero.

4/12/2020 IIT Bombay

60

Differentiated Services Field

 Uses 6 bits in the IP header to encode forwarding treatment

 These 6 bits are those out of the IP TOS field (8 bits long)

 DiffServ redefines existing IP TOS field to indicate forwarding behavior

 Replacement field, called DS field supersedes existing definition of TOS

 First 6 bits used as DSCP to encode the PHB, remaining

2 bits are currently unused (CU).

4/12/2020 IIT Bombay

61

Differentiated Services Field (cont.)

 xxxxx0 – standard action

 xxxx11 – experimental and local use

 xxxx01 – experimental and local use but may be subject to standard action (in case pool 1 is exhausted)

4/12/2020 IIT Bombay

62

Assured Forwarding (AF)

 One of the two PHB groups standardized by IETF.

 Four forwarding classes and three drop precedences within each forwarding class.

 The three drop precedences within each forwarding class are used to select which packet to drop during congestion

Highest drop precedence is dropped first.

4/12/2020 IIT Bombay

63

Assured Forwarding (AF)

Class 1 Class 2 Class 3 Class 4

001010 010010 011010 100010 Low drop

Medium drop 001100 010100 011100 100100

High drop 001110 010110 011110 100110

4/12/2020 IIT Bombay

64

Expedited Forwarding (EF)

 Proposed to characterize a forwarding treatment similar to that of a simple priority queuing.

 Forwarding treatment of traffic aggregate must equal or exceed a configurable rate

 Should receive this rate independent of load of other traffic passing through the node

 Provides low delay and low loss service

 Code point <101110> used for EF PHB

4/12/2020 IIT Bombay

65

References

“An Architecture for Differentiated Services” – RFC

2475

“A Framework for Integrated Services Operation over

Diffserv Networks” – RFC 2998

“Random Early Detection Gateways for Congestion

Avoidance” – IEEE/ACM Trans. On Networking vol. 1,

No-4, August 1993

“Explicit Allocation of Best-Effort Packet Delivery

Service” – IEEE/ACM Trans. On Networking, vol. 6, no-

4, August 1998.

4/12/2020 IIT Bombay

66

4/12/2020

Multi Protocol Label Switching (MPLS)

IIT Bombay

67

MPLS Basics

 Multi Protocol Label Switching is arranged between

Layer 2 and Layer 3

4/12/2020 IIT Bombay

68

MPLS Basics (cont.)

MPLS Characteristics

Mechanisms to manage traffic flows of various granularities

( Flow Management )

Is independent of Layer-2 and Layer-3 protocols

Maps IP-addresses to fixed length labels

Interfaces to existing routing protocols (RSVP, OSPF)

Supports ATM, Frame-Relay and Ethernet

4/12/2020 IIT Bombay

69

 Generic label format

Label

4/12/2020 IIT Bombay

70

Label (cont.)

 Label distribution

MPLS does not specify a single method for label distribution

BGP has been enhanced to piggyback the label information within the contents of the protocol

RSVP has also been extended to support piggybacked exchange of labels.

4/12/2020 IIT Bombay

71

Label (cont.)

IETF has also defined a new protocol known as the label distribution protocol (LDP) for explicit signaling and management

Extensions to the base LDP protocol have also been defined to support explicit routing based on QoS requirements.

4/12/2020 IIT Bombay

72

Label Edge Router - LER

 Resides at the edge of an MPLS network and assigns and removes the labels from the packets.

 Support multiple ports connected to dissimilar networks

(such as frame relay, ATM, and Ethernet).

4/12/2020 IIT Bombay

73

Label Switching Router - LSR

Is a high speed router in the core on an MPLS network.

ATM switches can be used as LSRs without changing their hardware. Label switching is equivalent to VP/VC switching.

4/12/2020 IIT Bombay

74

Positions of LERs & LSRs

4/12/2020 IIT Bombay

75

Forward Equivalence Class - FEC

 Is a representation of a group of packets that share the same requirements for their transport.

 The assignment of a particular packet to a particular FEC is done just once (when the packet enters the network).

4/12/2020 IIT Bombay

76

Label-Switched Paths - LSPs

 A path is established before the data transmission starts.

 A path is a representation of a FEC.

4/12/2020 IIT Bombay

77

LSP Details

MPLS provides two options to set up an LSP hop-by-hop routing

Each LSR independently selects the next hop for a given FEC. explicit routing

Is similar to source routing. The ingress LSR specifies the list of nodes through which the packet traverses.

The LSP setup for an FEC is unidirectional. The return traffic must take another LSP!

4/12/2020 IIT Bombay

78

MPLS Operation

 The following steps must be taken for a data packet to travel through an MPLS domain.

 label creation and distribution

 table creation at each router

 label-switched path creation

 label insertion/table lookup

 packet forwarding

4/12/2020 IIT Bombay

79

Step 1

Label creation and label distribution

Before any traffic begins the routers make the decision to bind a label to a specific FEC and build their tables.

In LDP, downstream routers initiate the distribution of labels and the label/FEC binding.

In addition, traffic-related characteristics and MPLS capabilities are negotiated using LDP.

A reliable and ordered transport protocol should be used for the signaling protocol.

4/12/2020 IIT Bombay

80

Step 2

Table creation

On receipt of label bindings each LSR creates entries in the label information base (LIB).

The contents of the table will specify the mapping between a label and an FEC. mapping between the input port and input label table to the output port and output label table.

The entries are updated whenever renegotiation of the label bindings occurs.

4/12/2020 IIT Bombay

81

Example of LIB Table

Input Port

1

2

Incoming Port

Label

3

Output Port

3

9 1

Outgoing Port

Label

6

7

4/12/2020 IIT Bombay

82

MPLS Operation Example

4/12/2020 IIT Bombay

83

Step 3

 Label switched path creation

The LSPs are created in the reverse direction to the creation of entries in the LIBs.

4/12/2020 IIT Bombay

84

MPLS Operation Example

4/12/2020 IIT Bombay

85

Step 4

 Label insertion/table-lookup

The first router (LER1) uses the LIB table to find the next hop and request a label for the specific FEC.

Subsequent routers just use the label to find the next hop.

4/12/2020 IIT Bombay

86

MPLS Operation Example

4/12/2020 IIT Bombay

87

Step 5

Packet forwarding

When a packet arrives at LER1, it determines the FEC of the packet.

LER1 inserts the label for that FEC, finds the next hop the

FEC (which is LSR1) and forward the packet to LSR1.

Each subsequent LSR, i.e., LSR2 and LSR3, will examine the label in the received packet, replace it with the outgoing label and forward it.

When the packet reaches LER4, it will remove the label because the packet is departing from an MPLS domain and deliver it to the destination.

The actual data path followed by the packet is indicated by the broken red lines.

4/12/2020 IIT Bombay

88

MPLS Operation Example

4/12/2020 IIT Bombay

89

Advantages of Label Switching

 Simpler packet forwarding paradigm

IP lookup involves longest-prefix match, which requires extensive preprocessing and multiple memory access. With label switching, packets are forwarded by doing an exact match against a short label by looking up the label switching table

Makes forwarding independent of routing architectures. Once

Label Switching Paths (LSP) are established packet forwarding is always the same. Thus new routing schemes can be developed without changes in the forwarding logic

4/12/2020 IIT Bombay

90

Advantages of Label Switching (cont.)

Better forwarding granularity. For current IP based routing granularity is destination-based. But sometimes more granularity is desired e.g. an ISP may want to know from which interface a particular packet came from. Label switching allows multiple granularities e.g. packets from a particular ingress interface can be put into an LSP.

Can be used for traffic engineering

4/12/2020 IIT Bombay

91

References

“Multiprotocol Label Switching Architecture” – RFC

3031

“MPLS Technology and Applications” – Bruce Davie,

Yakov Rekhter, Morgan Kaufmann Publishers

“RSVP-TE: Extensions to RSVP for LSP Tunnels” –

RFC 3209

“LDP Specification “ – RFC 3036

4/12/2020 IIT Bombay

92

Download