Il Modo di Trasferimento Asincrono (Asynchronous Transfer Mode

annuncio pubblicitario
Marco Listanti
Dipartimento INFOCOM
Università di Roma "La Sapienza"
Il Modo di Trasferimento Asincrono
(Asynchronous Transfer Mode – ATM)
1
Indice
1
ASYNCHRONOUS TRANSFER MODE (ATM)...................................................................................... 3
1.1 RETE A LARGA BANDA INTEGRATA NEI SERVIZI (B-ISDN) E ASYNCRHONOUS TRANSFER MODE
(ATM). 3
1.2 L’ATM: CONCETTI GENERALI E DEFINIZIONI ....................................................................................... 5
1.2.1 Il concetto di connessione in ATM ........................................................................................ 7
1.2.1.1
1.2.1.2
I concetti di Virtual Channel (VC) e di Virtual Path (VP).................................................. 8
Il trattamento delle informazioni di segnalazione ............................................................ 10
1.2.2 La cella ATM....................................................................................................................... 11
1.2.3 La commutazione ATM........................................................................................................ 11
1.3 GLI STRATI DELL'ARCHITETTURA ATM. ............................................................................................ 13
1.3.1 Lo strato fisico..................................................................................................................... 13
1.3.1.1
1.3.1.2
1.3.1.3
Interfacce di strato fisico.................................................................................................. 14
La funzione di Header Error Control............................................................................... 15
La funzione di cell delineation ......................................................................................... 16
1.3.2 Lo strato ATM ..................................................................................................................... 17
1.3.2.1
1.3.2.2
1.3.2.3
1.3.2.4
1.3.2.5
1.3.2.6
Valori pre-assegnati dell'header per le celle di strato fisico............................................ 18
Il campo Generic Flow Control (GFC) ............................................................................ 19
I campi Virtual Path Identifier (VPI) e Virtual Channel Identifier (VCI)......................... 20
Il campo Payload Type (PT) ............................................................................................ 21
Il campo Cell Loss Priority (CLP) ................................................................................... 22
Funzioni di gestione nelle reti ATM. ................................................................................ 22
1.3.3 Lo strato di adattamento (ATM Adaptation Layer – AAL).................................................. 25
1.3.3.1
1.3.3.2
1.3.3.3
1.3.3.4
1.3.3.5
1.3.3.6
Il protocollo AAL 1........................................................................................................... 27
Il sottostrato SAR (Segmenting And Reassembly). ........................................................... 28
Il protocollo AAL 2........................................................................................................... 31
Il protocollo AAL 3/4........................................................................................................ 33
Il protocollo AAL 5........................................................................................................... 37
Confronto tra AAL ¾ e AAL 5. ......................................................................................... 40
1.4 CONTROLLO DEL TRAFFICO E DELLA CONGESTIONE IN ATM ............................................................. 40
1.4.1 Aspetti prestazionali in reti integrate ad alta velocità ........................................................ 41
1.4.2 Procedure di gestione del traffico in ATM. ......................................................................... 46
1.4.2.1
1.4.2.2
1.4.2.3
1.4.2.4
1.4.2.5
1.4.2.6
1.4.2.7
Parametri descrittori della qualità delle connessioni ...................................................... 47
Parametri descrittori del traffico ..................................................................................... 47
Categorie di servizio ........................................................................................................ 48
Controllo di ammissione delle connessioni ...................................................................... 50
Controllo dei parametri d'utente ...................................................................................... 50
Azioni UPC ...................................................................................................................... 53
Controllo di congestione per applicazioni dati ................................................................ 54
1.5 BIBLIOGRAFIA .................................................................................................................................... 56
2
1
1.1
ASYNCHRONOUS TRANSFER MODE (ATM)
Rete a larga banda integrata nei servizi (B-ISDN) e Asyncrhonous Transfer
Mode (ATM).
Il primo esempio di integrazione nella fornitura di servizi è rappresentato dalla ISDN
che è stata definita nei suoi aspetti base nel corso degli anni ‘70. La sua caratteristica
fondamentale è quella di fornire una connettività numerica da estremo a estremo per il
supporto di servizi con banda inferiore a 2 Mbit/s, tipicamente il servizio di telefonia e i
servizi dati a bassa velocità. Il concetto di integrazione adottato nella ISDN è limitato alle
modalità di accesso dell’utente alle funzionalità di trasporto; queste ultime rimangono però
differenziate per tipologia di traffico e di servizio ed è compito della centrale locale dirigere il
traffico verso la rete di trasporto più adatta (circuito, pacchetto, segnalazione).
Nel corso degli anni ’80 lo scenario dei servizi si è rapidamente modificato rispetto a
quello considerato nella definizione della ISDN. Sono emerse nuove esigenze di trasferimento
in rete geografica principalmente dovute a:
a) il supporto di flussi dati ad elevata capacità (oltre i 10 Mbit/s) quali quelli derivanti dalla
interconnessione di reti locali o dal collegamento tra elaboratori remoti per il supporto di
applicazioni distribuite;
b) il supporto di flussi numerici derivati dalla codifica di immagini sia fisse che in
movimento con diverso grado di definizione;
c) il supporto di servizi richiedenti il trasferimento di diverse tipologie di flussi informativi
(es. audio, video e/o dati), normalmente indicati come servizi multimediali.
Queste nuove esigenze hanno dato luogo ad un processo di avanzamento del concetto di
integrazione in cui fossero compresi anche il trasferimento di flussi numerici ad alta velocità e
le relative funzionalità di accesso. L’approdo finale di questo processo è stato la definizione
della Rete Numerica Integrata nei Servizi a Larga Banda (Broadband ISDN, B-ISDN).
L’ITU, l’ente di standardizzazione internazionale nel settore delle comunicazioni, nella
raccomandazione I.121, definisce la B-ISDN come “la rete universale in grado di supportare
differenti tipi di applicazioni e categorie di utenti”. L’obiettivo più ambizioso nella
definizione della B-ISDN è quello di estendere il concetto di integrazione non solo alle
funzionalità di accesso d’utente, ma anche a quelle di trasporto individuando una modalità
unica di trattamento in rete dei flussi informativi, ovvero un unico modo di trasferimento.
La definizione del modo di trasferimento più adatto al supporto della molteplicità di
flussi informativi previsti in un ambiente a larga banda ha richiesto vari anni di studio. La
convergenza verso una soluzione si è avuta intorno alla fine degli anni ’80 ed il risultato è
stato la definizione del Modo di Trasferimento Asincrono (Asynchronous Transfer Mode –
ATM) che l’ITU definisce come “il modo di trasferimento per la realizzazione della
B-ISDN”.
E’noto che i requisiti che devono essere soddisfatti da un modo di trasferimento sono i
seguenti:
• flessibilità nella assegnazione della banda;
• efficienza di utilizzazione delle risorse;
• minimizzazione del ritardo di trasferimento e della sua variabilità;
I modi di trasferimento tradizionali, circuito e pacchetto, non potevano essere
direttamente utilizzati nella B-ISDN:
• il modo trasferimento a circuito, se, da un lato, garantisce un ritardo di trasferimento in
rete estremamente basso e soprattutto costante, dall’altro, a causa dell’uso della
multiplazione statica, pone notevoli problemi di flessibilità nell’assegnazione della banda
3
e di efficienza di utilizzazione delle risorse trasmissive;
• il modo trasferimento a pacchetto, viceversa, basandosi sull’uso della multiplazione
dinamica, è intrinsecamente orientato al raggiungimento di elevati valori di efficienza ed è
naturalmente flessibile nell’assegnazione della banda; il suo punto debole riguarda il
ritardo di trasferimento che è variabile in funzione dello stato di congestione in cui si trova
la rete al momento del transito dei pacchetti appartenenti ad una comunicazione.
Alle precedenti considerazioni va aggiunto che i vincoli di integrità posti dai vari tipi di
applicazioni possono essere estremamente diversi, imponendo o meno la necessità di
prevedere meccanismi di controllo d’errore e quindi un trattamento differenziato dei vari tipi
di servizi. Da quanto detto, risulta evidente che l’adozione di un unico modo di trasferimento
poteva emergere solo dalla ricerca di un compromesso tra i fattori ora descritti. L’ATM è il
risultato di questo compromesso.
L’ATM è un modo di trasferimento orientato al pacchetto. L’ATM è in grado quindi di
soddisfare naturalmente i requisiti di efficienza ed è flessibile nell’assegnazione della banda; i
problemi relativi alla variabilità del ritardo di transito sono stati risolti cercando di diminuire
il più possibile i fenomeni di accodamento all’interno dei nodi; ciò è stato possibile operando
secondo due direzioni:
• aumentando la velocità delle linee e quindi diminuendo il tempo di trasmissione delle
unità informative;
• diminuendo il carico elaborativo dei nodi di commutazione legato al processamento di
ogni singola cella in modo da aumentarne il throughput del nodo stesso.
Il secondo obiettivo si è raggiunto:
i) assegnando ai nodi interni della rete (nodi di transito) solo l’esecuzione dell’insieme delle
funzioni che sono comuni a tutti di applicazione;
ii) facendo migrare verso la periferia della rete (terminali o nodi di accesso) tutte le altre
funzioni che sono invece dipendenti dal tipo di applicazione.
Si osservi inoltre che, le funzioni appartenenti al secondo insieme sono normalmente
caratterizzate anche dalla maggiore complessità elaborativa (es. controllo di sequenzialità,
d’errore, equalizzazione dei ritardi).
L’architettura della B-ISDN risultante dall’applicazione dei principi ora esposti è
mostrata in Fig. 1.1. Questa risulta essere composta da due strati: i) lo strato interno (core)
costituisce una rete di trasporto universale e raggruppa le funzionalità a banda stretta, a larga
banda e di segnalazione comuni a tutte le applicazioni; ii) lo strato esterno (edge) a cui
appartengono i terminali nativi ATM ed, eventualmente, le centrali di accesso verso segmenti
di rete non ATM; tale strato comprende le funzionalità dipendenti dal tipo di applicazione,
ovvero svolge funzioni specifiche dei particolari servizi.
Come sarà descritto nel seguito, l’architettura funzionale della B-ISDN mostrata in Fig.
1.1 ha un diretto impatto sull’architettura protocollare dell’ATM che sarà descritta nei
paragrafi successivi.
4
Funzionalità
a banda stretta
Funzionalità
a larga banda
TE
EDGE
LFC
TE
Funzionalità
di segnalazione
CORE
Fig. 1.1 – Architettura funzionale della B-ISDN
LFC. Local Function Capabilities, TE: Terminal Equipment
L’ipotesi di partenza che ha guidato la definizione delle caratteristiche dell’ATM è,
come ricordato, quella di avere un modo di trasferimento per il supporto della funzionalità di
trasporto della rete integrata a larga banda. Tale obiettivo si è nel tempo rivelato troppo
ambizioso e praticamente non raggiungibile, le applicazioni dell’ATM sono state quindi in
realtà limitate a settori specifici, quali ad esempio il supporto delle comunicazioni dati ad alta
velocità.
A conferma di questa tendenza applicativa dell’ATM difforme da quella originaria, nel
1991, per opera di quattro dei maggiori produttori di apparati di telecomunicazioni
(Stratacom, Newbridge, Cisco e NET), è stato creato l’ATM Forum. Lo scopo dell’ATM
Forum è stato quello di accelerare e facilitare lo sviluppo della tecnologia ATM, affiancando
l’ITU nell’opera di definizione degli standard e colmando, al tempo stesso, le lacune che
emergevano dal lavoro dell’ITU. In particolare, l’orientamento dell’ATM Forum è stato
quello di contribuire specificatamente nell’area dell’interconnessione per dati in area locale,
che era riconosciuta come l’area in cui l’ATM avrebbe trovato la maggiore applicazione.
1.2
L’ATM: concetti generali e definizioni
Secondo la definizione data nella raccomandazione ITU-T I.321, L’ATM è un modo di
trasferimento orientato al pacchetto e alla connessione; i pacchetti, indicati con il nome di
celle, sono di lunghezza fissa uguale a 53 byte. Il formato di una cella è costituto da 5 byte di
intestazione (header) e da 48 byte di campo informativo (payload). Le celle sono assegnate ad
una sorgente su domanda, in dipendenza delle sue caratteristiche di attività; e sono multiplate
statisticamente sull’interfaccia trasmissiva.
In ATM sono definite due tipologie di interfaccce (Fig. 1.2):
• interfaccia utente-rete (User Network Interface – UNI) che definisce le procedure ed i
protocolli che regolano l’interazione tra una postazione d'utente ATM ad un nodo ATM;
• l’interfaccia rete-rete (Network Network Interface – NNI) che definisce le procedure ed i
protocolli di colloquio tra due nodi ATM.
5
Rete
d’utente
ATM
Nodo
ATM
User Network
Interface
(UNI)
Rete
ATM
Network to Network
Interface
(NNI)
Fig. 1.2 – Definizione delle interfacce UNI e NNI.
Management Plane
Higher Layer
Protocols
ATM Adaptation Layer
Plane Management
Higher Layer
Protocols
User Plane
Layer Management
Control Plane
ATM Layer
Physical Layer
Fig. 1.3 – L’architettura protocollare dell’ATM.
L’architettura protocollare dell’ATM è mostrata in Fig. 1.3. L’architettura è articolata in
tre piani distinti:
• Piano d’utente (User Plane): comprende le funzioni relative al trattamento dei flussi
informativi d’utente per il loro trasferimento in rete;
• Piano di controllo (Control Plane): comprende le funzioni di controllo e di segnalazione
per l’instaurazione delle connessioni ATM;
• Piano di gestione (Management Plane): gestisce le interazioni e coordina l’interlavoro tra
il piano di utente d il piano di controllo; sono previste due tipi di funzioni: funzioni di
gestione e coordinamento tra i piani e funzione di gestione delle risorse di ogni singolo
strato dell’architettura.
Il piano d’utente e il piano di controllo sono articolati a loro volta in quattro strati:
• Strato Fisico (Physical layer – PH): questo strato comprende tutte le funzioni di gestione
del mezzo trasmissivo e quelle riguardanti la trasmissione e la ricezione dei bit
informativi; inoltre comprende le funzioni di adattamento delle celle alle caratteristiche
specifiche dell’interfaccia trasmissiva; le funzionalità dello strato fisico sono eseguite in
qualsiasi elemento di rete (terminale o nodo) e sono comuni al piano d’utente e di
controllo.
• Strato ATM (ATM Layer): comprende le funzioni di trattamento delle celle, in particolare,
appartengono allo questo strato le funzioni di elaborazione delle informazioni di
indirizzamento contenute nelle celle e le funzioni di commutazione di queste; si osservi
che, concordemente a quanto illustrato in precedenza, le funzioni ora descritte
costituiscono l’insieme delle funzioni comuni a tutte le applicazioni, qualsiasi altra
6
funzione è specifica di una particolare applicazione e, come tale, non fa parte dello strato
ATM; le funzionalità dello strato ATM sono eseguite in qualsiasi elemento di rete e sono
comuni al piano d’utente e di controllo.
• Strato di Adattamento (ATM Adaption Layer – AAL): comprende le funzioni necessarie
all’adattamento del servizio offerto dallo strato ATM ai requisiti posti dalla specifica
applicazione; è evidente come le funzioni di tale strato siano dipendenti dal tipo di
applicazione e quindi queste sono eseguite solo dagli elementi compresi dello strato
esterno della rete (terminali o nodi di accesso); le funzioni dello strato di adattamento sono
quindi differenziate per il piano d’utente e per il piano di controllo.
• Strati superiori (higher layers): comprendono le funzioni esterne alla rete ATM e
dipendono dalle caratteristiche dei protocolli posti al di sopra dello strato di adattamento;
in particolare possono riguardare sia funzionalità applicative, nel caso il terminale sia
nativo ATM, oppure funzionalità di altri protocolli (IP, Frame Relay, LLC/MAC, ecc.) nel
caso in cui la rete ATM sia connessa ad altre reti funzionanti secondo paradigmi diversi da
quello ATM. In particolare, per il piano di controllo lo strato superiore a quello di
adattamento è costituito dai protocolli di segnalazione definiti per la l’instaurazione ed il
controllo delle connessioni ATM.
1.2.1
Il concetto di connessione in ATM
Come è indicato nella definizione, l’ATM è un modo di trasferimento orientato alla
connessione (connection oriented). Ciò significa che ogni qualvolta due sistemi terminali
devono scambiarsi informazioni, tra i due sistemi terminali deve essere instaurata
preliminarmente una connessione logica. Per tutta la durata della connessione, le celle
attraverseranno la rete utilizzando lo stesso cammino individuato all’atto dell’instaurazione
della connessione stessa.
I vantaggi derivanti dal concetto di connessione sono:
i) semplicità di commutazione, si evita che un nodo interno alla rete debba scegliere il
cammino per ogni singola cella;
ii) possibilità di garantire fissati livelli di qualità di servizio, all’atto dell’instaurazione della
connessione la rete può preventivamente verificare che le risorse a disposizione siano
sufficienti a garantire i valori di QoS dichiarati dagli utenti.
Le connessioni logiche in ATM possono essere di due tipi: permanenti o commutate.
Una connessione viene detta permanente se è instaurata su base contrattuale
dall’operatore di rete mediante funzionalità gestionali (ad esempio mediante la configurazione
dei terminali e dei nodi di rete effettuata dal centro di gestione della rete). Una connessione
permanente normalmente rimane attiva per un lungo periodo di tempo ed è legata alla durata
del contratto tra utente e operatore di rete.
Terminale
ATM
Rete ATM
Terminale
ATM
(a)
Terminale
ATM
Terminale
ATM
Rete ATM
Terminale
ATM
(b)
Terminale
ATM
Fig. 1.4 – Tipologia di connessioni ATM: a) punto-punto; b) punto-multipunto.
7
Una connessione è di tipo commutato se è instaurata automaticamente, in tempo reale, a
seguito della presentazione di una richiesta specifica da parte di un utente. La durata della
connessione è legata al tempo necessario all’utente per lo scambio delle informazioni, al
termine dello scambio informativo, la connessione è abbattuta. La richiesta di instaurazione e
di abbattimento sono presentate dagli utenti utilizzando le funzionalità ed il relativo
protocollo di segnalazione.
Le connessioni possono inoltre essere di tipo punto-punto o punto-multipunto (Fig. 1.4).
Una connessione punto-punto è definita come una relazione logica esclusivamente tra due
utenti, mentre una connessione punto-multipunto è definita come una relazione logica tra un
utente, che ha il ruolo di radice della connessione, e una molteplicità di utenti, che assumono
il ruolo di foglie della connessione. Una copia delle celle emesse dall’utente radice è ricevuta
da tutti gli utenti foglia appartenenti alla connessione
1.2.1.1 I concetti di Virtual Channel (VC) e di Virtual Path (VP)
Una connessione ATM, indicata con il nome di Virtual Channel Connections (VCC), è
definita come un canale logico tra due utenti finali utilizzata per il trasporto di celle. Una
VCC è il risultato della concatenazione di una o più canali virtuali (Virtual Channels – VC);
un VC descrive un trasferimento unidirezionale di celle ATM aventi lo stesso identificatore
(Virtual Channel Identifier – VCI). La tratta di rete in cui è valido un VCI viene indicata con
il nome di Virtual Channel Link (VCL). I punti terminali di un VCL possono essere costituiti
da quei dispositivi che sono in grado di assegnare, modificare e terminare un VCI, ad esempio
un terminale o uno nodo ATM. La Fig. 1.5 mostra la relazione tra VCC, VC e VCL.
Virtual Channel Connection (VCC)
Terminale
ATM
Nodo
ATM
Virtual Channel
Link (VCL)
Nodo
ATM
Virtual Channel
Link (VCL)
Terminale
ATM
Virtual Channel
Link (VCL)
Fig. 1.5 – Definizione di Virtual Channel Connection (VCC), Virtual Channel (VC) e Virtual Channel Link
(VCL).
Accanto al concetto di VCC, in ATM è stato introdotto un secondo livello di
multiplazione che ha lo scopo introdurre la possibilità di trattare in modo aggregato una
molteplicità di VC, questo secondo livello di multiplazione corrisponde al concetto di
cammino virtuale (Virtual Path – VP) mostrato in Fig. 1.6.
VC
VC
VC
VP
VP
VP
VP
Canale
Trasmissivo
VP
VP
VC
VC
VC
Fig. 1.6 – Definizione del concetto di Virtual Path (VP).
8
Ogni VC è associato ad un VP e una molteplicità di VC può essere associata allo stesso
VP. Le celle appartenenti a VC associati allo stesso VP trasporteranno lo stesso identificatore
denominato Virtual Path Identifier (VPI).
Analogamente a quanto definito per il concetto di VC, una Virtual Path Connection
(VPC) è definita come un insieme di VCC caratterizzati dagli stessi punti terminali. In questo
modo tutte le celle appartenenti ad una qualsiasi delle VCC che fanno parte di un VPC
seguiranno in rete lo stesso cammino tra i punti terminali delle connessioni.
La tratta di rete in cui è valido un VPI viene indicata con il nome di Virtual Channel
Link (VCL). I punti terminali di un VPL possono essere costituiti da quei dispositivi che sono
in grado di assegnare, modificare e terminare un VPI, ad esempio un terminale o uno nodo
ATM. La Fig. 1.7 mostra la relazione tra VPC, VP e VPL e mostra la relazione che esiste tra
VPC e VCC.
Virtual Channel Connection (VCC)
Virtual Channel Link (VCL)
VC switch
Virtual Path Connection VCP)
Virtual Path Link (VPL)
VP switch
Fig. 1.7 – Definizione di Virtual Path Connection (VPC), Virtual Path (VP) e Virtual Path Link (VPL) e sua
interazione con il concetto di VC.
Il concetto di VP è stato definito per affrontare il problema dell’aumento del costo del
controllo di rete che cresce proporzionalmente al crescere del numero delle connessioni
presenti nella rete stessa. La definizione dei VP consente infatti di contenere il costo di
gestione della rete poiché permette il controllo simultaneo di gruppi di connessioni. I vantaggi
connessi alla definizione del concetto di VP possono essere così riassunti:
• semplificazione dell’architettura di rete; le funzioni di trasporto possono essere separate in
quelle relative alle connessioni logiche individuali (VC) e quelle associate ad insiemi di
connessioni logiche (VP);
• aumento delle prestazioni e dell’affidabilità; la rete è in grado di trattare un numero
minore di entità aggregate;
• riduzione del carico elaborativo nei nodi e riduzione del tempo di set-up delle
connessioni; la maggior parte delle funzioni di controllo viene svolta all’atto
dell’instaurazione del VP; nuovi VC possono essere stabiliti all’interno di un VP già
instaurato in modo semplificato semplicemente operando ai punti terminali di una VPC,
nessuna elaborazione è necessaria nei nodi intermedi della VPC.
• possibilità di fornire servizi di rete avanzati; il concetto di VP è utilizzato all’interno della
rete, ma è visibile anche dall’utente, in questo modo il concetto di VP può essere sfruttato
per la fornitura agli utenti di servizi quali: il gruppo chiuso di utenti (Closed Userg Group
– CUG) o di rete privata virtuale (Virtual Private Network – VPN).
I punti terminali di una connessione possono essere sia i terminali d’utente sia delle
entità di rete sia una combinazione di questi. Una connessione può essere quindi utilizzata in
una delle seguenti modalità:
− Connessione tra sistemi d’utente: è utilizzata per il trasferimento da estremo a estremo di
dati d’utente; nel caso di VPC da estremo a estremo, questa offre una capacità
complessiva dedicata al trasferimento di dati all’interno della quale i due utenti possono
9
quindi instaurare delle singole VCC che il trasferimento di singoli flussi di informazioni.
− Connessione tra un sistema d’utente e un entità di rete: è normalmente utilizzata per il
trasferimento di informazioni di controllo tra utente e rete; una VPC di questo genere può
essere utilizzata per aggregare il traffico di controllo da un utente verso uno specifico
elemento di rete, ad esempio un nodo o un server.
− Connessione tra due entità di rete: è utilizzata per lo scambio tra elementi di rete di
informazioni di controllo e di gestione.
Ad ogni connessione ATM (VCC e/o VPC) sono associate le seguenti caratteristiche:
• Qualità di servizio (Quality of Service – QoS): per ogni connessione deve essere
specificato il valore di un insieme di parametri che definiscono la qualità del servizio che
caratterizza il trasferimento delle celle appartenenti alla connessione stessa, ad esempio il
valore del ritardo massimo e il valore della probabilità massima di perdita di celle.
• Integrità della sequenzialità delle celle: una rete ATM preserva la sequenza delle celle
trasmesse nell’ambito di una connessione.
• Negoziazione dei parametri di traffico e monitoraggio dell’uso delle risorse: per ogni
connessione possono essere negoziati, tra utente e rete, i parametri del traffico relativi
all’utilizzazione della connessione stessa, ad esempio tasso di picco e medio di
generazione delle celle; durante la durata della connessione, la rete provvederà a
controllare che il traffico emesso dall’utente sia conforme ai parametri di traffico associati
alla connessione.
1.2.1.2 Il trattamento delle informazioni di segnalazione
Per quanto riguarda il trattamento delle informazioni di segnalazione necessarie per
l'instaurazione delle connessioni, occorre distinguere tra l'instaurazione dei VC e dei VP.
Per l'instaurazione dei VC può essere usato uno o una combinazione di alcuni dei
seguenti metodi:
• la segnalazione utilizza un canale virtuale semipermanente tra l'utente e il nodo di rete;
• il canale virtuale per il trasferimento della segnalazione non è semi-permanente, ma viene
instaurato in corrispondenza del set up della connessione; a tale scopo è necessario che il
terminale e la rete si scambino un tipo particolare di informazioni di segnalazione, dette di
meta-segnalazione, perché sono necessarie per l'instaurazione dei canali di segnalazione, e
il loro scambio avviene su un canale virtuale permanente, detto canale di metasegnalazione (meta signalling channel);
• il canale di meta-segnalazione può essere utilizzato:
− per instaurare un canale di segnalazione tra il terminale ed il nodo di rete (user-tonetwork signaling VC);
− per instaurare un canale di segnalazione da estremo a estremo tra i due terminale
d'utente (user-to-user signaling VC); questo tipo di canale può essere instaurato solo
se esiste una VPC tra i due terminali d'utente e quindi rende possibile l'instaurazione
di un VC tra i sue utenti senza nessuna interazione con la rete.
Per quanto riguarda invece l'instaurazione dei VP sono definiti i seguenti metodi:
• un VP può essere instaurato su base semi-permanente mediante un accordo contrattuale
tra utente e gestore di rete; in questo caso non è necessaria nessuna funzione di
segnalazione, ma esclusivamente operazioni di tipo gestionale;
• un VP può essere instaurato/abbattuto direttamente dall'utente (customer controlled); in
questo caso, per lo scambio delle informazioni di segnalazione, l'utente utilizza un VC di
segnalazione instaurato in accordo ad uno dei metodi visti in precedenza:
• un VP può essere instaurato/abbattuto direttamente dalla rete (network controlled) per
esigenze interne alla rete stessa.
10
1.2.2
La cella ATM
La lunghezza delle celle è costante e uguale a 53 byte, di cui 5 byte sono riservati
all’header e 48 byte al payload.
(a)
Ottetti
1
2
3
4
1
Generic Flow Control
GFC
2
Virtual Path Identifier
VPI
Bit
5
Payload Type
Header Error Control
5
1
Ottetti
2
3
4
Bit
8
VPI
VCI
4
(b)
7
Virtual Path Identifier
Virtual Channel Identifier
3
1
6
PT
CLP
HEC
5
6
Virtual Path Identifier
7
8
VPI
2
3
Virtual Channel Identifier
5
VCI
Payload Type
4
Header Error Control
PT
CLP
HEC
Fig. 1.8 – Formato dell’header di una cella ATM all’interfaccia UNI (a) e NNI (b).
Il vantaggio della scelta di una lunghezza costante per le celle risiede nel fatto che
questa comporta una sensibile semplificazione delle operazioni di commutazione permettendo
una loro completa realizzazione in hardware.
La scelta di un formato di payload uguale a 48 byte è il frutto di un compromesso tra
due esigenze contrastanti: quella di ridurre il più possibile il tempo di formazione delle celle
da parte delle sorgenti a basso bit rate di emissione (ad esempio le sorgenti vocali) e quella di
mantenere la percentuale di overhead entro limiti accettabili
Il formato di una cella ATM in corrispondenza delle interfacce UNI e NNI è mostrato in
Fig. 1.8.
I campi che compongono l’header di una cella ATM sono i seguenti:
− Generic Flow Control (GFC): Il campo GFC è composto da 4 bit ed appare
esclusivamente nella celle all'interfaccia UNI; il suo scopo è quello di realizzare un
meccanismo di controllo di accesso all'interfaccia utente rete; la configurazione di default
di questo campo, nel caso in cui nessun protocollo d'accesso sia utilizzato, è "0000".
− Virtual Path Identifier (VPI): la lunghezza di questo campo è uguale a 8 bit all'interfaccia
UNI e di 12 bit all'interfaccia NNI; esso contiene l'identificatore del VP a cui appartiene la
cella.
− Virtual Channel Identifier (VCI): la lunghezza di questo campo è uguale sempre a 16 bit e
trasporta contiene l'identificatore del VC a cui appartiene la cella.
− Payload Type (PT): la lunghezza di questo campo è di 3 bit che codificano se una cella
contiene informazioni d'utente o informazioni di gestione e/o di controllo di traffico.
− Cell Loss Priority (CLP): è un bit che indica la priorità di scarto della cella in caso di
congestione.
− Header Error Control (HEC): è un campo di 8 bit utilizzato dallo strato fisico per rivelare
e possibilmente correggere errori nell'header della cella.
1.2.3
La commutazione ATM
La commutazione delle celle in un nodo ATM è basata sul principio della conversione
d'etichetta (label swapping).
Per ogni cella entrante, nn nodo ATM estrae dall'header il valore dei campi VPI e VCI,
11
che identificano la connessione a cui appartiene la cella. Successivamente il nodo accede ad
una tabella interna, denominata routing table, in cui, a partire dagli elementi VPI/VCI e
identificatore della porta di ingresso, viene individuata la corrispondenza con l'identificatore
della porta di uscita su cui deve essere rilanciata la cella e i valori dei campi VPI/VCI validi
sulla tratta uscente. Questi ultimi saranno copiati nei rispettivi campi della cella e la cella
stessa viene rilanciata in uscita.
L'associazione tra valori dei VPI/VCI e l'indicazione delle porte di ingresso e di uscita
viene inserita nella routing table di ogni nodo all'atto dell'instaurazione della connessione,
quindi, a conferma di quanto detto in precedenza, la funzione di instradamento è effettuata
esclusivamente durante questa fase.
La tecnica della traslazione di etichetta è particolarmente efficiente. Infatti, poiché
utilizza identificatori di connessione di lunghezza molto limitata (24/28 bit nel caso della
coppia VPI/VCI rispettivamente sulle interfacce UNI e NNI) è possibile una sua realizzazione
completamente in hardware, questo permette di ridurre i tempi di commutazione e quindi
favorisce il trattamento di comunicazioni con requisiti stringenti di ritardo. Si sottolinea che
questo vantaggio è diretta conseguenza della modalità di trasferimento orientata alla
connessione su cui l'ATM si basa.
Poiché l'identificatore di connessione in ATM è costituito da due campi VPI e VCI che
corrispondono a due livelli di multiplazione, si possono individuare due livelli di
commutazione:
• VP switching: il nodo che esegue le funzioni di VP switching (VP Switch – VPS) termina
un VPL ed esegue esclusivamente le funzioni di traslazione del VPI, il valore del campo
VCI rimane inalterato.
• VC switching: il nodo che esegue le funzioni di VC switching (VC Switch – VCS) termina
un VCL e quindi anche un VPL ed esegue quindi le funzioni di traslazione sia del VPI che
del VCI.
La Fig. 1.9 e la mostrano rispettivamente le funzioni di un VPS e di un VCS.
VCI 21
VCI 23
VPI 4
VPI 12
VCI 24
VCI 25
VCI 22
VCI 23
VPI 2
VPI 34
VCI 24
VCI 21
VCI 24
VCI 25
VPI 3
VPI 18
VCI 22
VCI 24
VP Swicth
Fig. 1.9 – Funzionalità di Virtual Path Switching.
12
VC switch
VCI 21
VCI 22
VCI 23
VCI 24
VCI 24
VPI 2
VCI 21
VPI 3
VPI 1
VCI 23
VCI 22
VCI 21
VCI 21
VPI 5
VPI 4
VCI 22
VCI 22
VP switch
Fig. 1.10 – Funzionalità Virtual Channel Switching.
1.3
Gli strati dell'architettura ATM.
L'architettura protocollare dell'ATM è mostrata in Fig. 1.3 e la definizione generale
degli strati è stata illustrata nel par.1.2., nel seguito saranno discussi con maggior dettaglio le
singole funzioni eseguite all'interno di ogni strato ed i relativi meccanismi protocollari. La
Fig. 1.11 indica la suddivisione in sottostrati e riassume le funzioni eseguite da ogni
sottostrato, tali aspetti saranno approfonditi nel seguito.
Convergenza
CS
Segmentazione e Ricostruzione
SAR
AAL
Generic Flow Control
Generazione e rimozione dell’intestazione delle celle
ATM
Analisi e modifica del VPI e VCI
Multiplazione e demultiplazione delle celle
Adattamento del rate di emissione delle celle al bit rate di linea
Generazione e verifica del campo HEC
Cell delineation
TC
Adattamento delle celle al formato di trasmissione
Physical
Generazione delle trame
Temporizzazione di bit
Trasmissione dei bit sul messo fisico
PM
Fig. 1.11 – Sotto-stratificazione e funzioni degli strati dell'architettura ATM.
1.3.1
Lo strato fisico
Lo strato fisico (Physical Layer – PH) è responsabile della trasmissione delle celle
attraverso le interfacce di rete. Lo strato PH è suddiviso in due sottostrati (Fig. 1.11):
− Physical Medium Dependent (PMD). Il sottostrato PMD è dipendente dallo specifico
mezzo fisico utilizzato ed esegue le funzioni di inserimento ed estrazione delle
informazioni di sincronizzazione e realizza la necessaria codifica di linea. Il sottostrato
PMD non gestisce quindi le celle, ma un flusso continuo di bit tra i due lati dell'interfaccia
di rete.
13
− Transmissione Convergence (TC). Il sottostrato TC è posto immediatamente al di sopra
del sottostrato PMD e immediatamente al di sotto dello strato ATM ed ha il compito di
effettuare, lato emissione, le funzioni necessarie alla trasmissione delle celle sul mezzo
trasmissivo e, lato ricezione, le funzioni necessarie alla rivelazione e alla estrazione delle
celle dal flusso binario entrante.Le funzioni eseguite dal sottostrato TC sono:
− generazione e controllo delle trame in trasmissione: la trasmissione nello strato fisico è
strutturata in trame, questa funzione riguarda quindi la generazione e la supervisione
delle trame appropriate ad uno specifico bit rate in trasmissione;
− adattamento delle celle alla trama in trasmissione (transmission frame adaptation): lo
strato ATM fornisce al sottostrato TC un flusso di celle, questa funzione è
responsabile dell'inserimento delle celle nella struttura di trama;
− delimitazione delle celle (cell delineation): questa funzione ha il compito di rivelare i
confini delle celle in modo che queste possano essere estratte dalla trama a
destinazione;
− generazione del campo HEC e verifica della correttezza dell'header: lato trasmissione,
questa funzione genera il campo HEC per ogni cella, lato ricezione, provvede ad
elaborare l'HEC per determinare la correttezza dell'header ricevuto;
− adattamento del tasso di emissione delle celle: questa funzione prevede l'inserimento
di celle vuote nella trama in trasmissione per adattare il tasso di emissione delle celle
alla capacità della linea; lato ricezione le celle vuote saranno eliminate.
1.3.1.1 Interfacce di strato fisico
Gli organismi di standardizzazione (ITU e ATM Forum) hanno negli anni definito un
insieme di interfacce fisiche adatte alle diverse applicazioni possibili dell'ATM.
Tali interfacce si differenziano essenzialmente per il bit rate (da 1.544 Mbit/s a 622
Mbit/s) e per il tipo di mezzo trasmissivo utilizzato, ad esempio doppino non schermato
(UTP-3), doppino schermato (UTP-5), cavo coassiale e fibra ottica singolo modo (SMF) o
multimodo (MMF).
Un ulteriore differenza consiste nella diversa struttura utilizzata per la trasmissione delle
celle. Alcune interfacce utilizzano una trasmissione delle celle organizzata in trame
(interfaccia frame-based) , in altre la trasmissione delle celle è di tipo continuo (interfaccia
cell-based).
Nelle interfacce frame-based, l’asse dei tempi è suddiviso in periodi di durata costante,
uguale a 125 μs, denominati trame. La lunghezza della trama dipende dalla capacità
dell’interfaccia trasmissiva, ad esempio nel caso dell’interfaccia STM-1 a 155.520 Mbit/s, la
lunghezza della trama è uguale a 19440 bit.
Una trama è composta da una sezione di overhead, che contiene le informazioni
necessarie all’allineamento e all’esecuzione delle specifiche funzioni di segnalazione e di
esercizio e manutenzione, e un payload che contiene le informazioni d’utente. Nelle interfacce
frame-based le celle ATM sono trasportate all’interno del payload delle trame.
A titolo di esempio, un caso particolare di trama utilizzata nelle interfacce ATM è la
struttura SDH STM-1 a 155.520, Mbit/s. La trama STM-1, di durata 125 μs, può essere
rappresentata mediante una struttura matriciale composta da 9 righe e 270 colonne, ogni
elemento della matrice corrisponde ad un ottetto. La sezione di overhead è formata da 10
colonne, quindi il payload utile per il trasporto di celle ATM è formato da 260 colonne,
uguale a 2340 ottetti.
Le celle ATM sono inserite consecutivamente nel payload della trama STM-1; poiché la
capacità del payload non è un multiplo di 53ottetti, una cella può essere contenuta in due
trame consecutive. Trama per trama il puntatore H4, posto nella sezione di overhead, ha il
compito di indicare il valore dell’offset della prima cella completamente contenuta nella
14
trama successiva.
La Fig. 1.12 mostra un esempio di struttura di trama SDH STM-1 utilizzata per la
trasmissione di celle.
9 ottetti
261 ottetti
3
Section
Overhead
1
AU-4 ptr
5
Section
Overhead
J1
B3
C2
G1
F2
Celle ATM
H4
VC-4
Path Overhead
Z3
Z4
Z5
Container C-4
Virtual Container VC-4
Fig. 1.12 – Trama SDH STM-1 per trasmissione di celle ATM.
Nelle interfacce cell-based, non esiste alcuna struttura di trama e la trasmissione delle
celle è continua. La Fig. 1.13 mostra un esempio di trasmissione delle celle in un interfaccia
cell-based.
• • •
ATM cells
Physical Layer OAM cells
Fig. 1.13 – Trasmissione delle celle in un interfaccia cell-based.
Infine, la Tab. 1.1 elenca le diverse tipologie di interfaccia definite dall’ITU-T e
dall’ATM Forume e riassume le loro caratteristiche essenziali.
1.3.1.2 La funzione di Header Error Control
Ogni cella ATM include nell’intestazione il campo HEC, di lunghezza 8 bit, dedicato
alla protezione dagli errori dei 32 bit dell’header. Il codice polinomiale utilizzato per generare
il campo HEC è X8+X2+X+1. Poiché la lunghezza del codice HEC (8 bit) è percentualmente
rilevante rispetto alla stringa di bit che deve proteggere (32 bit), è possibile realizzare sia la
funzione di rivelazione d’errore sia, almeno in certi casi, la funzione di correzione d’errore.
La Fig. 1.14 mostra il funzionamento dell’algoritmo di gestione dell’HEC lato
ricevitore. All’istante di attivazione l’algoritmo si trova nello stato “correction mode” in cui,
sfruttando la ridondanza del codice HEC si è in grado, oltre che di rivelare gli errori, anche di
correggere gli errori singoli presenti nell’header. Il controllo del campo HEC avviene per ogni
cella entrante, fino a che non viene rivelata una cella che contiene un errore nell’header,
l’algoritmo permane nello stato di correzione. Quando viene rivelato un errore, se l’errore è
singolo, l’algoritmo provvede a correggere l’errore e quindi ad accettare la cella, se invece
l’errore interessa una molteplicità di bit la cella è scartata. In entrambi i casi l’algoritmo
effettua la transizione verso lo stato “detection mode” in cui è attiva la sola funzione di
rivelazione d’errore e non quella di correzione. Quindi se in questo stato viene ricevuta una
cella contenente uno o più errori nell’header, questa è sempre scartata.
15
Descrizione
ATM 25.6 Mbit over UTP-3
51.84 Mbit SONET STS-1 over UTP-3
TAXI 100 Mbit over MMF
155 Mbit Fiber Channel over MMF or STP
155 Mbit SDH STM-1/SONET STS-3c over
SMF/MMF
155 Mbit SDH STM-1/SONET STS-3c over UTP-3
155 Mbit SDH STM-1/SONET STS-3c over UTP-5
DS-1
DS-3
E1
E3
E4
ATM inverse multiplexing
622 Mbit SONET STS-12c
Bitrate lordo
(Mbit/s)
Bit rate
netto
(Mbit/s
Ente
emittente
25.6
51.84
100
155.52
155.52
25.6
49.54
100
150.34
149.76
ATM Forum
ATM Forum
ATM Forum
ATM Forum
ITU-T I.432
155.52
155.52
1.544
44.736
2.048
34.368
139.264
N x DS1
622.08
149.76
149.76
1.536
40.704
1.92
33.984
138.24
ATM Forum
ATM Forum
ITU-T G.804
ITU-T I.703
ATM Forum
ATM Forum
ATM Forum
ATM Forum
ATM Forum
599.04
Tab. 1.1 – Tipologie di interfacce fisiche ATM.
La ragione del fatto che la funzione di correzione è disattivata nello stato “detection
mode” dipende dal fatto che nel caso si presenta un burst di errori che interessa una sequenza
di celle, il codice HEC è insufficiente a realizzare una affidabile funzione di correzione.
Il ricevitore rimane nello stato “detection mode” fino a che non viene ricevuta una cella
corretta, a seguito di questo evento il ricevitore effettua la transizione all’indietro verso lo
stato “correction mode”.
Errore multiplo
(Cella scartata)
Nessun errore
rivelato
(Cella accettata)
Correction
mode
Nessun errore rivelato
(Cella accettata)
Errore singolo
(Cella accettata dopo correzione)
Detection
mode
Errore rivelato
(Cella scartata)
Fig. 1.14 – Algoritmo di rivelazione e correzione degli errori nell’header delle celle ATM.
1.3.1.3 La funzione di cell delineation
La funzione di delimitazione di cella permette al ricevitore di individuare, all’interno del
flusso di bit ricevuto, i raggruppamenti di 424 bit che costituiscono le celle ATM. Questa
funzione è realizzata in modo congiunto con la funzione di elaborazione del campo HEC. LA
procedura è raffigurata in Fig. 1.15 ed è composta dai seguenti passi.
16
Controllo
bit a bit
HUNT
α
HEC consecutivi
non corretti
HEC
non corretto
SYNC
1 HEC
rivelato corretto
PRESYNC
δ
HEC consecutivi
corretti
Controllo
cella a cella
Fig. 1.15 – Diagramma di stato della procedura di cell delineation.
1.
Nello stato HUNT, l’algoritmo di cell delineation è eseguito bit a bit, per individuare in
corrispondenza di quale bit è verificata la regola di codifica del campo HEC, ovvero c’è
eguaglianza tra la configurazione dell’ultimo ottetto ricevuto e quella calcolata in base ai
precedenti 32 bit; quando questa corrispondenza è ottenuta, l’algoritmo assume che sia
stato individuato l’header di una cella e l’algoritmo entra nello stato di PRESYNC; tutti i
bit ricevuti nello stato HUNT sono scartati poiché le celle non possono essere
riconosciute.
2. Nello stato PRESYNC, l’algoritmo assume che la struttura di cella sia stata individuata e
l’algoritmo di cell delination è eseguito cella per cella (a distanza 424 bit); se la regola di
codifica dell’HEC è verificata per δ volte consecutive, l’algoritmo entra nello stato
SYNCH; se prima di raggiungere il valore δ, la regola di codifica dell’HEC non è
verificata, l’algoritmo ritorna nello stato di HUNT; i raggruppamenti di cifre delineati
nello stato PRESYNC sono comunque scartati poiché non è raggiunta la sicurezza che
questi corrispondano effettivamente alle celle.
3. Nello stato SYNCH, si assume che le celle siano effettivamente delineate correttamente,
quindi il campo HEC è utilizzato per la rivelazione e la correzione degli errori
sull’header; la sincronizzazione di cella si suppone persa se per α volte consecutive il
campo HEC rivela errori; questo evento è infatti attribuito ad un errore di delimitazione
piuttosto che ad una sequenza di errori trasmissivi..
I valori di α e δ debbono essere fissati raggiungendo il migliore compromesso tra
esigenze contrastanti. Tanto più elevato è il valore di δ tanto più grandi sono i tempi di
recupero della condizione di sincronizzazione, ma tanto più robusto è l’algoritmo contro false
sincronizzazioni. Allo stesso modo, tanto maggiori sono i valori di a, tanto maggiori
divengono i tempi di rivelazione degli eventi di perdita di sincronizzazione, ma più grande
sarebbe la robustezza contro gli eventi di falsa perdita di sincronizzazione. I risultati di studi e
misure sulle prestazioni dell’algoritmo suggeriscono valori di α e δ uguali a qualche unità (58).
1.3.2
Lo strato ATM
Il secondo strato dell'architettura protocollare è denominato strato ATM ed è
indipendente sia dallo strato fisico sottostante, da cui riceve servizio, sia dallo strato di
adattamento, posto allo strato superiore, verso cui offre servizio. Lo strato ATM ha il compito
di effettuare il trasferimento delle celle tra le entità di rete e la consegna in sequenza delle
celle ai sistemi ATM finali.
In corrispondenza del punto di origine della VCC, lo strato ATM:
1. riceve dallo strato di adattamento i 48 byte che compongono il payload di ogni cella;
2. determina l'appropriato valore del VPI e VCI e aggiunge 4 byte dell'header (escluso il byte
17
HEC);
3. consegna la cella allo strato fisico che provvederà al calcolo del campo HEC e alla
trasmissione sull'interfaccia fisica.
In corrispondenza del punto di terminazione della VCC, lo strato ATM:
1. riceve la sequenza di celle dallo strato fisico, che ha eseguito la funzione di controllo di
correttezza dell'header mediante il campo HEC;
2. rimuove l'header delle celle, eseguendo eventualmente le funzioni richieste;
3. consegna il payload allo strato di adattamento.
In corrispondenza di un nodo interno alla rete, lo strato ATM è lo strato più alto
dell'architettura e quindi non esiste lo strato di adattamento a cui deve offrire servizio. Le
funzioni dello strato ATM in questo caso corrispondono alle funzioni di commutazione e di
traslazione di etichetta. Quindi, un nodo ATM:
1. riceve la cella dall'entità di strato fisico relativa all'interfaccia di ingresso;
2. legge i valori di VPI/VCI contenuti nell'header;
3. effettua la lettura della routing table in cui è memorizzata l'associazione tra la coppia
VPI/VCI entranti, interfaccia d'ingresso e la coppia VPI/VCI uscenti e interfaccia di
uscita;
4. effettua la traslazione di etichetta con i nuovi valori dei campi VPI/VCI, il trasferimento
interno della cella verso l'interfaccia d'uscita e il suo inserimento nel relativo buffer di
emissione;
5. consegna la cella allo strato fisico che provvederà al calcolo del campo HEC e alla
trasmissione sull'interfaccia fisica.
E' il caso di sottolineare che il servizio offerto dallo strato ATM non è perfettamente
affidabile, non è garantito infatti che una cella sia consegnata a destinazione. Il servizio di
trasferimento offerto dallo strato ATM è quindi caratterizzato da una probabilità non nulla di
perdita di celle. I fattori che possono causare la perdita di una cella perdita sono
essenzialmente due:
− lo scarto di celle a causa della presenza di errori non correggibili nell'header;
− la perdita di cella a causa di eventi di congestione di rete e quindi di saturazione dei
buffer di trasmissione dei nodi interni alla rete.
Nello strato ATM non è definito nessun meccanismo di ritrasmissione delle celle perse,
spetta agli strati superiori quindi rivelare questi eventi ed eventualmente attivare le opportune
procedure per far fronte agli eventi di perdita. Si noti che la reazione ad un evento di perdita
dipende dal tipo di informazione che deve essere trasferita; ad esempio, mentre nel caso di
comunicazioni dati è evidente che i protocolli di strato superiore devono provvedere a
richiedere la ritrasmissione delle porzioni di informazioni non ricevute, nel caso altri servizi,
come quello vocale, normalmente la ritrasmissione non è necessaria.
Lo strato ATM tuttavia è in grado di garantire, attraverso le procedure di gestione del
traffico che saranno illustrate nel seguito, una fissata probabilità di perdita massima delle celle
trasmesse nell'ambito di una connessione. Questo valore fa parte dell'insieme di parametri di
QoS che vengono negoziati tra utente e rete all'atto dell'instaurazione di una connessione e
che la rete si impegna a soddisfare per tutta la sua durata.
Nel seguito, con riferimento alla Fig. 1.8, sono illustrati i campi che compongono
l'header di una cella ATM.
1.3.2.1 Valori pre-assegnati dell'header per le celle di strato fisico.
Alcune celle sono riservate per l'esecuzione delle funzioni di strato fisico (ad esempio le
celle vuote e le celle di gestione). Queste celle si differenziano per la particolare
configurazione dei primi quattro byte dell'header mostrata in Tab. 1.2. Tali celle non sono
passate dallo strato fisico allo strato ATM.
18
Celle
Octet 1
Octet 2
Octet 3
Octet 4
Vuote (Idle)
00000000
00000000
00000000
00000001
Riservate allo strato fisico
PPPP0000
00000000
00000000
0000PPP1
P
Indica i bit utilizzabili per funzioni di strato fisico
Tab. 1.2 – Valori pre-assegnati dell'header per le celle di strato fisico.
1.3.2.2 Il campo Generic Flow Control (GFC)
Il campo GFC è presente solo nelle celle all'interfaccia UNI. Questo campo è utilizzato
per l'implementazione di un meccanismo di controllo di flusso del traffico generato da una
postazione terminale d'utente. In particolare, lo scopo di tale meccanismo è quello di alleviare
le conseguenze di periodi di sovraccarico che possono verificarsi a causa della multiplazione
statistica di celle sull'interfaccia.
Le procedure GFC controllano, sull'interfaccia UNI, esclusivamente il traffico dalla
postazione terminale verso la rete (traffico upstream) e non il traffico in senso opposto
(traffico downstream). Il flusso di celle generato dalla postazione terminale è controllato dalla
rete.
Sono definite due tipi di connessioni:
− connessioni non controllate; il traffico generato dalle queste connessioni non è soggetto
alle procedure GFC; le celle appartenenti a queste connessioni hanno sempre la priorità
sul traffico controllato;
− connessioni controllate; il traffico di queste connessioni richiede l'esecuzione delle
procedure GFC e può essere gestito per mezzo di due code (A e B).
Un terminale ATM può essere di tipo controllato o non controllato. Nel caso di
terminale non controllato, tutto il traffico prodotto è di tipo non controllato. Invece, un
terminale controllato può gestire connessioni di tutti i tre tipi (non controllate, controllate di
tipo A, controllate di tipo B). La configurazione del campo GFC che identifica la tipologia di
connessione a cui appartiene una cella è indicata in Tab. 1.3.
Campo GFC
Tipo di terminale e tipo di connessione
0000
Terminale non controllato – connessione non controllata
0001
Terminale controllato – connessione non controllata
0101
Terminale controllato – connessione controllata coda A
0011
Terminale controllato – connessione controllata coda B
Tab. 1.3 – Valori del campo GFC in direzione terminale-rete.
La rete controlla il traffico generato dalla postazione terminale mediante un meccanismo
a crediti. Il meccanismo si basa sull'utilizzazione di due contatori e di due flag le cui
definizioni sono le seguenti:
• GO-CONTR: specifica il numero di crediti disponibili per la trasmissione delle celle delle
connessioni controllate (code A o B), ovvero il numero di celle che il terminale può
emettere fino a che non viene ricevuto un ulteriore comando;
• GO-VALUE: specifica il massimo numero di crediti disponibile per un gruppo di
connessioni (code A o B);
• TRANSMIT: specifica se il terminale è abilitato ad emettere celle verso la rete;
− se TRANSMIT=1, il terminale può emettere celle fino al numero uguale al contatore
GO-CONTR;
19
•
•
•
•
•
− se TRANSMIT=0, il terminale non può emettere celle;
GFC-ENABLE: specifica se il terminale deve eseguire le funzioni GFC.
La rete ha a disposizione quattro segnali per realizzare il controllo del flusso di traffico:
SET: alla ricezione di questo segnale il valore del contatore GO-CONTR di una specifica
coda viene posto uguale al valore GO-VALUE;
NULL: questo segnale non comporta nessuna azione, alla ricezione di questo segnale il
valore del contatore GO-CONTR rimane inalterato;
HALT: questo segnale è utilizzato per bloccare l'emissione di qualsiasi cella di qualsiasi
connessione sia controllata che non controllata; alla ricezione di questo segnale il
terminale pone TRANSMIT=0;
NO-HALT: indica che il flusso di celle, precedentemente bloccato da un segnale HALT,
può riprendere; ; alla ricezione di questo segnale il terminale pone TRANSMIT=1.
L'uso del campo GFC in direzione dalla rete al terminale è indicato in Tab. 1.4.
Campo GFC
Significato
0000
NOHALT, NULL
1000
HALT, NULL-A, NULL-B
0100
NO-HALT, SET-A, NULL-B
1100
HALT, SET-A, NULL-B
0010
NO-HALT, NULL-A, SET-B
1010
HALT, NULL-A, SET-B
0110
NO-HALT, SET-A, SET-B
1110
HALT, SET-A, SET-B
Tab. 1.4 – Valori del campo GFC in direzione rete-terminale.
Una cella di una connessione controllata di una coda (A o B) può essere emessa se: a) il
flag TRANSMIT=1; b) non ci sono celle di connessioni non controllate da trasmettere; c) il
contatore GO-CONTR relativo a quella coda non è nullo.
Ad ogni emissione di cella controllata, il contatore GO-CONTR della coda a cui
appartiene la connessione, è decrementato di una unità.
1.3.2.3 I campi Virtual Path Identifier (VPI) e Virtual Channel Identifier (VCI)
La coppia di campi VPI/VCI hanno lo scopo di identificare il VP ed il VC a cui
appartiene una cella e sono utilizzati dai nodi per l'esecuzione delle funzioni di instradamento
e commutazione delle celle. Mentre il campo VCI ha sempre lunghezza uguale a 16 bit, il
campo VPI ha lunghezza uguale a 8 bit all'interfaccia UNI, mentre ha lunghezza uguale a 12
bit all'interfaccia NNI.
La Tab. 1.5 riassume le configurazioni di bit (in valore decimale) pre-assegnate in base
alla categoria di celle ATM.
20
Tipo di cella
Celle non assegnate
Celle non valide
Meta-segnalazione
Segnalazione broadcast
Segnalazione punto-punto
Segnalazione NNI
Cella di OAM F4 (segment)
Cella di OAM F4 (end-to-end)
Cella di gestione delle risorse di VP
Riservata per funzioni future di VP
VPI
VCI
0
Qualsiasi valore tranne 0
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
Qualsiasi valore
0
0
1
2
5
5
3
4
6
7
Qualsiasi valore
nell'intervallo tra 8 e 15
Qualsiasi valore
nell'intervallo tra 16 e 21
Qualsiasi valore
nell'intervallo tra 22 e 31
Qualsiasi valore tranne
0, 3, 4, 6 o 7
Qualsiasi valore tranne
0, 3, 4, 6 o 7
Qualsiasi valore tranne
0, 3, 4, 6 o 7
Qualsiasi valore tranne
0, 3, 4, 6 o 7
Riservata per funzioni future
Qualsiasi valore
Riservata per funzioni future di rete
private
Qualsiasi valore
Riservata per funzioni future
Qualsiasi valore
Cella di OAM F5 (segment)
Qualsiasi valore
Cella di OAM F4 (end-to-end)
Qualsiasi valore
Cella di gestione delle risorse di VC
Qualsiasi valore
Riservata per funzioni future di VC
Qualsiasi valore
Tab. 1.5 – Valori pre-assegnati dei campi VPI/VCI.
1.3.2.4 Il campo Payload Type (PT)
Il campo PT ha lunghezza uguale a 3 bit. Le configurazioni di questo campo sono
indicate in Tab. 1.6.
Campo PT
Significato
000
Cella dati, congestione assente, SDU=0
001
Cella dati, congestione assente, SDU=1
010
Cella dati, congestione presente, SDU=0
011
Cella dati, congestione presente, SDU=1
100
Cella di OAM (segment)
101
Cella di OAM (end-to-end)
110
Cella di Resource Management (RM)
111
Riservato per usi futuri
Tab. 1.6 – Valori del campo PT.
Il bit più significativo (il primo bit da sinistra) è utilizzato per discriminare se la cella
contiene informazioni d'utente (valore uguale a 0) o informazioni di esercizio e manutenzione
(OAM) o informazioni di gestione delle risorse (valore uguale a 1).
Nel caso che la cella trasporti dati d'utente, il secondo bit è utilizzato per indicare se la
cella ha attraversato almeno un elemento di rete che si trovava in stato di congestione.
Questo bit realizza la funzione di notifica di congestione in avanti (Explicit Forward
Congestion Notification - EFCI). I buffer corrispondenti alle linee d'uscita di un elemento di
rete sono monitorati, quando l'occupazione di un buffer supera una soglia prefissata, tutte le
celle che sono trasmesse sulla relativa linea d'uscita sono marcate ponendo il bit EFCI ad 1,
indicando al terminale ricevente che la cella ha attraversato una zone di rete che si trova in
21
uno stato di congestione. Il terminale ricevente può usare questa informazione per inviare al
terminale sorgente un messaggio che ha lo scopo di avvertire dello stato di congestione della
rete e di consente quindi di rallentare il tasso di emissione delle celle. Ciò permette alla rete di
superare il periodo di congestione. Funzioni analoghe sono svolte dalle celle di Resource
Management (RM) definite dalla configurazione del campo PT uguale a 110.
Questi meccanismi, come sarà illustrato nel seguito, sono alla base delle procedure di
controllo di flusso definite per la gestione della trasmissione delle celle nella categoria di
servizio ABR.
Sempre nel caso che la cella trasporti dati d'utente, il terzo bit è utilizzato per trasportare
informazioni gestite dallo strato di adattamento, in particolare dal protocollo AAL 5. Il suo
significato è quello di indicare se la cella completa l trasferimento di una SDU dello strato di
adattamento. Questa funzione sarà discussa in dettaglio nel seguito.
1.3.2.5 Il campo Cell Loss Priority (CLP)
Questo campo, di lunghezza uguale a 1 bit, indica la priorità di scarto della cella in caso
di congestione. Se CLP=1, la cella ha bassa priorità e può essere scartata durante i periodi di
congestione, se invece CLP=0 la cella ha priorità elevata e quindi non deve essere scartata.
Il bit CLP può essere utilizzato sia dall'utente sia dalla rete.
Nel caso in cui il bit CLP sia gestito dall'utente, questi ha la possibilità di suddividere il
flusso complessivo di celle nell'ambito di una connessione in due sotto-flussi: il primo, a cui
apparterranno le celle con CLP=0, ad alta priorità che trasporterà le informazioni di maggiore
rilevanza e che quindi riceverà un trattamento privilegiato dalla rete; il secondo, a cui
apparterranno le celle con CLP=1, a bassa priorità che trasporterà invece informazioni
addizionali che in caso di mancato arrivo non determinano un abbassamento della qualità
della comunicazione al di sotto di una sogli minima di accettabilità. Si pensi, ad esempio, ad
una codifica video a due livelli in cui è possibile classificare alcune trame video come
importanti ed altre come secondarie.
Nel caso in cui il bit CLP sia gestito dalla rete, il procedimento di gestione è
denominato marcatura (tagging) ed è legato alla funzione di monitoraggio del flusso di celle
operato dalla rete su ogni connessione instaurata da un utente.
Durante la fase di instaurazione di una connessione, viene stabilito un contratto di
traffico tra l'utente che richiede il servizio di trasferimento e la rete. Il contratto prevede che
l'utente rispetti, durante l'utilizzo del servizio, determinati parametri di traffico (es. bit rate di
picco, bit rate medio, ecc.), e che la rete, a sua volta, nell'ipotesi che l'utente rispetti il
contratto, garantisca determinati parametri di qualità di servizio (es. probabilità di perdita di
celle, ritardo, ecc.). Per verificare il rispetto dei termini del contratto di traffico, la rete
effettua un monitoraggio costante del flusso di celle emesso dall'utente nell'ambito di una
connessione. Una volta individuate le celle emesse dall'utente in violazione del contratto di
traffico (celle non conformi), allo scopo di garantire che queste non determinino una
degradazione della qualità di servizio nei confronti del resto del traffico in rete, la rete ha la
possibilità di scegliere quindi di scartare queste celle immediatamente o, con un intervento più
morbido, marcare, ponendo il bit CLP=1. Secondo quest'ultima modalità la cella viene
inoltrata comunque in rete, ma sarà soggetta a scarto in caso di congestione. La cella verrà
quindi consegnata a destinazione solo se le risorse di trasferimento saranno sufficienti a
trasportare anche questo traffico in eccesso rispetto a quello dichiarato dall'utente. Maggiori
dettagli su questa funzione saranno discussi nel seguito.
1.3.2.6 Funzioni di gestione nelle reti ATM.
In generale, le funzioni di gestione (Operation And Maintenance – OAM) includono gli
aspetti di configurazione di sistema; di gestione dei guasti; di monitoraggio delle prestazioni;
di sicurezza e di tariffazione.
22
Le specifiche dell'ATM trattano esclusivamente degli aspetti di gestione delle
prestazioni e dei guasti. Sono definite le procedure per il monitoraggio dello stato dei sistemi
di rete per individuare eventuali guasti e/o degradazioni di prestazioni; in particolare, le
funzioni di OAM standardizzate sono riassunte in Tab. 1.7 che riporta anche le azioni ed i
risultati delle operazioni di gestione.
Funzione
Azione
Risultato
Monitoraggio delle
prestazioni
Il funzionamento di una
entità è monitorato mediante
controlli funzionali periodici
Memorizzazione dei risultati
dei controlli
Rivelazione dei guasti
e/o delle anomalie
I malfunzionamenti di una
entità sono rivelati mediante
controlli funzionali periodici
Attivazione di specifici
allarmi
Protezione di sistema
Minimizzazione degli effetti
dei guasti mediante il blocco
dell'entità guasta e della
ricerca di sistemi alternativi
per l'esecuzione delle sue
funzioni (changeover)
Esclusione dell'entità guasta
Comunicazione dei
guasti e/o delle
prestazioni
L'informazione dei guasti è
comunicata a tutte le altre
entità di gestione
L'indicazione degli allarmi è
fornita a tutte le entità di
gestione insieme a risposte a
specifiche richieste di
informazioni di stato
Localizzazione dei
guasti
Determinazione dell'entità
guasta mediante test interni
e/o esterni, nel caso in cui le
informazioni di guasto sono
insufficienti
Individuazione dell'entità
guasta
Tab. 1.7 – Funzioni di OAM.
Le funzioni di OAM sono realizzate mediante flussi informativi organizzati in cinque
livelli gerarchici associati allo strato ATM e allo strato fisico. I cinque flussi di OAM sono
numerati da F1 a F5 (Fig. 1.16). I flussi F1, F2 e F3 si riferiscono allo strato fisico e si
riferiscono rispettivamente alla gestione: delle sezioni di rigenerazione (F1); delle digital
section (F2); dei transmission path (F3). La Tab. 1.8 riassume le funzioni di OAM nello strato
fisico.
Nel caso in cui lo strato fisico utilizza la struttura di trama SDH, i flussi F1 e F2 sono
trasportati nei byte dell'overhead di sezione, invece il flusso F3 è trasportato nell'overhead di
path della trama SDH.
23
Virtual Channel Connection
F5
VC switch
Strato
ATM
Virtual Path Connection
F4
VP switch
Transmission Path
F3
DXC
Strato
Fisico
Digital Section
F2
Regenerator Section
F1
Fig. 1.16 – Definizione dei flussi di gestione in una rete ATM.
Flusso
OAM
Livello
F1
Sezione di
rigenerazione
F2
Digital
section
F3
Funzione
Transmission
path
Tipo di guasto
Allineamento di trama
Perdita di trama
Monitoraggio degli errori
Prestazioni d'errore degradate
Allineamento di trama
Perdita di trama
Monitoraggio degli errori
Prestazioni d'errore degradate
Report degli errori
Prestazioni d'errore degradate
Monitoraggio della rete d'utente
Segnale di indicazione di allarme
Cell delineation
Perdita di sincronizzazione di cella
Offset delle celle nella trama
Perdita del puntatore di offset
Monitoraggio errori sul path
Prestazioni d'errore degradate
Report degli errori sul path
Prestazioni d'errore degradate
Adattamento del tasso di emissione
delle celle
Anomala inserzione o rimozione di
celle vuote
Tab. 1.8 – Definizione delle funzioni dei flussi di OAM di strato fisico: F1, F2 e F3.
I flussi F4 e F5 si riferiscono invece allo strato ATM e gestiscono rispettivamente il
livello di VP e quello di VC. La Tab. 1.9 riassume le funzioni legate gestite dai flussi F4 e F5.
Flusso
OAM
Livello
F4
Virtual
Path
F5
Virtual
Channel
Funzione
Tipo di guasto
Monitoraggio della disponibilità del VP
VP non disponibile
Monitoraggio degli prestazioni
Prestazioni d'errore degradate
Monitoraggio della disponibilità del VC
VC non disponibile
Monitoraggio degli prestazioni
Prestazioni d'errore degradate
Tab. 1.9 – Definizione delle funzioni dei flussi di OAM di strato ATM: F4 e F5.
I flussi F4 e F5 sono supportati da uno specifico protocollo di OAM, le cui unità dati
sono contenute nel payload delle celle ATM. Il formato di una unità dati di OAM è mostrato
in Fig. 1.17.
24
OAM Type
(4 bit)
Function Type
(4 bit)
Function Specific Field
(360 bit)
Reserved
(6 bit)
CRC
(10 bit)
Fig. 1.17 – Formato di una cella OAM per i flussi F4 e F5.
I primi due campi identificano il tipo di funzione di gestione a cui si riferisce la cella. Il
campo CRC, di lunghezza 10 bit, ha lo scopo di rivelare eventuali errori nel payload della
cella.
I flussi di OAM sono bidirezionali e le celle di OAM dei flussi F5 e F4 sono terminate
solo ai punti terminali delle VCC e delle VPC, rispettivamente. Le entità intermedie delle
VCC e VPC possono eventualmente leggere le celle OAM in transito e/o inserire proprie celle
di OAM.
1.3.3
Lo strato di adattamento (ATM Adaptation Layer – AAL)
Lo scopo dello strato di adattamento (ATM Adaptation Layer – AAL) è quello di
adattare il servizio offerto dallo strato ATM alle caratteristiche particolari delle applicazioni
che utilizzano il servizio di trasferimento offerto dalla rete ATM. Quindi, al contrario dello
strato ATM, che svolge funzioni comuni a tutti i servizi, lo strato AAL esegue funzioni che
sono dipendenti dalle esigenze dell’applicazione.
In dettaglio, le funzioni che fanno parte dell'insieme di competenza dello strato AAL
sono:
− il controllo di errore sui bit del payload delle cella; questa funzione non viene eseguita
dallo strato ATM perché non è indispensabile per tutti le applicazioni, ma deve essere
svolta solo per quei flussi informativi che necessitano un elevato grado di integrità
informativa;
− la gestione di eventuali fenomeni di perdita di celle che possono verificarsi nello strato
ATM, ad esempio per lo scarto di celle a causa di errori nell’intestazione della cella o di
fenomeni di congestione nei nodi;
− il controllo ed il recupero della temporizzazione e della sincronizzazione da estremo ad
estremo;
− la compensazione del jitter dei ritardi subiti dalle celle nell'attraversamento della rete a
causa delle variazione dello stato della rete durante la durata della connessione; questa
funzione è evidentemente necessaria solo nel caso di flussi informativi, ad esempio vocali
o video, che richiedono un trasferimento in rete temporalmente trasparente (servizi
isocroni);
− la segmentazione delle unità informative generate dall’applicazione, per adattarle al
formato delle celle ATM, e la loro ricostruzione a destinazione;
Le funzioni dello strato AAL sono raggruppate in due sottostrati: Segmenting And
Reassembling (SAR) e Convergence Sublayer (CS) (Fig. 1.18).
Strati superiori
Service Specific Convergence Sublayer (SSCS)
Common Part Convergence Sublayer (CPCS)
Segmenting And Reassembly (SAR)
Convergence
Sublayer (CS)
AAL
SAR
Strato ATM
Fig. 1.18 – Struttura dello strato di adattamento (AAL).
25
Il sottostrato SAR esegue essenzialmente le funzioni di segmentazione e ricostruzione,
che sono comuni a tutti i servizi, anche se sono svolte con modalità diverse in dipendenza dal
tipo di applicazione, mentre il sottostrato CS comprende le funzioni specifiche del particolare
servizio. Il sottostrato CS è ulteriormente suddiviso in due insiemi funzionali: Common Part
Convergence Sublayer (CPCS) e Service Specific Convergence Sublayer (SSCS). L'insieme
SSCS può eventualmente essere vuoto nel caso in cui non l'applicazione non richiede
l'esecuzione di altre funzioni oltre quelle già comprese nell'insieme CPCS.
Allo scopo di limitare il numero di protocolli di strato di adattamento, in origine, l'ITUT ha impostato il lavoro di standardizzazione introducendo una classificazione delle
applicazioni in un numero ristretto di classi di servizio in base alla comunanza di requisiti di
servizio e di caratteristiche di traffico. Ogni classe di servizio avrebbe dovuto essere
supportata da un specifico protocollo AAL.
L'approccio seguito dall'ITU-T ha mostrato tuttavia nel tempo alcune limitazioni che ne
hanno determinato al suo abbandono. Tuttavia, per ragioni di semplicità, in questa esposizione
vengono comunque utilizzati i criteri di classificazione delle applicazioni originariamente
proposti dall'ITU-T con lo scopo di introdurre le tipologie di servizio per cui sono stati adatti i
protocolli di strato di adattamento oggi definiti dall'ITU-T.
I parametri che sono stati utilizzati per la definizione delle classi di servizio sono i
seguenti:
− la relazione temporale che deve essere soddisfatta tra sorgente e destinazione;
normalmente i servizi real-time, come voce e video, richiedono che sia mantenuta una
stretta relazione temporale da estremo a estremo, in modo che il tasso di generazione delle
trame, lato sorgente, sia identico al tasso di ricezione, lato destinazione; i servizi non realtime, ovvero i servizi dati non impongono questo vincolo;
− le caratteristiche di emissione della sorgente, le sorgenti possono emettere i bit
informativi a ritmo di emissione costante (Constant Bit Rate - CBR) o con ritmo variabile
(Variable Bit Rate - VBR); i servizi con sorgenti CBR richiedono che la rete preveda per
il loro trattamento l'allocazione di una banda fissa (allocazione statica), analogamente a
quanto viene effettuato in una rete a circuito; se la sorgente è VBR le richiesta di banda
non è costante quindi può essere effettuata un'allocazione di risorse di tipo dinamico,
analogamente a quanto viene effettuato in una rete a pacchetto; in ATM si assume che le
applicazioni CBR richiedano sempre una stretta relazione temporale da estremo ad
estremo, mentre le sorgenti VBR possono essere di due categorie in cui la relazione
temporale sia richiesta (servizi VBR voce o video) o no (servizi dati);
− il servizio di trasferimento; sono individuati servizi che in modo nativo si presentano con
modalità con connessione e servizi senza connessione.
In base alla precedente classificazione, in Tab. 1.10 sono indicate le classi di servizio
caratterizzate dai valori dei parametri ora definiti e ad esse sono associati i relativi protocolli
di strato di adattamento.
Protocolli di strato di adattamento
AAL 1
AAL 2
AAL 3/4
AAL 5
Relazione temporale sorgente
destinazione
Bit rate sorgente
Modo di trasferimento
richiesta
richiesta
CBR
VBR
Connection oriented
non
non
richiesta
richiesta
VBR
VBR
Connection oriented o
Connectionless
Tab. 1.10 – Classi di servizio e protocolli di strato di adattamento.
La prima classe di servizio, servita dal protocollo AAL di tipo 1 (AAL 1) comprende i
servizi che richiedono la sincronizzazione tra origine e destinazione, la sorgente ha un
26
emissione continua e sono orientati alla connessione. Questi servizi che sarebbero trattati in
modo ideale da una modo di trasferimento a circuito, per questo motivo il protocollo AAL 1 è
chiamato protocollo ad emulazione di circuito (circuit emulation protocol). Ciò significa che
le funzioni svolte dallo strato di adattamento simulano il funzionamento di una rete a
commutazione di circuito, in modo che le applicazioni ricevano dalla rete ATM un servizio
pienamente equivalente. Le funzioni base eseguite dal protocollo AAL per questa classe sono
la compensazione del jitter dei ritardi di trasferimento delle celle e il recupero del sincronismo
a destinazione.
Anche in questo caso la funzione di base è quella del recupero dell’isocronia della
comunicazione (equalizzazione dei ritardi) e della sincronizzazione, eseguita con modalità
diverse rispetto alla classe A per il fatto che le sorgenti sono VBR (e rendono la situazione
più complicata).
La seconda classe, servita dal protocollo AAL di tipo 2 (AAL 2) comprende ancora
servizi che richiedono l'isocronia tra sorgente e destinazione, trattati con connessione, ma si
differenzia dalla classe precedente perché le sorgenti sono di tipo a bit rate variabile. In
particolare, il protocollo AAL 2 è stato definito per fornire uno servizio di trasferimento
efficiente pacchetti molto brevi a lunghezza variabile generati da sorgenti a basso bit rate e
sensibili al ritardo. In questa classe ricadono ad esempio i servizi di tipo a bassissimo bit rate
(4, 8, 16 kbit/s) oggi utilizzati per la trasmissione di voce pacchettizzata. La funzione chiave
che è supportata dal protocollo AAL2 è la possibilità di utilizzare una singola cella ATM per
il trasferimento di un numero maggiore di uno di unità dati di sorgente.
La terza e quarta classe di servizio comprendono invece servizi a bit rate variabile
(VBR) in cui non è richiesto il vincolo di isocronia, si passa cioè da un ambiente voce e video
ad un ambiente dati. Le due classi sono funzionalmente identiche, ma sono stati definiti due
diversi protocolli per il trattamento dei relativi servizi, il protocollo AAL3/4 ed il protocollo
AAL5. La funzione chiave di questi protocolli è quella di gestione degli errori che possono
verificarsi nel trasferimento delle celle in rete, il loro scopo è quindi quello di verificare a
destinazione l’integrità informativa delle unità dati generate dalla sorgente.
Il primo protocollo ad essere definito per queste classi è stato il protocollo AAL3/4.
Tuttavia, le scelte architetturali che sono alla base della sua definizione lo hanno reso
particolarmente pesante e complesso ed inoltre è caratterizzato da un elevato overhead
addizionale in termini di byte di controllo per cella. Le precedenti considerazioni hanno
portato successivamente alla definizione di un ulteriore protocollo, l’AAL 5, che è stato
progettato proprio per ridurre al minimo l’overhead di controllo e per aumentare l’efficienza,
mantenendo le funzionalità necessarie al trattamento dei servizi dati.
1.3.3.1 Il protocollo AAL 1.
Il protocollo AAL 1 è usato per i servizi CBR che richiedono una stretta relazione
temporale tra i punti estremi della connessione, ad esempio servizi voce, audio e video ad
emissione continua.
Il servizio offerto dal protocollo AAL 1 agli strati superiori prevede:
− trasferimento delle SDU tra i due utenti dello strato di adattamento;
− trasferimento delle informazioni di temporizzazione tra i punti estremi della connessione
ATM;
− controllo di sequenza delle celle;
− indicazione delle unità di dati perdute o ricevute con errore.
Le funzioni eseguite dallo strato AAL 1 sono le seguenti:
− segmentazione e ricostruzione delle informazioni d’utente;
− gestione delle variazioni del ritardo di formazione delle celle e del ritardo di
attraversamento di rete;
27
− gestione della perdita di celle o di eventuale inserzione di celle estranee nel flusso
originario;
− ricostruzione a destinazione del clock di sorgente;
− ricostruzione della struttura dati di sorgente a destinazione;
− monitoraggio degli errori di trasmissione sui bit.
IV.1.3.3.1.1
Primitive di servizio.
Le primitive di servizio scambiate attraverso l’AAL-SAP tra l’utente dello strato AAL e
l’AAL 1 sono le seguenti:
− AAL-UNITDATA request: richiede il trasferimento di una AAL-SDU, contiene i dati
destinati alla entità AAL di destinazione, la lunghezza della AAL-SDU è costante ed il
tempo tra due AAL-SDU consecutive è costante; il valore di queste costanti dipende dal
tipo di servizio offerto dallo strato AAL; se il trasferimento dello stream dati tra i due
utenti è strutturato in blocchi di bit, questa primitiva indica l’inizio è il termine del blocco
di dati.
− AAL-UNITDATA indication: notifica all’utente dello strato AAL il trasferimento di una
AAL-SDU, la lunghezza della AAL-SDU è costante; opzionalmente, questa primitiva
indica se la AAL-SDU è affetta da errori.
Le primitive di servizio tra il sottostrato SAR e il sottostrato CS sono le seguenti:
− SAR-UNIDATA invoke: è utilizzata dallo strato CS per richiedere la trasmissione di una
CS-PDU; la lunghezza della CS-PDU è fissa e uguale a 47 ottetti e formerà il payload
della SAR-PDU.
− SAR-UNIDATA signal: è passata dal sottostrato SAR a quello CS per indicare la consegna
di una CS-PDU.
1.3.3.2 Il sottostrato SAR (Segmenting And Reassembly).
Le funzioni eseguite dal sottostrato SAR sono le seguenti:
− Formazione delle SAR-PDU: il sottostrato SAR riceve le CS-PDU di lunghezza 47 ottetti
dal sottostrato CS, per ogni CS-PDU aggiunge un ottetto di header e forma la SAR-PDU
di lunghezza 48 ottetti;
− Trasporto delle indicazione del sottostrato CS: il sottostrato SAR fornisce al sottostrato
CS la possibilità di trasferire delle informazioni di controllo di strato (CS Indication field
– CSI);
− Numerazione in sequenza: allo scopo di mettere in grado il sottostrato CS di rilevare
eventuali clle perse o inserite per errore, il sottostrato SAR numera in sequenza le CSPDU lato emittente e trasporta tale numero lato ricevente;
− Protezione dagli errori: il sottostrato SAR è in grado protegge il numero di sequenza ed il
campo CSI dagli errori di trasmissione ed informa il sottostrato CS dell’eventuale
presenza di errori su questi campi.
Il formato di una SAR-PDU è mostrato in Fig. 1.19.
28
SAR-PDU (48 ottetti)
SAR-PDU header
Sequence Number Sequence Number
(SN)
Protection (SNP)
4 bit
SAR-PDU Payload
4 bit
47 ottetti
CSI
Sequence Count
(SC)
CRC
P
1 bit
3 bit
3 bit
1 bit
Fig. 1.19 – Formato di una SAR-PDU nel protocollo AAL 1.
Il significato dei campi è il seguente:
− Sequence Number (SN): il campo SN, di lunghezza uguale a 4 bit, è diviso in due
sottocampi:
− Sequence Count (SC) (3 bit) che trasporta il numero di sequenza della CS-PDU fornito
dal sottostrato CS;
− CS Indication (CSI) (1 bit) che è utilizzato dal sottostrato CS per il trasporto di
informazioni di controllo da estremo a estremo.
− Sequence Number Protection (SNP): fornisce le funzioni di rivelazione e correzione
d’errore sull’header della SAR-PDU; le funzionalità di controllo d’errore sono fornite con
un meccanismo a due livelli: il campo SN è protetto da un codice CRC a tre bit, mentre
tutti i sette bit risultanti dall’unione dei campi CSI, SN e CRC sono ulteriormente protetti
da un bit di parità (P); il ricevitore è in grado di rilevare e correggere un errore singolo,
mentre se l’errore è multiplo è possibile solo una funzione di rivelazione.
IV.1.3.3.2.1
Il sottostrato CS (Convergence Sublayer).
Il sottostrato CS esegue le seguenti funzioni:
− Formazione, lato emittente, delle CS-PDU attraverso la collezione di blocchi di
informazione di lunghezza 47 ottetti a partire dallo stream dati prodotto dall’applicazione;
lato ricevente viene eseguita l’operazione opposta;
− Gestione del jitter del ritardo delle CS-PDU in modo che la consegna dei dati all’utente
avvenga a ritmo costante;
− Padding in caso di riempimento parziale del payload delle SAR-PDU;
− Processamento del numero di sequenza delle CS-PDU per la rivelazione di unità perse o
inserite erroneamente;
− Utilizzazione del bit CSI per il supporto di funzioni di strato;
− Trasferimento di informazioni di temporizzazione e di recupero di sincronismo tra i due
estremi della connessione;
− Eventuale funzione di protezione di errore dei bit del payload delle SAR-PDU, tale
funzione potrebbe essere richiesta da servizi con particolari esigenze di qualità (es. video,
high quality audio, etc.);
− Report delle prestazioni end-to-end.
Il protocollo AAL 1 è stato pensato per adattarsi alla più vasta gamma possibile di
applicazioni CBR, quindi il protocollo CS, che si interfaccia direttamente con le applicazioni,
può essere visto come un “toolkit” in cui possono essere scelte le procedure che, di volta in
volta, si adattano meglio alle esigenze della specifica applicazione supportata. Tali esigenze
possono essere classificate in termini di: a) caratteristiche del servizio (sincrono o asincrono);
29
b) prestazioni (tasso d’errore residuo, ritardo); c) prestazioni di rete previste (perdita di celle e
variazioni di ritardo).
In particolare nella Raccomandazione ITU-T I.363.1, sono specificati quattro diversi
scenari di servizio:
ƒ Trasporto a circuito: in questo scenario il sottostrato CS supporta un servizio di
trasferimento a circuito con modalità sia sincrona che asincrona. Nel caso di modalità
sincrona, la frequenza di clock delle sorgenti CBR è agganciata a quella della rete, mentre
nella modalità asincrona la frequenza di clock delle sorgenti CBR non è agganciata alla
frequenza di rete. L’obiettivo del servizio di strato è quello di garantire il trasferimento
temporalmente trasparente delle informazioni tra i due estremi della connessione ATM; le
funzioni che devono essere eseguite sono
− gestione del jitter di ritardo delle celle mediante l’utilizzazione, lato ricezione, di un
buffer (buffer di playout) con lo scopo di equalizzare i ritardi subiti dalle celle in rete;
− gestione della perdita delle celle in rete mediante l’inserimento di bit dummy nel
flusso informativo originale;
− gestione degli eventi di underflow e overflow del buffer di playout; tali eventi
comportano rispettivamente, l’inserimento di bit dummy nel flusso informativo
originale e la cancellazione di bit del flusso originale;
− recupero lato ricezione del clock di sorgente.
ƒ Trasporto di segnali video: questo scenario prevede il trasferimento di segnali video per
servizi sia interattivi che distributivi. Rispetto al caso precedente potrebbe essere richiesta
l’esecuzione della funzione di correzione d’errore sui bit del flusso informativo d’utente.
ƒ Trasporto di segnali vocali: le funzioni sono analoghe a quelle eseguite nel caso dello
scenario di trasporto a circuito con la differenza che in questo caso non è necessario
eseguire la rivelazione di celle inserite per errore nel flusso informativo.
ƒ Trasporto di segnali audio ad elevata qualità: le funzioni sono analoghe a quelle relative
al trasporto di segnali video.
La funzione di recupero del clock di sorgente può essere eseguita secondo due modalità
diverse: Adaptive Clock Method (ACM) e Synchronous Residual Time Stamp (SRTS). Il
metodo ACM non richiede trasmissione esplicita di informazioni di clock recovery tra
sorgente e ricevente, ma è adatto solo per applicazioni che richiedono la compensazione dei
fenomeni di jitter del clock (variazioni ad alta frequenza) e non di wander (variazioni a bassa
frequenza). Il secondo metodo invece permette la compensazione di entrambi i fenomeni di
variazione, jitter e wander, ma richiede la trasmissione esplicita di informazioni di clock
recovery tra sorgente e ricevente.
Il metodo ACM si basa sulla considerazione che l’intero ammontare di informazioni
trasmesse dalla sorgente è esso stesso un indicatore del clock di sorgente e tale informazione
può essere utilizzata dal ricevente per ricostruire la frequenza di clock originaria. La misura
della frequenza di clock è effettuata mediando il numero di bit ricevuti su un periodo di tempo
sufficientemente lungo in modo che gli effetti di variazione del ritardo in rete si compensino e
siano quindi trascurabili. La tecnica specifica di realizzazione del metodo non è standardizzata
ed è lasciata all’implementatore.
Il metodo SRTS usa l’informazione di Residual Time Stamp (RTS) per misurare la
differenza tra la frequenza di clock di sorgente (service clock) ed la frequenza di riferimento
derivata dal clock di rete (network clock). Assumendo che la frequenza di riferimento sia
disponibile ad entrambi i lati della connessione, il lato ricevente, utilizzando l’RTS trasmesso
dalla sorgente, è in grado di ricostruire con la precisione richiesta il service clock.
L’RTS è codificato in parole di 4 bit trasmesse in forma seriale utilizzando i bit CSI
nell’header delle SAR-PDU. In particolare, sono utilizzate le celle il cui numero di sequenza è
30
dispari (1, 3, 5, 7), mentre nelle celle pari il bit CSI è utilizzato per altri scopi.
1.3.3.3 Il protocollo AAL 2.
Il protocollo AAL 2 è stato definito per fornire uno servizio di trasferimento efficiente
pacchetti molto brevi a lunghezza variabile generati da applicazioni sensibili al ritardo (es.
trasmissione della voce a pacchetto). In particolare, il protocollo AAL 2 consente la
multiplazione di una pluralità di flussi informativi d'utente su una stessa connessione ATM.
La struttura funzionale dell'AAL 2 è mostrata in Fig. 1.20. L'AAL 2 è suddiviso in due
sottostrati: il sottostrato CPS (Commom Part Sublayer) e il sottostrato SSCS (Service Specific
Convergence Sublayer).
Il sottostrato CPS comprende le funzioni relative al trasferimento delle CPS_SDU tra
due entità del sottostrato superiore attraverso una rete ATM; tali funzioni sono indipendenti
dall'applicazione.
Il sottostrato SSCS completa la funzionalità dello strato AAL 2 eseguendo le funzioni
specifiche richieste dall'applicazione (es. formazione delle SSCS-PDU, numerazione,
controllo d'errore, ecc.). Le funzionalità del sottostrato SSCS possono essere anche nulle.
Il modello funzionale delle relazioni tra i due sottostrati è mostrata in Fig. 1.21, che
evidenzia come diversi flussi informativi generati da applicazioni diverse e gestiti da entità
SSCS diverse, attraverso protocolli eventualmente diversi, possano essere gestiti da un'unica
entità CPS e multiplati sulla stessa connessione ATM.
Strati superiori
Service Specific Convergence Sublayer (SSCS)
AAL
Common Part Sublayer (CPS)
Strato ATM
Fig. 1.20 – Struttura funzionale dell'AAL 2.
Strati superiori
SSCS
SSCS
SSCS
(CID = x)
SSCS
(CID = x)
(CID = x)
AAL
CPS
CPS
Strato ATM
Fig. 1.21 – Modello di relazione funzionale tra i sottostrati dello strato AAL 2.
31
Nel seguito saranno esclusivamente descritte le funzionalità e il protocollo relativo al
sottostrato CPS.
IV.1.3.3.3.1
Il sottostrato CPS
Il sottostrato CPS fornisce il servizio di trasferimento delle CPS_SDU tra due entità del
sottostrato superiore utilizzando una connessione ATM. Tra due entità SSCS è definita una
connessione AAL 2 formata dalla concatenazione di canali AAL 2. Un canale AAL 2 è un
canale virtuale bidirezionale supportato da una connessione ATM.
Il servizio offerto dal sottostrato CPS comprende:
− il trasferimento di CPS-SDU di lunghezza massima uguale a 45 ottetti (esiste tuttavia
anche la possibilità di definire una CPS-SDU di lunghezza uguale a 64 ottetti);
− la multiplazione e la demultiplazione di una molteplicità di canali AAL 2;
− la consegna in sequenza delle CPS-SDU all'interno di ogni singolo canale AAL 2.
La Fig. 1.22 mostra le diverse unità dati definite nello strato AAL 2.
AAL-SAP
CPS-SDU
CPS-packet
header
Start Field
(STF)
CPS-packet payload
CPS-PDU payload
CPS-packet
CPS-PDU
ATM-SAP
ATM-SDU
Cell header
CellCPS-PDU
payload payload
Cella ATM
Fig. 1.22 – Unità dati nello strato AAL 2 e loro relazione con la cella ATM.
Con riferimento alla Fig. 1.22, il sottostrato SSCS fornisce al sottostrato CPS le unità
dati denominate CPS-SDU. Con ogni singola CPS-PDU, il sottostrato CPS Le CPS-SDU
costruisce un CPS-Packet di cui la CPS-SDU costituisce il payload. Ad ogni CPS-packet
viene poi aggiunto un ulteriore header per formare la CPS-PDU che verrà sottomessa allo
strato ATM per essere inserita nel payload delle celle ATM.
Il formato del CPS-packet e della CPS-PDU è mostrato in Fig. 1.23.
32
CPS-packet header
CID
LI
UUI
8 bit
6 bit
5 bit
HEC
CPS-packet payload (1-45, 64 ottetti)
CPS-packet
5 bit
STF
OSF
6
bit
SN P
1
bit
1
bit
CPS-PDU payload
CPS-PDU
47 ottetti
Fig. 1.23 – Formato del CPS-packet e della CPS-PDU nel protocollo AAL 2.
L'header del CPS-packet ha una lunghezza complessiva di tre ottetti ed è formato da
quattro campi:
− Channel Identifier (CID): ha lunghezza uguale a otto bit e codifica l'utente del canale
AAL 2.
− Length Indicator (LI): ha lunghezza uguale a sei bit e codifica la lunghezza in ottetti del
payload del CPS-packet; la lunghezza massima di default è uguale a 45 ottetti, tuttavia, la
lunghezza massima può essere fissata opzionalmente a 64 ottetti;
− User-to-user Indication (UUI): ha lunghezza uguale a cinque bit ed è utilizzato per due
scopi principali: a) trasporto di informazioni specifiche tra due entità SSCS in modo
trasparente al sottostrato CPS; b) distinguere le unità dati d'utente e quelle di management;
− Header Error Control (HEC): ha lunghezza uguale a 5 bit e ha lo scopo di rilevare errori
nell'header del CPU-packet.
Una CPS-PDU ha una lunghezza fissa uguale a 48 ottetti ed è formata da header,
denominata Start Field (STF), di lunghezza uguale ad un ottetto e da un payload di lunghezza
fissa uguale a 47 ottetti.
I campi dell'STF sono:
− Offset Field (OSF): ha lunghezza uguale a sei bit e codifica il valore dell'offset, misurato
in numero di ottetti, tra la fine del campo STF e l'inizio del primo CPS-packet contenuto
nel payload; in assenza dell'inizio di un CPS-packet misura la distanza dall'inizio degli
otteti di riempimento (PAD).
− Sequence Number (OSN): ha lunghezza uguale a un bit e numera modulo 2 le CPS-PDU
emesse su una connessione ATM;
− Parity (P): bit di parità di protezione dell'intero STF.
Il payload di una CPS-PDU può contenere nessuno, uno o più CPS-packet. Gli ottetti
non utilizzati sono riempiti da bit dummy codificati con valore zero. Un CPS-packet può
oltrepassare uno o più confini di cella ATM. nel caso in cui la lunghezza massima sia quella
di default (45 ottetti), il confine superato è al massimo uno.
La Fig. 1.24 fornisce un esempio del processo di formazione delle CPS-PDU in un caso
in cui la lunghezza delle CPS-packet sia costante ed uguale a 19 ottetti, di cui 16 sono
costituiti dal payload.
1.3.3.4 Il protocollo AAL 3/4.
Il protocollo AAL 3/4 è stato definito per il supporto di servizi a bit rate variabile, di
tipo sia connection-oriented che connectionless, che non richiedono una stretta relazione
temporale tra sorgente e destinazione
33
Nella specifica iniziale dei protocolli di strato di adattamento si erano previsti due
diversi protocolli per le classi C e D: il protocollo AAL 3 per la classe C (connection-oriented
data) e il protocollo AAL 4 per la classe D (connectionless data). Tuttavia, la notevole
somiglianza delle funzioni eseguite e del formato delle PDU ha suggerito all’ITU-T di
combinare i due protocolli definendo un unico protocollo per le due classi.
CPS-Packet
H
16 ottetti
H
#1
STF
CPS-Packet
CPS-Packet
H
16 ottetti
H
CPS-PDU
#2
H
CPS-Packet
16 ottetti
H
16 ottetti
CPS-Packet
H
16 ottetti
CPS-Packet
H
16 ottetti
H #3
#3
H
#4
CPS-PDU
STF
H
#5
H
#6
CPS-PDU
STF
PAD
Fig. 1.24 – Esempio del processo di formazione delle CPS_PDU a partire da CPS-packet la cui lunghezza
costante uguale a 19 ottetti di cui 16 di payload.
Il tipo di servizio offerto dal protocollo AAL 3/4 può essere caratterizzato secondo due
diversi criteri:
• Modalità di comunicazione; sono possibili due modalità di trattamento delle PDU:
− connectionless: ogni blocco di dati presentato dall’applicazione allo strato AAL è
trattato indipendentemente;
− connection-oriented: è possibile definire diversi flussi di PDU sulla stessa connessione
ATM.
• Modalità di interazione con l’applicazione; sono previste due modalità di servizio:
− message mode: una AAL-SDU, qualsiasi sia la sua lunghezza, è passata attraverso
l’interfaccia con lo strato superiore in una singola interazione; tale servizio si adatta,
ad esempio, al supporto di flussi generati ad esempio da protocolli di tipo frame relay
o IP;
− streaming mode: una AAL-SDU, di qualsiasi lunghezza, è passata attraverso
l’interfaccia con lo strato superiore in interazioni multiple; tale servizio si adatta a
sorgenti dati a bassa velocità senza particolari esigenze di ritardo.
La struttura funzionale dell'AAL 3/4 è conforme a quella generale mostrata in Fig. 1.18.
Il sottostrato Service Specific Convergence Sublayer (SSCS) supporta le esigenze specifiche
dello strato superiore e quindi possono essere definiti diversi protocolli di sottostrato SSCS
ed, eventualmente, le funzionalità di questo sottostrato possono essere nulle.
Il sottostrato Common Part Convergence Sublayer (CPCS) gestisce il trasferimento di
AAL-SDU di qualsiasi lunghezza, rispettando la sequenza di emissione e eseguendo funzioni
di controllo e notifica d’errore.
Il sottostrato Segmenting And Reassembly (SAR) fornisce i mezzi per il trasferimento
trasparente delle SAR-SDU tra le entità CPCS remote attraverso una connessione ATM,
garantendo quindi l’adattamento del formato delle AAL-SDU a quello delle cella ATM. Il
sottostrato SAR esegue funzionalità di controllo d’errore su ogni singola SAR-PDU, ma il
trasferimento delle SAR-SDU è di tipo non assicurato, ovvero, se per un errore la SAR-SDU
non può essere ricostruita correttamente a destinazione, questa viene scartata. Il sottostrato
SAR gestisce infine la multiplazione di flussi diversi di SAR-PDU sulla stessa connessione
ATM
Nel seguito sono illustrati i protocolli definiti per i sottostrati SAR e CPCS.
34
IV.1.3.3.4.1
Il sottostrato SAR
Il sottostrato SAR accetta, dal sottostrato superiore CPCS, SAR-SDU di qualsiasi
lunghezza e genera SAR-PDU contenenti fino a 44 ottetti della SAR-SDU.
Le funzioni del sottostrato SAR sono:
− Trasferimento delle SAR-SDU: le operazioni di segmentazione e ricostruzione delle SARSDU sono completamente trasparenti all’utente.
− Rivelazione e gestione degli errori sulle SAR-PDU: tale funzione consente la rivelazione e
la gestione sia di errori di trasmissione sui bit delle SAR-PDU sia di eventuali perdite di
SAR-PDU; le SAR-PDU affette da errore sono scartate come pure le SAR-SDU che non è
possibile ricostruire correttamente a destinazione.
− Controllo di sequenza: tale funzione garantisce la consegna in sequenza delle SAR-SDU.
− Multiplazione: è prevista la possibilità di multiplare diversi flussi di SAR-SDU,
denominati connessioni SAR, sulla stessa connessione ATM.
Il formato di una SAR-PDU, denominata anche segmento, è mostrato in Fig. 1.25. La
lunghezza complessiva della SAR-PDU è uguale a 48 ottetti. I campi di controllo sono
collocati in un header, di lunghezza 2 ottetti, posto all’inizio della SAR-PDU, e in un trailer di
lunghezza anch’esso uguale a due ottetti, posto in coda alla SAR-PDU.
SAR-PDU
SAR-PDU header
ST
SN
MID
2 bit
4 bit
10 bit
SAR-PDU header
SAR-PDU payload (44 ottetti)
LI
MID
6 bit
10 bit
Fig. 1.25 – Formato di una SAR-PDU nel protocollo AAL 3/4.
Il payload di una SAR-PDU ha lunghezza fissa uguale a 44 ottetti; se non può essere
riempito completamente da bit utili, la parte restante è riempita da bit dummy.
Il significato dei campi di controllo è il seguente:
− Segment Type (ST): ha lunghezza 2 bit e indica se la SAR-PDU trasporta l’inizio della
SAR-SDU (Beginning of Message- BOM), una parte interna della SAR-SDU
(Continuation of Message- COM), la parte finale di una SAR_SDU (End of MessageEOM) o, infine se trasporta l’intera SAR_SDU (Single Segment Message- SSM).
− Sequence Number (SN): ha lunghezza 4 bit e numera modulo 16 le SAR-PDU
appartenenti ad una stessa connessione SAR; il valore iniziale del contatore nel segmento
BOM di una SAR-SDU può assumere un qualsiasi valore da 0 a 15.
− Multiplexing Identification (MID): ha lunghezza uguale a 10 bit; le SAR_PDU
appartenenti alla stessa SAR-SDU saranno caratterizzate dallo stesso valore del campo
MID; questo campo è utilizzato per la funzione di multiplazione di diversi connessioni
SAR sullo stessa connessione ATM; tale campo consente la trasmissione interallaciata
delle SAR-PDU sulla connessione ATM.
− Length Indication (LI): ha lunghezza 6 bit ed indica la lunghezza in ottetti della SAR-SDU
trasportati nella SAR-PDU corrente, serve a distinguere, nel caso dei segmenti EOM e
SSM, i bit utili contenuti nel payload rispetto a quelli di riempimento.
− Cyclic Redundancy Check (CRC): ha lunghezza 10 bit ed è un codice di rivelazione
d’errore sui bit della SAR-PDU.
35
IV.1.3.3.4.2
Il sottostrato CPCS
Le funzioni eseguite dal sottostrato CPCS sono:
− Delimitazione e trasparenza delle CPCS-SDU: il sottostrato CPCS garantisce il
trasferimento e la consegna delle CPCS-SDU in modo affidabile e trasparente all’utente.
− Rivelazione e gestione degli errori: il sottostrato CPCS è dotato di alcuni meccanismi
addizionali rispetto a quelli utilizzati dal sottostrato SAR per controllare la correttezza
delle CPCS-PDU ricevute, se viene rilevato un errore l’intera CPCS-PDU è scartata.
− Allocazione del buffer di ricostruzione: viene indicato al ricevitore la dimensione del
buffer che deve essere allocato per effettuare la ricostruzione della CPCS-PDU.
Il formato di una CPCS-PDU è mostrato in Fig. 1.26 I campi di controllo sono collocati
in un header, di lunghezza 4 ottetti, e in un trailer di lunghezza anch’esso uguale a 4 ottetti. La
lunghezza complessiva della CPCS-PDU può essere qualsiasi, con il vincolo di essere un
multiplo di 32 bit. Un meccanismo di padding assicura che sia rispettato tale vincolo.
CPCS-PDU
header
CPCS-PDU
header
CPCS-PDU header
CPCS-PDU payload
PAD
CPCS-PDU trailer
CPI
Btag
BAsize
AL
Etag
Length
1 otteto
1 otteto
2 otteti
1 otteto
1 otteto
2 otteti
Fig. 1.26 – Formato di una CPCS-PDU nel protocollo AAL 3/4.
Il significato dei campi di controllo è il seguente:
− Common Part Indicator (CPI): lunghezza 1 ottetto, è usato per interpretare correttamente i
campi seguenti, può ad esempio contenere l’indicazione delle unità con cui sono codificati
i campi Basize e Length.
− Beginning Tag (Btag): lunghezza 1 ottetto, questo campo è utilizzato insieme al campo
Etag contenuto nel trailer; l’entità emittente inserisce a sua discrezione nei campi Btag e
Etag lo stesso valore, l’entità ricevente controlla la corrispondenza tra il contenuto di
questi due campi per assumere un ulteriore elemento di garanzia della correttezza del
trasferimento della CPCS-PDU.
− Buffer Allocation size (BAsize): lunghezza 2 ottetti, indica il massimo valore del buffer di
ricezione che deve essere allocato per la ricostruzione della CPCS-PDU, l’unità di misura
è indicata nel campo CPI.
− Padding field (PAD): è utilizzato per rendere la lunghezza della CPCS-PDU uguale ad un
multiplo di 32 bit (4 ottetti); la lunghezza di questo campo può essere di 0-3 ottetti.
− Allignment (AL): lunghezza 1 ottetto, non trasporta informazioni, la funzione di questo
campo è esclusivamente quella di rendere la lunghezza del trailer uguale a 32 bit.
− End Tag (Etag): lunghezza 1 ottetto, è utilizzato insieme a campo Btag del trailer nel
modo indicato precedentemente.
− Length: lunghezza 2 ottetti, indica la lunghezza in del payload della CPCS-PDU, l’unità di
misura è indicata nel campo CPI.
La Fig. 1.27 mostra il processo di formazione delle SAR-PDU a partire dalla AAL-SDU
sottomessa dagli strati superiori.
36
CPCS-SDU
CPCS-PDU
header
CPCS-PDU
BOM
SAR-PDU
SAR-PDU
header
CPCS-PDU payload
SAR-PDU
payload
COM
SAR-PDU
SAR-PDU
header
PAD
CPCS-PDU
trailer
SAR-PDU
trailer
SAR-PDU
payload
COM
SAR-PDU
SAR-PDU
header
SAR-PDU
trailer
SAR-PDU
payload
EOM
SAR-PDU
ATM cell
ATM Cell
header
SAR-PDU
header
SAR-PDU
trailer
SAR-PDU
payload
PAD
SAR-PDU
trailer
ATM Cell payload
Fig. 1.27 – Processo di segmentazione operato dal protocollo AAL 3/4.
1.3.3.5 Il protocollo AAL 5.
Il protocollo AAL 5 è stato introdotto per fornire un servizio di trasporto per protocolli
di strato più elevato che gestiscono direttamente la connessione. In questo caso la
maggioranza delle funzioni e dei campi definiti nel protocollo AAL 3/4 non sono necessari e
quindi risulta possibile ridurre l’overhead protocollare e quindi la complessità di elaborazione
dei campi di controllo.
La struttura funzionale ed i servizi offerti dal protocollo AAL 5 sono identiche a quelli
del protocollo AAL 3/4 (Fig. 1.18).
Il servizio offerto dal protocollo AAL 5 prevede due modalità:
− message mode: una AAL-SDU, qualsiasi sia la sua lunghezza, è passata attraverso
l’interfaccia con lo strato superiore in una singola interazione; ed è trasferita in una
singola CPCS-PDU;
− streaming mode: una AAL-SDU, di qualsiasi lunghezza, è passata attraverso l’interfaccia
con lo strato superiore in interazioni multiple, una volta formata la CPCS-SDU questa
verrà trasferita in una singola CPCS-PDU.
IV.1.3.3.5.1
Il sottostrato SAR
Il sottostrato SAR accetta, dal sottostrato superiore CPCS, SAR-SDU di lunghezza
multipla di 48 ottetti e genera SAR-PDU ognuna contenente 48 ottetti della SAR-SDU.
Le funzioni del sottostrato SAR sono:
− Trasferimento delle SAR-SDU: le operazioni di segmentazione e ricostruzione delle SARSDU sono completamente trasparenti all’utente.
− Gestione delle informazioni di congestione: tale funzione garantisce la consegna allo
strato superiore delle informazioni di congestione provenienti dallo strato inferiore e
viceversa.
− Gestione delle informazioni di Cell loss priority: tale funzione garantisce la consegna allo
strato superiore delle informazioni di CLP provenienti dallo strato inferiore e viceversa.
Il formato di una SAR-PDU è mostrato in Fig. 1.28. la lunghezza della SAR-PDU è
uguale a 48 byte ed è priva di campi di controllo. Tuttavia, per l’esecuzione delle operazioni
di delimitazione delle SAR-SDU, il protocollo AAL 5 utilizza il bit ATM-User-to-ATM-User
(AUU) contenuto nel campo Payload Type (PT) della cella ATM. Tale bit indica se la SAR37
PDU contenuta nel payload della cella ATM contiene l’ultima parte della SAR-SDU e quindi
conclude il processo di ricostruzione. In particolare, AUU=1 indica la fine della SAR-SDU,
viceversa AUU=0 indica l’inizio o la continuazione di una SAR-SDU.
ATM-cell header
AUU
SAR-PDU
SAR-PDU payload (48 ottetti)
1 bit
Fig. 1.28 – Formato di una SAR-PDU nel protocollo AAL 5.
L’assenza del campo MID rende impossibile la trasmissione interallacciata, sulla stessa
connessione, di SAR-PDU appartenenti a SAR-SDU diverse. In questo caso infatti il
ricevente non sarebbe in grado di riconoscere a quale SAR-SDU apparterrebbe una SAR-PDU
ricevuta e quindi non sarebbe possibile la ricostruzione delle diverse SAR-SDU.
Per continuare ad utilizzare una stessa connessione ATM per il trasferimento di una
molteplicità di SAR-SDU, l’alternativa è quella di effettuare un interallacciamento a livello di
messaggio. Questa modalità prevede di emettere in sequenza sulla connessione ATM le SARPDU appartenenti ad una singola SAR-SDU e successivamente quelle appartenenti ad un altra
SAR-SDU e così via. In quest’ultimo caso la sola informazione fornita dal bit AUU è
sufficiente a garantire, in assenza di errori e a perdite di cella da parte dello strato ATM, la
corretta ricostruzione delle SAR-SDU.
IV.1.3.3.5.2
Il sottostrato CPCS
Il sottostrato CPCS offre un servizio di trasferimento delle CPCS-SDU di tipo non
assicurato, ovvero le CPCS-SDU possono essere perdute a causa di errori dello strato ATM o
dello strato SAR. Il sottostrato CPCS garantisce comunque la consegna in sequenza delle
CPCS-SDU. La lunghezza delle CPCS-SDU può essere qualsiasi entro il valore massimo di
65535 ottetti.
Le funzioni eseguite dal sottostrato CPCS sono:
− Delimitazione e trasparenza delle CPCS-SDU: il sottostrato CPCS garantisce il
trasferimento e la consegna delle CPCS-SDU in modo trasparente all’utente.
− Consegna trasparente delle CPCS user information: nel protocollo è prevista la possibilità
di gestire un flusso diretto di informazioni di controllo tra gli utenti dello strato AAL.
− Padding: tale funzione fornisce un allineamento della lunghezza di una CPCS-SDU ad un
valore multiplo di 48 ottetti.
− Gestione delle informazioni di congestione: tale funzione garantisce la consegna allo
strato superiore delle informazioni di congestione provenienti dallo strato inferiore e
viceversa.
− Gestione delle informazioni di Cell loss priority: tale funzione garantisce la consegna allo
strato superiore delle informazioni di CLP provenienti dallo strato inferiore e viceversa.
Il formato di una CPCS-PDU è mostrato in Fig. 1.29.I campi di controllo sono collocati
in un unico trailer di lunghezza uguale a 8 ottetti. La lunghezza complessiva della CPCS-PDU
può essere qualsiasi, con il vincolo di essere un multiplo di 48 ottetti. Un meccanismo di
padding assicura che sia rispettato tale vincolo.
Il significato dei campi di controllo è il seguente
− CPCS User-to-User Indication (CPCS-UU): lunghezza 1 ottetto, è usato per trasportarte
informazioni di controllo tra i due utenti dello strato AAL.
− Common Part Indicator (CPI): lunghezza 1 ottetto, è usato per allineare la lunghezza del
38
−
−
−
−
−
−
trailer a 64 bit.
Length: lunghezza 2 ottetti, indica la lunghezza in ottetti del payload della CPCS-PDU.
CRC: lunghezza 4 ottetti, questo campo è utilizzato per rivelare errori sull’intera CPCSPDU
Buffer Allocation size (BAsize): lunghezza 2 ottetti, indica il massimo valore del buffer di
ricezione che deve essere allocato per la ricostruzione della CPCS-PDU, l’unità di misura
è indicata nel campo CPI.
Padding field (PAD): è utilizzato per rendere la lunghezza della CPCS-PDU uguale ad un
multiplo di 32 bit (4 ottetti); la lunghezza di questo campo può essere di 0-3 ottetti.
Allignment (AL): lunghezza 1 ottetto, non trasporta informazioni, la funzione di questo
campo è esclusivamente quella di rendere la lunghezza del trailer uguale a 32 bit.
End Tag (Etag): lunghezza 1 ottetto, è utilizzato insieme a campo Btag del trailer nel
modo indicato precedentemente.
CPCS-PDU
CPCS-PDU payload
CPCS
UU
PAD
CPI
1
1
ottetto ottetto
CPCS-PDU trailer
Length
CRC
2
ottetti
4
ottetti
Fig. 1.29 – Formato di una CPCS-PDU nel protocollo AAL 5.
La Fig. 1.30 mostra il processo completo di formazione della CPCS-PDU e delle SARPDU a partire dalla AAL-SDU sottomessa dagli strati superiori.
CPCS-SDU
CPCS-PDU payload
CPCS-PDU
SAR-PDU
AUU = 0
PAD
CPCS-PDU
trailer
SAR-PDU
payload
SAR-PDU
AUU = 0
SAR-PDU
payload
SAR-PDU
AUU = 0
SAR-PDU
payload
SAR-PDU
AUU = 1
ATM cell
Cell
header
SAR-PDU
payload
Cell payload
Fig. 1.30 – Processo di formazione della CPCS-PDU e delle SAR-PDU operato dal protocollo AAL 5.
39
1.3.3.6 Confronto tra AAL ¾ e AAL 5.
Il confronto tra i protocolli AAL 5 e AAL 3/4 evidenzia come, nel caso dell’AAL 5 si
sia ottenuta una notevole riduzione dell’overhead nelle varie unità dati. Per quanto riguarda
l’overhead a livello di cella ATM, questo è stato annullato completamente nel caso del
protocollo AAL 5 rispetto al valore di 4 ottetti nel caso dell’AAL 3/4 (uguale a circa il 7.5 %).
Nel caso invece dell’overhead a livello di AAL-SDU, questo è rimasto inalterato (8 ottetti in
entrambi i protocolli); tuttavia va sottolineato che questo overhead è normalmente
percentualmente trascurabile rispetto alla lunghezza delle AAL-SDU da trasferire.
Questa riduzione di overhead è stata ottenuta eliminando o modificando i meccanismi
protocollari per la maggior parte delle funzioni eseguite dal protocollo AAL 3/4. In sintesi le
differenze funzionali tra i due protocolli possono essere così riassunte:
− Il numero di sequenza delle SAR-PDU è stato eliminato; questo comporta che è richiesto
un servizio di trasferimento affidabile da parte dello strato ATM, infatti eventi di perdita
di SAR-PDU non possono essere rivelati dal sottostrato SAR; il controllo della correttezza
della ricostruzione delle AAL-SDU è affidata al campo CRC della CPCS-PDU.
− La mancanza del campo MID, come è stato già commentato, rende impossibile la
trasmissione interallaciata di SAR-PDU appartenenti a AAL-SDU diverse sulla stessa
connessione ATM.
− La mancanza di un indicatore di lunghezza del payload utile di una SAR-PDU costringe
ad avere un allineamento della SAR-SDU a 48 ottetti, ovvero che la lunghezza di una
SAR-SDU sia un multiplo di 48 ottetti.
− L’eliminazione del campo BAsize costringe il ricevitore a pre-allocare un buffer di
ricezione della dimensione massima oppure di realizzare un meccanismo di colloquio tra
strati che indichi la massima dimensione delle unità dati utilizzate dall’applicazione.
− Lo spostamento della funzione di controllo d’errore allo strato CPCS ha determinato che
ora al campo CRC è delegata anche la funzione di controllo della correttezza dell’intero
processo di ricostruzione della CPCS-PDU; è stato necessario quindi potenziare il codice
per renderlo non vulnerabile da situazioni di errato ordinamento delle SAR-PDU.
− I campi Btag e Etag sono stati eliminati in quanto la loro funzione non era più necessaria
per la presenza nel sottostrato CPCS del campo CRC.
1.4
Controllo del traffico e della congestione in ATM
Le politiche di controllo del traffico e di congestione hanno lo scopo di controllare
l'utilizzazione delle risorse di rete in modo che il traffico iniettato in rete dalle sorgenti non
saturi la capacità dei nodi o dei link della rete stessa causando la saturazione dei buffer dei
commutatori ATM e quindi la perdita di una quota parte delle celle trasmesse in rete. In
ultima analisi, le politiche di controllo del traffico e di congestione servono quindi a garantire
un determinato livello di qualità di servizio offerto dalla rete agli utenti.
Nelle reti a commutazione di circuito, ad ogni connessione viene assegnata, per tutta la
sua durata, un fissata porzione di risorse di rete. Ad esempio, in una rete telefonica, per ogni
chiamata è necessario assegnare una banda uguale a 64 kbit/s in ogni ramo della rete
attraversato dal cammino tra gli utenti chiamante e chiamato. Se tale capacità è disponibile la
chiamata è instaurata, altrimenti la richiesta è rifiutata. Questa semplice regola di ammissione
di chiamata è sufficiente a prevenire l'insorgere di fenomeni di congestione all'interno della
rete. Infatti, una volta che una chiamata è stata instaurata, le risorse assegnate sono sempre
disponibili per la chiamata stessa e non sono soggette quindi a contese di utilizzazione con
altre chiamate.
In una rete a commutazione di pacchetto, il controllo della congestione è un problema
molto più complesso da risolvere a causa del fatto che la tecnica di multiplazione statistica, se
da un lato aumenta il grado di utilizzazione delle risorse di rete, dall'altro rende inevitabile
40
l'insorgere di fenomeni di contesa nel loro utilizzo da parte dei pacchetti in transito in rete.
Tali contese sono gestite memorizzando i pacchetti che non possono essere rilanciati
immediatamente nei buffer associati alle linee trasmissive. Se il tasso di arrivo dei pacchetti
assume un valore prossimo, o peggio supera, quello di trasmissione, la dimensione delle code
cresce rapidamente raggiungendo valori molto elevati. Se l'intervallo in cui si presenta tale
sbilancio di traffico si prolunga nel tempo, la perdita di pacchetti a causa della saturazione dei
buffer diviene inevitabile. Un ulteriore elemento da considerare e che i pacchetti persi sono
ritrasmessi dalla sorgente, o dai nodi a monte della sezione congestionata, con il rischio di
causare un ulteriore aumento del traffico in rete e quindi il peggioramento della situazione di
congestione.
In generale, l'approccio che si segue in una rete a pacchetto per controllare l'utilizzo
delle risorse è basato sull'impiego di meccanismi che consentano la regolazione del tasso di
emissione dei pacchetti da parte delle sorgenti in modo che, non appena si avverte l'insorgere
di congestione, questo venga abbassato a livelli che possano essere gestiti dalla rete.
In ambiente ATM il problema della gestione del traffico è complicato dalla
concomitante presenza di ulteriori elementi:
1) l'elevata velocità delle linee trasmissive, che superano normalmente il centinaio di Mbit/s,
rende molto più rapido l'insorgere dei fenomeni della congestione;
2) i meccanisimi di controreazione che, nei classici schemi di controllo di flusso hanno lo
scopo di riportare le indicazioni di congestione alle sorgenti affinchè queste possano
modulare il tasso di emissione dei pacchetti, rischiano di essere troppo lenti a causa del
piccolo tempo di trasmissione delle celle ATM rispetto al tempo di propagazione sulle
linee;
3) l'ATM è chiamato a gestire una molteplicità di traffici caratterizzati da capacità che vanno
da alcuni kbit/s a varie centinaia di Mbit/s, con caratteristiche statistiche di emissione
estremamente diverse (sorgenti a ritmo costante e/o variabile);
4) l'ATM è chiamato a trattare una gamma di servizi diversi, caratterizzati da eterogenei
requisiti di qualità sia in termini di ritardo che di perdita;
5) una notevole percentuale di traffico non è adatta ad essere gestita con i classici
meccanismi di controllo di flusso, ad esempio sorgenti vocali e video non possono
bloccare l'emissione delle celle all'insorgere della congestione.
Nel seguito, dopo breve cenno ad alcuni importanti aspetti prestazionali in reti integrate
ad alta velocità che influenzano le procedure di controllo del traffico, sono riportati gli aspetti
principali delle funzionalità di gestione del traffico in reti ATM definite all'interno delle
raccomandazioni emesse dall'ITU-T e degli standard ATM Forum.
1.4.1
Aspetti prestazionali in reti integrate ad alta velocità
Un aspetto di primaria importanza che deve essere tenuto in conto nella definizione di
un qualsiasi meccanismo di controllo del traffico è il valore del così detto prodotto
banda/ritardo (bandwidth/delay product).
Si consideri un collegamento (Fig. 1.31) tra due entità di rete A e B caratterizzato da
una capacità trasmissiva (bandwidth) uguale a R bit/s e da una lunghezza di L km. Si consideri
inoltre la trasmissione di una cella "x" attraverso tale collegamento; detta S la lunghezza in bit
di una cella ATM, il tempo di trasmissione T (in secondi) di tale cella lungo il collegamento
sarà uguale a T=S/R secondi. Supponendo che il tempo di trasferimento D di una cella tra le
due entità agli estremi del collegamento sia uguale al tempo di propagazione lungo il
collegamento stesso, trascurando quindi eventuali tempi di elaborazione e di accodamento, si
ha che D=5.L.10-6 secondi. Indichiamo con α il valore del prodotto banda/ritardo
normalizzato rispetto alla lunghezza di una cella, ovvero
41
α=
R⋅D
S
Tempo di trasmissione
di cella -T
x
1
2
...
k
. . . α-1
spazio - L km
A
α
α+1 α+ 2
. . . α+ k . . . 2α-1 2α
Congestione
in B
B
Ritardo di propagazione - D
Ritardo di propagazione - D
Invio segnale
di STOP
tempo
Ricezione segnale
di STOP
Fig. 1.31 – Effetto di buffer distribuito in una linea.
Il valore di α esprime, in termini di numero di celle, il ritardo di propagazione tra i due
estremi del collegamento . Supponendo che la sorgente emetta con continuità celle verso la
destinazione, prima che la destinazione riceva completamente una cella, supponiamo la k-ma,
la sorgente avrà già emesso α celle successive che si trovano in viaggio lungo la linea
trasmissiva. In altre parole quindi, il valore di α esprime l'effetto di buffer distribuito che la
linea introduce nel collegamento.
E' intuitivo immaginare che, tanto maggiore è il valore di α, tanto più critico sarà il
dimensionamento di un meccanismo di controllo di flusso. Questo dovrebbe risultare evidente
dal seguente esempio. Si consideri che sul collegamento definito in precedenza sia in atto un
trasferimento di un file di grandi dimensioni e supponiamo che, in un certo istante t0, la
destinazione desideri interrompere il flusso di celle generato dalla sorgente e che quindi invii
a ritroso, verso la sorgente, un segnale di "stop". A causa del comportamento di buffer
distribuito della linea trasmissiva, occorre prevedere che, nel peggiore dei casi, prima della
ricezione del segnale di "stop", la sorgente emetta ancora 2α celle ATM e che quindi deve
essere previsto uno spazio uguale a tale valore nel buffer di ricezione per evitare la sua
saturazione e quindi la perdita di celle. Supponendo che i parametri di sistema assumano i
seguenti valori R=150 Mbit/s, S=53 byte=424 bit, L=5000 km, lo spazio disponibile nel
buffer di ricezione per evitare la perdita di celle deve essere almeno uguale a 3.75 Mbit.
Dall'esempio precedente, emerge il concetto che tanto più piccolo è il valore di α, tanto
più rapido sarà l'effetto di un meccanismo reattivo di controllo di flusso, mentre se il valore
della capacità delle linee e/o la distanza coperta dal collegamento crescono, l'inerzia del
meccanismo di controreazione aumenta rendendo più difficile l'utilizzazione di tali
meccanismi. La Tab. 1.11 riporta i valori che il prodotto α banda/ritardo normalizzato assume
in alcuni esempi di rete. E' evidente che l'ambiente ad alta velocità in rete a lunga distanza
risulta essere quello che pone le maggiori criticità nella realizzazione di meccanismi di
controllo di flusso.
42
Esempio
Banda
R (Mbit/s)
Distanza
L (km)
Ritardo
D (ms)
α
(celle ATM)
Ethernet 10BaseT
10
1
0.005
≈ 0.1
Ethernet 100BaseT
100
1
0.005
≈1
Rete Metropolitana
34
10
0.05
≈ 3.5
Rete geografica telefonica
0.064
3000
15
≈2
Tratta satellite
0.064
36000
180
≈ 27
Rete geografica frame relay
2
3000
15
≈ 70
Rete geografica ATM (scenario 1)
150
3000
15
≈ 5300
Rete geografica ATM (scenario 2)
600
3000
15
≈ 21200
Tab. 1.11 – Valori del prodotto α banda/ritardo normalizzato in alcuni esempi di rete..
Un secondo elemento che deve essere considerato in un ambiente integrato nei servizi è
che alcune applicazioni sono sensibili alla variabilità dei ritardi di trasferimento delle celle in
rete e che quindi richiedono che la rete presenti un ritardo di trasferimento costante per tutte le
celle trasmesse durante la connessione. Questo requisito è ovviamente impossibile da ottenere
a causa delle inevitabili variazioni di ritardo introdotte: a) dai vari nodi di rete per effetto delle
attese che le celle subiscono nei buffer a causa delle contese di utilizzazione delle linee: b) a
livello di interfaccia utente-rete (UNI) a causa delle operazioni di multiplazione dei flussi di
celle generate da un singolo utente.
Per quanto riguarda la variazione dei ritardi introdotta dalla rete, questa è dovuta alle
diverse condizioni di occupazione che sono incontrate dalle celle di una stessa connessione
che attraversano la rete in tempi successivi. I cambiamenti delle condizioni di occupazione
sono dovute alle oscillazioni statistiche del traffico offerto alla rete e causano una variabilità
nella lunghezza dei buffer dei vari elementi di rete. La Fig. 1.32 mostra un esempio di come la
variazione del ritardo di attraversamento della rete modifichi la struttura temporale di un
flusso di celle. Il flusso emesso dalla sorgente è un flusso CBR caratterizato da un tempo
costante di intercella uguale a T secondi. Gli istanti di arrivo delle a destinazione sono indicati
dalla sequenza ci (i=0,1,..,5), mentre la sequenza ai (i=0,1,..,5) indica gli istanti teorici di
arrivo delle celle se queste ultime avessero rispettato il tempo di intercella di T secondi
dall'arrivo della celle precedente. La variazione di ritardo per la cella i-ma (CDVi- Cell Delay
Variation) si può valutare quantitativamente calcolando la differenza tra ci e ai, ovvero
CDVi=ci-ai. In particolare, si hanno due casi:
- se CDVi>0, ovvero per le celle in cui ci>ai, si ha la creazione di un intervallo addizionale
(gap) tra le celle i-1 e i e quindi le due celle saranno distanziate di un intervallo maggiore
di quello che avevano al momento della loro emissione;
- se CDVi<0, ovvero per le celle in cui ci<ai, si ha un avvicinamento (clamping) tra le celle
i-1 e i e quindi la loro distanza temporale sarà maggiore di quello che si aveva al momento
della loro emissione.
43
T
T
0
Sorgente
T
1
2
T
2
a1 c1
4
T
1
a0=c0
T
3
T
0
Destinazione
T
a2 c2
5
T
3
c3 a3
T
4
a4
5
c4
c5 a5
Fig. 1.32 – Modifica della struttura temporale di un flusso di celle subita a causa del ritardo variabile di
attraversamento della rete.
L'effetto dei gap e dei clamping introdotti in un flusso di celle può essere, almeno in
linea di principio, completamente compensato nell'entità ricevente attraverso l'impiego di un
buffer di ricostruzione (play-out buffer). Ad esempio, la Fig. 1.33 mostra il caso del
trasferimento in rete di un flusso CBR. Gli istanti di emissione sono equidistanziati sull'asse
di emissione di un tempo di intercella costante uguale a T secondi; una generica i-ma cella
subisce un ritardo attraversamento uguale a dj secondi. Nel buffer di play-out le celle ricevute
sono memorizzate per il tempo necessario ad equalizzare il ritardo di ciascuna di esse rispetto
ad un ritardo costante di riferimento di valore D secondi; quindi, l'intervallo di tempo vj che la
i-ma cella deve soggiornare nel buffer di play-out risulta uguale a D-dj.
D
c0
d0
T
d1
T
v0
c1
v1
c2
d2
T
d3
T
c4
d4
T
v2
c3
d6
Asse emissione
v4
c5
d5
T
v3
c6
Cella
scartata
v6
Asse ricostruzione
Fig. 1.33 – Utilizzazione del buffer di play-out per l'equalizzazione dei ritardi di rete.
La criticità nel meccanismo di equalizzazione ora indicato risiede essenzialmente nella
scelta del valore di D. Infatti un suo valore troppo basso comporterebbe un'elevata probabilità
che i tempi vj assumano valori negativi (arrivo della cella successivo all'istante in cui questa
avrebbe dovuto essere prelevata dal buffer di play-out), rendendo inevitabile lo scarto della
cella corrispondente, come ad esempio la cella 5 in Fig. 1.33. Viceversa, un valore troppo
elevato, comporterebbe un elevato ritardo complessivo e quindi un'inutile degradazione della
qualità della comunicazione. Inoltre, per il corretto dimensionamento del buffer di play-out e
del meccanismo di ricostruzione si richiede la conoscenza della statistica dei ritardi di transito
delle celle in rete.
Un secondo elemento che causa variazione dei ritardi di attraversamento della rete è
costituito dai processi di multiplazione che avvengono all'interfaccia UNI, tra un utente e la
44
rete. Il processo di multiplazione causa una variazione dei tempi di intercella del flusso di
celle appartenenti ad una connessione emesso sull'interfaccia UNI rispetto a quelli propri del
processo di generazione delle celle direttamente pilotato dall'applicazione.
Allo scopo di rendere più chiaro tale fenomeno si faccia riferimento alla Fig. 1.34. In
questa figura è illustrato il processo di multiplazione subito da due flussi di celle (A e B)
generati da due sorgenti a ritmo costante (CBR). Gli stream di dati provenienti dalle due
sorgenti sono elaborati dallo strato di adattamento (AAL) che provvede alla formazione delle
SAR-PDU che saranno inserite nel payload delle celle ATM. Indicando rispettivamente con
RA e RB il tasso di emissione di bit da parte della sorgente A e quello della sorgente B e
trascurando il tempo di elaborazione necessario allo strato AAL per la formazione delle unità
dati, il tempo di intercella (tA e tB), misurato per i due flussi all'interfaccia tra lo strato AAL e
quello ATM, ovvero il tempo intercorrente tra l'istante di generazione di due successive SARPDU da parte dello strato AAL, sarà rispettivamente uguale a (nella figura è supposto che
RA>RB e quindi tA<tB)
tA =
48 bytes
AAL
48 ⋅ 8
RA
tB =
;
48 bytes
48 ⋅ 8
RB
.
48 bytes
Connection A, x Mbit/s
48 bytes
48 bytes
48 bytes
Connection B, y Mbit/s
ATM SAP
H
H
H
H
ATM
H
H
H
OAM
H
OAM
PHY SAP
PHY
H
H
H
H
H
H
H
H
H
Physical layer
overhead
Fig. 1.34 – Illustrazione della variazione dei ritardi introdotta all'interfaccia UNI.
Lo strato ATM opera la formazione delle celle, aggiungendo i cinque byte di header, e
aggiunge, eventualmente, al flusso complessivo delle proprie celle di OAM (flussi F4 e F5).
Tutte queste celle sono poi sottomesse allo strato fisico per essere trasmesse. Lo strato fisico
provvederà alla trasmissione seriale di queste all'interno della struttura trasmissiva tipica
dell'interfaccia utilizzata (es. trama SDH), inserendo i propri byte di controllo (es. overhead di
trama). L'effetto combinato di questi due processi può comportare, come illustrato in figura,
una variazione dei tempi di intercella di uno stesso flusso misurati in un caso all'interfaccia tra
lo strato ATM e fisico (o equivalentemente tra lo strato AAL e ATM) e, nel secondo caso,
sull'interfaccia trasmissiva. Nella figura si nota come il l'intervallo di tempo tra le celle #1 e
#2 del flusso B sia molto aumentato sul flusso trasmesso, rispetto a quello misurato sul flusso
originale, mentre l'effetto opposto ha subito il tempo di intercella tra la cella #2 e la cella #3.
Queste variazioni temporali rappresentano un potenziale disturbo alla qualità della
comunicazione, tuttavia, pur essendo molto difficili da prevedere la loro entità è spesso
trascurabile e quindi possono essere compensate con la stessa metodologia vista in
45
precedenza.
Accanto al problema specificatamente connesso alla qualità, le variazioni del tempo di
intercella all'interfaccia UNI comportano un problema notevole di incertezza di misura dei
parametri di traffico associati ad ogni singolo flusso d'utente. Se ad esempio si dovesse
misurare il ritmo di picco di emissione delle celle per un flusso (normalmente è definito come
l'inverso del tempo minimo di intercella), questo assumerebbe due diversi valori se misurato a
livello dell'applicazione (es. all'interfaccia tra strato AAL e ATM o tra strato ATM e strato
fisico) oppure sull'interfaccia utente-rete. Come sarà illustrato nel seguito, questa ambiguità
deve essere risolta per arrivare ad una descrizione statistica del traffico generato da un utente
per scopi di controllo del traffico.
1.4.2
Procedure di gestione del traffico in ATM.
Per supportare efficacemente l'integrazione di diverse applicazioni caratterizzate da
eterogenei requisiti di qualità di servizio (Quality of Service – QoS), l'ATM si basa su diversi
principi base a cui sia la rete che gli utenti devono sottostare. tali principi possono essere
riassunti nei seguenti punti:
− ad una connessione è associato un insieme di parametri che definiscono il livello di qualità
del servizio che deve essere garantito dalla rete al flusso di celle che saranno emesse
nell'ambito della connessione stessa; questi parametri sono detti parametri di qualità di
servzio (QoS parameters);
− l'utente di una connessione ATM comunica alla rete al momento dell'instaurazione di una
connessione le caratteristiche del traffico che sarà generato dall'applicazione e che sarà
sottomesso alla rete, le caratteristiche del traffico generato da un applicazione nell'ambito
di una connessione sono quantificati attraverso un insieme di parametri denominati
parametri descrittori del traffico (Traffic Descriptors - TD);
− una nuova richiesta di connessione è accettata dalla rete se la rete stessa , sulla base dei
TD dichiarati dall'utente, valuta che è disponibile al suo interno la capacità necessaria al
supporto della nuova connessione in modo che siano soddisfatti sia i requisiti di qualità
posti dall'applicazione utente della connessione richiesta, sia i requisiti di qualità
concordati con gli utenti di tutte le connessioni precedentemente instaurate e ancora attive;
se uno di questi due vincoli non è soddisfatto la richiesta di connessione è rifiutata;
− la rete ATM ha il diritto di stabilire le procedure e i criteri per individuare se il flusso di
celle emesso da un utente sia conforme al profilo dichiarato dall'utente stesso attraverso i
TD, tali criteri sono denominati regole di conformità;
− la rete ATM ha il diritto monitorare i singoli flussi di celle emessi dagli utenti per
controllare il rispetto dei TD dichiarati all'atto dell'instaurazione delle connessioni; la rete
ha inoltre il diritto di scartare, o trattare in modo difforme rispetto alla QoS concordata, le
celle che risultano essere, in base all'applicazione delle regole di conformità, in violazione
dei TD dichiarati da un utente;
− dai punti precedenti emerge che un utente al momento in cui richiede una connessione
dichiara alla rete sia i parametri di QoS che richiede, sia il suo profilo di traffico
quantificato dall'insieme dei TD; la rete a sua volta sulla base dei dati forniti dall'utente
alloca le risorse necessarie al supporto della nuova connessione e controlla che il flusso
emesso dall'utente sia conforme a quanto dichiarato dall'utente stesso; l'insieme dei
parametri di QoS, dei TD, delle regole di conformità, definiscono il cosiddetto Contratto
di Traffico (Traffic Contract) che vincola la rete a soddisfare i requisiti di QoS posti
dall'utente posto che l'utente rispetti il profilo di traffico dichiarato;
− la rete ATM fornisce accesso anche alle risorse di rete che risultano essere non assegnate
attraverso la stipula di contratti di traffico, supportando quindi un servizio di trasferimento
di tipo best-effort senza alcuna garanzia di qualità di servizio; eventualmente la rete può
46
eseguire un controllo di congestione per modulare il tasso di emissione delle celle da parte
degli utenti che utilizzano questa porzione di capacità in modo da limitare i fenomeni di
perdita di celle.
1.4.2.1 Parametri descrittori della qualità delle connessioni
Probability
I parametri descrittori della qualità di servizio di una connessione (QoS parameters)
sono dichiarati dall'utente che richiede l'instaurazione della connessione e stabiliscono i
requisiti di qualità di servizio che la rete, se la connessione è accettata, deve garantire
all'utente. Tali parametri caratterizzano le prestazioni della rete nei riguardi della perdita delle
celle in rete e del ritardo di attraversamento della rete.
I parametri di qualità definiti dagli standard internazionali sono:
− Cell Loss Ratio (CLR): è definito come il rapporto tra le celle perse e quelle trasmesse
nell'ambito di una connessione;
− Maximum Cell Transfer Delay (maxCTD): definisce il massimo valore del ritardo che una
porzione non inferiore a (1-α) delle celle di una connessione può subire
nell'attraversamento della rete; in particolare, per la definizione del maxCTD è
conveniente riferirsi alla Fig. 1.35 che mostra l'andamento tipico della distribuzione dei
ritardi di attraversamento di una rete a pacchetto e quindi anche di tipo ATM; la figura
mostra, in primo luogo, che esiste un valore minimo del ritardo di attraversamento,
principalmente determinato dai tempi di propagazione lungo le linee trasmissive
costituenti la connessione, inoltre mostra che, almeno in linea di principio, esiste una
probabilità non nulla che il ritardo assuma anche valori molto elevati, sia pure per una
percentuale di celle molto piccola; questa è la ragione per definire il parametro maxCTD
tenendo conto che una percentuale α di celle può superare tale soglia;
− Peak-to-peak Cell Delay Variation (Peak-to-peak CDV): misura la massima variabilità del
ritardo di trasferimento in una connessione e, come mostrato in Fig. 1.35, è definito come
la differenza tra il maxCTD ed il valore minimo del ritardo di trasferimento
1-α
Minimum
Delay
Peak-to-peak CDV
α
time
maxCTD
Fig. 1.35 – Andamento tipico della distribuzione del ritardo di attraversamento di una rete ATM da parte delle
celle di una connessione.
1.4.2.2 Parametri descrittori del traffico
Come precedentemente illustrato i parametri descrittori del traffico (Traffic Descriptors
- TD) sono i parametri utilizzati dagli utenti per caratterizzare il proprio profilo di traffico
emesso nell'ambito di una connessione. Questi parametri derivano dalla considerazione di due
diversi elementi, il primo riguarda l'effettiva natura statistica del traffico emesso da una
sorgente, il secondo tiene conto di fenomeni che non sono imputabili alla sorgente, ma che in
qualche modo alterano le caratteristiche statistiche del traffico trasmesso in rete. In
particolare, questo secondo aspetto si riferisce alla variazione dei tempi di intercella che,
47
come abbiamo visto nel paragrafo precedente, è indotta dai processi di multiplazione tra flussi
di celle appartenenti a connessioni diverse effettuati dall'utente prima della trasmissione delle
celle sull'interfaccia UNI.
I parametri descrittori del traffico definiti dagli standard internazionali sono:
− Peak Cell Rate (PCR): definisce il limite superiore del ritmo di emissione di celle
consentito alla sorgente; il PCR è definito come l'inverso dell'intervallo di tempo minimo
tra due celle consecutive di una connessione, misurato all'interfaccia tra lo strato ATM e
lo strato fisico; il PCR è dichiarato sempre, qualsiasi sia la tipologia di sorgente (CBR o
VBR);
− Cell Delay Variation Tolerance (CDVT): definisce la variazione massima che può subire
il tempo minimo di intercella a causa degli effetti di multiplazione sull'interfaccia UNI;
quindi, definiti i due parametri PCR e CDVT, il tempo minimo Tmin di intercella tollerato
dalla rete nel flusso di una connessione assume il valore di Tmin=(1/PCR)-CDVT; Il CDVT
definisce in sostanza la tolleranza che la rete deve avere nella misura del PCR di una
sorgente; il CDVT, insieme al PCR, è dichiarato sempre, qualsiasi sia la tipologia di
sorgente (CBR o VBR);
− Sustainable Cell Rate (SCR): definisce il valore massimo del tasso medio di emissione
delle celle da parte di una sorgente, misurato su un tempo molto maggiore rispetto a
1/PCR; l'SCR permette alla rete di allocare per una connessione una quantità di risorse
minore rispetto a quelle fissate dal valore di PCR e quindi di trarre vantaggio dalla
multiplazione statistica di sorgenti VBR; l'SCR è dichiarato esclusivamente dalle sorgenti
VBR;
− Maximum Burst Size (MBS): specifica il massimo numero di celle che una sorgente può
emettere al tasso PCR; ovviamente, successivamente all'emissione di un numero di celle
uguale a MBS ad ritmo uguale al PCR, il tempo di silenzio successivo deve essere tale da
soddisfare il valore di SCR; l'MBS, insieme all'SCR è dichiarato esclusivamente dalle
sorgenti VBR;
− Minimum Cell Rate (MCR): è usato esclusivamente nella categoria di servizio ABR (vedi
paragrafo successivo) e definisce il minimo valore di capacità che la rete deve garantire ad
una sorgente; il valore di MCR può essere anche nullo
1.4.2.3 Categorie di servizio
Gli standard definiscono cinque categorie di servizio, ovvero cinque diverse tipologie di
servizio di trasferimento che una rete ATM può offrire ad una applicazione. Le cinque
categorie di servizio sono:
− Constant Bit Rate (CBR): per questa categoria di servizio la rete richiede che il flusso di
celle emesso dalla sorgente abbia ritmo costante e assicura all'utente la capacità di
trasferimento sufficiente a trasferire il flusso di celle con un ritardo massimo ed un tasso
di perdita di celle prefissato e concordato con l'utente, quindi i valori di maxCTD, peakto-peak CTD e CLR sono garantiti; una sorgente è caratterizzata mediante un singolo
parametro (PCR) e dalla tolleranza CDVT; la rete provvede controllare che la banda del
flusso di celle emesso dalla sorgente non superi la capacità allocata per il suo
trasferimento.
− Real-time Variable Bit Rate (rt-VBR): questa categoria di servizio è definita per
applicazioni che richiedono un ritardo di trasferimento basso e costante, ma che sono
caratterizzate da un tasso di emissione delle celle variabile nel tempo; in questo caso una
sorgente è caratterizzata attraverso due parametri, il PCR e l'SCR, e dalle tolleranze
CDVT e MBS; la rete provvede a controllare durante la connessione che la sorgente non
superi i valori dichiarati di questi parametri e garantisce all'utente un ritardo massimo e un
valore massimo di perdita di celle, quindi i valori di maxCTD, peak-to-peak CDV e CLR
48
sono garantiti.
− Non real-time Variable Bit Rate (nrt-VBR): questa categoria di servizio è simile alla
precedente, la differenza consiste nel fatto che le applicazioni in questo caso non
richiedono il rispetto di limiti stringenti di ritardo e quindi la rete non garantisce i valori
dei parametri maxCTD, peak-to-peak CDV.
− Unspecified Bit Rate (UBR): è la categoria che offre un servizio di trasferimento di tipo
best-effort in cui la rete non garantisce alcun parametro di qualità di servizio, in modo del
tutto analogo a quanto effettuato dalle reti IP tradizionali; questa categoria è adatta quindi
al supporto di applicazioni dati tradizionali.
− Available Bit Rate (ABR): questa categoria è anch'essa orientata al trattamento di
applicazioni dati, ma a differenza della UBR, fornisce un servizio di trasferimento in cui,
con l’utilizzazione di un meccanismo di controllo di congestione, la perdita di celle è resa
trascurabile a spese di un maggior ritardo di trasferimento. Un applicazione che usa il
servizio ABR deve dichiarare il suo PCR e può richiedere alla rete che gli venga fornita
una capacità minima indicata dal valore dell’MCR (ovviamente MCR<PCR); inoltre, la
rete provvede a distribuire equamente tra le sorgenti ABR la capacità non utilizzata dalle
altre categorie di servizio. Il controllo di congestione è basato su un meccanismo di
controreazione con cui la rete comunica alle sorgenti il tasso massimo di emissione di
celle che possono raggiungere senza innescare fenomeni di perdita di celle. la capacità
non utilizzata dalle sorgenti ABR è utilizzata dalle sorgenti UBR.
1
UBR
ABR
α+β
VBR
α
CBR
0
tempo
Fig. 1.36 – Esempio di occupazione della capacità di una linea
A scopo riassuntivo, la Fig. 1.36 mostra un esempio di utilizzazione della capacità di
una linea durante un intervallo di tempo in cui il numero di connessioni rimane costante. Si
possono sottolineare i seguenti elementi:
− alla categoria CBR è allocata una capacità costante (α nella figura) data dalla somma dei
valori dei PCR delle singole sorgenti;
− alle sorgenti VBR, sia real time che non real time, è allocata una capacità media (β nella
figura), ma nel tempo, a causa della loro attività variabile, l’occupazione reale delle risorse
può discostarsi da questo valore;
− alla categoria ABR è allocata la capacità non utilizzata dalle categorie di servizio
precedenti, ma non è in grado di esaurirla poiché, tramite il controllo di congestione, deve
evitare i fenomeni di perdita di cella;
− il raggiungimento del grado di utilizzazione massimo è lasciato alla categoria UBR che
può saturare la capacità della linea poiché per tale categoria di servizio non è prevista
alcuna garanzia di QoS.
49
La Tab. 1.12 riassume per le cinque categorie di servizio i parametri di QoS che le
caratterizzano e i TD che le sorgenti devono specificare.
Parametro
Categoria di servizio
CBR
rt-VBR
nrt-VBR
UBR
ABR
Parametri di traffico
PCR e CDVT
specificato
specificato
specificato
specificato
specificato
SCR e MBS
-----
specificato
specificato
-----
-----
MCR
-----
-----
-----
-----
specificato
Parametri di QoS
CLR
specificato
specificato
specificato
-----
controllato
maxCTD
specificato
specificato
-----
-----
-----
peak-to-peak CTD
specificato
specificato
-----
-----
-----
Tab. 1.12 – Categorie di servizio, parametri di QoS e parametri descrittori del traffico.
1.4.2.4 Controllo di ammissione delle connessioni
La procedura di controllo di ammissione delle connessioni (Connection Admission
Control - CAC) ha lo scopo di stabilire se una richiesta di instaurazione di una connessione
deve essere accettata o rifiutata. Gli ingressi della procedura di CAC sono:
− la categoria di servizio (CBR, rt-VBR, nrt-VBR, UBR, ABR);
− i parametri descrittori di traffico (PCR, CDVT, SCR, MBS);
− i parametri di QoS (CLR, maxCTD, peak-topeak CTD).
Se la procedura CAC stabilisce che esistono le risorse in rete per supportare il traffico
addizionale prodotto dalla connessione soddisfacendo contemporaneamente alle richieste di
QoS presentate dall'utente e a quelle precedentemente concordate con gli utenti delle altre
connessioni già instaurate e ancora attive, la connessione è instaurata, altrimenti la richiesta è
rifiutata.
Gli standard non definiscono una particolare procedura di CAC, ma questa è lasciata
alla libertà degli operatori di rete. Gli obiettivi generali di questa procedura sono da un lato
quelli di garantire un allocazione che massimizzi l'efficienza di sfruttamento delle risorse di
rete e, dall'altro, di evitare il rischio di non soddisfare, sia pure per brevi periodi, i parametri
concordati di QoS.
1.4.2.5 Controllo dei parametri d'utente
Le procedure di controllo dei parametri d'utente (Usage Parameter Control – UPC),
dette anche procedure di policing, hanno lo scopo di verificare la conformità del flusso di
celle generato dall'utente di una connessione rispetto ai TD dichiarati dall'utente stesso all'atto
dell'instaurazione della connessione.
Lo scopo delle procedure di UPC è quello di proteggere le risorse di rete da eventuali
sovraccarichi generati da un eccesso di traffico prodotto dagli utenti rispetto al valore
utilizzato nelle procedure di allocazione. Tale sovraccarico potrebbe generare un
deterioramento delle prestazioni della rete e causare il non soddisfacimento dei parametri di
QoS di tutte le connessioni di rete.
Le procedure di UPC sono di solito effettuate su ogni singolo Virtual Channel (VC) sul
lato rete dell'interfaccia UNI, analoghe procedure sono però possibili anche sui Virtual Path
(VP).
Gli standard internazionali descrivono in dettaglio le funzioni UPC, in particolare, è
definita una procedura, denominata Generic Cell Rate Algorithm (GCRA). Questo algoritmo è
50
basato sull’uso di due parametri: il primo è detto incremento Inc, mentre il secondo è detto
limte L e l’algoritmo è normalmente indicato con il simbolo GCRA(Inc,L).
Il GCRA(Inc,L) può essere utilizzato sia per la verifica dei PCR, utilizzando il
parametro di tolleranza CDVT, sia per il controllo dell'SCR e del valore associato di MBS.
Nel seguito verrà prima descritta la procedura per il controllo del PCR e successivamente
quest’ultima sarà estesa al caso della misura dell'SCR.
IV.1.4.2.5.1
Controllo del valore del Peak Cell Rate
Nel caso di controllo del ritmo binario di picco occorre tenere conto sia del valore
dichiarato del PCR sia del valore della tolleranza CDVT. I due parametri Inc e L
dell’algoritmo GCRA sono fissati nel seguente modo:
− il parametro Inc corrisponde al tempo minimo ammissibile tra due celle consecutive
misurato con tolleranza nulla, ovvero Inc=1/PCR;
− il parametro L corrisponde invece alla tolleranza di misura che l’utente ha richiesto, ovvero
L=CDVT.
Il diagramma di flusso dell’algoritmo GCRA nel caso del controllo del ritmo di picco è
mostrato in Fig. 1.37. L’algoritmo è inizializzato con l’arrivo della prima cella che avviene
all’istante ta(1) e, per ogni cella in arrivo, calcola l’istante teorico di arrivo della cella
successiva, denominato Theoretical Arrival Time (TATk).
Se l’istante di arrivo della cella k-ma è superiore rispetto al valore TATk, (ovvero
ta(k)>TATk), la cella è considerata conforme ed il valore dell’istante teorico di arrivo della
cella successiva è fissato in TATk+1=ta(k)+L. Se invece la cella k-ma arriva in un istante
precedente rispetto al valore di TATk, questa è considerata conforme solo se l’anticipo è
minore o uguale della tolleranza di misura, ovvero se ta(k)>TATk-L; in questo caso il tempo
teorico di arrivo della cella k+1 è fissato in TATk+1= TATk +L. Viceversa, se l’anticipo è
maggiore della tolleranza (ta(k)<TATk-L) la cella è considerata non conforme ed il tempo
teorico di arrivo della cella successiva rimane immutato (TATk+1= TATk). La Fig. 1.38
riassume le regioni di accettazione di una cella e le regole di aggiornamento del TAT.
La metodologia di aggiornamento del valore del TAT corrisponde ai seguenti principi:
a) se l’arrivo di una cella è successivo rispetto al TAT, l’aggiornamento evita che il ritardo
della cella sia sfruttato dall’utente in tempi successivi per inviare celle ad un tasso
maggiore rispetto al PCR;
b) se l’istante di arrivo della cella è inferiore rispetto al TAT, ma entro i limiti della
tolleranza, l’aggiornamento evita che gli anticipi tollerati si possano accumulare e quindi
rendere possibile l’invio di celle ad un ritmo superiore rispetto al PCR;
c) nel caso di cella non conforme, quest’ultima non determina nessun aggiornamento del
TAT poiché è considerata in eccesso rispetto al flusso di celle conformi e quindi non va
considerata in nessun modo.
51
Arrivo della cella k-ma al tempo ta(k)
si
TATk < ta(k) ?
TATk = ta(k)
no
Cella non
conforme
si
TATk > ta(k) + L ?
no
Cella conforme
TATk+1 = TATk + Inc
Fig. 1.37 – Algoritmo GCRA nel caso del controllo del PCR
Cella
non conforme
Cella
conforme
Cella
conforme
ta(k) < TATk- L
TATk - L ≤ ta(k) ≤ TATk
TATk < ta(k)
TATk+1 = TATk
TATk+1 = TATk + Inc
TATk+1 = ta(k) + Inc
TATk - L
TATk
tempo
Fig. 1.38 – Regioni di accettazione di una cella nel caso di algoritmo GCRA
E’ il caso di sottolineare che tanto più il valore di CDVT è elevato tanto più la rete
accetta che, per un certo periodo di tempo, la sorgente possa emettere ad un tasso che è
maggiore rispetto al valore del PCR. Fissati i valori di PCR e CDVT, è interessante calcolare
il numero massimo di celle Nmax che una sorgente può emettere consecutivamente al tasso di
linea, ovvero in cui il tempo di intercella è uguale al tempo di trasmissione Ttrasm di una cella
(celle back-to-back), e che la rete considera come conformi. Il valore di Nmax è dato da
N max
IV.1.4.2.5.2
⎢
⎥
⎢
⎥
CDVT
= ⎢1 +
⎥
1
⎢
− Ttrasm ⎥
⎢⎣ PCR
⎥⎦
(1)
Controllo del valore del Sustainable Cell Rate
Il controllo del valore SCR è effettuato utilizzando lo stesso algoritmo utilizzato per il
controllo del PCR utilizzando un’opportuna definizione dei parametri Inc e L.
Il valore del parametro Inc va posto uguale al tempo medio di interarrivo tra due celle
consecutive, ovvero Inc=1/SCR, mentre il valore del limite LSCR non è disponibile
direttamente dai parametri dichiarati dall’utente, ma deve essere ricavato tenendo conto del
valore del parametro MBS, ovvero del numero massimo di celle che l’utente è autorizzato a
trasmettere consecutivamente al ritmo binario di picco.
52
In particolare va osservato che, detto T=1/PCR il tempo di interarrivo tra due celle
consecutive emesse al tasso PCR, se il flusso deve risultare conforme all’algoritmo GCRA, in
cui è stato posto Inc=1/SCR, deve essere soddisfatta la seguente espressione, derivata
direttamente dalla (1):
⎢
⎥
⎢
⎥
LSCR
MBS = ⎢1 +
⎥
1
1 ⎥
⎢
−
⎣⎢ SCR PCR ⎦⎥
(2)
Noti i valori di SCR, PCR e MBS, che sono dichiarati dall’utente all’atto
dell’instaurazione della connessione, dalla (2) emerge che LSCR può assumere qualsiasi valore
nell’intervallo
(MBS − 1) ⋅ ⎛⎜
1
1 ⎞
1 ⎞
⎛ 1
−
−
⎟ ≤ LSCR ≤ MBS ⋅ ⎜
⎟
⎝ SCR PCR ⎠
⎝ SCR PCR ⎠
(3)
Quindi assumendo per sicurezza il valore minimo si ha:
1 ⎞
⎛ 1
LSCR = (MBS − 1) ⋅ ⎜
−
⎟
⎝ SCR PCR ⎠
(3)
1.4.2.6 Azioni UPC
Per quando riguarda le azioni che la rete effettua sul flusso di celle una volta che queste
sono state classificate come conformi o non conformi, la soluzione più semplice è senza
dubbio quella di lasciare transitare inalterate le celle conformi e di scartare le celle che
risultano in violazione del contratto di traffico.
Occorre però considerare che, come è stato già accennato in precedenza quando è stato
illustrato l’utilizzo del bit CLP dell’intestazione della cella ATM, è possibile per l’utente
negoziare con la rete due livelli di trattamento del traffico: un livello a qualità garantita, a cui
apparterranno le celle marcate dall’utente con il bit CLP=0, e un livello di traffico in eccesso,
a cui apparterranno le celle marcate dall’utente con il bit CLP=1. L’utente dichiarerà quindi
sia i parametri specifici della porzione di traffico CLP=0, sia quelli complessivi relativi alla
composizione dei due traffici (CLP=0+1).
Nel caso in cui l’utente utilizzi la seconda alternativa, il comportamento dei dispositivi
di UPC è più complesso e può essere riassunto nelle seguenti regole:
a) una cella con CLP=0 conforme ai parametri del traffico garantito (CLP=0) è lasciata
transitare inalterata;
b) una cella con CLP=0 non conforme ai parametri del traffico garantito (CLP=0), ma
conforme con i parametri del traffico complessivo (CLP=0+1), è marcata (CLP=1) e
lasciata transitare;
c) una cella con CLP=0 non conforme sia ai parametri del traffico garantito (CLP=0) sia ai
parametri del traffico complessivo (CLP=0+1) è scartata;
d) una cella con CLP=1 conforme ai parametri del traffico complessivo (CLP=0+1) è
lasciata transitare inalterata;
e) una cella con CLP=1 non conforme ai parametri del traffico complessivo (CLP=0+1) è
scartata.
In questo modo la rete è in grado di offrire all’utente un servizio di trasferimento
differenziato a due livelli.
53
1.4.2.7 Controllo di congestione per applicazioni dati
Come abbiamo illustrato nei paragrafi precedenti, la fornitura della QoS per le categorie
di servizio CBR, rt-VBR, nrt-VBR è basata sul concetto di contratto di traffico e di controllo
dei parametri d'utente, non è previsto quindi nessun feedback verso le sorgenti per segnalare
l'eventuale insorgere di fenomeni di congestione. Un tale approccio al problema della gestione
del traffico è detto "controllo ad anello aperto" (open-loop control).
Una strategia di controllo del traffico ad anello aperto non è adatta per la maggior parte
delle applicazioni dati; infatti, le applicazioni appartenenti a questa classe non hanno
normalmente predicibili caratteristiche di emissione e non si adattano quindi ad una strategia
preventiva di controllo che si fonda sulla dichiarazione anticipata del profilo di traffico.
Inoltre le applicazioni dati, non hanno stringenti requisiti di trattamento in tempo reale e
quindi possono eventualmente supportare i ritardi dovuti all'applicazione di meccanismi di
controllo di flusso.
Come è stato già accennato, l'ATM definisce per questa classe di applicazioni due
modalità di trattamento: l'UBR e l'ABR.
Il principio base della categoria UBR è il servizio "best effort". L'UBR gestisce la
condivisione tra le applicazioni della capacità residua delle linee trasmissive in modo
assolutamente non controllato. All'insorgere di stati di congestione, una percentuale di celle è
persa; la reazione a questo evento è affidata ai protocolli di strato superiore, ad esempio TCP,
che provvederanno a gestire la ritrasmissione delle unità dati perse e le funzioni di controllo di
flusso.
La seconda categoria di servizio adatta alle applicazioni dati e l'ABR. In questo caso, la
condivisione della capacità lasciata libera dalle categorie CBR e VBR avviene in modo
controllato attraverso l'utilizzazione di un meccanismo di feedback, Tale meccanismo ha lo
scopo di regolare il tasso di emissione delle celle da parte delle sorgenti in modo che la
capacità residua sia assegnata in modo equo e si evitino fenomeni di congestione e quindi di
perdita di celle. Questo approccio è detto "controllo ad anello chiuso" (closed-loop control)
proprio per la presenza di un interazione tra rete e sorgenti.
Le caratteristiche principali del servizio ABR sono:
− le sorgenti ABR hanno accesso alla capacità delle linee trasmissive non utilizzata dalle
categorie di traffico CBR e VBR; l'ABR ha quindi lo scopo di aumentare il grado di
utilizzazione delle risorse di rete senza influenzare la QoS delle categorie CBR e VBR;
− la porzione di capacità a cui ha accesso una connessione ABR varia dinamicamente tra un
valore minimo, l'MCR ed un valore massimo, il PCR;
− la rete fornisce delle informazioni di feedback alle sorgenti che regolano la capacità ad esse
assegnata; i ritardi necessari per la consegna delle informazioni di feedback rendono
necessario l'uso in rete di opportuni buffer che hanno lo scopo di memorizzare il traffico in
eccesso generato prima dell'arrivo del segnale di feedback;
− se le sorgenti adattano il proprio tasso di emissione a quello segnalato dalla rete, la rete
garantisce una probabilità di perdita di celle praticamente nulla, questa è la maggiore
differenza tra le categorie UBR e ABR.
IV.1.4.2.7.1
Il meccanismo di feedback nell'ABR.
Il tasso di emissione delle celle di una sorgente ABR è caratterizzato da quattro
parametri:
− Allowed Cell Rate (ACR): è il valore corrente del tasso di emissione di celle che la rete
autorizza alla sorgente; la sorgente può quindi emettere celle a qualsiasi tasso compreso tra
zero e ACR;
− Minimum Cell Rate (MCR): è il minimo valore che può essere assunto dall'ACR; il valore
dell'MCR può essere nullo;
54
− Peak Cell Rate (PCR): è il valore massimo che può essere assunto dall'ACR;
− Initial Cell Rate (ICR): è il valore iniziale assegnato all'ACR.
Una sorgente inizia la sua trasmissione con ACR=ICR e progressivamente varia la sua
emissione in accordo alle informazioni di congestione che la rete le fornisce. Il feedback è
fornito periodicamente attraverso speciali celle, denominate celle di Resource Management
(RM). Ogni cella RM contiene, insieme ad altre informazioni, tre campi, il cui valore è
utilizzato dalle sorgente per determinare il valore del tasso corrente di emissione autorizzato
dalal rete; tali campi sono:
− Congestion Indication (CI): se CI=1 indica che almeno un elemento di rete sul percorso
seguito dalla connessione si trova in uno stato di congestione; se CI=0 nessun elemento è
in congestione;
− No Increase (NI): se NI=1 indica che non è permesso alcun aumento del rate di emissione,
se NI=0 la sorgente può aumentare il rate di emissione;
− Explicit Rate (ER): indica il valore massimo del tasso di emissione di celle autorizzato
dalla rete.
La Tab. 1.13 indica l'algoritmo seguito da una sorgente, noti i valori di CI, NI, ER e
quello del valore attuale del tasso massimo di emissione (ACRold), per il calcolo del nuovo
valore del tasso corrente di emissione (ACRnew).
NI
CI
Azione
0
0
ACRnew = max[MCR, min[ER, PCR, ACRold+RIF.PCR]]
0
1
ACRnew = max[MCR, min[ER, ACRold.(1-RDF)]
1
0
ACRnew = max[MCR, min[ER, ACRold]
1
1
ACRnew = max[MCR, min[ER, ACRold.(1-RDF)]
Tab. 1.13 – Calcolo del valore ACR in ABR.
I termini RIF e RDF sono detti rispettivamente Rate Increase Factor e Rate Decrease
Factor e determinano la velocità di salita e di discesa dell'ACR. Il valore di default di RIF e
RDF è 1/16 per entrambi.
Il senso dell'algoritmo di variazione dell'ACR è illustrato dai seguenti punti:
− se i bit NI e Ci indicano che è permesso un incremento dell'ACR (NI=CI=0), l'ACR viene
aumentato di un incremento fisso uguale a RIF.PCR;
− se è richiesto un decremento (CI=1), la diminuzione è di tipo esponenziale con fattore
RDF.ACR; se tuttavia ER è minore dell'ACR, viene effettuata una diminuzione immediata
sino al valore di ER;
− in tutti i casi il valore di ACR è sempre limitato dai valori MCR e PCR.
La Fig. 1.39 illustra il meccanismo di con cui la rete invia le informazioni di
congestione attraverso le celle RM. nella figura è mostrato sia il flusso di celle emesso dalla
sorgente A verso la destinazione B, sia il flusso di celle in verso opposto. La sorgente emette
una cella RM periodicamente, ogni (Nrm-1) celle dati, dove Nrm è un parametro fissato a
priori (normalmentesi ha Nrm=32). Tali celle di controllo sono dette celle Forward RM
(FRM). Ogniqualvolta una cella FRM è ricevuta dalla destinazione, questa viene ritrasmessa
all'indietro verso la sorgente, in questo caso la celle è denominata Backward RM (BRM). Le
celle BRM ripercorrono a ritroso il cammino seguito dalle celle FRM.
Ogni cella FRM contiene i campi CI, NI e ER che la sorgente pone ai valori di partenza
CI=NI=0 e ER uguale al tasso desiderato nell'intervallo [ICR, PCR]. Il valori di questi campi
può essere cambiato dagli elementi di rete sia durante il cammino dalla sorgente alla
destinazione, sia durante il cammino in verso opposto.
55
Rate di trasmissione di celle = ACR
1 cella RM ogni (Nrm-1) celle
F-RM
Congestione
CI =1, ER=ER1
Ritorno cela RM
ER=ER2<Er1
Celle dati
B-RM
Modifica ACR in base a
ER, CI e NI
Congestione
ER=ER3<ER2
Fig. 1.39 – Gestione delle celle RM in ABR
Il criterio con cui un nodo di rete determina il proprio valore delle variabili CI, NI e ER
è lasciato alla discrezione del gestore di rete. Tuttavia, un nodo sovrascriverà il proprio valore
in uno dei campi della cella RM solo se questi è peggiorativo rispetto a quello già contenuto
nella cella stessa. In questo modo l'informazione contenuta nella cella BRM che giunge alla
fine alla sorgente corrisponde alla condizione peggiore che si ha lungo il percorso seguito
dalla connessione.
1.5
Bibliografia
In letteratura esistono numerosi testi che trattano dei diversi aspetti dell’ATM,
dall’architettura, ai protocolli agli aspetti modellistica e di gestione del traffico. Quello che
segue è un breve elenco esemplificativo della vasta letteratura tecnica disponibile.
R. Handel, M. N. Huber, S. Schroder : ATM Networks, Concepts, Protocols, Applications;
Second Edition, Addison Wesley, 1994.
O. Kyas : ATM Networks; Thomson Publishing. 1995
W. Stallings : ISDN and Broadband ISDN with Frame Relay and ATM. Prentice Hall. 1995.
W. Stallings : High Speed Networks TCP/IP and ATM Design Principles. Prentice Hall.
1998.
R. O. Onvural : Asynchronous Transfer Mode Networks, Performance Issues. Artech House,
1995.
H. Brandt, C. Hapke : ATM Signalling, Protocols and Pactice. Wiley, 2001
Le raccomandazioni ITU-T che riguardano i vari aspetti dell'ATM sono reperibili al sito
http://www.itu.org
Gli standard emessi dell’ATM Forum sono reperibili al sito http://www.atmforum.org
56
Indice delle Figure
Fig. 1.1 – Architettura funzionale della B-ISDN LFC. Local Function Capabilities, TE: Terminal Equipment .... 5
Fig. 1.2 – Definizione delle interfacce UNI e NNI. ................................................................................................ 6
Fig. 1.3 – L’architettura protocollare dell’ATM..................................................................................................... 6
Fig. 1.4 – Tipologia di connessioni ATM: a) punto-punto; b) punto-multipunto. .................................................. 7
Fig. 1.5 – Definizione di Virtual Channel Connection (VCC), Virtual Channel (VC) e Virtual Channel Link
(VCL)...................................................................................................................................................................... 8
Fig. 1.6 – Definizione del concetto di Virtual Path (VP)........................................................................................ 8
Fig. 1.7 – Definizione di Virtual Path Connection (VPC), Virtual Path (VP) e Virtual Path Link (VPL) e sua
interazione con il concetto di VC............................................................................................................................ 9
Fig. 1.8 – Formato dell’header di una cella ATM all’interfaccia UNI (a) e NNI (b)............................................ 11
Fig. 1.9 – Funzionalità di Virtual Path Switching................................................................................................. 12
Fig. 1.10 – Funzionalità Virtual Channel Switching............................................................................................. 13
Fig. 1.11 – Sotto-stratificazione e funzioni degli strati dell'architettura ATM. .................................................... 13
Fig. 1.12 – Trama SDH STM-1 per trasmissione di celle ATM. .......................................................................... 15
Fig. 1.13 – Trasmissione delle celle in un interfaccia cell-based.......................................................................... 15
Fig. 1.14 – Algoritmo di rivelazione e correzione degli errori nell’header delle celle ATM................................ 16
Fig. 1.15 – Diagramma di stato della procedura di cell delineation...................................................................... 17
Fig. 1.16 – Definizione dei flussi di gestione in una rete ATM. ........................................................................... 24
Fig. 1.17 – Formato di una cella OAM per i flussi F4 e F5. ................................................................................. 25
Fig. 1.18 – Struttura dello strato di adattamento (AAL). ...................................................................................... 25
Fig. 1.19 – Formato di una SAR-PDU nel protocollo AAL 1. ............................................................................. 29
Fig. 1.20 – Struttura funzionale dell'AAL 2.......................................................................................................... 31
Fig. 1.21 – Modello di relazione funzionale tra i sottostrati dello strato AAL 2. ................................................. 31
Fig. 1.22 – Unità dati nello strato AAL 2 e loro relazione con la cella ATM....................................................... 32
Fig. 1.23 – Formato del CPS-packet e della CPS-PDU nel protocollo AAL 2..................................................... 33
Fig. 1.24 – Esempio del processo di formazione delle CPS_PDU a partire da CPS-packet la cui lunghezza
costante uguale a 19 ottetti di cui 16 di payload. .................................................................................................. 34
Fig. 1.25 – Formato di una SAR-PDU nel protocollo AAL 3/4. .......................................................................... 35
Fig. 1.26 – Formato di una CPCS-PDU nel protocollo AAL 3/4. ........................................................................ 36
Fig. 1.27 – Processo di segmentazione operato dal protocollo AAL 3/4.............................................................. 37
Fig. 1.28 – Formato di una SAR-PDU nel protocollo AAL 5. ............................................................................. 38
Fig. 1.29 – Formato di una CPCS-PDU nel protocollo AAL 5............................................................................. 39
Fig. 1.30 – Processo di formazione della CPCS-PDU e delle SAR-PDU operato dal protocollo AAL 5. ........... 39
Fig. 1.31 – Effetto di buffer distribuito in una linea. ............................................................................................ 42
Fig. 1.32 – Modifica della struttura temporale di un flusso di celle subita a causa del ritardo variabile di
attraversamento della rete. .................................................................................................................................... 44
Fig. 1.33 – Utilizzazione del buffer di play-out per l'equalizzazione dei ritardi di rete. ....................................... 44
Fig. 1.34 – Illustrazione della variazione dei ritardi introdotta all'interfaccia UNI. ............................................. 45
57
Fig. 1.35 – Andamento tipico della distribuzione del ritardo di attraversamento di una rete ATM da parte delle
celle di una connessione........................................................................................................................................ 47
Fig. 1.36 – Esempio di occupazione della capacità di una linea ........................................................................... 49
Fig. 1.37 – Algoritmo GCRA nel caso del controllo del PCR .............................................................................. 52
Fig. 1.38 – Regioni di accettazione di una cella nel caso di algoritmo GCRA ..................................................... 52
Fig. 1.39 – Gestione delle celle RM in ABR ........................................................................................................ 56
Indice delle Tabelle
Tab. 1.1 – Tipologie di interfacce fisiche ATM.................................................................................................... 16
Tab. 1.2 – Valori pre-assegnati dell'header per le celle di strato fisico. ................................................................ 19
Tab. 1.3 – Valori del campo GFC in direzione terminale-rete. ............................................................................. 19
Tab. 1.4 – Valori del campo GFC in direzione rete-terminale. ............................................................................. 20
Tab. 1.5 – Valori pre-assegnati dei campi VPI/VCI. ............................................................................................ 21
Tab. 1.6 – Valori del campo PT. ........................................................................................................................... 21
Tab. 1.7 – Funzioni di OAM................................................................................................................................. 23
Tab. 1.8 – Definizione delle funzioni dei flussi di OAM di strato fisico: F1, F2 e F3.......................................... 24
Tab. 1.9 – Definizione delle funzioni dei flussi di OAM di strato ATM: F4 e F5. ............................................... 24
Tab. 1.10 – Classi di servizio e protocolli di strato di adattamento. ..................................................................... 26
Tab. 1.11 – Valori del prodotto α banda/ritardo normalizzato in alcuni esempi di rete........................................ 43
Tab. 1.12 – Categorie di servizio, parametri di QoS e parametri descrittori del traffico. ..................................... 50
Tab. 1.13 – Calcolo del valore ACR in ABR........................................................................................................ 55
58
Scarica