Lo standard ATM

Commenti

Transcript

Lo standard ATM
Lo standard ATM
1
LO STANDARD ATM
2.1
FONDAMENTI DI ATM
Una rete ATM può essere sia pubblica sia privata.
Essa consiste di un insieme di nodi di commutazione detti switch ATM, e di un
insieme di nodi terminali detti End System ATM (ES ATM).
Gli switches ATM sono collegati tra loro attraverso linee di trasmissione puntopunto, tipicamente in fibra ottica, formando la rete vera e propria secondo una
topologia a maglia.
Gli ES ATM possono essere collegati solo agli switches ATM, sempre tramite linee
punto-punto, secondo una topologia di tipo stellare.
A ciascuna linea di trasmissione corrisponde un’interfaccia. Le interfaccie possibili
sono di quattro tipi (vedi figura 2.1):
ES
Switch
ATM
Private
UNI
Private
UNI
ES
Private ATM
Network
Public
UNI
Switch
ATM
Private
NNI
ES
Public
NNI
Public
UNI
Public
UNI
Public ATM
Network
Public
UNI
Private
UNI
Public
UNI
ES
ES
ES
ES
Figura 2.1-Interfacce di una rete ATM
ES
Lo standard ATM

Private User-Network Interface (Private UNI): identifica il collegamento tra un ES ATM
ed uno switch ATM privato;

Public User-Network Interface (Public UNI): identifica sia il collegamento tra un ES
ATM ed uno switch ATM pubblico, sia quello tra uno switch ATM privato ed uno switch
ATM pubblico;

Private Network-Node Interface (Private NNI): identifica il collegamento tra due
switches ATM privati, cioè all’interno di una rete privata;

Public Network-Node Interface (Public NNI): identifica il collegamento tra due switches
ATM all’interno di una rete pubblica.
Il trasferimento dell’informazione tra gli ES di una rete ATM avviene in unità
elementari chiamate celle, la cui dimensione è di 53 bytes, di cui 48 sono
d’informazione utile (Payload) e i restanti 8 bytes sono d’intestazione (Header).
Prima che due host inizino a comunicare è necessario che sia creata una
connessione virtuale (VC) tra host sorgente e host destinazione. Si parla di connessione
virtuale perché il trasferimento vero e proprio dell’informazione non è ancora in corso,
ma si sta solo inizializzando il percorso attraverso il quale successivamente avverrà la
comunicazione.
Le connessioni virtuali (VC) possono essere di due tipi:

Virtual Path Connections (VPC): identificate dal valore VPI;

Virtual Channel Connections (VCC): identificate dalla coppia VPI/VCI.
Le VPC sono costituite da un insieme di VCC che condividono un percorso
comune nella rete; per esempio da un host A ad un host B.
Ogni VCC è associata ad una singola comunicazione tra due ES ATM.
Per chiarire il concetto si può pensare ad un VPC contenente due VCC.
Il VPC può indicare il collegamento tra due ES e i due VCC possono indicare due
differenti servizi che caratterizzano quel collegamento, ad esempio, servizi voce e dati.
Poiché in ATM diverse connessioni possono condividere lo stesso canale (link), ad
ogni link possono essere associati diverse VPC, ognuna delle quali individua una
comunicazione tra due host differenti. La coppia VPI/VCI ha solo significato locale,
nel senso che vale esclusivamente all’interno di un link. Ogni volta che una
connessione attraversa uno switch, la coppia VPI/VCI ad essa associata è cambiata in
Lo standard ATM
una nuova coppia che identifica la connessione nel link successivo. Questo concetto
sarà chiarito nella successiva sezione dedicata alla segnalazione.
Le connessioni virtuali hanno anche una seconda classificazione:

Permanent Virtual Connections (PVC): sono utilizzate da host che si scambiano dati
molto di frequente e che necessitano di avere un canale di comunicazione a loro dedicato.
Queste connessioni sono configurate dal gestore di rete dopo che un utente effettua la
richiesta;

Switched Virtual Connections (SVC): sono create dinamicamente attraverso un
meccanismo di segnalazione tra ES e switch (vedere sezione segnalazione) ogni volta che
un ES intende instaurare una comunicazione con un altro ES.
2.1.1 SEGNALAZIONE NELLE RETI ATM
La segnalazione è un insieme di procedure utilizzate per creare delle SVC tra ES
ATM quando un ES vuole instaurare un collegamento. In fase di segnalazione un ES
può:

Specificare alla rete il tipo di connessione che intende stabilire (punto-punto o puntomultipunto) e indicare l’indirizzo (identità) del destinatario;

Fornire delle indicazioni sulle caratteristiche del traffico che intende trasmettere (bit rate
di picco, bit rate medio);

Richiedere alla rete una certa qualità di servizio (QoS).
Lo standard ATM
Esistono due tipi di segnalazione (vedi figura 2.2):
Switch
ATM
Segnalazione
UNI
ES ATM
Switch
ATM
ES ATM
Rete ATM
Switch
ATM
Segnalazione
NNI
Switch
ATM
Figura 2.2-Tipi di segnalazione in ATM

Segnalazione UNI, nota come segnalazione d’accesso, usata da un ES per comunicare
alla rete l’intenzione di voler stabilire una connessione con un ES remoto;

Segnalazione NNI, nota come segnalazione in rete, utilizzata dalla rete per inoltrare la
richiesta di connessione a tutti gli switches fino a destinazione e per allocare le risorse
(banda e buffer) per quella SVC.
Quando un ES vuole instaurare una connessione trasmette un opportuno messaggio
alla rete attraverso un canale dedicato per i messaggi di segnalazione, e identificato
dalla coppia VPI=0/VCI=5. Tutti gli switches sono configurati in maniera tale da
accettare i messaggi provenienti da tale canale e passarli ad un’entità di segnalazione
che opera al loro interno.
Lo switch all’interfaccia UNI (o meglio l’entità di segnalazione attiva al suo
interno), che riceve tale messaggio, assegna al collegamento richiesto una coppia
VPI/VCI che identifica in maniera univoca la connessione. A questo punto interviene il
protocollo di segnalazione in rete, noto come PNNI, che provvede ad inoltrare la
richiesta di connessione agli switches successivi fino a destinazione. Ogni switch che
riceve la richiesta configura una tabella al suo interno, nota come look-up table,
all’interno del quale è posto il nuovo valore della coppia VPI/VCI, e riserva una parte
delle risorse di rete (banda e buffer) per soddisfare le richieste di QoS ed i parametri di
Lo standard ATM
traffico relativi a quella SVC. Quando il messaggio di segnalazione arriva alla
destinazione questa può decidere se accettare o no la chiamata.
Se la richiesta è accettata, il segnale di conferma viaggia in senso opposto, lungo il
percorso attraversato precedentemente dal messaggio di richiesta di connessione,
informando tutti gli switches coinvolti che la connessione è stata accettata. In caso
contrario, la destinazione risponde con un segnale di rifiuto, in maniera tale da
permettere a tutti gli switches coinvolti nel suo percorso di rilasciare le risorse
precedentemente allocate, e di cancellare i valori VPI/VCI nella look-up table relativi a
quella particolare SVC.
Ma come avviene l’instradamento dei messaggi di segnalazione all’interno della
rete? Semplicemente il protocollo di segnalazione NNI utilizza degli algoritmi
d’instradamento (routing) che scelgono il percorso lungo il quale instradare la richiesta
di connessione, sulla base dell’indirizzo del destinatario, dei parametri di traffico della
sorgente e sulla QoS richiesta. Questo percorso coincide con quello che in seguito
attraverseranno le celle trasmesse dalla SVC creata tramite detta richiesta. Nella figura
2.3 vi è un esempio di creazione di una SVC tra due ES ATM, ES1 ed ES2. Il
messaggio connect indica la richiesta di connessione da parte di ES1, mentre il
messaggio OK indica che ES2 ha accettato la richiesta.
SWITCH
ATM
SWITCH
ATM
ES 1
SWITCH
ATM
Connect ES2
ES 2
Connect ES2
ES
2
OK
OK
S2
tE
OK
Co
nn
ec
t
ec
nn
Co
OK
RETE
ATM
SWITCH
ATM
Figura 2.3-Esempio di creazione di una SVC
Lo standard ATM
2.1.2 L’ARCHITETTURA DI ATM
ATM è caratterizzata da una gerarchia di protocolli che sono stati organizzati in tre
livelli (layers). Il primo è il livello fisico (Physical Layer o brevemente PL), che ha il
compito di trasmettere l’informazione sotto forma di bits attraverso i canali fisici.
Il secondo è l’ATM Data Link Layer (DLL) il quale si occupa di:

