Title: Routing e QoS
1Routing e QoS
- Francesco Santini
- IMT-Lucca
- venerdì 9 novembre 2007
2Contenuti
- Applicazioni real-time e QoS
- IntServ e RSVP
- DiffServ
- MPLS
3Contenuti
- Applicazioni real-time e QoS
- IntServ e RSVP
- DiffServ
- MPLS
4Best effort
- Consegno i pacchetti al meglio che posso
- Conseguenze
- Tutti i dati vengono trattati alla stessa maniera
- Non è possibile avere delle garanzie per un
flusso - Difficile offrire servizi su tale schema
- Non avendo garanzie ed essendo trattati alla
stesa maniera, in caso di congestione posso
scartare i pacchetti
5Dati real-time
- Audio, Voce, Video
- Ma anche dati che devono essere consegnati con
una certa precisione - Posizione e azioni nei giochi
- Tele operazioni in medicina (robot)
- Controllo industriale (robot)
- Quotazioni azioni
- Negli ultimi anni, aumento banda dei link e
miglioramento algoritmi compressione
6Real-time applications
- Applicazioni sensibili alla tempesitivtà dei
dati (timeliness) - Deve essere supportato da tutta la rete,
nativamente
7Why we need QoS?
- Common issues in networks are
- Loss / packet drop
- Drop above certain will influence experience
- On congestion different drop algorithms are used.
- RED, RIO, WRED, tail drop
- Jitter (variation in delay)
- Jitter buffer can handle some jitter (used i.e in
VoIP). - Misordering (different routes) (delay)
- Delay (queuing)
- QoS is basically a set of techniques to handle
these issues for selected services.
8Delay Four sources of delay
- 1. processing
- check bit errors
- determine output link (routing table lookup)
- CPU, architecture etc
- 2. queueing
- time waiting at output link for transmission
- depends on congestion level of router and queue
size
9Four sources of packet delay
- 3. Transmission delay
- Rlink bandwidth (bps)
- Lpacket length (bits)
- time to send bits into link L/R
- 4. Propagation delay
- d length of physical link
- s propagation speed in medium (2x108 m/sec)
- propagation delay d/s
10Nodal delay
- dproc processing delay
- Usually small though depending on the processor,
a few microsecs? - dqueue queuing delay
- depends on the congestion level
- dtrans transmission delay
- L/R, significant for low-speed links
- dprop propagation delay
- a few microsecs to hundreds of msecs
11Traceroute
12Playback
13Esemio VoIP
14Classificazione applicazioni
Perdita pacchetti
Applications
Spostare playback point / Cambiare compressione
Elastic
Real Time
Intolerant
Tolerant
Adaptive
Non-Adaptive
Robot/ Audio
Delay Adaptive
Rate Adaptive
Robot medico
www email
15Delay Adaptive
Density
100
99
97
msec
50
150
250
16Why Not TCP
- Dont want reliable transmission
- TCP is purely byte oriented
- TCP relies on saturating the net
- Retransmitting end-to-end is not a solution
17La soluzione
- Obiettivo è avere un modello di servizi che
- Mi garantisca effettivamente le richieste
- Mi risponda che non è possibile soddisfare tale
richiesta al momento - Bisogno di più classi di servizio differenti
- Mantenere best effort! ?
18Soluzioni esistenti
- Architetture
- Integrated Services
- Differentiated Services
- Protocolli
- Multi-Protocol Label Switching (MPLS)
- Metodologie più generiche
- Traffic Engineering
- Constraint Based Routing
19Soluzioni esistenti(2)
20Alcune definizioni
- Service Level Agreement (SLA) A service contract
between a customer and a service provider that
specifies the forwarding service a customer
should receive. A customer may be a user
organization or another provider domain (upstream
domain). - Traffic profile A description of the properties
of a traffic stream such as rate and burst size. - Scheduling The process of deciding which packet
to send first in a system of multiple queues - Shaping The process of delaying packets within
traffic stream to cause it to conform to some
defined traffic profile.
21Definizione di flusso
- Flow A stream of packets with the same source IP
address, source port number, destination IP
address, destination port number and protocol ID
(unicast or multicast).
22Contenuti
- Applicazioni real-time e QoS
- IntServ e RSVP
- DiffServ
- MPLS
23Integrated Service (IntServ)
- IntServ framework was developed within IETF to
provide individualized QoS guarantees to
individual sessions - provides services on a per flow basis where a
flow is a packet stream with common source
address, destination address and port number - IntServ routers must maintain per flow state
information
24Riferimenti
- RFC 1633 - Integrated Services in the Internet
Architecture an Overview - RFC 2211 - Specification of the Controlled-Load
Network Element Service - RFC 2212 - Specification of Guaranteed Quality of
Service - RFC 2215 - General Characterization Parameters
for Integrated Service Network Elements - RFC 2205 - Resource ReSerVation Protocol (RSVP)
25IntServ
- two key IntServ features
- Reserved Resources
- the router must know the amount of its resources
currently reserved for on-going sessions - standard resources link capacity, router buffers
- Call Setup
- A flow requiring QoS guarantees must be able to
reserve sufficient resources at each router on
path to ensure QoS requirements are met
26Role of RSVP
- Rides on top of unicast/multicast routing
protocols - Must be present at sender(s), receiver(s), and
routers - Carries resource requests all the way through the
network - At each hop consults admission control and sets
up reservation
27Esempio semplice
28RSVP Service Model
- Make reservations for simplex data streams.
- Receiver decides whether to make reservation
- Control messages in IP datagrams (proto 46).
- PATH/RESV messages sent periodically to refresh
soft state on the router - Failed requests return error messages - receiver
must try again - No end to end ack for success
29Flow Specification
- Session must first declare its QoS requirement
and characterize the traffic it will send through
the network - R-spec defines the QoS being requested by
receiver - T-spec defines the traffic characteristics of
sender - RSVP is the signaling protocol is needed to carry
the R-spec and T-spec to the routers
30Filter Specification
- The router needs to recognize the packets
belonging to that flow - IP of the sender
- IP destination
- Port number generating the packets
- Port number of the receiver
- Protocol ID
- Any field of the header
- flowspec filterspec flowdescriptor
31PATH Messages
- PATH messages carry senders Traffic
Specifications (TSpec) - Carries also the FilterSpec
- Routers note the direction PATH messages arrived
and set up reverse path to sender - Receivers send RESV messages that follow reverse
path and setup reservations - If reservation cannot be made, user gets an error
32RESV Messages
- RESV messages carry receivers QoS needs (R-spec)
- Forwarded via reverse path of PATH
- Queuing delay and bandwidth requirements
- Source traffic characteristics (from PATH)
- Filter specification
- Which transmissions can use the reserved
resources? - Reservation style.
- Router performs admission control and reserves
resources
33Router Handling of RESV Messages
- If new request rejected, send error message.
- If admitted
- Install packet filter into forwarding dbase.
- Pass flow parameters to scheduler.
- Activate packet policing if needed.
- Forward RESV message upstream.
34Integrated Services - RSVP
- Mechanisms
- Flow specification
- Tell the network what the flow wants
- Admission control
- Network decides if it can handle flow
- Reservation
- Enable admission control
- Packet classification
- Map packets to flows
- Scheduling
- Forwarding policy
35Integrated Services - RSVP
- Example
- Flowspec
- 100 msec guaranteed to www.nsf.gov
- Reservation
- Spec travels down path for approval
- Delay guarantee approved by all routers, so
admitted - Classification
- Packets marked as guaranteed
- EXAMPLE policy
- guaranteed packets sent first
36RSVP Functional Diagram
Host
Router
RSVPD
D A T A
DATA
DATA
37Soft State
- Routers keep state about reservation
- Periodic messages refresh state, with PATH and
RESV messages - Non-refreshed state times out automatically
- Alternative Hard state
- No periodic refresh messages.
- State is guaranteed to be there.
- State is kept till explicit removal.
- Properties of soft state
- Adapts to changes in routes, sources, and
receivers. - Recovers from failures
- Cleans up state after receivers drop out
38RSVP Reservation (1)
R3
R2
R4
R1
Host B 128.32.32.69
Host A 24.1.70.210
R5
39RSVP Reservation (2)
R3
R2
R4
PATH
R1
PATH
Host B 128.32.32.69
PATH
PATH
Host A 24.1.70.210
R5
40RSVP Multicast Reservation (1)
Sender
R1
R3
R2
R5
R6
R4
R7
Receiver
41RSVP Multicast Reservation (2)
Sender
R1
R3
R2
R5
R6
R4
R7
Receiver
42Reservation Merging
(3) 50Kbs
R1
Reservations merge as they travel up tree.
(6) 100 Kbs
R3
(2) 50Kbs
(5) 100 Kbs
(9) 60Kbs
R4
R6
R7
(1) 50Kbs
(4) 100 Kbs
(8) 60Kbs
Receiver 1
Receiver 2
Receiver 3
43Token Bucket (TSpec)
Drops packets if token is not available
Buffers data until tokens become available
44Token Bucket (2)
r
b bucket size in tokens r rate tokens are
added to bucket
b
Data Queue
Data
- Beta mi consente di rappresentare i burst di
traffico, limitandoli - Sigma di descrive il normale rate previsto dei
pacchetti - I dati vengono trasmessi quando esistono
sufficienti token per mandarli - Es bucket 40 token, 1 token 1 byte implica
che posso mandare burst di 40 byte - Nel tempo t, la quantità di traffico e limitata a
ß ?t
45In words
- Tspec describe flows traffic characterization
- Average bandwidth burstiness token bucket
filter - Token rate r
- Bucket depth B
- Must have a token to send a byte
- Must have n tokens to send n bytes
- Start with no tokens
- Accumulate tokens at rate of r per second
- Can accumulate no more than B tokens
46Two Service Classes
- RSVP supports three service classes
- Guaranteed service
- Specified maximum delay
- Controlled load services
- For delay tolerant, adaptive applications
- Network shields this traffic from congestion
- Best effort
47RSVP Routing Problems
- IntServ does not specify any route selection of
its own - It relies on existing routing protocols to
forward its control packets further - Routing is separated from admission control
- If route changes, reservation must be made along
new route - New reservation takes time to setup
- New reservation might fail
- Old route could still be working fine
- Route pinning
- Always use the route where reservation is in
place
48Problemi IntServ
- Complessità/Scalabilità problema centrale per
grandi reti backbone - End-to-end
- Stato replicato su tutti i router, per ciascun
flusso - Le informazioni devono essere rinfrescate
periodicamente - Il processo di controllo ammissione avviene per
ogni flusso - La richiesta di QoS avviene dinamicamente
49Contenuti
- Applicazioni real-time e QoS
- IntServ e RSVP
- DiffServ
- MPLS
50Differential Service (DiffServ)
- In DiffServ, flows are aggregated into classes
that receive treatment by class. - More complex operations are pushed out to edge
routers and simpler operations done by core
routers. - motivated by
- scalability, flexibility, and better-than-best-eff
ort service without RSVP signaling - Flexibility Flow A better than flow B
51Riferimenti
- RFC 2474Definition of the Differentiated
Services Field (DS Field) in the IPv4 and IPv6
Headers - RFC 2475An Architecture for Differentiated
Services - RFC 2597Assured Forwarding PHB Group
- RFC 3140Per Hop Behavior Identification Codes
- RFC 3246An Expedited Forwarding PHB
52DiffServ functional elements
- Edge functions
- packet classification
- packet marking
- traffic conditioning
- Core functions
- forwarding based on per-hop behavior (PHB)
associated with packets class, no more
end-to-end as in IntServ
53DiffServ edge functions
- packet classification
- classifier selects packets based on values in
packet header fields and steers packet to
appropriate marking function - how classifier obtains the rules for
classification not yet addressed RFC 2475 uses
term behavior aggregate rather than class of
traffic. - administrator could load table of source
addresses - done under control of TBA signaling protocol
54Traffic Conditioner Block (TCB)
Classification selects a packet in a traffic
stream based on the content of some portion of
the packet header
55Traffic Conditioner Block (TCB)
Metering checks whether the traffic falls within
the negotiated profile.
56Traffic Conditioner Block (TCB)
Marking marks packet to a particular DS behavior
aggregate
57Traffic Conditioner Block (TCB)
Shaper/Droper delays if necessary and then
forwards or discards the packets .
58DS field
- Former ToS Byte new DS field
59DiffServ core routers
- Routers define packet classes and separate
incoming packets into classes. - Treatment is done per class.
- Per-hop behavior (PHB) defines differences in
performance among classes. - externally observable performance criteria that
do not specify internal implementation mechanisms
at router.
60Router interni
- No reservation ma provisioning
- La qualità del servizio dipende da provisioning e
da come sono gestire le risorse nella rete - Scalabilità deriva da aggregazione di più flussi
in un numero limitato di classi (DSCP)
61PHB types
The DSCP (6 bit) pattern is 000000
- Default PHB
- Traditional best effort treatment.
- Must be implemented
- Used for unsupported DSCP
62PHB types
The DSCP (6 bit) pattern is 101110
- Expedited Forwarding PHB
- Providing low loss, low latency, low jitter,
assured bandwidth, end-to-end service through DS
domains - Implies isolation guarantee for the EF traffic
should not be influenced by the other traffic
classes - Non-conformant traffic is dropped or shaped.
- Possible service providing a virtual wire
63PHB types
- Assured Forwarding (AF)
- A method by which Behavior Aggregates can be
given different forwarding assurances. - The intent is that it will be used to implement
services that differ relative to each other
(e.g., gold, silver,). - AF defines 4 classes with some bandwidth and
buffers allocated to them. - Within each class, there are three drop
priorities, which affect which packets will get
dropped first if there is congestion. - Non-conformant traffic is remarked.
64AF table
The DSCP (6 bit) pattern is xyzab0 xyz is the
class 001-class1 010-class2 011-class3
100-class4ab is the drop precedence 01-low
10-medium 11-high
ClassDropprecedence Class 1 Class 2 Class 3 Class 4
Low Drop 001010(AF11) 010010(AF21) 011010(AF31) 100010(AF41)
Medium Drop 001100(AF12) 010100(AF22) 011100(AF32) 100100(AF42)
High Drop 001110(AF13) 010110(AF23) 011110(AF33) 100110(AF43)
65Service
- A service describes the overall treatment of a
customers traffic within a DS domain. - Customers see services, not PHBs.
- To support a service, many components must work
together - Mapping of service to PHBs, traffic conditioning,
network provisioning, PHB-based forwarding. - Services in the DiffServ architecture is defined
in the form of Service Level Agreement (SLA).
66Putting it all together
67Assured Forwarding (AF) PHB
- Determining resource allocation per class of
service must be done with knowledge about traffic
demands for the various traffic classes.
68Conclusioni
- Una via di mezzo tra best effort e IntServ
- Si basa su provisioning, ma è difficile da
effettuare. Più facile con reservation - Più flussi in una sola classe. Meno possibilità
rispetto a IntServ
69IntServ e DiffServ riassunto
70IntServ e DiffServ insieme
- Approcci complementari
- IntServ forti garanzie ma limiti scaling
- DiffServ garanzie deboli, ma buon scaling
- La soluzione è unirli!
- IntServ sui router
- DiffServ su tutti gli altri router backbone
- Mapping tra classi di servizio IntServ a livello
di servizio DiffServ
71IntServ e DiffServ insieme(2)
72Contenuti
- Applicazioni real-time e QoS
- IntServ e RSVP
- DiffServ
- MPLS
73Multi Protocol Label Switching
- Uso di unetichetta di lunghezza fissa per
instradare - MPLS è un forwarding scheme
- Evoluto da Cisco Tag Switching
- Tra Layer 2 (L2, link layer) a Layer 3 (L3,
network layer) 2.5 level - RFC 3031
- Si chiama multi-protocol perché, in linea di
principio, è in grado di operare con qualunque
protocollo di livello 3 (rete) anche se lo si
applica tipicamente ad IP. - Permette ai nodi che lo utilizzano di realizzare
una communtazione su base etichetta e anche un
instradamento tipo Circuito Virtuale su base
flusso.
74MPLS and ISO model
75Termonologia
- I nodi (router) che operano usando MPLS vengono
chiamati Label Switching Router (LSR) - La parte di rete che questi nodi compongono viene
chiamata Dominio MPLS (MPLS Domain) - I nodi al confine del Dominio, ossia i nodi che
ricevono/trasmettono traffico allesterno del
Dominio vengono chiamati Edge Label Switching
Router (ELSR)
76MPLS Cloud
LER
L3 Routing
LER
LER
L3 Routing
L3 Routing
LSR
LSR
LER
Label Swapping
Label Swapping
LER
L3 Routing
L3 Routing
IP Packet IP Packet w/ Label
77Funzionamento
- Lidea di base è che una certa tipologia di
pacchetti che raggiungono un ELSR debbano venir
trasportati allinterno del Dominio tramite MPLS
ad un altro ELSR. - In corrispondenza di un indirizzo di destinazione
e di un tipo di trattamento richiesto (QoS) viene
definita una specifica Forwarding Equivalent
Class (FEC). - Una FEC individua quindi un aggregato di
pacchetti diretto ad una stessa destinazione
(intesa o come destinazione finale ocome ELSR)
che devono avere lo stesso trattamento
78Funzionamento (2)
- Quanto un ELSR riceve un pacchetto IP
- compie una operazione di Classificazione, ossia
in base a quanto contenuto nellintestazione
identifica leventuale FEC di appartenenza - inserisce fra lintestazione di livello 2 e il
pacchetto IP una Label. - Tale Label
- Identifica la FEC a cui il pacchetto appartiene
- Ha una lunghezza costante e breve
- Ha un significato locale alla linea
79Funzionamento (3)
- DallELSR di ingresso a quello di uscita tutte le
operazioni di forwarding verranno effettuate
utilizzando solo la Label e quindi lintestazione
del pacchetto IP non verrà più letta fino
allELSR di destinazione. - Gli LSR attraversati leggono la Label, trovano
tramite essa in una tabella il FEC corrispondente
ossia linformazione sulla porta di uscita, la
Label successiva ed il tipo di trattamento
richiesto. - LELSR di uscita (quindi lultimo nodo
attraversato allinterno del Dominio MPLS)
elimina la Label ed instrada il pacchetto
nuovamente sulla base dellindirizzo IP.
80Label Switched Path
81Passi fondamentali
- MPLS prevede in sostanza 4 passi fondamentali
- La definizione di una FEC
- Lindividuazione del percorso LSP.
- La creazione (associazione al FEC) e
distribuzione delle Label lungo il LSP (si
osservi che questa operazione e la precedente si
svolgono in modo parallelo e coordinato). - Il meccanismo di forwarding che comprende
linserimento della Label, la commutazione sulla
base di essa e la sua rimozione.
82Etichette
- Per distribuire
- Label Distribution Protocol (LDP)
- RSVP-TE (Traffic Engineering)
- Minimizzare il loro numero (tabelle piccole)
anche ridurre il traffico di segnalazione - Aggregation FEC diversi con la stessa label, per
esempio se destinazione è uguale - Label Merging pacchetti da diversi LSR hanno
label diversa per la stessa FEC
83Operazioni
- Le operazioni che vengono effettuate sul
pacchetto in transito nei LSR in relazione alle
Label sono sostanzialmente tre - Pushing, ossia linserimento della Label, che
viene realizzata dallELSR di ingresso. - Swapping, ossia conversione delletichetta,
realizzata contestualmente alloperazione di
commutazione - Popping, ossia leliminazione di etichetta
effettuata dallultimo o dal penultimo LSR
84Header
S the current label is the last in the stack
85Label popping
- Conviene fare il popping al penultimo LSR
(Penultimate Popping), perché - Allutimo nodo il forwarding viene eseguito sulla
base del pacchetto IP e quindi losservazione
della Label è inutile - Lasciarlo significa costringere il nodo a cercae
nella tabella MPLS per scoprire che deve
eliminare la Label e quindi usare IP - Non sempre si può fare il Penultimate Popping in
quanto non è detto che lLSR sia in grado di
accorgersi di essere il penultimo del LSP.
86Multidominio
87Vantaggi
- La procedura di forwarding richiede solo
lispezione di una etichetta (Label) di
dimensioni ridotte e lesplorazione di una
tabella relativamente semplice - Instradamento effettuato anche con altre
informazioni, non solo header come IP - Possibile scegliere percorsi per traffic
engineering e QoS - Tunneling efficiente
88Riferimenti
- G. Chaffee, RSVP The ReSerVation Protocol,
Multimedia Research Berkeley Center, (ppt online)
- E. Rot and I. Poleg DiffServ QoS in internet,
Presentation for ATM Networks course (EE-046992)
(ppt online) - R. Bolla, Servizi Multimediali e Qualità del
Servizio (QdS) su IP MPLS, appunti di
Telematica 2, università di Genova.
89Contatti f.santini_at_imtlucca.it