Upload
kiwi83vn
View
231
Download
1
Embed Size (px)
Citation preview
8/14/2019 Qos and Mpls
1/109
1
QoS v MPLS
Tutor: Lu Thanh Tr
Email: [email protected]
8/14/2019 Qos and Mpls
2/109
2
QoS (Quality of Service)
There is really a need for QoS (RFC1633)? NO
Bandwidth is infinite thanks to the emergence of new
transmission technologies, the installation of new cables
Difficult to implement a QoS approach
Applications can adapt
YES
Bandwidth demand increases exponentially while supplied
bandwidth increases linearly Applications only adapt as the available bandwidth varies in
a limit range
By supplying different QoS, ISPs can get more benefit
8/14/2019 Qos and Mpls
3/109
3
Players in the QoS
ISP, Internet Service
Providers utilize their resources to
the maximum get as many subscribers
as they can
Subscribers get as much bandwidth
as they can from ISP
reliable connection zero down time if
possible
8/14/2019 Qos and Mpls
4/109
4
Service Level Agreement (SLA)
Service Level Agreement. The SLA is a contract between the service provider and the
customer. The SLA can be applied to a customer, a group of
customer, to a group of business.
SLA consist of:Availability
Services offered
Service Guarantees
Responsibilities
Auditing the service
Pricing
8/14/2019 Qos and Mpls
5/109
5
QoS Characteristics
Service availability
Delay
Delay variation
Throughput
Packet loos rate
8/14/2019 Qos and Mpls
6/109
6
QoS Characteristics
Latency Latency or a propagation time is referred to the time it takes to send a message
from the sender until to the time the receiver receives.
Router Latency Its the time it takes to the router to retransmit the packet that it had received
from the time it had arrived to the router.
Jitter (Delay variation) Refers to the variation in time duration in all packets in stream taking the same
route. For instance, when sending a video or audio stream over the networkand the packets dont arrive in the order that was sent on a timely basis. This
creates a distortion of the signal, which is very harmful to multimedi
a.
8/14/2019 Qos and Mpls
7/109
7
QoS Characteristics
Bandwidth Bandwidth is the ideal capacity that the network can operate. The networks
never work on ideal maximum capacity since there are negative factors that
cause deterioration of the quality of the network. Such as factors can be
transmission delay, noise and etc.
Packet Loss Packet loss takes in place when we are experiencing congestion on our
network. In the event of the congestion the network can discard this packet,
which are defined by this parameter.
Service Availability Availability is the reliability of the users connection to the Internet service.
To be able to do this we use Service Level Agreement (SLA).
8/14/2019 Qos and Mpls
8/109
8
Integrated Services - motivation
Many applications are sensitive to the effects of delay, jitter and
packet loss
The existing Internet architecture provides a best effort service
All traffic is treated equally (FIFO queuing). Currently there is no
mechanism for distinguishing between delay sensitive and best effort
traffic. IPv4 TOS is not widely implemented.
Aim of IntServ WG: to specify the enhanced services needed in the
Internet service model to support the integration of real-time and
classical data traffic.
8/14/2019 Qos and Mpls
9/109
9
Integrated Services Architecture
Integrated Services (IntServ) expands congestion
control to include reservation of resources:
Signalling through Resource Reservation Protocol (RSVP)Specification of traffic characteristics and QoS
Admission control
Policing and shaping of traffic
Scheduling of flow packets
8/14/2019 Qos and Mpls
10/109
10
Key Components
QoS routing agent Admission control
Reservation setup agent
Resource reservation table
Flow identification Packet scheduler
Data plane
Control plane
8/14/2019 Qos and Mpls
11/109
11
Control Plane sets up resource reservation
Data plane forwards data packets based on reservationstate.
To setup reservation, app first characterizes its traffic flow
and specifies QoS requirements : referred to as flowspecification
The reservation setup request is then sent to the network.
8/14/2019 Qos and Mpls
12/109
12
Router upon getting the request, interacts with QoSrouting agent to find the next hop.
It then coordinates with the admission control moduleto determine if there are sufficient resources to meetthe requested resources.
Once reservation set up is successful, the informationfor the reserved flow is installed into the resourcereservation table.
Information in the resource reservation table is used toconfigure flow identification module and the packetscheduling module in the data plane.
8/14/2019 Qos and Mpls
13/109
13
Route Selection
IntServ does not specify any route selection
of its own.
It relies on existing routing protocols toforward its control packets further.
Obviously a more efficient routing protocol
which can find a path that is likely to have
sufficient resources is desired.
8/14/2019 Qos and Mpls
14/109
14
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 theresource reservation protocol.
8/14/2019 Qos and Mpls
15/109
15
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 andmeasure the available resources.
8/14/2019 Qos and Mpls
16/109
16
Admission Control (Contd)
Two basic approaches:Parameter based
Measurement based
8/14/2019 Qos and Mpls
17/109
17
Measurement based
Admission control module measures the
actual traffic load and uses that info while
admitting a new flow.
Since traffic sources are not static, this
method is probabilistic in nature.
So cannot be used to provide tight
guarantees.Measurements can be done in a number of
ways
8/14/2019 Qos and Mpls
18/109
18
Measurement Based (contd)
Exponential averaging : New estimate = (1-w) * old estimate +
w * new measurement
Time window approach: Average arrival rate is measured over a sampling interval. At the
end of measuring period the highest average is used as the
estimated rate.
If there are n sampling intervals in a measurement period T and
Ci is the average measured over sampling interval I, thenestimated rate = max [C1, C2, ., Cn]
8/14/2019 Qos and Mpls
19/109
8/14/2019 Qos and Mpls
20/109
20
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 theflows in the reservation table for flow
identification.
8/14/2019 Qos and Mpls
21/109
21
Tx
Rx
1) Tspec (sender traffic spec)
ADSpec (services, possibly modified by routers)
2) Tspec (reservation traffic spec)
RSpec (reservation service request)
Service class
Integrated Services Architecture
8/14/2019 Qos and Mpls
22/109
22
Fluid Model Scheduling
If an element approximates the fluid model then the service
received will be the same as a wire with bandwidth equal to
the service rate.
Aim is to isolate traffic flows from each other. D=b/R
Fluid model scheduler with service
rate, R.
Tx Rx
RxTxwire with bandwidth R
8/14/2019 Qos and Mpls
23/109
23
Relationship between service, traffic,
loss and delay bounds
time
traffic service
traffic arrival
busy period
backlog
bits
8/14/2019 Qos and Mpls
24/109
24
Traffic Specification
To date, one general traffic specification parameter has been
defined (RFC 2215): TOKEN_BUCKET_TSPEC
Consists of: float r token rate (bytes/sec)
float b bucket depth (bytes)
float p peak rate (bytes/sec)
unsigned m minimum policed unit (bytes)
unsigned M maximum packet size (bytes)
RSPEC consists of:R requested rate (bytes/sec)
S delay slack
(microseconds)
8/14/2019 Qos and Mpls
25/109
25
Service Categories
Guaranteed Service Mathematically provable upper bound on queuing
delay, assured data rate, no loss
Hard real-time applications
Controlled Load Approximates best-effort service under unloaded
conditions
Adaptive real-time applications
Best effort
8/14/2019 Qos and Mpls
26/109
26
FIFO
First Arrival, First Transmission simple to implement! Completely dependent on arrival time No notion of priority or allocated buffers No space in queue, packet discarded
Used in, e.g., IP Internet
Arrival
Full?
Discard
N
Y
Processor
Queue
Departure
8/14/2019 Qos and Mpls
27/109
27
Weighted Robin Round
if only one arrival queue -> it gets full bandwidth if n arrival queues -> each gets 1/n of bandwidth Each queue has a priority
Arrival queues
Transmission queue
Round robin
8/14/2019 Qos and Mpls
28/109
28
Assign:
33%/66%
Q1
Q2
Q3
example: A T3 trunk with 500 connections, each connection has mean packet
length 500 bytes: 250 with weight 1, 250 with weight 10
Each packet takes 500 * 8/45 Mbps = 88.8 microseconds Round time =2750 * 88.8 = 244.2 ms
8/14/2019 Qos and Mpls
29/109
29
Problems with Weighted Round Robin
Unfair if packets are of different length or weightsare not equal
With variable size packets and different weights,
need to know mean packet size in advance
Can be unfair for long periods of time
8/14/2019 Qos and Mpls
30/109
30
Suggestion: Weighted Fair Queuing (WFQ)
Deals better with variable size packets and weights:
assign a relative weight to each queue ( higher priority queues get
a larger piece of the pipe).
the weight is a relative value--not a guaranteed bandwidth rate!
Actual bandwidth for each queue at any given moment depends
on # of queues using the pipe and on the relative weights of each
of those queues.
By default, WFQ favors lower-volume traffic flows overhigher-volume ones (for example, a routine e-mail
over a large FTP download).
8/14/2019 Qos and Mpls
31/109
31
8/14/2019 Qos and Mpls
32/109
32
Suppose, in each round, the server served one bit
from each active connection (GPS)
ComputeR=Round number= the number ofrounds already completed (can be fractional)
for each packet, Compute f=finish number= round
number when a packet will complete its service
Serve packets in order of finish numbers
WFQ Algorithm
8/14/2019 Qos and Mpls
33/109
33
WFQ Computation
a packet of lengthp arriving to an empty queue when the round number is R,
Ideally, it will complete service when the round number is => f =R + p
(independent of the number of other connections!)
a packet arrives to a non-empty queue, and the previous packet has a finish
number off, will have a finish number=> f =(previous) f+p
Problem: we need to determine is the connection active? if not, what is the current round number?
Solution:Redefine round numberas
a real-valued variable that increases at a rate inversely
proportional to the number of currently active connections
8/14/2019 Qos and Mpls
34/109
34
Delay-Earliest Due Date (Delay-EDD)
Delay-EDD prescribes how to assign deadlines to packets
Earliest-due-date = packet with earliest deadline selected
Deadline = expected arrival time + delay bound
Implementation: A source is required to send slower than itspeak rate
Bandwidth at scheduler reserved at peak rate
Each packet gets a hard delay bound
Delay bound is independentof bandwidth requirement
but reservation is at a connections peak rate
Implementation requires per-connection state and a priority queue
8/14/2019 Qos and Mpls
35/109
35
Rate-controlled scheduling
A class of disciplines two components: regulator and scheduler
incoming packets are placed in regulator where they wait
to become eligible
then they are put in the scheduler Regulatorshapes the traffic, scheduler provides
performance guarantees
8/14/2019 Qos and Mpls
36/109
36
Virtual Clock(L. Zhang, 1991)
Scheduling of packets based on when packets would havebeen sent if TDM were used.
Timers VC (flow monitoring) and auxVC (packet scheduling)
On packet arrival both timers are advanced to next packet
eligibility time. After a set number of packets (AI*AR), VC is compared to a
real-time clock (RTC). IfVC > RTC restrict flow
IfVC < RTC, VC=RTC (prevent higher rate in subsequent
interval)
VC updates are packet based. AuxVC avoids saving credits
8/14/2019 Qos and Mpls
37/109
37
Guaranteed Service
8/14/2019 Qos and Mpls
38/109
38
Guaranteed Service
Provides guaranteed bandwidth and strict
bounds for delay.
Intended for apps that require highest
assurance on bw and delay : mission criticalapps, intolerant playback apps.
Can be viewed as a virtual circuit with
guaranteed bw. Provides bounds on maximal queuing delay.
8/14/2019 Qos and Mpls
39/109
39
Tx
Rx
1) Tspec (sender traffic spec)
ADSpec (services, possibly modified by routers)
2) Tspec (reservation traffic spec)
RSpec (reservation service request)Service class
Integrated Services Architecture
8/14/2019 Qos and Mpls
40/109
40
Guaranteed Service (contd)
Apps invoke guaranteed service by specifying a traffic
descriptor (TSpec) and a service spec (RSpec) to the
network.
TSpec describes traffic sources with followingparameters: Bucket rate (r) : rate at which tokens arrive.
Peak rate (p) : max rate for packet transmission
Bucket depth (b) : size of token bucket Min policed unit (m) : any packet with size lass than m will be
counted as size m.
Max packet size (M) : Max packet size accepted.
8/14/2019 Qos and Mpls
41/109
41
8/14/2019 Qos and Mpls
42/109
8/14/2019 Qos and Mpls
43/109
43
Delay calculation
Given the TSpec and RSpec the worst case
end-to-end queuing delay for a flow can be
calculated.
Assume a fluid model and traffic source is
constrained by token bucket params (r, b, p)
If p is very large compared to R and r, then
the worst case queuing delay = AB = b/R.
8/14/2019 Qos and Mpls
44/109
44
Delay Calculation(Contd)
b
R
r
O
A B
time
bits
8/14/2019 Qos and Mpls
45/109
45
Delay Calculation(Contd)
If p is comparable to R and r, then the worst
case delay is AC =
b (p R) / R (p r) (p > R r)
8/14/2019 Qos and Mpls
46/109
46
Delay Calculation(Contd)
b
R
r
O
F E
p
A C
B D
8/14/2019 Qos and Mpls
47/109
47
Delay calculation (Contd)
In real network fluid model does not apply.
So two error terms are introduced: Error term C is rate
dependent and represents the delay that a packet
experiences due to rate parameter and packet length(store and forward model).
Error term D is rate independent : delay due to route
lookup, flow identification.
End-to-end sums of C and D over a path are Ctot andDtot
8/14/2019 Qos and Mpls
48/109
48
Delay calculation (Contd)
Incorporating the error terms and packet
lengths, the worst-case queuing delay :
[(b M) (pR) / R(p-r)] + [(M+Ctot)/R] + D
tot
(p > R r)
[(M + Ctot) / R] + D
tot(R p r)
8/14/2019 Qos and Mpls
49/109
49
Policing and Shaping
Traffic flows that receive guaranteed servicemust conform to the token bucket and peakrate params over all periods.
For any period T, the amount of data sentcannot exceed M + Min (pT, rT+b-M).Packets smaller than min policing unit m arecounted as m.
Policing is done at the edge of the network bycomparing the traffic to the agreed TSpecparams.
8/14/2019 Qos and Mpls
50/109
50
Policing and Shaping
Shaping is done at all heterogeneous branch
points and all merging points.
Heterogeneous branch point is a spot where
a multicast distribution tree has multiple
outgoing branch that have different TSpecs.
8/14/2019 Qos and Mpls
51/109
51
Controlled load service
8/14/2019 Qos and Mpls
52/109
52
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 strictguarantees 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 mindelay.
8/14/2019 Qos and Mpls
53/109
53
Resource Reservation
Protocol (RSVP)
8/14/2019 Qos and Mpls
54/109
54
RSVP
A resource reservation protocol defined for
IntServ.
Used by hosts to communicate service
requirements to the network and by routers in
the network to establish reservation state
along a path
8/14/2019 Qos and Mpls
55/109
55
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 theresource reservation.
8/14/2019 Qos and Mpls
56/109
56
Basic Features (Contd)
Routing IndependentDesigned to operate with current and future unicast
and multicast routing protocols
The path for a flow is done separately by routingprotocols
Policy IndependentRSVP transports and maintains traffic control and
policy control parameters that are opaque to RSVPControl params are passed to relevant controlmodules for processing.
8/14/2019 Qos and Mpls
57/109
57
Basic Features (Contd)
Soft StateRSVP 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.
8/14/2019 Qos and Mpls
58/109
58
Basic Features (Contd)
Reservation StyleRSVP provides several reservation models or
styles to fit a variety of applications
Can be used to share a reservation among trafficstreams from multiple senders or to select a
particular sender.
8/14/2019 Qos and Mpls
59/109
59
Data Flows
RSVP defines a session to be a data flow
with a particular destination and transport
layer protocol.
RSVP session defined by the triple
(destAddr, ProtoId, [dstPort]).
8/14/2019 Qos and Mpls
60/109
60
Reservation Model
RSVP reservation request consists of a flowspec
together with a filter spec.
flowspec specifies a desired QoS
Filterspec along with a session specifies a flow. Flowspec used to set params in the nodes packet
scheduler
Filterspec used to set the params of the packet
classifier.
8/14/2019 Qos and Mpls
61/109
61
Reservation Model (Contd)
Flowspec include a service class (guaranteed
or controlled load) and two sets of numeric
params RSpec (desired QoS) and a TSpec
(describes traffic).
8/14/2019 Qos and Mpls
62/109
62
Protocol Overview
(1) (2) (3)
(4)(5)(6)
PATH
RESV
8/14/2019 Qos and Mpls
63/109
63
Protocol Overview (contd)
Sender 1
Sender 2
Receivier B
Receiver A
R R
RR
R
PATH
PATH
PATH
PATH
RESV
RESV
RESV
RESV
8/14/2019 Qos and Mpls
64/109
64
Protocol 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.
Installspath state in each node along the way
Includes IP address of previous hop (needed to send RESV msg)
Sender template : sender IP address and port
Sender Tspec : traffic spec of sender
After receiving PATH msg receiver can request a reservation
by sending RESV msg.
8/14/2019 Qos and Mpls
65/109
65
Protocol 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.
8/14/2019 Qos and Mpls
66/109
66
PATH Message
Contains previous hop, sender template,
sender TSpec and the AdSpec.
Sender template contains info that along with
Session uniquely identifies the flow. It has same format as filterspec.
Sender TSpec characterizes the traffic that
sender will generate.
8/14/2019 Qos and Mpls
67/109
67
PATH Message (Contd)
AdSpec is an optional element in PATH msg :
used to carry OPWA (One Pass with
Advertising)
Passed to local traffic control at each node, whichreturns an updated AdSpec, the updated version
is then forwarded in PATH msg downstream.
8/14/2019 Qos and Mpls
68/109
68
RESV Message
Sent by receivers towards sender along
reverse direction of PATH msg to request
reservation.
Contains info about reservation style,flowspec object and filterspec object.
Flowspec includes a service class,
reservation spec (RSpec) that defines thedesired QoS and a traffic spec (TSpec) that
describes the traffic flow.
8/14/2019 Qos and Mpls
69/109
RSVP Message Formats
8/14/2019 Qos and Mpls
70/109
70
g
(Contd)
Version : 4 bitsProtocol version number : Current version is 1
Flags : 4 bitsReserved
Msg Type: 8 bits 1 = Path
2 = ResvRSVP checksum: 16bits
RSVP Message Formats
8/14/2019 Qos and Mpls
71/109
71
g
(Contd)
Send_TTL: 8bits IP TTL value with which the message was sent
RSVP length : 16bitsTotal length of the RSVP message in bytes
including the common header.
8/14/2019 Qos and Mpls
72/109
72
Object Formats
Every RSVP object consists of one or more
32-bit words with a one-word header with the
following format:
Length (in bytes) Class-Num C-type
0 1 2 3
Object contents
8/14/2019 Qos and Mpls
73/109
73
Object Formats (contd)
Length : length of the object in bytes
Class-Num : Identifies the object class.SESSION
FLOWSPEC
SENDER_TSPEC
C-type : Object type unique within Class-Num.
8/14/2019 Qos and Mpls
74/109
8/14/2019 Qos and Mpls
75/109
75
RESV message
::=
[]
[]
[] []
::= |
8/14/2019 Qos and Mpls
76/109
76
PATH Tear message
::=
[]
[]
Path Tear is initiated by sender or by path
state timeout.
Deletes matching Path state. Travel downstream towards all receivers
8/14/2019 Qos and Mpls
77/109
77
RESV Tear message
::= [] []
Resv Tear is initiated by receiver or by resvstate timeout.
Deletes matching resv state. Travels upstream towards all matching
senders.
8/14/2019 Qos and Mpls
78/109
78
PATH Error message
::=
[]
[]
[]Reports error in processing PATH msg
Travel upstream towards sender
8/14/2019 Qos and Mpls
79/109
8/14/2019 Qos and Mpls
80/109
80
RESV Confirm message
::=
[]
Sent to acknowledge reservation request
Sent when RESV_CONFIRM object is
present in RESV message.Sent to receiver host from sender.
8/14/2019 Qos and Mpls
81/109
81
Reservation Styles
Reservation request includes a set of options
that are collectively called reservation style.
Decides whether distinct reservation for each
upstream sender or else make a singlereservation that is shared among selected
senders.
8/14/2019 Qos and Mpls
82/109
82
Reservation Styles (Contd)
sender selection Reservation:
distinct shared
Explicit Fixed filter (FF) Shared explicit(SE)
wildcard Not defined Wildcard filter (WF)
8/14/2019 Qos and Mpls
83/109
83
Reservation Style (Contd)
Wildcard-filter (WF) style Implies shared reservation and wild card sender
selection
All receivers share a single reservation whosesize is the largest of the resource requests from
the receivers; all upstream senders can use the
reservation.
Can be represented as WF (*, {Q}), where * is thewildcard sender and Q is the flowspec.
8/14/2019 Qos and Mpls
84/109
84
Reservation Style (Contd)
Fixed-filter (FF) styleDistinct reservation and explicit sender selection.
Distinct reservation established for specific
senderCan be represented as FF (S
1(Q
1), S
2(Q
2), ..)
8/14/2019 Qos and Mpls
85/109
85
Reservation Style (Contd)
Shared explicit (SE) styleShared reservation but explicit sender selection
Creates a single reservation shared by specific
sendersRepresented as SE((S
1, S
2, ., S
n) {Q}).
8/14/2019 Qos and Mpls
86/109
86
Example
S1
S2, S3
R1
R2
R3
(a)
(d)
(c)
(b)
8/14/2019 Qos and Mpls
87/109
87
Wildcard-Filter
Sends Reserves Receives
(c) WF(*{4B})
(d) WF(*{3B})
WF(*{2B})
(c) *{4B}
(d) *{3B}
WF(*{4B}) (a)
WF(*{4B}) (b)
8/14/2019 Qos and Mpls
88/109
88
Fixed-Filter
Sends Reserves Receives
(c) FF(S1{4B}, S2{5B})
(d) FF(S1{3B}, S3{B}) FF(S1{B})
(c)S1{4B}
S2{5B}
(d)S1{3B}S3{B}
FF(S1{4B}) (a)
FF(S2{5B}, S3{B}) (b)
8/14/2019 Qos and Mpls
89/109
89
SE-Filter
Sends Reserves Receives
(c) SE(S1,S2{B})
(d) SE(S1, S3{3B}) SE(S2{2B})
(c)(S1,S2){B}
(d)(S1,S2,S3){3B}
SE(S1{3B}) (a)
SE(S2,S3{3B}) (b)
8/14/2019 Qos and Mpls
90/109
90
OPWA
Basic reservation model in RSVP is one pass. It is not possible to determine characteristics
of the path or whether the path is able to
support the desired QoS.Other model, OPWA (One Pass with
Advertising) is more sophisticated which usesAdSpec.
Sender includes an AdSpec in its PATH msgto collect info about the path.
OPWA (Contd)
8/14/2019 Qos and Mpls
91/109
91
OPWA (Cont d) Receiver can use information in the AdSpec to determine
end-to-end characteristics of the path and calculate end-to-
end delay. Has three components :
Default general parameters Guaranteed service fragment Controlled load service fragment
Default general parameters Min path latency : sum of fixed delay along the path in addition to
queuing delay. Path bandwidth : min bandwidth of the path Integrated services hop count : total number of hops that are capable
of supporting IntServ.
Global break bit : set to 0 by sender. Set to 1 if any node along thepath does not support RSVP
Path MTU : MTU of the path.
OPWA (Contd)
8/14/2019 Qos and Mpls
92/109
92
OPWA (Cont d)
Guaranteed service fragment includes Ctot,
Dtot, Csum, Dsum and optional values thatoverride default general params
Controlled load service fragment does not
require any extra data, but may containoptional values that override default general
params.
8/14/2019 Qos and Mpls
93/109
93
Flow Identification
An important module in the data plane. In an integrated services network, a router
has to extract the five tuple from an incoming
packet and compare it against the reservationtable to see if it belongs to a reservedflowPacket processing has to happen very fast
(on OC12 link (622 Mbps), it is of the order of
micro seconds).Flow Identification should happen at a high
speed.
C
8/14/2019 Qos and Mpls
94/109
94
Design Choices
Trade off between speed vs spaceOne extreme is direct memory lookup
Single memory access
Requires high storageFive-tuple is 104 bits long
Other extreme is binary searchEfficient in terms of storage spaceBut relatively slow
Compromise is to use hashing based scheme
H hi b d h
8/14/2019 Qos and Mpls
95/109
95
Hashing based scheme
0
N
Hash table
Collision resolution table
Reservation table
0
M
H hi b d h
8/14/2019 Qos and Mpls
96/109
96
Hashing based scheme
XOR folding of source and destination IP address H(.) = A
1xor A
2xor . A
n
Aiis the substring with i bit to i+m bit of the 64-bit string
No need to get fourth layer info (port) XOR folding of destination IP address and
Destination port Suitable for web-based application where the source addr
and source port may be the same for flows, but destinationaddr and destination port may be different
H hi b d h
8/14/2019 Qos and Mpls
97/109
97
Hashing based scheme
XOR folding of the five tupleLikely to perform better for scheme that uses the
full five tuple.
Similar to other schemes except that 104 bits areused in hash calculation
H hi b d h
8/14/2019 Qos and Mpls
98/109
98
Hashing based scheme
32-bit CRC has been widely used for error detection
in communication systems Known for exploiting the randomness in traffic well
CRC32 of five tuples as hash function Double hashing
Used to significantly reduce collision rate
If there is a collision with first hashing function, a second
hashing function is used Probability of collision with two hashing function is low
More complex because of two level of hashing.
RSVP summary
8/14/2019 Qos and Mpls
99/109
99
RSVP summary
Reservations are soft Periodic refresh is necessary
It is a network (control) protocol Works in parallel to TCP and UDP
APIs are required to specify flow requirements Reservations are receiver-based Has to maintain a state for each flow
Multicast reservations Merged at replication points, difficult to understoodalgorithms have to be used though
I tS R f
8/14/2019 Qos and Mpls
100/109
100
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 ReservationProtocol (RSVP), RFC2205.
DiffServ - Prioritization
8/14/2019 Qos and Mpls
101/109
101
DescriptionApplied on flow aggregates
Services requirements are classified
Classification is performed at network ingresspoints
A predefined per-hop behavior (PHB) is applied
to every service class
Traffic is smoothed according to PHB applied
8/14/2019 Qos and Mpls
102/109
DiffS I l t ti
8/14/2019 Qos and Mpls
103/109
103
DiffServ - Implementation
C l a s s i f i e r
M e t e r M a r k e r
C o n d i t i o n e r
M a p s D S C P s t oP H B s
M a i n t a i n s
D S C P
m a p p i n g s a n d
a s s o c i a t i o n s
w i t h l o c a l
p o l i c i e s
A c c u m u l a t e s
s t a t i s t i c s
A p p l i e s t h ed e f i n e d P H B
( s c h e d u l i n g )
DiffS I l t ti
8/14/2019 Qos and Mpls
104/109
104
DiffServ - Implementation
T y p e o f S e r v i c eP r e c e d e n c e
R F C 1 1 2 2 M u s tB e
Z e r o
I P T y p e o f S e r v i c e ( T O S )
0 32 4 5 6 71
M B Z
R F C 1 3 4 9
DiffServ codepoints (DSCPs) redefine the Type-of-Service (ToS) IPv4 field
Precedence bits are preserved Type-of-Service bits are NOT
D S C P
C l a s s S e l e c t o r U n u s e d
0 32 4 5 6 71
D i f f e r e n c i a t e d S e r v i c e s
C o d e p o i n t ( D S C P )
C U
DiffServ - Conclusions
8/14/2019 Qos and Mpls
105/109
105
Traffic classes are equivalent to IP precedence
service descriptors DiffServ unaware routers pass-through DiffServ traffic
Easy to be implemented / integrated even into thenetwork core.
Proper classification can lead to efficient resource
allocation and though improved QoS
8/14/2019 Qos and Mpls
106/109
MPLSImplementation
8/14/2019 Qos and Mpls
107/109
107
- Implementation
L a b e l V a l u e E x p . S T T L
832 0 1
2 0 - b i t s : L a b e l v a l u e u s e d f o r l o o k u p 8 - b i t s : T i m e - T o - L i v e
1 - b i t : B o t t o m o f L a b e l S t a c k
3 - b i t s : R e s e r v e d
The 1st hop router, using the header information (destination
address etc.) attaches a label and forwards the packet
Every MPLS-enabled router uses the label as an index to atable defining the next hop and label
MPLS - Conclusions
8/14/2019 Qos and Mpls
108/109
108
Labels can be stackedThis allows MPLS routes within routes
Label Distribution Protocol (LDP)
Distributes labels across MPLS-enabled routersEnsures they agree on the meaning of labelsUsually transparent to network managers
Implication :Define a policy management that distributes
labels
8/14/2019 Qos and Mpls
109/109