Internet QoS
Sistemi per la Codifica e Trasmissione di Segnali Multimediali
CdL Ing. TLC (INF) Specialistica
Internet QoS: il punto di partenza
• Sebbene le dimensioni della rete Internet siano in continua crescita la sua architettura di base è rimasta immutata
• Internet offre un servizio a datagramma
– Ogni datagram è gestito dalla rete indipendentemente dagli altri datagram
– Non è garantito il corretto trasferimento del datagram a destinazione – Non è fornita alcuna garanzia sul ritardo di trasferimento e2e dei
datagram
• Il servizio a datagramma non si presta a supportare applicazioni multimediali
• L’ Internet Engineering Task Force (IETF) ha sviluppato e
standardizzato delle soluzioni per fornire servizi differenziati in Internet
Proposte dell’IETF
• Integrated Services e Differentiated Services: Tecnologie che affrontano il problema di riservare ed allocare le
risorse necessarie ai flussi che devono essere serviti
• Multiprotocol Label Switching (MPLS): punto di
convergenza tra instradamento a datagramma e a circuito virtuale
• Traffic Engineering: fornisce strumenti per gestire la distribuzione del traffico in rete modo da ottimizzare il trade-off costi-benefici
Integrated Services (IS)
• Si basa su per-flow resource reservation (riserva delle risorse per ogni singolo flusso)
• Si pone l’obiettivo di fornire meccanismi per la riserva delle risorse per flussi real-time preservando il modello a datagramma delle reti IP
• Utilizza appropriati protocolli per eseguire riserva delle risorse in modo esplicito
• Per ottenere garanzie sulla QoS, ogni applicazione deve eseguire la riserva delle risorse lungo il path utilizzato prima di iniziare il trasferimento dati
IS: Resource Reservation (1)
Sender Receiver
IS: Resource Reservation (2)
• Il sender inoltra un descrittore delle caratteristiche del flusso dati e dei requisiti del servizio desiderato
– Peak Rate – Average rate – Burst Size
– Minimum Bandwidth – Delay
– Delay Jitter – Loss Rate
• La rete può accettare il nuovo flusso solo se ci sono risorse sufficienti a soddisfare i requisiti posti
• Se il flusso è accettato, i suoi pacchetti saranno inoltrati lungo il path riservato
Modello di Riferimento IS (1)
QoS Routing Agent Admission Control
Reservation Setup Agent
Resource Reservation Table
Flow Identification Packet Scheduling Control Plane
Data Plane
Modello di Riferimento IS (2)
• Control Plane: si occupa della riserva delle risorse
• Data Plane: inoltra i datagram sulla base della
riserva effettuata
Riserva delle Risorse
• L’applicazione invia alla rete un descrittore del traffico che vuole inoltrare (flow specification)
• Quando un router riceve la richiesta:
– Determina il successivo hop verso il quale inoltrare la richiesta – Determina (Admission Control) se ci sono risorse sufficienti ad
ammettere il nuovo flusso
– Se la richiesta è accettata, le informazioni sulle risorse riservate sono memorizzate nella Resource Reservation Table
– Le informazioni nella Resource Reservation Table sono utilizzate per configurare i moduli Flow Identification e Packet Scheduling
• Quando un datagram è ricevuto
– Il modulo Flow Identification identifica il flusso e memorizza il datagram nella coda opportuna
– Il modulo Packet Scheduler alloca le risorse al flusso
Admission Control (1)
• Parameter Based: il traffico è caratterizzato da un set di parametri, il processo di ammissione si basa esclusivamente sui parametri dichiarati
dalla sorgente poco complesso ma il carico attuale potrebbe differire dal carico atteso
dichiarato
• Measurement Based: il processo di ammissione si basa su misurazioni del carico di rete
consente l’implementazione di strategie basate sulla distribuzione attuale del traffico (es.
soddisfare i requisiti di QoS con una probabilità
del 95%)
Admission Control (2)
• Simple sum: la somma delle bande richieste non deve eccedere la capacità del link
• Measured sum: si basa sul carico misurato
• Acceptance Region: massimizza i benefici derivanti da un incremento dell’utilizzazione a spese delle perdite di
pacchetti. E’ necessario un modello statistico del traffico.
• Equivalent Bandwidth: Dato un insieme di flussi, la rispettiva banda equivalente C(p) è definita come la banda tale che la banda necessaria per servire il set di flussi sia maggiore di C(p) con probabilità al max pari a p
Flow Identification
• Si basa su
– IP source Address
– IP Destinatin Address – Protocol ID
– Source Port
– Destination Port
Guaranteed Service (1)
• Fornisce banda garantita e forti vincoli sul delay e2e
• TSpec, descrive le caratteristiche del traffico con i seguenti parametri:
– Bucket rate (r) – Peak rate (p)
– Bucket Depth (b)
– Minimum policed unit (m): ogni pacchetto più piccolo di m sarà cosiderato ampio m
– Maximum packet size (M)
• RSpec, descrive il servizio richiesto
– Service Rate (R)
– Slack Term (S): quantità extra di delay che un nodo può inserire senza violare le specifiche sul delay e2e
Guaranteed Service: Delay Calculation
• Assumendo che Sender e Receiver siano interconnessi da un link di capacità R, sia d il massimo delay e2e:
r) R
and (p
,
R d b
) R
(r ) ,
(
)
( p
r p
R
R p
d b
R) (p
0,
d
R) (
,
r d
p (pkt/s)
r (token/s)
b (pkt)
R (pkt/s)
Controlled Load Service
• Noto anche come better than best-effort
• Corrisponde al servizio che offrirebbe una rete poco carica
– Bassa % pacchetti persi
– Elevata % di pacchetti con delay e2e prossimo al minimo valore possibile
• Non assicura il rispetto di alcun vincolo su banda e delay
• Assicura un’utilizzazione delle risorse di rete più elevata rispetto al Guaranteed Service
Resource Reservation Protocol (RSVP)
• Simplex Reservation: Le risorse sono riservate in un’unica direzione da sender a receiver. Se l’applicazione è bidirezionale sono
necessarie due simplex reservation
• Receiver Oriented: per supportare il multicasting RSVP è receiver oriented, la riserva delle risorse è inizializzata dai receiver
• Routing Independent: la politica di selezione del path è opaca a RSVP
• Policy Independent: i parametri trasportati da RSVP sono opachi a RSVP
• Soft State: alle informazioni sullo stato delle risorse riservate sono associati opportuni timer che, una volta espirati, rendono possibile l’eliminazione delle stesse
• Reservation Style: sono definiti molteplici stili per gestire la riserva delle risorse
Messaggi RSVP
• PATH messages: inviati dalle sorgenti di traffico ai ricevitori
– Distribuiscono informazioni sulle sorgenti di traffico ai ricevitori
– Consentono di distribuire le informazioni necessarie a far transitare verso il sender i messaggi di riserva
trasmessi dal receiver
• RESV messages: utilizzati dal receiver per
riservare le risorse
RSVP: schema di funzionamento
S1
D2
R1 R2
R3 R4
S2
D1
PATH message RESV message
PATH Message
• Contiene
– Sender template: informazioni che identificano univocamente il flusso che il sender genera distinguendolo dagli altri flussi della medesima sessione di lavoro
– Sender TSpec
– Adspec: elemento opzionale utilizzato per trasportare One Pass With Advertising (OPWA), consente di instaurare una
comunicazione tra hop adiacenti e consente al receiver di monitorare la stato dell’intero path (banda, ritardo minimo, numero di hop che supportano IS, Path MTU)
RESV Message
• Contiene informazioni su:
– Reservation Style
– Flow Descriptor=flowspec+filterspec
Specifica la QoS desiderata e i
parametri da usare per lo scheduling (classe di servizio)
Definisce il flusso che deve ricevere la QoS specificata fa flowspec
Reservation Style
• Wild-card (WF) style: una unica riserva è condivisa tra tutti i sender della stessa sessione di lavoro
• Fixed-filter (FF) style: implica una riserva distinta per ogni sender
• Shared Explicit (SE) style: implica riserva condivisa con selezione esplicita dei sender (nella medesima sessione di lavoro) che la condividono
• WF ed SE sono particolarmente utili in quelle
applicazioni in cui è altamente improbabile che molteplici sender trasmettano i dati allo stesso istante (es.
audioconferenza)
Differentiated Services (DSs)
• Risponde all’esigenza di avere un metodo semplice ma approssimativo per fornire differenti livelli di servizio
• Il traffico è suddiviso in classi
• Le risorse sono allocate a ciascuna classe (per-class basis)
• Non è necessario che il core della rete sia in grado di distinguere singoli flussi
• La classe cui appartiene il flusso può essere stampate nell’header (forwarding class)
• I core router devono prevedere un apposito trattamento per ogni classe
DS: framework
Customer Network ISP Network
Boundary Node Interior Node
DS vs IS
• Allocazione delle risorse per classi di traffico piuttosto che per flussi singoli
• Policing alla frontiera e class-based forwarding nel core
• Ogni forwarding behavior definisce un trattamento e non un servizio
• Non sono assicurati vincoli assoluti sulla banda o sul ritardo
• Focus sul singolo dominio e non sul path e2e
Per Hop Behavior (PHB) e Servizi
• PHB è rappresentato da un campo di 6-bit nell’header IP (Differentiated Services Codepoint, DSCP)
• PHB specifica un trattamento hop x hop su base relativa o assoluta
• Il servizio descrive come il traffico del customer sia complessivamente trattato dal dominio
• Creare un servizio implica:
– Mapping del traffico nei più opportuni PHB
– Traffing Conditioning alla frontiera del dominio – PHB-based forwarding nel core
Traffic Classification & Conditioning
Classifier Marker Meter
Remarker
Shaper
Dropper Classification
Conditioning
Classifier
• Suddivide in molteplici gruppi lo stream di pacchetti in ingresso
• Esistono 2 tipi di classifier:
– Behavior Aggregate (BA): seleziona i pacchetti in base al DSCP, i pacchetti devono essere già stati marcati
– Multifield (MF): utilizza una combinazione di uno o più campi della 5-upla (source address, dest. Address, source port, dest.
Port, protocol ID) per la classificazione
Traffic Conditioner
• Meter: misura, per ogni forwarding class, le
caratteristiche del traffico generato dal customer e le confronta con quelle pattuite
– I pacchetti in-profile sono inoltrati nella rete
– I pacchetti out-profile subiscono ulteriore condizionamento
• Remarker: marca i pacchetti out-profile in modo da differenziarli da i pacchetti in-profile
• Shaper: rende lo stream di pacchetti out-profile conforme alle specifiche pattuite con il customer
• Dropper: elimina i pacchetti out-profile (è il più semplice shaper)
Assured Forwarding
• Rappresenta una classe di PHB
• I boundary node marcano i pacchetti out-profile
• Nel core, in caso di congestione, i pacchetti out- profile sono eliminati prima di quelli in- profile una possibile implementazione prevede l’impiego di algoritmi AQM parametrizzati rispetto al PHB
• Sono introdotte 4 forwarding class, per ognuna
delle quali sono definite 3 drop precedence 12
PHB
Expedited Forwarding
• Può essere utilizzato per creare servizi con basse perdite e basso delay
• Il traffico EF può limitare le risorse assegnate alle altre classi di traffico
• E’ stato introdotto per emulare l’accodamento
con priorità
IS over DS
• La rete è vista come una sequenza di link, ognuno dei quali rappresenta un dominio DS
• Alla periferia della rete le richieste IS sono
mappate in modo da poter essere gestite dai
domini DS
Capacity Overprovisioning (CO) vs Admission Control (AC)
• Per garantire la QoS è necessario evitare il verificarsi di overload
– CO: fornire una banda tale da prevenire gli overload
• Semplice implementazione in un ISP
• Garantisce una facile interoperabilità tra ISP
– AC: limitare il numero di flussi dati per proteggere la rete dagli overload
• Adottato da provider di servizi di TLC per fornire servizi a qualità garantita con la minor banda possibile (vedi reti telefoniche)
• Le cause degli overload sono:
– Normali fluttuazioni del traffico
– Contenuti di elevata popolarità verso cui tutto il traffico converge
– Redirezioni del traffico causati dalla caduta di un link (causa predominante in Internet !!!)
• Negli scenari con singolo hot-spot CO richiede una maggiore banda di AC
• In scenari senza alcun hot spot e supponendo la rete affidabile, CO e AC richiedono la stessa banda
• Per far fronte a malfunzionamenti della rete è necessaria sia per AC sia per CO banda addizionale in queste condizioni i requisiti in termini di banda di AC e CO sono equivalenti a prescindere dalla presenza di hot spot