Aggiungere i 5 bytes di header al payload di una cella;

Inizializzare (set-up) una connessione (identifica tutta la fase di segnalazione descritta
precedentemente);

Effettuare l’instradamento delle celle;

Effettuare lo scheduling delle celle negli switches.
Il terzo e ultimo livello è l’ATM Adaptation Layer (AAL) che ha la funzione di
dividere il flusso informativo nei 48 bytes di payload (in trasmissione), e di
riassemblare il tutto a destinazione. Questo livello era stato in principio articolato nei
protocolli AAL 1, AAL 2, AAL 3, AAL 4.
La funzione di questi protocolli era di gestire differenti tipi di traffico; per esempio
AAL 1 gestiva servizi con bit-rate costante, mentre AAL 2 gestiva servizi a bit-rate
variabile.
Poiché i protocolli AAL 3 e AAL 4 erano molto simili, si decise di unirli in un
unico protocollo che fu denominato AAL 3/4. Questo protocollo era però caratterizzato
da un alto overhead (9 bytes su 53 complessivi, pari al 17% di ogni cella) e per questo
motivo fu sostituito da un nuovo protocollo chiamato AAL 5.
2.1.3 FORMATO DELL’HEADER DELLE CELLE ATM
Le celle ATM possono essere di due tipi, UNI o NNI, a seconda che attraversano
un’interfaccia UNI o NNI. I formati dei due tipi di cella sono mostrati in figura 2.4.
Lo standard ATM
5
4
3
2
GFC
VPI
VPI
VCI
0
VCI
VCI
PT
CRC (HEC)
Payload
1
Dati Utente
(48 byte s)
CLP
7
1
2
3
4
5
.
.
.
53
Cella UNI
6
5
4
3
2
1
0
VPI
Header
6
VPI
VCI
VCI
VCI
PT
CLP
CRC (HEC)
Payload
Header
7
Dati Utente
(48 byte s)
1
2
3
4
5
.
.
.
53
Cella NNI
Figura 2.4-Formati delle celle UNI e NNI
Il formato dell’Header è differente per i due tipi di celle ed il significato dei vari
campi è il seguente:

GFC (Generic Flow Control): presente solo nelle celle UNI, è utilizzato per il controllo
del flusso informativo tra ES ATM e la rete; consente di effettuare il controllo della
congestione;

VPI (Virtual Path Identifier): identifica il percorso virtuale a cui una cella appartiene;

VCI (Virtual Channel Identifier): identifica il canale virtuale a cui una cella appartiene;

PTI (Payload Type Indication): identifica se la cella trasporta traffico utente o traffico di
gestione. Se il primo bit è posto a zero, si tratta di una cella che trasporta informazione
utente, altrimenti si tratta di informazione per la gestione della rete. Il secondo bit di
questo campo indica se si è vicini a dei fenomeni di congestione o meno (0 = nessuna
congestione; 1 = congestione), mentre il terzo bit è usato dal protocollo AAL 5 per
identificare la fine di un datagramma, cioè di un gruppo di celle di una connessione;

CLP (Cell Loss Priority): è impostato dall’ES che ha generato la cella oppure da uno
degli switches attraversati, per indicare la priorità della cella; se vale 1 indica che la cella
ha una priorità più alta d'essere scartata in caso di congestione dello switch;
Lo standard ATM

CRC (Cyclic Redundancy Check): usato per rilevare errori nell’header, e quindi per
evitare di spedire una cella alla destinazione errata. Dato che l’header di una cella cambia
ad ogni switch (cambia la coppia VPI/VCI), il CRC è ricalcolato ad ogni switch della rete
ATM. Il CRC è spesso indicato anche come HEC (Header Error Control).
2.2
TRAFFIC MANAGEMENT
Il Traffic Management (TM) è un aspetto cardine della tecnologia ATM che si
occupa della gestione del traffico in rete. Il suo scopo principale è di evitare che
accadano fenomeni di congestione, cioè situazioni d’overflow (sovraccarico) dei
buffers degli switches.
Le funzioni svolte dal TM possono essere riassunte in:

Assicurare che una richiesta di connessione sia rifiutata nel caso in cui la rete non abbia
sufficienti risorse (banda, buffer) a disposizione per soddisfare la richiesta;

Regolazione del flusso di traffico per evitare la congestione;

Controllare il traffico immesso in rete da ciascuna sorgente, in modo che nessuna di esse
trasmetta non rispettando i parametri di traffico concordati;

Garantire alle sorgenti la QoS minima concordata.
Il Traffic Management può essere diviso nei seguenti elementi:
1. Contratto di traffico;
2.
Connection Admission Control (CAC);
3.
Conformance Monitoring;
4.
Queuing e scheduling;
5. Controllo di flusso;
6. Controllo di congestione.
Le funzioni 1, 3, 4, saranno trattate approfonditamente, mentre per le restanti 2, 5,
6, sarà data solo una breve descrizione.
Lo standard ATM
2.2.1 CONTRATTO DI TRAFFICO
Al momento dell’instaurazione della connessione, in pratica in fase di segnalazione,
la sorgente e la rete stipulano un accordo che è definito contratto di traffico.
Il contratto di traffico include i seguenti elementi:

Parametri di qualità di servizio;

Parametri di traffico o descrittori di traffico;

Categorie di servizio;

Definizione di come il traffico dovrebbe comportarsi (definizione di conformità).
Una volta che il contratto è stato stipulato, sia la sorgente sia la rete devono
impegnarsi affinché esso sia rispettato.
La sorgente avrà il compito di generare il traffico in modo da rispettare i parametri
di traffico concordati, quanto più fedelmente possibile.
La rete deve invece garantire che la sorgente ottenga almeno la QoS minima
concordata.
Bisogna mettere in risalto il fatto che la garanzia di QoS offerta è di tipo
probabilistico; in altre parole il ritardo massimo, il tasso di perdita delle celle, la
variazione del ritardo di celle, ecc, sono mantenuti in un lungo periodo, vale a dire per
un gran numero di celle.
Le prestazioni su una singola cella, o su un piccolo numero di celle, possono
scendere sotto il livello di QoS garantita, anche se per brevissimo tempo.
I valori dei parametri di qualità di servizio sono indicativi delle prestazioni nel caso
peggiore possibile, quindi nelle condizioni di funzionamento normale le prestazioni
della rete saranno migliori.
2.2.1.1
Parametri di QoS
I parametri di QoS caratterizzano le prestazioni richieste da una connessione.
Lo standard ATM
Il contratto di traffico definisce la QoS in termini d’obiettivi end-to-end, cioè da ES
ATM sorgente ad ES ATM destinazione. Sono stati definiti sei parametri di QoS per
misurare le performance della rete per una data connessione.
Tre di questi parametri sono “negoziabili” tra ES ATM e la rete, intendendo che un
ES ATM può richiedere una connessione caratterizzata da valori di questi parametri
che più si avvicinano alle proprie esigenze. Non chiederà le prestazioni migliori in
assoluto, minimizzando in questo modo la probabilità che la propria richiesta di
connessione sia rifiutata. Questi tre parametri sono i seguenti:

Cell loss ratio (CLR);

Maximum cell transfer delay (Max-CTD);

Peak-to-peak cell delay variation (P2P-CDV).
Gli altri tre parametri “non negoziabili” sono:

Severely errored cell block ratio (SECBR);

Cell misinsertion rate (CMR);

Cell error ratio (CER).
Cell Loss Ratio (CLR)
È il tasso di perdita delle celle, definito come rapporto tra numero di celle perse e
celle totali trasmesse:
CLR 
celle perse
celle totali trasmesse
Sono considerate celle perse tutte quelle che:

Non arrivano mai a destinazione;

Arrivano con un ritardo eccessivo;

Sono ricevute con il contenuto (payload o header) corrotto da errori.
(2.1)
Lo standard ATM
Le cause principali della perdita di celle in una rete ATM sono situazioni
d’overflow dei buffers, errori nell’header e strategie d’accodamento (queuing)
particolari.
Ad esempio, un accodamento ai buffers d’ingresso degli switches fa crescere il CLR
rispetto ad una strategia d’accodamento ai buffers d’uscita degli switches.
Il numero di celle totali trasmesse si riferisce a tutte le celle trasmesse in un certo
periodo, che siano conformi ai descrittori di traffico. Non sono considerate nel calcolo
del CLR le celle trasmesse ma non conformi.
Applicazioni dati tollerano dei CLR significativi al contrario d’applicazioni in
tempo reale.
Parametri di ritardo
Definiamo ritardo di trasferimento di cella (cell transfer delay o CTD), come il
tempo che intercorre dall’istante di partenza di una cella dalla sorgente, all’istante
d’arrivo a destinazione. Il CTD è ottenuto come somma dei ritardi a ciascun link ed a
ciascun nodo, nel percorso da sorgente a destinazione. Il ritardo su un link è il ritardo di
propagazione, vale a dire il tempo richiesto per la propagazione dei bits sul link fisico
ed è dipendente dal mezzo fisico (fibra, cavo, doppino) usato.
Il ritardo di propagazione è determinato come:
Ritardo di propagazione 
Distanza
( fattore di propagazio ne  rapidità di link )
(2.2)
dove il fattore di propagazione è compreso fra 0,2 e 0,6.
Il cell transfer delay (CTD) in un nodo include:

