Prof. A. Sahoo
KReSIT
IIT Bombay
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
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
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
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
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
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
IIT Bombay
8
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
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
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
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
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
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
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
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
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
4/12/2020
(1)
(6)
(5)
(2)
IIT Bombay
(3)
PATH
(4)
RESV
33
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
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
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
IIT Bombay
37
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
“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
IIT Bombay
67
Multi Protocol Label Switching is arranged between
Layer 2 and Layer 3
4/12/2020 IIT Bombay
68
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
4/12/2020 IIT Bombay
70
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
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
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
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
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
A path is established before the data transmission starts.
A path is a representation of a FEC.
4/12/2020 IIT Bombay
77
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
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
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
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
Input Port
1
2
Incoming Port
Label
3
Output Port
3
9 1
Outgoing Port
Label
6
7
4/12/2020 IIT Bombay
82
4/12/2020 IIT Bombay
83
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
4/12/2020 IIT Bombay
85
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
4/12/2020 IIT Bombay
87
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
4/12/2020 IIT Bombay
89
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
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
“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