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