il ritardo d’accodamento e di trasmissione interno, vale a dire il tempo per accodare e
trasmettere i bits di una cella sui links interni del nodo;

il ritardo d’accodamento e di trasmissione esterno, vale a dire il tempo richiesto per
accodare e trasmettere i bits sul link d’uscita del nodo;
Lo standard ATM

ritardo d’elaborazione, che rappresenta il tempo necessario per elaborare una cella
(analizzare l’header).
Il tempo d’accodamento dipende dalla lunghezza della coda incontrata dalla cella,
mentre il tempo di trasmissione dipende dalla capacità di link.
Definiamo infine il minimo ritardo di trasferimento di cella (minimum CTD) e la
variazione del ritardo di cella (cell delay variation o CDV).
Il minimum CTD è il ritardo di trasferimento di cella escludendo tutti i ritardi
d’accodamento interno ed esterno a ciascun nodo.
Il ritardo d’accodamento a ciascun nodo varia da una cella all’altra: questa
variazione è denominata CDV. A causa del cell delay variation (CDV), celle trasmesse
ad intervalli regolari possono arrivare a destinazione con tempi d’interarrivo differenti
(tempo tra l’arrivo di due celle consecutive). Il motivo è da ricercarsi in alcune azioni
svolte da ATM, come la multiplazione di più connessioni sullo stesso link ed il traffic
shaping (letteralmente sagomazione del traffico), necessario per far rientrare una
sorgente entro i limiti dei parametri di traffico concordati.
Maximum Cell Transfer Delay (Max-CTD)
È il ritardo massimo ritenuto accettabile dalla sorgente per il trasferimento delle
proprie celle alla destinazione. Per sorgenti di traffico real-time, una cella ricevuta con
un ritardo maggiore del Max-CTD è ritenuta non valida ed è inclusa nel calcolo del
CLR come cella persa.
Peak-To-Peak Cell Delay Variation (P2P-CDV)
Rappresenta la differenza tra il Max-CTD ed il minimum CTD.
Permette di valutare il massimo ritardo tra l’arrivo di due celle consecutive
(massimo tempo d’interarrivo).
Lo standard ATM
Concludiamo questa sezione dedicata ai parametri di QoS con i parametri non
negoziabili, cosi chiamati perché dipendono da fattori come rumore e altri disturbi sui
links di trasmissione che non sono controllabili a piacimento.
Severely Errored Cell Block Ratio (SECBR)
È definito nel seguente modo per una connessione:
SECBR 
Blocchi di celle errate
Numero totale blocchi trasmessi
(2.3)
Un blocco di celle è una sequenza di N celle trasmesse consecutivamente su una
data connessione. Generalmente ogni blocco di celle è iniziato e concluso con una cella
di gestione detta cella OAM.
Un blocco Severely Errored è invece un blocco in cui almeno M celle su le N totali
sono errate, perdute o misinserted (vedi parametro CMR).
Le celle trasmesse e perse considerate nel SECBR non sono incluse
nell’elaborazione del CLR.
Cell Misinsertion Rate (CMR)
È definito come segue per una connessione:
CMR 
Misin serted cells
Time interval
(2.4)
Time interval è un intervallo di riferimento, mentre le misinserted cells sono quelle
celle che presentano errori nel campo VPI/VCI del proprio header non rilevati dal
Lo standard ATM
campo CRC, e che causa il loro instradamento su connessioni virtuali o percorsi
virtuali cui non appartengono. Questo può avvenire solo se i valori errati del campo
VPI/VCI corrispondono a connessioni effettivamente attive nella rete.
La probabilità che un VPI/VCI a causa di un errore su un bit sia trasformato in un
VPI/VCI corrispondente ad una connessione attiva nella rete, è molto più alta per reti
di grande dimensione (pubbliche), rispetto a reti di media dimensione come quelle
private, e ciò significa che il CMR di queste ultime è più basso.
Nel caso in cui celle misinserted siano state considerate nei blocchi di celle errate,
esse vanno escluse dal calcolo del CMR.
Cell Error Ratio (CER)
Il Cell Error Ratio (CER) è definito nel seguente modo:
CER 
Celle errate
Celle trasferite con successo  Celle errate
(2.5)
Una cella errata è quella che, pur essendo stata ricevuta entro il tempo massimo
consentito (CTD), contiene degli errori sul payload o sull’header (per quest’ultimo
dopo la procedura di HEC). Il CER, così come gli altri due parametri visti
precedentemente, è influenzato dalle caratteristiche del mezzo fisico usato e dalla
distanza.
2.2.1.2
Parametri di traffico
I parametri di traffico o descrittori di traffico hanno lo scopo di dare una descrizione
quanto più accurata possibile del traffico generato dalla sorgente.
Lo standard ATM
Al momento del set-up della connessione, la sorgente specifica uno o più dei
seguenti parametri di traffico:

Peak Cell Rate (PCR);

Sustainable Cell Rate (SCR);

Maximum Burst Size (MBS);

Minimum Cell Rate (MCR);

Cell Delay Variation Tolerance (CDVT).
Ad ogni connessione bidirezionale saranno associati due insiemi di descrittori di
traffico, uno per ogni direzione. I parametri di traffico saranno usati dalla rete per
stabilire se la richiesta di connessione possa essere accettata, oppure debba essere
rifiutata, ed in seguito per allocare una quantità opportuna di risorse (banda e memoria
nei buffers) per soddisfare la QoS concordata, senza danneggiare le connessioni già
attive.
Una volta che la richiesta di connessione sia stata accettata, le risorse allocate alla
sorgente corrispondente vengono mantenute per tutta la durata della connessione,
indipendentemente dall’ingresso in rete di nuove connessioni.
Questo vantaggio si ripercuote nella possibilità che una richiesta di connessione non
venga accettata per mancanza di risorse in rete. Questo non è però una novità.
Infatti, anche nelle normali reti telefoniche, una non accettazione di chiamata può
essere dovuta oltre all’occupazione della linea da parte dell’utente cui è diretta la
chiamata, anche da un sovraccarico dei commutatori all’interno delle centrali (seppur
con bassissima probabilità). I parametri di traffico specificati dalla sorgente variano
secondo la categoria di servizio della connessione (si veda sezione sulle categorie di
servizio).
Peak Cell Rate (PCR)
Rappresenta il rate massimo con la quale la sorgente invia le celle in rete, ed è
espresso in celle al secondo.
Lo standard ATM
Il suo inverso (1/PCR) rappresenta il tempo minimo che intercorre tra l’arrivo di
due celle consecutive di una connessione, detto minimo tempo d’interarrivo.
Per esempio, posto R il rate di linea, e considerato  il tempo per trasmettere una
cella al rate R, una sorgente che ha contrattato un PCR pari ad ½ del rate di linea R
può spedire una cella sul link ogni due τ.
Sustained Cell Rate (SCR)
Il Sustained Cell Rate (SCR) è un limite superiore sul rate di cella medio a lungo
termine, cioè misurato su un lungo periodo di tempo.
Analogamente al PCR è espresso in celle al secondo ed il suo inverso rappresenta il
tempo d’interarrivo medio a lungo termine delle celle.
Questo descrittore di traffico è sempre definito in unione con il Maximum Burst
Size (MBS).
Maximum Burst Size (MBS)
Il Maximum Burst Size (MBS) è il cosiddetto fattore di burstness della connessione
che specifica il massimo numero di celle che possono essere trasmesse al PCR dalla
sorgente, senza violare l’SCR concordato.
Minimum Cell Rate (MCR)
Indica il rate minimo con cui la sorgente è disposta a trasmettere. È un parametro di
traffico definito solo per connessioni appartenenti alla categoria di servizio ABR (vedi
sezione sulle categorie di servizio).
Un MCR nullo indica che la sorgente è disposta ad accontentarsi di qualunque
quantità di banda non utilizzata. Se, invece, la sorgente richiede un MCR non nullo, la
Lo standard ATM
rete deve assicurare almeno quella banda minima richiesta, altrimenti la richiesta di
connessione deve essere rifiutata.
Cell Delay Variation Tolerance (CDVT)
Talvolta confuso con il CDV, rappresenta la massima quantità tollerata della
variazione del ritardo di cella (CDV) per una data connessione, oltre il quale il traffico
è giudicato non conforme. Il CDVT è discusso in maniera più dettagliata nella sezione
dedicata alla conformità del traffico.
2.2.1.3
Categorie di servizio
L’ATM forum ha standardizzato un insieme di categorie di servizio che
identificano il tipo di traffico della sorgente e le sue esigenze in termini di QoS, come
ritardo e perdita di celle. Le categorie di servizio sono le seguenti:

