QoS Architectures in Computer Networks
Prof. A. Sahoo KReSIT
IIT Bombay
2
03/25/23 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, e- commerce apps are sensitive to network performance.
3
03/25/23 IIT Bombay
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
03/25/23 IIT Bombay
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
5
03/25/23 IIT Bombay
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.
6
03/25/23 IIT Bombay
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.
7
03/25/23 IIT Bombay
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.
8
03/25/23 IIT Bombay
Integrated Services (Intserv)
9
03/25/23 IIT Bombay
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.
10
03/25/23 IIT Bombay
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.
11
03/25/23 IIT Bombay
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.
12
03/25/23 IIT Bombay
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.
13
03/25/23 IIT Bombay
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.
14
03/25/23 IIT Bombay
Key Components
QoS routing agent Admission control
Reservation setup agent
Resource reservation table
Flow identification Packet scheduler Control plane
Data plane
15
03/25/23 IIT Bombay
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.
16
03/25/23 IIT Bombay
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.
17
03/25/23 IIT Bombay
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.
18
03/25/23 IIT Bombay
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.
19
03/25/23 IIT Bombay
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.
20
03/25/23 IIT Bombay
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.
21
03/25/23 IIT Bombay
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
22
03/25/23 IIT Bombay
Service Models
Describe interface between the network and its users.
IntServ has standardized two basic service models:
Guaranteed service
Controlled load service
23
03/25/23 IIT Bombay
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.
24
03/25/23 IIT Bombay
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.
25
03/25/23 IIT Bombay
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.
26
03/25/23 IIT Bombay
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.
27
03/25/23 IIT Bombay
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.
28
03/25/23 IIT Bombay
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
29
03/25/23 IIT Bombay
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.
30
03/25/23 IIT Bombay
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.
31
03/25/23 IIT Bombay
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.
32
03/25/23 IIT Bombay
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.
33
03/25/23 IIT Bombay
Protocol Overview
(1) (2) (3)
(5) (4) (6)
PATH
RESV
34
03/25/23 IIT Bombay
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.
35
03/25/23 IIT Bombay
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.
36
03/25/23 IIT Bombay
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
37
03/25/23 IIT Bombay
Differentiated Service
38
03/25/23 IIT Bombay
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.
39
03/25/23 IIT Bombay
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
40
03/25/23 IIT Bombay
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.
41
03/25/23 IIT Bombay
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 non-
conformant packets.
Interior nodes forward packets based solely on the forwarding class.
42
03/25/23 IIT Bombay
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
43
03/25/23 IIT Bombay
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
44
03/25/23 IIT Bombay
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.
45
03/25/23 IIT Bombay
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.
46
03/25/23 IIT Bombay
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
47
03/25/23 IIT Bombay
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.
48
03/25/23 IIT Bombay
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.
49
03/25/23 IIT Bombay
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
50
03/25/23 IIT Bombay
Diffserv Architecture
--end user --edge router --core router
Leaf marker
Intermediate marker
Leaf marker
Intermediate marker
BB
Intermediate marker
BB BB
BB
51
03/25/23 IIT Bombay
Packet Classifier and Traffic Conditioner
CLASSIFIER MARKER METER
SHAPER DROPPER PACKETS
52
03/25/23 IIT Bombay
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
53
03/25/23 IIT Bombay
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
54
03/25/23 IIT Bombay
Traffic Conditioner
Performs traffic policing function to enforce the TCA between customer and service providers
Four basic elements : meter, marker, shaper and dropper
55
03/25/23 IIT Bombay
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
56
03/25/23 IIT Bombay
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
57
03/25/23 IIT Bombay
Marker (cont.)
Marking can be done on non-conforming packets:
Packets may be marked with a special DSCP to indicate non- conformance
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).
58
03/25/23 IIT Bombay
Marker (cont.)
When packet remarked with new DSCP receives worse forwarding treatment than from previous DSCP : PHB demotion
With better forwarding treatment : PHB promotion
59
03/25/23 IIT Bombay
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
60
03/25/23 IIT Bombay
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.
61
03/25/23 IIT Bombay
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).
62
03/25/23 IIT Bombay
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)
63
03/25/23 IIT Bombay
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.
64
03/25/23 IIT Bombay
Assured Forwarding (AF)
Class 1 Class 2 Class 3 Class 4
Low drop 001010 010010 011010 100010
Medium drop 001100 010100 011100 100100
High drop 001110 010110 011110 100110
65
03/25/23 IIT Bombay
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
66
03/25/23 IIT Bombay
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.
67
03/25/23 IIT Bombay
Multi Protocol Label Switching (MPLS)
68
03/25/23 IIT Bombay
MPLS Basics
Multi Protocol Label Switching is arranged between Layer 2 and Layer 3
69
03/25/23 IIT Bombay
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
70
03/25/23 IIT Bombay
Label
Generic label format
71
03/25/23 IIT Bombay
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.
72
03/25/23 IIT Bombay
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.
73
03/25/23 IIT Bombay
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).
74
03/25/23 IIT Bombay
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.
75
03/25/23 IIT Bombay
Positions of LERs & LSRs
76
03/25/23 IIT Bombay
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).
77
03/25/23 IIT Bombay
Label-Switched Paths - LSPs
A path is established before the data transmission starts.
A path is a representation of a FEC.
78
03/25/23 IIT Bombay
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!
79
03/25/23 IIT Bombay
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
80
03/25/23 IIT Bombay
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.
81
03/25/23 IIT Bombay
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.
82
03/25/23 IIT Bombay
Example of LIB Table
Input Port Incoming Port
Label Output Port Outgoing Port Label
1 3 3 6
2 9 1 7
83
03/25/23 IIT Bombay
MPLS Operation Example
84
03/25/23 IIT Bombay
Step 3
Label switched path creation
The LSPs are created in the reverse direction to the creation of entries in the LIBs.
85
03/25/23 IIT Bombay
MPLS Operation Example
86
03/25/23 IIT Bombay
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.
87
03/25/23 IIT Bombay
MPLS Operation Example
88
03/25/23 IIT Bombay
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.
89
03/25/23 IIT Bombay
MPLS Operation Example
90
03/25/23 IIT Bombay
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
91
03/25/23 IIT Bombay
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
92
03/25/23 IIT Bombay
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