Le principali critiche volte al modello Integrated Services hanno soprattutto
evidenziato che è un modello poco scalabile su reti di grosse dimensioni, il
livello di granularità delle informazioni3.5 è probabilmente troppo elevato, inoltre è richiesto un forte intervento anche
sull'architettura di base della rete, ogni router deve supportare il protocollo
RSVP. Questi motivi hanno spinto a valutare modelli alternativi che fossero
più facilmente scalabili.
Differentiated Services [13], prende in considerazione un
numero ben definito di servizi, indipendentemente dalle applicazioni in gioco,
si affida ad un insieme limitato ed efficiente di meccanismi di instradamento,
evita di memorizzare informazioni di stato per ogni singolo flusso richiedente
garanzie di qualità del servizio. Il funzionamento
è molto semplice, il traffico in ingresso alla rete subisce un processo di ``condizionamento'',
in corrispondenza delle cosiddette zone di frontiera, i flussi vengono in pratica
assegnati a dei macro-flussi identificati tramite un semplice campo dell'header
denominato DS byte. Nel caso di IPv4 [14], ad esempio il DS
in realtà va a sovrascrivere l'inutilizzato campo TOS. Ad ogni DS è associata
una diversa strategia di instradamento che determina il modo in cui i pacchetti
vengono gestiti all'interno della rete (Per-Hop Behaviour, PHB).
Si noti che non c'è nessun protocollo di segnalazione o informazione sullo stato,
ogni router deve mantenere esclusivamente le informazioni per il management
dei diversi PHB che sono in numero finito e indipendenti dal numero di microflussi
aggregati, il numero di informazioni da mantenere sono in definitiva proporzionali
al numero di classi di servizio e non al numero di flussi d'applicazione.
Anche per realizzare il servizio DiffServ occorrono delle forme di controllo
di ammissione e politiche di amministrazione
del traffico (policing).
Possiamo individuare i seguenti elementi funzionali.
Packet Classifier: si occupa di classificare
i vari pacchetti in base alle informazioni contenute in una parte dell'header,
si individuano quindi quella porzione del traffico che può ricevere un servizio
differenziato assegnandogli un PHB. I classificatori possono funzionare sulla
base dell'analisi del solo campo DS (Behaviour Aggregate), oppure sulla
base di più campi dell'header (MultiField), ad esempio valutando congiuntamente
il campo DS con gli indirizzi sorgente e destinazione.
Traffic Conditioner: è la parte vitale del
sistema, il suo obiettivo è di applicare le specifiche di condizione sui pacchetti
preventivamente classificati, il conditioner consiste di un o più di questi
elementi:
Meter: misura il traffico dei pacchetti, suddividendoli
in ``in-profile'' e ``out-profile''
Marker: per i pacchetti in-profile seleziona, se necessario,
un nuovo codice DS, o pacchetti out-profile, invece, vengono bollati mediante
un apposito codice.
Shaper: si occupa dei pacchetti out-profile, scegliendo
di ritardarne la trasmissione per farli rientrare in-profile.
Dropper/Policier: effettua il policing
dei flussi, inoltre si occupa di rigettare i pacchetti out-profile in caso di
congestione.
Figure:
Elementi funzionali dell'architettura DiffServ
In figura sono mostrati gli elementi funzionali introdotti
ed il modo in cui interagiscono tra di loro. Si noti che le sofisticate operazioni
di classificazione, marcatura, policing e shaping sono necessarie solo ai confini
della rete, all'interno della rete i router hanno solo bisogno di conoscere
il DS.
Si può effettuare una prima distinzione in classi.
Default service (DE): è la modalità di spedizione
best effort tradizionale utilizzata in Internet. Tale servizio viene indicato
resettando tutti i bit del campo DS.
Premium service: per applicazioni che richiedono
un servizio caratterizzato da priorità più elevate.
Il premium service è composto a sua volta da due classi.
Expedited service: per applicazioni che richiedono
un servizio caratterizzato da un basso delay e jitter.
Assured service: per applicazioni che richiedono
una maggiore garanzia di raggiungibilità rispetto al servizio best-effort in
caso di congestione. Se il traffico assured risulta in-profile ha una scarsa
probabilità di essere ritardato. Questo servizio viene realizzato attraverso
una accurata gestione dei buffer dei router. In pratica è analogo al servizio
controlled load fornito da IntServ.