Constant Bit Rate (CBR);

Variable Bit Rate (VBR);

Available Bit Rate (ABR);

Unspecified Bit Rate (UBR).
Alle connessioni CBR e VBR è allocata la larghezza di banda per tutta la durata
della connessione, anche se in certi intervalli di tempo la banda potrebbe essere
inutilizzata (connessioni bursty).
I servizi ABR ed UBR appartengono invece ai servizi a larghezza di banda su
domanda, così chiamati poiché le connessioni che li utilizzano ricevono la banda sulla
base di quella lasciata libera dalle connessioni CBR e VBR.
Lo standard ATM
Constant Bit Rate (CBR)
Appartengono alla categoria CBR sorgenti che abbiano la necessità di sfruttare la
banda allocata per tutta la durata della connessione. Il parametro di traffico più
significativo è il PCR. La sorgente può trasmettere celle ad un rate pari al PCR senza
alcun limite temporale, quindi anche per tutta la durata della connessione, con la
certezza che tutte le celle emesse saranno ritenute conformi al contratto di traffico e
quindi riceveranno la garanzia di QoS concordata. La rete assegnerà le risorse
necessarie per supportare un rate di cella costante e pari al PCR per tutta la durata della
connessione.
La sorgente non è però costretta a trasmettere costantemente al PCR, ma può anche
trasmettere ad un rate inferiore.
Negli intervalli in cui il rate d’emissione di celle è inferiore al PCR, la rete può
temporaneamente allocare la banda resasi disponibile ad altre connessioni, garantendo
però che in caso di necessità essa possa essere riallocata alla sorgente CBR, in modo
che la qualità di servizio non ne risenta.
Applicazioni che richiedono un servizio CBR sono tipicamente quelle real-time,
come telefonia, trasmissione video (video-on-demand, TV via cavo), videoconferenze.
Poiché le applicazioni real-time hanno stringenti richieste sul Max-CTD e sul P2PCDV, alle celle delle sorgenti CBR sarà assegnata una priorità più elevata rispetto a
sorgenti non real-time, affinché siano soddisfatti i limiti sui ritardi.
Variable Bit Rate (VBR)
Alla categoria VBR appartengono quelle sorgenti di tipo bursty, cioè caratterizzate
da periodi di trasmissione intervallati da periodi di non trasmissione.
La categoria VBR si divide nelle due sottocategorie real-time VBR (rt-VBR) e non
real-time VBR (nrt-VBR), basate sulle richieste sui ritardi delle applicazioni.
Lo standard ATM
Le sorgenti rt-VBR hanno stringenti vincoli sui ritardi di trasmissione e sulla
variazione del ritardo di cella (CDV), mentre le sorgenti nrt-VBR, pur richiedendo una
consegna tempestiva delle celle, non hanno alcun vincolo sul CDV, e dunque la rete
non offrirà garanzie precise sui tempi di consegna delle celle, vale a dire sui tempi
d’interarrivo.
Il traffico rt-VBR è caratterizzato da valori del PCR, SCR e MBS.
La categoria di servizio VBR è simile alla CBR, con la differenza che la prima non
genera celle ad un rate costante ma variabile.
Il servizio rt-VBR è quindi adatto ad applicazioni real-time che generano un flusso
di celle a rate variabile, come per esempio audio e video compresso.
Il servizio nrt-VBR è invece adatto ad applicazioni dati in cui è critico il tempo di
risposta, ma che non hanno stringenti richieste sulla variazione del ritardo di cella.
Rientrano in questa categoria le prenotazioni aeree, le transazioni bancarie, ecc.
Available Bit Rate (ABR)
Utilizzano questo servizio sorgenti che siano in grado di adattare (aumentare o
diminuire) il rate d’emissione di celle, in funzione d’informazioni ricevute dalla rete.
Le connessioni ABR sfruttano dunque la banda temporaneamente non utilizzata da
altre connessioni. Il tutto è fatto usando un meccanismo di retroazione (feedback).
Il feedback è un flusso d’informazioni che la sorgente riceve dalla rete tramite
particolari celle di gestione, denominate Resource Management Cell (celle RM).
Una volta instaurata la connessione, la sorgente adatta il suo rate di trasmissione in
base alle indicazioni sulla banda disponibile contenute nelle celle RM, che le
arriveranno di tanto in tanto. Se la rete è prossima ad una situazione di congestione,
comunicherà alla sorgente di ridurre il proprio cell rate, mentre se vi è un aumento
della disponibilità della banda, le comunicherà che può incrementare il proprio cell
rate.
Il rate della sorgente non può però mai scendere al di sotto del MCR contrattato,
altrimenti si violerebbe il contratto di traffico.
Lo standard ATM
Le connessioni ABR riceveranno dunque dalla rete un servizio di tipo “Best Effort”,
vale a dire il miglior servizio possibile in quel momento.
I parametri specificati in questo tipo di servizio sono il PCR e l’MCR.
ABR è un servizio adatto ad applicazioni in cui non sia critico il tempo di risposta,
quindi in cui non sia previsto alcun limite sul Max-CTD e sul CDV.
Fanno parte di questa categoria il trasferimenti di news, email e WWW.
Unspecified Bit Rate (UBR)
Il servizio UBR, così come ABR, ha la caratteristica di sfruttare la banda lasciata
libera da altre connessioni più esigenti (CBR e VBR). È tipicamente un servizio “Best
Effort”.
A differenza di ABR, la rete non garantisce alcun parametro di qualità di servizio e
non comunica eventuali situazioni di congestione.
UBR potrà dunque avere dei tassi di perdita di cella (CLR) e dei ritardi di
trasferimento massimo (Max-CTD) qualsiasi, anche molto elevati.
La sorgente può trasmettere le sue celle ad un rate qualsiasi, purché rientri nel PCR
specificato, e la rete le può scartare non appena ce né sia bisogno.
Le celle di connessioni UBR sono le prime ad essere scartate in caso di
congestione.
L’unico aspetto positivo del servizio UBR è il poco impegno della rete, poiché non
è necessario alcun meccanismo di controllo di flusso, al contrario di ABR.
Applicazioni che rientrano in questa categoria di servizio sono quelle di
trasferimento file, fax, email e news.
2.2.1.4
Traffic Conformance
Lo standard ATM
Si è visto che in fase di contratto di traffico, la sorgente specifica i descrittori di
traffico ed i parametri di qualità di servizio (QoS) richiesti.
Prima che la sorgente inizi a trasmettere, la rete effettua un controllo (controllo a
livello di chiamata) denominato CAC (Connection Admission Control) che analizza la
richiesta di connessione e decide se accettarla o rifiutarla.
Quest’operazione inizia con una breve fase di negoziazione: la richiesta della
sorgente comprende, oltre ai valori di QoS desiderati, valori minimi che essa è disposta
ad accettare.
Lo switch all’interfaccia UNI, che riceve la richiesta, controlla se ha risorse
sufficienti per garantire almeno la minima QoS richiesta. In caso negativo la chiamata
viene rifiutata, altrimenti è inoltrata allo switch successivo che effettuerà la stessa
operazione.
Se tutti gli switches nel percorso hanno risorse sufficienti, la richiesta arriva all’ES
ATM destinatario che decide se accettarla (eventualmente cambiando i parametri di
QoS, sempre entro i valori minimi specificati), oppure rifiutarla. Il segnale
d’accettazione o di rifiuto ritorna alla sorgente attraverso lo stesso percorso, e se la
chiamata è stata accettata inizierà la comunicazione tra i due ES ATM.
Compito del CAC è anche quello di prenotare le risorse necessarie per garantire la
QoS richiesta, e determinare in base ai parametri di traffico e di QoS forniti dalla
sorgente, dei parametri da passare alla fase di controllo a livello di rete, denominato
UPC (Usage Parameter Control). Un aspetto da rimarcare del CAC è che non deve
essere troppo conservativo, ossia l’accettazione di una chiamata non deve avvenire solo
se la somma della banda di picco di tutte le VC, su tutti i links condivisi con la nuova
VC, non eccede la capacità di detti links, perché si rischierebbe un sott’utilizzo della
banda disponibile, in particolare in presenza di connessioni bursty.
Il CAC non deve quindi basarsi sulla banda di picco delle VC, ma sulla banda
media, assumendo che le sorgenti non trasmettano tutte contemporaneamente al PCR.
Una volta che il CAC è stato eseguito, ed è iniziata la trasmissione delle celle, la
rete deve assicurarsi che la sorgente rispetti i parametri di traffico negoziati, vale a dire
che le celle trasmesse siano conformi ai descrittori di traffico.
Le celle che non rispettano i parametri di traffico sono dette non conformi.
Lo standard ATM
La conformità di una cella viene determinata attraverso l’applicazione di un
algoritmo al momento della sua ricezione, chiamato GCRA (Generic Cell Rate
Algorithm).
Una connessione contenente celle non conformi, non è detto che perda
immediatamente i diritti di QoS, e che su di essa debbano essere prese delle azioni
drastiche, come il suo abbattimento; dipende se essa influenza o no la QoS delle altre
connessioni attive nella rete. Rete che deve assicurare la garanzia di QoS ad almeno le
celle che sono conformi.
Per monitorare continuamente il traffico, e prendere delle azioni in caso di presenza
di celle non conformi, la rete implementa alcuni meccanismi: traffic-policing, trafficshaping e soft-policing. Il traffic-policing, noto anche come UPC, è una funzione di
controllo del traffico eseguito all’interfaccia UNI che porta a prendere delle decisioni,
come l’etichettare e scartare una cella, nel caso di non conformità di quest’ultima.
Il traffic-shaping consiste, invece, nell’adattare il traffico della sorgente in maniera
da renderlo conforme ai parametri di traffico negoziati.
Infine, la funzione di soft-policing è caratterizzata dal non prendere subito decisioni
drastiche (scarto e marcatura) sulle celle non conformi, come nell’UPC, ma le
bufferizza temporaneamente e solo successivamente, se una soglia prefissata
d’occupazione del buffer è stata superata, vengono scartate.
Questi tre meccanismi verranno trattati più dettagliatamente successivamente, dopo
aver presentato il concetto di “definizione di conformità”.
Definizione di conformità
La definizione di conformità è applicata a ciascuna categoria di servizio.
Determina i tipi di celle (con CLP=0, oppure con CLP=0+1 cioè traffico aggregato)
per la quale la QoS ed i descrittori di traffico sono definiti, e quali azioni la rete può
compiere sul traffico non conforme. Alle celle con CLP=1 non è applicata alcuna
definizione di conformità, perché essendo celle a priorità più bassa saranno le prime ad
essere scartate in caso di congestione, e dunque non è possibile garantire loro la QoS a
meno che non appartengono ad un traffico aggregato (CLP=0+1).
Lo standard ATM
Nel caso in cui la garanzia di qualità di servizio si applichi ad un flusso di celle
aggregato (flusso con celle CLP=0 e CLP=1), i due tipi di cella sono trattate allo stesso
modo senza differenza di priorità. Si dice in questo caso che la definizione di
conformità è CLP trasparente, cioè indipendente dal bit CLP.
Le azioni che la rete può eseguire sulle celle giudicate non conformi sono:

