Title: QoS Architectures in Computer Networks
1QoS Architectures in Computer Networks
- Prof. A. Sahoo
- KReSIT
- IIT Bombay
2Introduction
- 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.
3Introduction (contd)
- 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.
4Current 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
5What 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.
6Resource 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.
7Resource Allocation (contd)
- 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.
8Integrated Services (Intserv)
9Integrated 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.
10Integrated Services (contd)
- 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
its close to a lightly loaded best-effort
network.
11Integrated Services (contd)
- Overhead of setting up reservation is high.
- Scalability problem Backbone will have a large
number of flows and keeping flow information is
not feasible.
12Basic 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.
13Basic Approach (Contd)
- 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.
14Key Components
QoS routing agent
Admission control
Reservation setup agent
Resource reservation table
Control plane
Flow identification
Packet scheduler
Data plane
15Key Component (contd)
- 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.
16Key Component (contd)
- 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.
17Route 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.
18Reservation 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.
19Admission 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.
20Flow 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.
21Packet 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
22Service Models
- Describe interface between the network and its
users. - IntServ has standardized two basic service
models - Guaranteed service
- Controlled load service
23Flow 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.
24Flow 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.
25Flow specification (contd)
- 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.
26Guaranteed 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.
27Controlled 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.
28RSVP
- 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
29Basic 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.
30Basic Features (Contd)
- 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.
31Basic Features (Contd)
- 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.
32Basic Features (Contd)
- 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.
33Protocol Overview
34Protocol Overview (Contd)
- 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.
35Protocol Overview (Contd)
- 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.
36IntServ 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
37Differentiated Service
38DiffServ
- 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.
39DiffServ (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
40Basic 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.
41Basic 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.
42Basic 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
43Basic 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
44Per 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.
45PHB (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.
46Services
- Describes the overall treatment of a customers
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
47Services (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.
48Services (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.
49Services (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
50Diffserv Architecture
Leaf marker
Intermediate marker
BB
Leaf marker
--end user
--edge router
--core router
51Packet Classifier and Traffic Conditioner
52Classifier
- 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
53Classifier (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
54Traffic Conditioner
- Performs traffic policing function to enforce the
TCA between customer and service providers - Four basic elements meter, marker, shaper and
dropper
55Meter
- 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
56Marker
- 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
57Marker (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).
58Marker (cont.)
- When packet remarked with new DSCP receives worse
forwarding treatment than from previous DSCP
PHB demotion - With better forwarding treatment PHB promotion
59Shaper
- 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
60Dropper
- 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.
61Differentiated 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).
62Differentiated 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)
63Assured 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.
64Assured 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
65Expedited 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 lt101110gt used for EF PHB
66References
- 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.
67Multi Protocol Label Switching (MPLS)
68MPLS Basics
- Multi Protocol Label Switching is arranged
between Layer 2 and Layer 3
69MPLS 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
70Label
71Label (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.
72Label (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.
73Label 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).
74Label 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.
75Positions of LERs LSRs
76Forward 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).
77Label-Switched Paths - LSPs
- A path is established before the data
transmission starts. - A path is a representation of a FEC.
78LSP 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!
79MPLS 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
80Step 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.
81Step 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.
82Example of LIB Table
Input Port Incoming Port Label Output Port Outgoing Port Label
1 3 3 6
2 9 1 7
83MPLS Operation Example
84Step 3
- Label switched path creation
- The LSPs are created in the reverse direction to
the creation of entries in the LIBs.
85MPLS Operation Example
86Step 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.
87MPLS Operation Example
88Step 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.
89MPLS Operation Example
90Advantages 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
91Advantages 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
92References
- 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