Etichettare (tagging) la cella;

Scartare la cella;

Far entrare la cella in rete come conforme anche se non lo è.
L’azione di tagging consiste nel marcare una cella non conforme avente bit CLP=0,
con CLP=1, in modo tale che possa essere scartata in caso di congestione. Si tratta
quindi di un’azione che può essere eseguita solo su celle con CLP=0.
Il descrittore di traffico PCR è sempre definito, qualunque sia la categoria di
servizio, sul traffico aggregato. Ciò significa che una sorgente non può mai trasmettere
ad un rate maggiore del PCR, qualunque sia il bit CLP.
CLP Transparency
Si è visto che talvolta la definizione di conformità è indipendente dal bit CLP.
Il tutto è nato per risolvere problemi come il seguente:
Si supponga di avere più connessioni a canale virtuale (VCC) contenenti celle con
CLP=0 e CLP=1; le celle con CLP=1 possono essere state marcate perché non
conformi.
Queste VCC possono essere aggregate in un’unica connessione Virtual Path (VPC).
Posto ora di applicare una funzione di traffic-shaping, in modo che tutto il traffico
aggregato nella VPC sia conforme ai descrittori di traffico della VPC stessa, non ci
dovrebbero essere più celle con CLP=1 nella VPC.
Questo non è però possibile poiché il bit CLP=1 non può essere modificato, e
dunque le celle con CLP=1 possono essere scartate pur essendo conformi.
Lo standard ATM
L’introduzione del concetto di CLP trasparente permette di risolvere questo
problema trattando le celle indipendentemente dal bit CLP, e quindi fornendo la stessa
QoS in termini di CLR a tutte le celle della VPC.
Conformità per il servizio CBR
Nel caso del servizio CBR, la definizione di conformità si applica al Peak Cell Rate
(PCR) del traffico aggregato (CLP=0+1).
Un esempio d’algoritmo che determina la conformità di una sorgente al PCR
potrebbe essere il seguente: essendo (1/PCR) il minimo tempo d’interarrivo tra le celle,
se una cella arriva prima di (1/PCR) rispetto alla cella precedente significa che la
sorgente sta trasmettendo ad un rate maggiore del PCR, e dunque la cella risulta non
conforme al PCR.
Questo test di conformità però non può in realtà essere applicato.
Infatti, se più connessioni vengono multiplate su un unico link, celle che sono
inizialmente conformi al PCR possono essere trattate dalla rete come non conformi, per
effetto dell’interazione con le celle delle altre connessioni. Si verifica cioè un
fenomeno d’alterazione del traffico iniziale, chiamato jitter. In pratica, celle trasmesse
ad intervalli regolari e rispettando il PCR contrattato, arrivano a destinazione con un
tempo d’interarrivo minore di (1/PCR) e vengono giudicate non conformi.
Per determinare la conformità delle celle al PCR, tenendo conto del jitter, è stato
introdotto un fattore di tolleranza. Questo è il già citato CDVT (Cell Delay Variation
Tolerance), espresso in unità di tempo, solitamente μsec.
Il CDVT rappresenta una tolleranza sul minimo tempo d’interarrivo (1/PCR).
Quindi, celle che arrivano a destinazione con un tempo d’interarrivo minore di
(1/PCR) possono ancora essere giudicate conformi al PCR, perché viene tollerata una
variazione pari al CDVT sul tempo d’arrivo tra due celle consecutive. I parametri
CDVT e (1/PCR) possono essere usati come parametri d’ingresso dell’algoritmo
GCRA, per stabilire la conformità di una sequenza di celle che debba avere un certo
PCR ed un certo CDVT.
Lo standard ATM
Il GCRA (1/PCR, CDVT) può essere espresso tramite un algoritmo, noto come
Leaky Bucket.
Leaky Bucket
Quest’algoritmo è basato su un’analogia con un secchio che viene riempito da un
rubinetto, e riversa l’acqua che contiene attraverso un piccolo foro sul fondo ad una
velocità costante. Se viene immessa troppa acqua, quest’ultima fuoriesce dal bordo
superiore del secchio e si perde. Si consideri allora un secchio (bucket) B, che si
riempie con I = (1/PCR) unità ogni volta che arriva una cella conforme, e si svuota di
un’unità ogni unità di tempo.
La soglia di riempimento del bucket è fissata a L = CDVT; se all’arrivo di una cella
il secchio non è completamente pieno, ossia non ha raggiunto la soglia L, la cella viene
giudicata conforme, altrimenti non conforme. Il bucket andrà in overflow quando per
un certo periodo le celle arrivano ad un rate maggiore rispetto al rate di svuotamento
(drenaggio), e tutte le celle in eccesso saranno non conformi.
Indichiamo con ta il tempo d’arrivo di una cella e con LCT (Last Conformance
Time) il tempo d’arrivo dell’ultima cella conforme; allora il bucket nel tempo (ta–LCT)
si svuoterà di tante unità quante sono le unità di tempo in esso contenute. All’arrivo
della prima cella al tempo ta, B=0 e LCT=ta. L’algoritmo Leaky Bucket è mostrato nella
figura 2.5.
Lo standard ATM
cella arriva
al tempo ta
cella conforme
B=max(0;B-(ta-LCT))+I
LCT=ta
no
B-(ta-LCT) >L
si
cella non
conforme
Figura 2.1-Algoritmo Leaky Bucket
Conformità per il servizio VBR
Per la categoria di servizio VBR ci sono tre definizioni di conformità chiamate
rispettivamente VBR.1, VBR.2 e VBR.3.
Tutte e tre le definizioni si applicano su PCR e SCR; mentre la conformità al PCR
si applica sul traffico aggregato (CLP=0+1), per l’SCR la conformità è definita
sull’aggregato delle celle nella VBR.1, e sul flusso con CLP=0 nella VBR.2 e VBR.3.
Nel caso una cella sia trovata non conforme, la VBR.1 prevede di scartare la cella,
la VBR.2 assume che il traffico sia già marcato, e quindi scarta anch’essa la cella, e la
VBR.3 etichetta la cella. Nel caso della VBR.1, una cella che è conforme al PCR deve
esserlo anche per l’SCR affinché sia una cella conforme.
Per la VBR.2 e la VBR.3 solo le celle con CLP=0 devono essere conformi al PCR
ed all’SCR, per essere delle celle conformi. Le celle con CLP=1 che sono conformi al
PCR non hanno necessità d’essere conformi all’SCR, perché la conformità all’SCR è
prevista solo per le celle con CLP=0.
Così come per il PCR, un algoritmo GCRA può essere usato per stabilire la
conformità di una cella all’SCR. In questo caso è introdotto un nuovo parametro, noto
come BT (Burst Tolerance), che definisce un tolleranza sul Maximum Burst Size
(MBS).
Lo standard ATM
Tramite il BT, celle inizialmente conformi all’SCR, che per effetto dell’interazione
con altri flussi di celle diventano non conformi a destinazione, poiché non rispettano
più il minimo tempo d’interarrivo a lungo termine (1/SCR), possono essere ancora
considerate conformi. Il BT è calcolato come:
 1
1 
BT  ( MBS  1)  


 SCR PCR 
(2.6)
Il GCRA per l’SCR ha come argomenti 1/SCR e BT+CDVT.
Conformità per il servizio ABR
Per la categoria di servizio ABR, la conformità è definita per il PCR e per l’MCR,
ed in entrambe i casi solo per le celle con CLP=0. Una cella con CLP=0, conforme al
PCR, deve esserlo anche rispetto all’MCR per essere una cella conforme.
L’azione presa dalla rete, in caso di non conformità, è lo scarto della cella e
l’algoritmo GCRA ha come parametri 1/MCR e CDVT.
Conformità per il servizio UBR
Per la categoria di servizio UBR ci sono due definizioni di conformità, UBR.1 e
UBR.2, che si applicano solo al PCR del traffico aggregato.
La differenza tra le due è nell’azione eseguita dalla rete in caso di non conformità di
una cella. Nella definizione UBR.1, la rete scarta la cella trovata non conforme al PCR,
mentre nell’UBR.2 una cella con bit CLP=0 trovata non conforme al PCR viene
marcata.
Questa definizione di conformità non garantisce alcun parametro di QoS.
Lo standard ATM
Traffic Policing
Successivamente alla creazione di una connessione inizia una fase di controllo del
traffico veicolato nella rete, nota come Traffic Policing o anche UPC (Usage
Parameter Control). Lo scopo è di monitorare costantemente, per tutta la durata della
connessione, il traffico immesso in rete dalla sorgente, e rilevare l’eventuale
superamento dei limiti espressi nei descrittori di traffico ed accettati dal CAC.
Si tratta dunque di un controllo a livello di rete che è tipicamente svolto all’interno
dei nodi d’ingresso alla rete. Per ciascuna cella che arriva viene controllato innanzi
tutto il campo VPI/VCI dell’header, per verificare che il suo valore corrisponda ad una
connessione attiva nella rete. Se questo controllo fornisce esito negativo, la cella viene
bloccata, altrimenti opportuni algoritmi decidono sulla conformità della cella in base ai
parametri forniti dal CAC. Le azioni eseguite dall’UPC in presenza di violazione del
contratto di traffico sono:

Cell tagging: può essere fatto un primo controllo di conformità delle celle con CLP=0;
quelle trovate conformi non subiscono ulteriori controlli, e vengono fatte entrare in rete;
le celle giudicate non conformi vengono marcate, modificando il loro bit CLP da 0 a 1 e
sottoposte ad un nuovo controllo di conformità insieme alle celle con CLP=0 (controllo
sul flusso aggregato). Le celle conformi a questo secondo controllo vengono accettate
nella rete, mentre le altre vengono scartate. La figura 2.6 riassume l’azione di tagging
dell’UPC;

Cell discarting: le celle trovate non conformi, eventualmente dopo il tagging, vengono
immediatamente scartate, mentre le celle conformi anche se con CLP=1 non vengono
scartate dall’UPC;

Connection release: nel caso una connessione sia caratterizzata da un gran numero di
celle non conformi, superiore ad una soglia prefissata, essa viene abbattuta. Si tratta
dell’azione più drastica che l’UPC può eseguire.
Lo standard ATM
Celle
CLP=0
ES ATM
Celle
CLP=0+1
DEMUX
Celle
CLP=1
Celle non
marcate CLP=0
Celle
MUX
TMM1 marcate
Celle
CLP=1
CLP=1
MUX
TMM2
RET E
Celle
CLP=1
non
in eccesso
Ce lle
CLP=1
in
eccesso
Figura 2.2 -Tagging dell’UPC
Se un flusso di celle, originariamente conforme, è alterato (jittered) per effetto del
multiplexing con celle d’altre connessioni, divenendo non conforme, le azioni di
marcare o di scartare le celle influenzano la QoS della connessione.
Questo è il motivo per cui il Traffic Policing è eseguito all’interfaccia UNI e non
nei nodi interni della rete. Un controllo a livello di switch è comunque previsto e viene
eseguito per ridurre eventuali situazioni di congestione. In pratica, quando ad uno
switch il rate d’arrivo di cella è maggiore del rate d’uscita, i buffers tendono a
riempirsi.
Il prolungarsi nel tempo di questa situazione porta alla congestione dello switch,
che reagisce eliminando le celle con CLP=1 in maniera da garantire la QoS alle celle
con CLP=0.
Traffic Shaping
A differenza del Traffic Policing, il Traffic Shaping modifica (esempio ritarda) il
flusso iniziale di celle per renderlo conforme ai descrittori di traffico contrattati.
Lo standard ATM
Può essere eseguito sia all’interfaccia UNI, mettendo in serie alla sorgente uno
shaper (sagomatore), sia nei nodi interni della rete. Le possibili azioni di shaping sono:
o Riduzione del PCR;
o
Limitazione della lunghezza dei burst;
o Riduzione del CDV.
Per esempio, si potrebbe usare un algoritmo Leaky Bucket per far sì che un flusso di
celle che arriva ad intervalli non perfettamente regolari, ma con una certo CDV, venga
sagomato in modo da ridurre il CDV. In pratica ogni cella che arriva ad intervalli di
tempo variabili viene messa nel bucket e le celle in uscita sono prelevate ad intervalli
perfettamente regolari, annullando il CDV.
Attraverso il Traffic Shaping si riducono eventuali situazioni di congestione, si
riduce la probabilità di perdita di cella e si abbassano i tempi di ritardo all’interno della
rete.
Il tutto a scapito di un maggior ritardo prima che il traffico entri in rete.
Soft Policing
Per assicurare che un flusso di celle inizialmente conforme, e poi disturbato, sia
ancora giudicato conforme, si potrebbe scegliere un valore del CDVT molto grande. In
questo modo si evita l’applicazione di azioni come lo scarto o il tagging delle celle
inizialmente conformi.
Tuttavia, un valore grande del CDVT influenza la probabilità d’ammissione della
connessione in fase di CAC: più alto è il CDVT richiesto, più alta è la probabilità che
la richiesta di connessione venga rifiutata dal CAC, poiché si stanno richiedendo
maggiori risorse di rete. Una soluzione a questo problema consiste nell’utilizzare una
funzione di Soft Policing, che lascia passare solo le celle che sono conformi e
bufferizza quelle non conformi.
Quando la capacità dei buffers viene superata, le celle in eccesso possono essere
scartate o etichettate con CLP=1.
Lo standard ATM
2.2.1.5
Queuing e Scheduling
In una rete ATM più connessioni condividono le risorse di rete (larghezza di banda
di link, memoria nei buffers). Per effetto di questa condivisione, celle di diverse
connessioni possono tentare di accedere alla stessa risorsa simultaneamente dando
luogo ad una situazione di contesa. Per risolvere questo problema è necessaria una
struttura d’accodamento che permetta di memorizzare temporaneamente le celle.
Il punto in cui si verifica la contesa è detto punto d’accodamento (queuing point).
Uno switch può avere una o più strutture d’accodamento. Una volta che le celle
sono accodate, è necessario determinare l’ordine con il quale le celle devono essere
servite, in accordo per soddisfare gli obiettivi di QoS: si dice che deve essere
implementato un algoritmo di scheduling. Gli obiettivi di una struttura d’accodamento
e del corrispondente algoritmo di scheduling sono:

Flessibilità: supportare differenti servizi ed evolvere facilmente per supportare nuovi
servizi;

Efficienza: essere in grado di massimizzare l’utilizzazione dei links di rete;

Garanzia della QoS: fornire basso jitter e bassi ritardi end-to-end per andare incontro alle
esigenze del traffico real-time;

Isolamento: ridurre le interferenze tra le connessioni;

Fairness: permettere una ridistribuzione leale della larghezza di banda quando essa
diviene disponibile.
In questa sezione si descrivono le possibili strutture d’accodamento e gli algoritmi
di scheduling, dopo aver dato una breve descrizione dell’architettura di uno switch
ATM.
Architettura di uno switch ATM
Lo standard ATM
Multiplexer
Input Port
Input Link 1
Fabric
Input
Link
(FIL)
Fabric
Output
Link
(FOL)
FIL 1
Demultiplexer
Output Port
Output Link 1
FOL 1
Switching
Fabric
Output Link L
Input Link L
FIL N
FOL N
Figura 2.3-Architettura di uno switch ATM
Come mostrato in figura 2.7, uno switch ATM è composto da un numero L di porte
d’ingresso, da un numero L di porte d’uscita, e da un nucleo centrale di commutazione
detto Switching Fabric. La Switching Fabric è fornita di N links d’ingresso detti FILs
(Fabric Input Links) e di N links d’uscita detti FOLs (Fabric Output Links); il suo
compito è quello di commutare le celle che arrivano sui FILs ai FOLs appropriati.
Per massimizzare l’utilizzazione dei FILs, più links d’ingresso possono essere uniti
in un unico FIL, attraverso più multiplexers. Dei demultiplexers saranno invece
collegati ai FOLs per consentire la separazione del traffico nei links appropriati.
Una struttura d’accodamento può essere presente in vari punti di uno switch per
memorizzare temporaneamente le celle in attesa di accedere ad un link interno, oppure
esterno. I punti in cui possono essere presenti tali strutture sono:

Porte d’ingresso: poiché il rate del link d’ingresso è minore del rate con la quale la porta
d’ingresso inserisce la cella nello switch, in generale non è richiesta alcuna struttura
d’accodamento, a meno che non sia presente una funzione di traffic shaping sulla porta
d’ingresso;

Multiplexers: un multiplexer richiede una struttura d’accodamento solo se la somma dei
rate dei suoi links d’ingresso eccede il rate del suo link d’uscita;

Demultiplexers: necessitano di una struttura d’accodamento per ogni link d’uscita che ha
un rate più basso rispetto al rate del link d’ingresso;
Lo standard ATM

Porte d’uscita: richiedono una struttura d’accodamento se il rate d’ingresso è maggiore
del rate del link d’uscita;

Switching Fabric: può essere implementata attraverso diverse strutture d’accodamento,
che saranno trattate dopo aver dato una breve descrizione del funzionamento della
Switching Fabric.
Una Switching Fabric può essere classificata in bloccante oppure non bloccante.
Per bloccante s’intende che essa non è in grado d’instradare una cella da un FIL ad un
FOL, mentre sta instradando una cella da un differente FIL ad un differente FOL. In
questo
caso,
è
necessaria
una
struttura
d’accodamento
per
memorizzare
momentaneamente le celle in attesa di accedere al FOL appropriato. Nel caso di
Switching Fabric non bloccante, può invece succedere che più celle da differenti FILs
richiedono contemporaneamente l’accesso ad un dato FOL. Si verifica quindi una
contesa al FOL che per essere risolta necessita di una struttura d’accodamento. Una
Switching Fabric può essere caratterizzata da tre diverse strategie di buffering:
1.
Switching Fabric con buffers in ingresso;
2.
Switching Fabric con buffers in uscita;
3.
Switching Fabric con buffers in ingresso ed uscita;
Switching Fabric con buffers in ingresso
I buffers sono posti in ingresso, in corrispondenza di ciascun FIL. Nel caso sia
utilizzata una disciplina di servizio FIFO (First In First Out) per i buffers, si manifesta
il problema dell’Head-Of-Line (HOL) blocking (bloccaggio in testa alla linea), che
tende ad aumentare la probabilità d’overflow dei buffers. Il fenomeno dell’HOL sorge
quando una cella in testa alla coda d’attesa (buffer) deve attendere per effetto di una
contesa al FOL, e la cella che la segue, pur essendo diretta ad un FOL libero, non può
Lo standard ATM
essere instradata in detto FOL finché la cella che la precede non risolve la contesa.
Questo problema può essere risolto usando delle discipline di servizio non FIFO. In
questo caso, quando una cella è bloccata in testa alla coda d’attesa per effetto di una
contesa, le celle che la seguono, e dirette a FOLs diversi dal FOL di contesa, possono
essere instradate subito.
Switching Fabric con buffers in uscita
Questo tipo di Switching Fabric prevede una struttura d’accodamento in
corrispondenza di ciascun FOL. Se K celle, con K = (0,1,2…..N), arrivano in uno slot
di tempo su differenti FILs, tutte dirette allo stesso FOL, esse vengono instradate dalla
Switching Fabric all’appropriato FOL e accodate nel suo buffer. Non si verifica quindi
il fenomeno dell’HOL, anche se vi è il rischio d’overflow del buffer.
Switching Fabric con buffers in ingresso ed uscita
I buffers sono presenti sia ai FILs sia ai FOLs. La Switching Fabric è caratterizzata
da una velocità di commutazione superiore rispetto a quelle viste precedentemente.
Infatti, se L (1  L N) celle entrano in contesa per un FOL, tutte le L celle possono
essere accettate dal FOL in uno slot di cella (tempo che impiega il FIL a trasmettere
una cella).
Questo perché il processo di contesa si ripete L volte per slot, e ogni volta viene
fatto tra le celle che hanno perso la precedente contesa e le celle che sono arrivate in
testa ai buffers d’ingresso. Anche questo tipo di Switching Fabric elimina il problema
dell’HOL, e per la superiore velocità di commutazione è detta anche Switching Fabric
Speed-UP.
Lo standard ATM
Strutture d’accodamento
Possono essere organizzate in due modi:
1. Accodamento per gruppo;
2. Accodamento per VCC/VPC.
Nel primo metodo, la coda è condivisa dalle celle di connessioni appartenenti allo
stesso gruppo, mentre nel secondo metodo vi è una coda separata per ogni VCC oppure
VPC.
I gruppi tipici nella quale le connessioni possono essere organizzate sono:

Per categoria di servizio;

Per classe di servizio;

Per definizione di conformità.
Gruppo per categoria di servizio
Le connessioni vengono accodate in base alla categoria di servizio d’appartenenza:
vi saranno tante code, tante quante sono le categorie di servizio (CBR, rt-VBR, nrtVBR, ABR, UBR).Vedi esempio in figura 2.8.
CBR
VBR
Arbitro
capacità di link
UBR
Figura 2.4-Accodamento per categoria di servizio
Lo standard ATM
Avere una coda separata, per ogni categoria di servizio, incrementa però la
complessità dell’algoritmo di scheduling. Per questo motivo, alcuni switches nel
mercato raggruppano categorie di servizio simili (esempio CBR e rt-VBR) nella stessa
coda. Questo però causa una difficoltà nel fornire la garanzia di QoS separatamente per
ciascuna categoria di servizio, per effetto dell’interazione tra celle di categorie di
servizio diverse. Un metodo, per risolvere il problema, consiste nell’utilizzare delle
opportune discipline di scheduling (per esempio basate sulla priorità).
Gruppo per classe di servizio
Ad una categoria di servizio possono essere associate una o più classi di servizio,
ciascuna delle quali offre differenti obiettivi di QoS. Per esempio, una categoria di
servizio CBR potrebbe essere caratterizzata da due classi di servizio: una che offre un
CTD più basso (es. 300 sec), ed una che offre un CTD più alto (10 msec). Oppure, le
due classi di servizio per il CBR potrebbero offrire due diversi CLR: una classe
primaria, con un CLR di 10-10, ed una classe normale con un CLR di 10-5. Un esempio
d’accodamento per classe di servizio è dato nella figura 2.9.
CBR
CBR/rt -VBR
nrt-VBR
nrt-VBR
CTD=300S/CLR=10E-10
CTD=10mS/CLR=10E-5
CLR=10E-7
CLR=10E-4
Arbitro
capacità di link
ABR
UBR
Figura 2.5-Accodamento per classe di servizio
Lo standard ATM
Gruppo per definizione di conformità
In questo tipo d’accodamento, le connessioni sono suddivise in base alla
definizione di conformità, usando una coda separata per ciascuna di esse (vedi figura
2.10).
CBR.1
VBR.1
VBR.2/VBR.3
Arbitro
capacità di link
UBR.1
UBR.2
Figura 2.6-Accodamento per definizione di conformità
Il problema principale dell’accodamento per gruppo, indipendentemente dal tipo
(categoria di servizio, classe di servizio, definizione di conformità), è la difficoltà ad
ottenere l’isolamento per connessione, vale a dire garantire la QoS a ciascuna
connessione separatamente. Infatti, connessioni diverse nello stesso gruppo potrebbero
influenzare la QoS d’altre connessioni, se il loro comportamento viola il contratto di
traffico.
Accodamento per VCC/VPC
Lo standard ATM
L’accodamento è realizzato usando per ogni VCC o VPC una coda differente (vedi
figura 2.11), ed il vantaggio che né deriva è l’isolamento per connessione. Infatti,
poiché ogni connessione è separatamente accodata non può influenzare con un suo
comportamento scorretto altre connessioni che si comportano bene. Tuttavia, è costoso
da implementare, perché si ha bisogno di un’area di memoria separata per ogni
connessione, ed inoltre non è molto scalabile perché all’aumentare del numero di
connessioni cresce la memoria richiesta.
VC1
VC2
VC3
arbitro
VC4
Capacità di link
VCn
Figura 2.7-Struttura d’accodamento per VC
Meccanismi di Scheduling
Si è visto che per risolvere le situazioni di contesa che possono verificarsi tra celle
di connessioni diverse, sono necessarie delle strutture d’accodamento. Questo non è
sufficiente: una volta che le celle sono state accodate è necessario individuare l’ordine
con il quale esse devono essere servite. È richiesta dunque una funzione arbitro che
implementi un opportuno algoritmo di scheduling, e che permetta di trasmettere le celle
rispettando gli obiettivi di QoS di ciascuna connessione. Il meccanismo di scheduling
deve cioè proteggere il flusso di traffico da sorgenti che non rispettano il contratto di
traffico, in modo da non far gravare tutto il controllo sul Traffic Policing. Gli schemi di
scheduling si possono dividere in due categorie:
Lo standard ATM
1.
Scheduling singolo o flat;
2.
Scheduling gerarchico.
Lo scheduling singolo (vedi fig.2.12) è basato su una sola funzione arbitro che è
condivisa da tutte le code, ed implementa un solo algoritmo di scheduling. Lo
scheduling gerarchico (vedi fig. 2.13) usa più funzioni arbitro, divise in vari livelli. Al
primo livello, più arbitri arbitrano tra insiemi diversi di code, mentre ai livelli
successivi sono utilizzate altre funzioni arbitro che arbitrano tra gli arbitri. Ciascuna di
queste funzioni arbitro può implementare un algoritmo di scheduling diverso.
Uno scheduling gerarchico è utile per dividere la larghezza di banda di link fra i
vari insiemi di code. Nel caso in cui una coda non utilizzi la banda assegnateli,
quest’ultima viene prima ridistribuita fra le code all’interno dello stesso insieme.
arbitro
capacità di link
Figura 2.8-Scheduling singolo (flat)
A=Arbitro
A1
A5
capacità di link
A2
Livello 3
A4
A3
Livello 2
Livello 1
Figura 2.9-Scheduling gerarchico
Lo standard ATM
Gli algoritmi di scheduling che una funzione arbitro può implementare sono
classificati in:
o
Scheduling basato sulla priorità;
o
Work-conserving fair-share scheduling;
o
Non-work-conserving fair-share scheduling.
Scheduling basato sulla priorità
È uno scheduling in cui a ciascuna coda è assegnata una priorità. Le code vengono
servite in ordine di priorità decrescente: prima le celle delle code a più alta priorità e
poi a scalare quelle a priorità più bassa. Anche, se celle di code a priorità più bassa
sono in attesa da più tempo rispetto alle celle a priorità più alta, esse vengono servite
solo dopo che sono state servite le celle più prioritarie. L’opportunità di trasmissione
nelle code a bassa priorità dipende dal carico nelle code con maggiore priorità. Si ha
quindi lo svantaggio che celle a priorità più bassa rischiano di attendere troppo nelle
proprie code, se le celle a priorità più elevata appartengono a connessioni bursty. È
perciò difficile soddisfare la garanzia di QoS per il traffico a bassa priorità. Nel caso
d’accodamento per categoria di servizio, lo scheduling a priorità potrebbe essere usato
nel modo seguente: la priorità più alta potrebbe essere assegnata al traffico CBR,
seguito dal traffico rt-VBR, poiché entrambe hanno stringenti richieste sul ritardo; i
successivi livelli di priorità verrebbero assegnati rispettivamente ai servizi, nrt-VBR,
ABR ed UBR; al traffico UBR viene assegnata la priorità più bassa, poiché ad esso non
è data alcuna garanzia di QoS.
Fair-Share Scheduling
Lo standard ATM
A differenza dello scheduling basato sulla priorità, il Fair-Share tenta di
suddividere la larghezza di banda di link nel modo più leale (fair) possibile, garantendo
a ciascuna coda parte della capacità di link, in base ad un peso assegnato.
In questo modo anche servizi come ABR e UBR, dove la banda è assegnata sulla
base della disponibilità, ottengono una parte della capacità di link.
I Fair-Share Schedulers garantiscono un rate di servizio minimo a ciascuna coda, e
forniscono un’allocazione di banda leale fra le code, ma non fra le connessioni
appartenenti alla stessa coda. I Fair-Share Schedulers possono essere classificati come
Work-conserving oppure Non-work-Conserving. Un Work-conserving scheduler non va
mai a riposo fintanto che ci sono celle in attese nelle code. Rientra nella categoria degli
rate-allocation schedulers, caratterizzati dal fatto che possono servire una coda ad un
rate di servizio maggiore del rate di servizio minimo allocato alla coda.
Un Non-work-conserving scheduler non può invece spedire una quantità di celle
superiore al rate di servizio minimo allocato.
Tra gli algoritmi di scheduling di tipo Work-conserving figurano:
o
Fair-Queuing (FQ);
o
Virtual Clock;
o
Self-Clocked Fair Queuing (SCFQ);
o
Round Robin (RR);
o
Weighted Round Robin (WRR);
o
Deficit Round Robin (DRR);
Tra gli algoritmi Non-work-conserving abbiamo:
o
Stop-and-Go;
o
Jitter Earliest Due Date (EDD);
o
Dynamic Time Slice (DTS).
Sarà descritto solo il metodo Round Robin perché utilizzato nel lavoro svolto,
mentre saranno tralasciati gli altri algoritmi citati (per questi si veda [18], [19], [25],
[26], [27], [28], [29], [30]).
Lo standard ATM
Round Robin Scheduling Algorithm
Utilizza dei cicli per servire le code, ed in ogni ciclo da la possibilità a tutte le code
di trasmettere una cella. Quando una coda viene interrogata, se ha una cella in attesa la
trasmette, altrimenti si passa a servire la coda successiva.
Questo schema non spreca dunque larghezza di banda, a differenza del sistema
TDM (Time Division Multiplexing) nella quale la banda assegnata rimane allocata alla
connessione, indipendentemente se essa trasmette oppure non trasmette.
Se ci sono N code da servire, la disciplina di servizio RR assegna a ciascuna di esse
una larghezza di banda pari a (capacità di link / N), ossia divide la banda in parti uguali
fra tutte le code. Un ciclo, nel caso di N code da servire, dura quindi N slot di cella (N
volte il tempo per trasmettere una cella). Quando a ciascuna coda viene assegnato un
peso Wi si parla di Weighted Round Robin (WRR), la quale assegna una larghezza di
banda di
Wi
capacità di link
N
1 iWi

Documenti analoghi

Telematica

Telematica • Ad ogni servizio è associato un insieme di possibili valori di QoS • Gli operatori possono aggiungere altri valori di QoS oltre a quelli standardizzati

Dettagli

pcr scr mbs

pcr scr mbs ATM effettua il trasferimento delle informazioni in formato numerico tramite unità elementari di trasporto, denominate celle, di lunghezza fissa (53 byte). Tutti i tipi di informazione (voce, fax, ...

Dettagli