F ACOLTÀ DI S CIENZE M ATEMATICHE F ISICHE E N ATURALI C ORSO DI L AUREA IN I NFORMATICA T ESI DI L AUREA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "F ACOLTÀ DI S CIENZE M ATEMATICHE F ISICHE E N ATURALI C ORSO DI L AUREA IN I NFORMATICA T ESI DI L AUREA"

Transcript

1 U N I V E R S I T À D E G L I S T U D I D I N A P O L I F E D E R I C O II F ACOLTÀ DI S CIENZE M ATEMATICHE F ISICHE E N ATURALI C ORSO DI L AUREA IN I NFORMATICA T ESI DI L AUREA IN S ISTEMI PER L ELABORAZIONE DELL INFORMAZIONE: RETI R o u t i n g e W a v e l e n g t h A s s i g n m e n t i n R e t i O t t i c h e T r a s p a r e n t i R ELATORE C HIAR. MO P ROF. GUIDO R USSO I NG. FRANCESCO P ALMIERI C ANDIDATO S ERGIO R ICCIARDI M ATR. 50/209 A NNO A CCADEMICO

2

3 Ai miei genitori, che mi hanno insegnato a navigare nelle molte strade della vita. A chi dà un senso a questo viaggio.

4

5 Abstract La rapidissima crescita di Internet rende necessaria una sempre più elevata banda trasmissiva. La tecnologia delle fibre ottiche rappresenta il fattore dominante per riuscire a soddisfare l'elevatissima richiesta di banda. L'enorme banda messa a disposizione, la bassa attenuazione, i bassi consumi energetici, l'immunità ai disturbi elettromagnetici, il minimo ingombro e i costi bassi dei cavi in fibra rappresentano punti di forza indiscutibili della fibra ottica. Con l'avvento della tecnologia Wavelength Division Multiplexing (WDM), inoltre, si può sfruttare la fibra esistente per aggiungere nuovi canali di comunicazione facendo viaggiare segnali con lunghezze d'onda differenti all'interno della stessa fibra. Ciascuna lunghezza d'onda rappresenta un canale di comunicazione totalmente indipendente dagli altri, moltiplicando di fatto la capacità di trasporto della fibra per il numero di canali supportati, aprendo nuovi interessanti scenari e soprattutto fornendo una capacità di trasporto per singola fibra fino a pochi anni fa inimmaginabile. La tecnologia WDM richiede che le connessioni siano instradate lungo percorsi trovati da algoritmi di Routing e Wavelength Assignment (RWA). Gli algoritmi di RWA non solo trovano una strada ottimale tra il nodo sorgente e il nodo destinazione all'interno della rete, ma trovano anche un assegnamento opportuno delle lunghezze d'onda sulle singole fibre del percorso. In questo lavoro presentiamo un nuovo algoritmo di Routing e Wavelength Assignment, che chiameremo algoritmo S.P.A.R.K.. L'acronimo S.P.A.R.K. sta per Smart Parametric Adaptive Routing and wavelength assignment algorithm based on K-shortest paths. Esso è infatti un innovativo algoritmo dinamico di RWA che sceglie il miglior percorso tra i k percorsi più brevi trovati dal K- Shortest Paths, il cui comportamento è configurabile tramite due parametri: il k del K-shortest paths e un parametro khop che tiene conto del numero di hop del percorso. Fanno parte dell'algoritmo S.P.A.R.K. una funzione di costo che assegna i costi ai link in base alla loro banda residua e banda massima, e una funzione di bontà che calcola una misura della bontà dei k percorsi trovati, tenendo in considerazione, per ciascun link del percorso, la banda residua I

6 prima e dopo l'eventuale instradamento della connessione lungo il percorso, la banda massima di tutti i link del percorso, e il numero di hop del percorso. Il percorso che sarà scelto per instradare la connessione sarà quindi quello che avrà ottenuto bontà massima. I risultati ottenuti dall'algoritmo S.P.A.R.K. sono a dir poco incoraggianti, avendo superato tutti gli altri algoritmi di RWA con cui è stato confrontato. Per estrarre i risultati è stato realizzato un framework che permette di simulare completamente una rete ottica con tecnologia WDM e di lanciare l'algoritmo S.P.A.R.K. così come gli altri algoritmi di RWA che sono stati implementati per confrontarli con S.P.A.R.K.. Il terreno di confronto su cui si sono effettuati i test sono state le reti reali NSFNET e GEANT2 rispettivamente la rete americana per la ricerca scientifica e la rete europea della ricerca e dell'istruzione. Nel Capitolo 1 è presentata e discussa la tecnologia delle reti ottiche. Nel Capitolo 2 è presentato in dettaglio il problema del Routing e Wavelength Assignment e i possibili approcci noti in letteratura. Nel Capitolo 3 è discusso approfonditamente l'algoritmo S.P.A.R.K. e sono mostrati i risultati ottenuti. Infine, nell'appendice è riportato il Javadoc e il codice Java del framework realizzato per simulare le reti e gli algoritmi di RWA. II

7 Indice Abstract... I Indice... III Capitolo 1. Reti ottiche Introduzione Motivazioni per le Reti Ottiche Optical Networking Grooming del traffico Wavelength Division Multiplexing Dense Wavelength Division Multiplexing Componenti di una rete ottica La fibra Effetti propagativi in fibra ottica e problemi trasmissivi Attenuazione Modi di propagazione della luce nella fibra ottica Dispersione modale Fibre Multimodali Fibre Monomodali Dispersione cromatica Dispersione di polarizzazione Effetti non lineari Effetto Brillouin e Raman Effetto Kerr: Self-Phase Modulation (SPM) Effetto Kerr: Cross-Phase Modulation (XPM) Four Wave Mixing (FWM) Rigenerazione 3R del segnale Amplificatori ottici Amplificatori ottici drogati ad erbio Amplificatori ottici a semiconduttore Amplificatori a nonlinearità in fibra o Raman Multiplxer e Demultiplexer ottici Optical Add-Drop Multiplexer Convertitori di lunghezza d'onda Conversione di lunghezza d'onda opto-elettronica III

8 Conversione di lunghezza d'onda del tutto ottica Convertitori basati su amplificatori ottici a semiconduttore Convertitori basati sul four wave mixing Optical Cross Connects (Switch ottici) Micro Electro-Mechanical Switches (MEMS) Tipi di Cross-Connects Fiber switch Cross-Connect, FXC Wavelength Selective Cross-Connects, WSXC Wavelength Interchanging Cross-Connects, WIXC Memorie Ottiche Reti di Trasporto Reti di prima generazione La rete plesiocrona PDH La rete sincrona SDH / SONET Reti di seconda generazione La rete di trasporto ottica OTN La rete di trasporto tutta ottica AON Il piano di controllo ASON Il piano di controllo GMPLS Componenti di una rete MPLS Label Switch Router (LSR) Label Edge Router (LER) Esempio: assegnazione delle label e creazione del lightpath Caratteristiche di MPLS Caratteristiche di MPλS Caratteristiche di GMPLS Conclusioni Capitolo 2. Routing e Wavelength Assignment Introduzione Problema di RWA Problema del Routing e Wavelength Assignment statico RWA statico accoppiato RWA statico disaccoppiato Problema del Routing e Wavelength Assignment dinamico RWA dinamico accoppiato IV

9 RWA dinamico disaccoppiato Algoritmi di Routing Routing statico offline Fixed routing Routing dinamico online Fixed Alternate Routing Adaptive Routing Routing adattivo centralizzato Routing adattivo isolato Routing adattivo distribuito Routing adattivo distribuito distance vector (algoritmo di Bellman-Ford) Routing adattivo distribuito link state (algoritmo di Dijkstra) Algoritmi di Routing con garanzie QoS Algoritmi di routing reali MinHop Algorithm (MHA) Minimum Residual Capacity (MinRC) Widest Shortest Path Algorithm (WSP) Shortest Widest Path Algorithm (SWP) Minumum Interference Routing Algorithm (MIRA) Virtual Flow Deviation (VFD) Dynamic Routing with Partial Information (DR-PI) Profile Based Routing (PBR) Algoritmi di Wavelength Assignment Static Assignment Random Assignment First Fit Least Used / Spread Most Used (MU) / Pack Least-Loaded (LL) Round Robin Conclusioni Capitolo 3. Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K Introduzione Algoritmo S.P.A.R.K V

10 2.1. La funzione di costo di S.P.A.R.K Definizione di funzione di costo C Proprietà auspicabili da una buona funzione di costo C Struttura della funzione di costo C Funzioni di peso di banda_residua e banda_massima Funzione di costo C Constrained K-Shortest Paths di S.P.A.R.K Algoritmo di Dijkstra Algoritmo di Dijkstra classico Algoritmo di Dijkstra di S.P.A.R.K Algoritmo di constrained K-Shortest Paths Algoritmo di constrained K-Shortest Paths di S.P.A.R.K Esempio di K-Shortest Paths di S.P.A.R.K La funzione di bontà di S.P.A.R.K.: scelta del miglior percorso Pseudocodice dell'algoritmo S.P.A.R.K Complessità di tempo e di spazio di S.P.A.R.K Risultati dell'algoritmo S.P.A.R.K Le topologie di rete usate Risultati su NSFNET NSFNET: simulazione # NSFNET: simulazione # NSFNET: simulazione # Risultati su GEANT GEANT2: simulazione # GEANT2: simulazione # GEANT2: simulazione # GEANT2: simulazione # Il framework: simulatore e algoritmi di RWA realizzati Conclusioni e sviluppi futuri Appendice. Framework: Javadoc e codice Java Javadoc Package Tesi Classe Framework Classe MultiGrafo Classe Nodo Classe Fibra VI

11 1.6. Classe Arco Classe Percorso Classe Dijkstra Classe KshortestPaths Classe Spark Classe MinHop Classe MinRC Classe Simulazione Codice Java Classe Framework Classe MultiGrafo Classe Nodo Classe Fibra Classe Arco Classe Percorso Classe Dijkstra Classe KshortestPaths Classe Spark Classe MinHop Classe MinRC Classe Simulazione Bibliografia VII

12

13 Routing e Wavelength Assignment in Reti Ottiche Trasparenti Sergio Ricciardi

14

15 Capitolo 1: Reti Ottiche CAPITOLO 1 1 Reti ottiche 1. Introduzione La rapida crescita di Internet fa aumentare la richiesta di un'elevata banda trasmissiva. Oggigiorno, le dorsali Internet vengono costruite molto rapidamente. Ogni anno, l'aumento della richiesta di traffico dati aumenta in quantità dieci volte superiore al traffico voce [Chaffee]. Attualmente il traffico voce cresce alla velocità del 13% annuo, mentre il traffico dati aumenta con una velocità compresa tra il 7% e il 20% mensile [Green96]. I maggiori Internet Service Providers (ISPs) riportano un raddoppiamento del traffico sulle proprie dorsali all'incirca ogni sei/nove mesi. Inoltre, non solo il 1

16 Capitolo 1: Reti Ottiche traffico aumenta rapidamente, ma anche la natura del traffico diventa complessa. Il traffico trasportato sulle dorsali può essere originato da varie fonti, ciascuna con i propri particolari requisiti. Il traffico può essere di tipo circuit based (voce e fax con TDM Time Division Multiplexing), packet based (IP Internet Protocol), o cell based (ATM Asynchronous Transfer Mode). Inoltre, una percentuale in aumento di traffico ha stringenti requisiti sul ritardo di arrivo dei dati (si parla di traffico delay sensitive): traffico voice over ip (VOIP) e streaming video [Bijja02]. Si profila quindi uno scenario in cui c'è bisogno di un'elevata ampiezza di banda (high bandwidth), basso ritardo (low delay), e basso tasso d'errore (low error rate). Si è trovato nelle fibre ottiche il mezzo trasmissivo adeguato che può soddisfare questi requisiti. Tuttavia è possibile far di meglio. Nel corso degli anni sono state sviluppate diverse tecniche per aumentare l'efficienza nell'uso delle fibre ottiche. Queste tecniche si basano su tecnologie che permettono di introdurre nelle reti e nei protocolli la concorrenza tra trasmissioni multiple. Vi sono tre tecnologie di concorrenza: Code Division Multiplexing (CDM), Time Division Multiplexing (TDM) e Wavelength Division Multiplexing (WDM) [Zhang]. Il Code Division Multiplexing (CDM) consente a segnali provenienti da sorgenti indipendenti di essere trasmessi simultaneamente sulla stessa banda di frequenza. Ciò è reso possibile grazie all'uso di codici ortogonali che distribuiscono (spread) ciascun segnale su una larga banda di frequenza comune. Presso il ricevitore è usato un codice ortogonale appropriato per ricostruire i singoli segnali originali e inoltrali agli utenti specifici [Stern]. Il Time Division Multiplexing (TDM) permette di mettere insieme flussi multipli di dati in un singolo segnale, separando il segnale in molti segmenti, ciascuno avente una durata molto breve. Ogni singolo flusso di dati viene riassemblato all'estremità ricevente sulla base delle informazioni di timing. Il circuito che combina insieme i segnali presso la sorgente del link di comunicazione è un multiplexer. Esso accetta input dai singoli utenti, suddivide ciascun segnale in 2

17 Capitolo 1: Reti Ottiche segmenti, e assegna tali segmenti al segnale composito in sequenza circolare e ripetitiva. Il segnale composito contiene così i dati provenienti dalle fonti multiple. All'estremità opposta del link di comunicazione, i segnali individuali sono separati per mezzo di un circuito chiamato demultiplexer, ed inoltrati sulle linee di uscite verso le proprie destinazioni [web01]. Wavelength Division Multiplexing (WDM) è la tecnologia principe per la concorrenza sulle fibre ottiche. Essa introduce una vera forma di concorrenza, consentendo di avere su una singola fibra n canali di comunicazione distinti e indipendenti tra loro per velocità e tipo di dati trasportati (speed and data independence). Il WDM, a differenza delle tecniche precedenti (CDM e TDM), può essere usata solo sulle fibre ottiche. La tecnologia WDM rende possibile la trasmissione di multiple lunghezze d'onda su una singola fibra. In una trasmissione WDM, diversi canali di dati sono modulati nella fibra ottica ciascuno con una lunghezza d'onda differente. In questo modo, ciascun canale di dati può essere usato per trasportare dati indipendentemente da tutti gli altri canali e senza alcuna interferenza con essi 1. Inoltre, in questo modo, l'ampiezza di banda totale supportata dalla fibra ottica è la somma di tutte le ampiezze di banda supportate dai singoli canali dati [Bijja02]. Torneremo più ampiamente sul WDM nel corso del Paragrafo 3.2. Le Reti Ottiche che impiegano il Wavelength Division Multiplexing (WDM) sono ritenute essere la prossima generazione di reti che possono soddisfare le sempre crescenti richieste di banda. E' dunque necessario indagare a pieno le reti ottiche con WDM al fine di poter soddisfare l'elevatissima domanda di banda richiesta dallo sviluppo moderno. 1 In realtà delle forme di interferenza ci sono, ma possono essere controllate e corrette con metodi che vedremo nel seguito. 3

18 Capitolo 1: Reti Ottiche 2. Motivazioni per le Reti Ottiche Sono molti i fattori che spingono la tecnologia delle reti ottiche: analizziamo nel seguito i principali [Mukh97]. Ampiezza di banda della fibra: la fibra è il più veloce tra i mezzi trasmissivi attualmente utilizzati. Essa permette di raggiungere una velocità teorica dell'ordine dei Terabits per secondo (50 Tbps), ovvero gli impulsi luminosi si susseguono l'uno dall'altro ad una distanza temporale dell'ordine di 1 millesimo di miliardesimo di secondo. Attualmente il limite attuale di banda di circa 40Gbps (OC-768) è dovuto alla lentezza degli apparati elettronici nel convertire segnali elettrici in ottici e viceversa [Tan96]. In una singola fibra (senza WDM) possono essere trasmesse alcune decine di miliardi di bit al secondo, abbastanza per trasportare contemporaneamente alcune decine di migliaia di chiamate telefoniche [Mac]. Inoltre, con il WDM, gli Internet Service Providers (ISPs) possono avere molte fibre virtuali su una singola fibra fisica, risparmiando una ingente quantità di denaro dovuta all'installazione di altre fibre (che è un lavoro grosso e costoso). Trasportando ogni segnale ad una diversa lunghezza d'onda (quindi, ad una diversa frequenza lunghezza d'onda e frequenza sono inversamente proporzionali: λ = v T λ = v / ν λ 1/ν con λ = lunghezza d'onda, v = velocità, T = periodo, ν = frequenza), i provider di rete possono inviare molti segnali su una sola fibra proprio come se essi stessero viaggiando ciascuno su una propria fibra [Pan95], moltiplicando così la capacità della singola fibra per il numero di lunghezze d'onda usate senza dover aggiungere ulteriori fibre a quelle esistenti. Grazie ai continui raffinamenti delle tecnologie di costruzione delle fibre ottiche e allo sviluppo di nuovi laser e diodi, si ritiene che un giorno sarà possibile ottenere delle fibre ottiche commerciali in grado di trasportare su una singola lunghezza d'onda migliaia di miliardi di bit al secondo (Terabit/sec) [Mac]. 4

19 Capitolo 1: Reti Ottiche Capacità di restoration (ripristino in seguito a guasti): una architettura di rete consiste di molti livelli (layer), e solitamente ciascun livello ha il proprio meccanismo di ripristino built-in, indipendente dagli altri livelli. Ciò è motivato da vari fattori. In primo luogo, ciascun layer può lavorare in linea di principio con una moltitudine di altri layer sia sopra che sotto di esso. In secondo luogo, ciascun layer è solitamente sviluppato e standardizzato da un gruppo di persone diverse [Rama-Siva97]. In un sistema WDM con molti canali su una singola fibra, una interruzione di una fibra significa una interruzione simultanea di tutti i canali sostenuti dalla fibra, causando guasti in tutti i sistemi connessi alla fibra. Tuttavia, effettuando il ripristino al livello ottico piuttosto che in quello elettronico, le reti ottiche possono effettuare il ripristino (protection switching) più velocemente e più economicamente. Per esempio, anziché avere tanti sistemi di ripristino quanti sono i canali, ciascuno che si prende cura del ripristino in caso di guasti sul particolare canale cui è associato, si può optare per un singolo sistema che connette due fibre e che si prende cura di effettuare il ripristino sull'intera fibra in caso di guasto. Inoltre, il livello ottico può fornire il ripristino alle reti che non hanno in sé propri meccanismi di protezione [Bijja02]. Ci si riferisce a tale meccanismo di protezione come protezione condivisa tra le lunghezze d'onda [Hu01]. Caratteristiche fisiche: la fibra, al contrario del rame, è totalmente immune ai disturbi elettromagnetici. In un sistema ottico, infatti, i segnali vengono trasmessi sotto forma di fotoni (luce) che non hanno carica elettrica e quindi non possono essere influenzati da campi elettrici e magnetici. Un cavo di fibra ottica può quindi essere posato anche nelle vicinanze di sorgenti di onde elettromagnetiche senza alcun problema di interferenza, e può essere inserita nelle esistenti condutture di trasporto dei cavi. Inoltre, la fibra è più leggera 1 e più flessibile dei mezzi metallici, ed è anche meno costosa da realizzare. Infine essa offre maggiore sicurezza dei dati e protezione da intrusioni, essendo difficile, se non praticamente impossibile, intercettare un segnale luminoso che viaggia al suo interno. 1 Un migliaio di fili di rame intrecciati lunghi 1 km pesano 8000 kg. Due fibre hanno più capacità e pesano solo 100 kg, il che riduce enormemente il bisogno i costosi sistemi di supporto meccanici che richiedono manutenzione [Tan96]. 5

20 Capitolo 1: Reti Ottiche Un fattore di costo per le fibre ottiche è dato dai convertitori O-E-O (Ottico- Elettro-Ottico), che devono essere estremamente veloci per ridurre il ritardo che inevitabilmente introducono nel trattamento elettronico del segnale. Fortunatamente, la necessità di tali apparati ibridi (ottici ed elettronici) è calata drasticamente grazie alla messa appunto di amplificatori di segnali del tutto ottici, come gli Amplificatori in Fibra Drogata ad Erbio (Erbium Doped Fiber Amplifiers, EDFAs). Di conseguenza, anche il costo delle reti in fibra è calato drasticamente. Grazie a questo tipo di amplificatore del tutto ottico, non è più necessario il processo di conversione O-E-O sulle brevi distanze (sulle lunghe distanze resta inevitabile dato che i sistemi commerciali disponibili al momento 1 non sono in grado di ripulire nel dominio ottico il segnale dalle impurità). Tuttavia, anche in completa assenza di rigenerazione del segnale, la fibra copre distanze molto maggiori rispetto ai cavi in rame, quindi il numero di rigeneratori di segnale è decisamente minore nel caso di reti in fibra. Ancora, si trae beneficio anche dagli Add-and-Drop Multiplexer (ADMs), grazie ai quali solo le lunghezze d'onda che sono aggiunte o rimosse presso un sito necessitano della conversione elettrica, mentre gli altri canali non subiscono alcuna conversione (risparmiando il costo dei rispettivi apparati): essi possono semplicemente attraversare otticamente i dispositivi, senza alcuna conversione elettrica, risparmiando moltissimo sui costi di apparecchiature e di gestione della rete [Rama-Siva97]. Servizi basati su lunghezze d'onda: Un altro aspetto appetibile che le fibre ottiche con tecnologia WDM offrono agli ISPs è la possibilità che essi hanno di rivendere la banda invece che la fibra: essi possono vendere le singole lunghezze d'onda anziché le fibre, dando al cliente la stessa velocità di una fibra dedicata [Bijja02], oltre alla completa indipendenza dal tipo di dati trasportati sulla fibra (data independence). Scalabilità della fibra: grazie al DWDM, la fibra è in grado di offrire un'elevata scalabilità 2. Basta infatti aumentare il numero di lunghezze d'onda usate sulla 1 Sono allo studio in laboratorio rigeneratori del tutto ottici che effettuano la rigenerazione del segnale interamente nel dominio ottico [web03]. 2 Capacità di fornire velocemente supporto ad un aumento delle richieste. 6

21 Capitolo 1: Reti Ottiche fibra per aggiungere nuovi canali di comunicazione. Inoltre, come si vede dalla Figura 1.1, i canali supportati da ciascuna lunghezza sono totalmente indipendenti dagli altri canali supportati dalla stessa fibra, per cui si possono trasmettere sullo stesso cavo di fibra, allo stesso livello ottico, traffico dati, voce, video, IP, ATM e SONET/SDH (Figura 1.2). Quindi, si può introdurre facilmente un nuovo protocollo senza preoccuparsi di quelli già esistenti [Hu01]. Figura 1.1: Trasmissione DWDM multiprotocollo. Trasparenza dei servizi: Gli apparati di rete ottici non hanno la necessità di guardare all'interno del segnale del client per svolgere il loro compito, il che riduce i costi di gestione della rete. In una rete ottica, tutto ciò che passa è solo luce e non si è minimamente interessati al suo contenuto. Tutto il traffico attraversa gli OXCs 1 trasparentemente, e solo il traffico di tipo Add/Drop è processato dai router IP/ATM. Gli OXCs offrono quindi il cosiddetto traffico pass-through, ovvero permettono che il traffico sia instradato all'interno del solo livello di trasporto ottico. Ciò contribuisce ad abbassare i costi della rete riducendo il numero di rigeneratori, di porte sugli switch e risparmiando il costo del processamento dei dati [Hu01]. 1 Optical Cross Connects: apparati di rete attivi che effettuano lo switching delle lunghezze d'onda (si veda il Paragrafo 4.8). 7

22 Capitolo 1: Reti Ottiche Figura 1.2: Flessibilità della tecnologia WDM. Infrastruttura di rete aperta (future-safe): Una rete ottica non dipende in alcun modo da un particolare formato o velocità del segnale, né dalla dimensione dei pacchetti o da altre caratteristiche peculiari di uno specifico protocollo. Essa può essere configurata logicamente in una qualunque configurazione e può supportare un qualunque protocollo, come mostrato in Figura 1.3. Figura 1.3: Architettura aperta delle reti DWDM. 8

23 Capitolo 1: Reti Ottiche Tuttavia vi sono anche alcune debolezze della fibra ottica: essa è difficile da connettorizzare (specie per le fibre monomodali che hanno uno spessore molto inferiore rispetto alle fibre multimodali, Figura 1.4); il segnale luminoso si disperde nella fibra ottica e necessita prima o poi di una rigenerazione che, al momento, richiede una conversione elettronica del segnale (O-E-O); vi sono poi effetti non lineari (per loro natura non prevedibili esattamente) da tenere in considerazione e che limitano la massima lunghezza percorribile da una fibra senza ausilio di rigeneratori elettronici 1 [Palm06]. Inoltre le fibre sono unicamente adatte a collegamenti punto-punto, non essendo possibile prelevare o inserire il segnale in un punto intermedio, cosa invece possibile con mezzi trasmissivi elettrici [Gai95]. Infine, le fibre sono half-duplex, il che vuol dire che il segnale si può propagare in entrambe i versi, ma solo in una direzione per volta, quindi è di fatto sempre necessaria una coppia di fibre per stabilire un collegamento bidirezionale 2. Figura 1.4: Difficoltà di connettorizzazione delle fibre. 1 Tipicamente è necessaria una rigenerazione 3R ogni 120km circa. 2 Si noti che il fatto che, essendo la fibra half-duplex, è possibile comunque sfruttarla per inviare un segnale sia in una direzione che nell'altra, naturalmente non contemporaneamente. Per questo motivo, quando si dice in generale che due nodi sono collegati tramite un collegamento a fibra ottica, si intende tipicamente che essi sono collegati da una coppia di fibre. 9

24 Capitolo 1: Reti Ottiche 3. Optical Networking Una rete ottica è una rete di telecomunicazione ad alta capacità basata su tecnologie ottiche e su componenti che forniscono routing, grooming e restoration al livello delle lunghezze d'onda [Rama95]. In una rete del tutto ottica (All Optical Network, AON) i dati sono trasportati in forma ottica dalla sorgente alla destinazione senza alcuna conversione optoelettronica (e viceversa). L'Optical Internetworking Forum (OIF) definisce Optical Internetworking come una infrastruttura di rete in cui gli switch e i router hanno interfacce ottiche integrate e sono direttamente connessi tramite fibra o interfacce ottiche su cui può essere usato il WDM. In una rete del tutto ottica i segnali attraversano la rete interamente nel dominio ottico, senza nessuna forma di conversione O-E-O. Tutto il processamento dei segnali come la rigenerazione del segnale, il routing, la commutazione e lo scambio di lunghezze d'onda avviene interamente nel solo dominio ottico. Gli apparati che realizzano ciò sono gli OXCs, gli OADMs, gli amplificatori ottici (OA, Optical Amplifier) e i convertitori di lunghezze d'onda. Una rete siffatta è detta rete ottica trasparente [Palm06]. Tuttavia, oggigiorno, non ci sono ancora dispositivi commerciali in grado di effettuare la rigenerazione del segnale ottico per mitigare i disturbi che inevitabilmente si accumulano attraversando la fibra e gli apparati ottici, sebbene esistano apparati che effettuano la conversione di lunghezza d'onda esclusivamente nel dominio ottico. Ma anche questi dispositivi introducono disturbi al segnale ottico, che prima o poi dovrà essere rigenerato ex-novo da un apparato O-E-O che lo legge, lo processa, e lo rigenera privo di impurità. Poiché gli apparati O-E-O sono tipicamente molto costosi a causa delle elevatissime performance che sono richieste, e introducono inevitabilmente ritardi dovuti alla minore velocità intrinseca al dominio elettronico, si tende a minimizzare l'uso di tali apparati e di usarli solo ove strettamente necessario, per assicurarsi che la rete ottica funzioni correttamente [Hu01]. 10

25 Capitolo 1: Reti Ottiche Nella Figura seguente si mettono a confronto le reti del passato con quelle del presente e del futuro. Figura 1.5: Evoluzione delle Reti Ottiche. Nelle reti del passato la rigenerazione del segnale e la conversione delle lunghezze d'onda era effettuata necessariamente passando per il dominio elettronico (a). Successivamente la conversione di lunghezze d'onda viene effettuata nel dominio ottico, lasciando solo ove strettamente necessario la rigenerazione del segnale nel dominio elettronico (b). Infine, nel prossimo futuro si prevede di raggiungere reti del tutto ottiche, senza alcuna conversione tra il dominio ottico e quello elettronico (c). Una rete ottica consiste di una interconnessione di nodi terminali (detti nodi client o end-user quelli cioè che originano e ricevono il traffico dati), fibre, optical cross-connects (OXCs), optical add-and-drop multiplexer (OADM), amplificatori e altri dispositivi ottici. Gli OXCs, detti anche Wavelength Router (WR) o Wavelength Routing Switch (WRS), sono apparati di rete che hanno la capacità di commutare (switchare) le lunghezze d'onda (wavelength switching 11

26 Capitolo 1: Reti Ottiche capability). Un OXC si occupa quindi di commutare le lunghezze d'onda in arrivo sulle porte di ingresso verso le porte di uscita sulla base della propria matrice di routing. Una rete ottica formata da OXCs è detta Wavelength Routed Optical Network, ovvero rete ottica ad instradamento di lunghezze d'onda. Un lightpath è definito come un canale di comunicazione punto-punto del tutto ottico tra due nodi della rete, il nodo sorgente e il nodo destinazione. Il percorso che il lightpath segue per andare dal nodo sorgente al nodo destinazione è scelto dall'algoritmo di routing. I nodi intermedi, costituiti dagli OXCs che si trovano lungo tale percorso, instradano il lightpath nel dominio ottico, in modo tale che il segnale emesso dal trasmettitore presso la sorgente possa essere inviato lungo il percorso fino a raggiungere il ricevitore presso la destinazione senza conversioni 1 Opto/Elettroniche (O/E) e Elettro/Ottiche (E/O) [Zhang, Hu01]. Le conversioni elettro-ottiche introducono ritardi a causa della minore velocità degli apparati elettronici rispetto alla velocità maggiore degli apparati ottici, tuttavia oggi essa resta l'unico modo per ripulire il segnale ottico affetto da impurità 2. In assenza di convertitori di lunghezze d'onda, un lightpath usa necessariamente la stessa lunghezza d'onda attraverso tutto il suo percorso nella rete: ci si riferisce a questo requisito come wavelength continuity constraint (vincolo di continuità della lunghezza d'onda). Questo requisito non è necessario se nella rete vi sono dei convertitori di lunghezze d'onda 3. Un convertitore di lunghezza d'onda è un dispositivo (solitamente integrato nell'oxc) che, dato un segnale che viaggia su una lunghezza d'onda λ 1 su una porta di ingresso, produce sulla porta d'uscita corrispondente un segnale che viaggia sulla lunghezza d'onda λ 2 (con λ 1 λ 1 ). I convertitori di lunghezza d'onda 1 Sono escluse da tale definizione le conversioni dovute ai rigeneratori di segnali. Queste sono attualmente indispensabili per coprire lunghe distanze (>120km). 2 Sono in fase iniziale di ricerca rigeneratori 3R del tutto ottici. 3 L'uso di convertitori di lunghezze d'onda riduce sensibilmente la probabilità di blocco della rete. Tuttavia, non è sempre possibile avere a disposizione dei convertitori di lunghezze d'onda a causa del loro costo ancora molto elevato. 12

27 Capitolo 1: Reti Ottiche saranno trattati nel Paragrafo 4.7. Un requisito fondamentale in una Wavelength Routed Optical Network è che due o più lightpath che attraversano la stessa fibra devono viaggiare su lunghezze d'onda differenti, così che essi non interferiscano tra di loro 1 [Mukh97]. La Figura 1.6 mostra un esempio di wavelength routed network 2 lightpath instradati, ciascuno che usa la propria lunghezza d'onda. con tre Figura 1.6: Wavelength Routed Network. E' chiaro che una singola fibra possa essere usata solo in una direzione per volta, ovvero essa è come è stato detto un canale di comunicazione halfduplex. Nei grafi, ove non ulteriormente specificato, si indica per convenzione con un solo arco non orientato una coppia di fibre, una per ciascuna direzione 1 E' opportuno notare che non si possono scegliere due lunghezze d'onda qualsiasi, in quanto vi possono essere comunque effetti di interferenza tra di loro (come il four wave mixing). Esse vanno scelte in modo appropriato, come vedremo nel seguito. 2 Si osservi che: 1. non vi è conversione di lunghezze d'onda: ciascun lightpath usa una sola lunghezza d'onda; 2. è usato il WDM: su una singola fibra viaggiano contemporaneamente più canali su lunghezze d'onda differenti. 13

28 Capitolo 1: Reti Ottiche possibile Grooming del traffico Un lightpath è esclusivamente usato da un singolo cliente. Spesso la banda che un cliente richiede è significativamente inferiore rispetto a quella allocata su una lunghezza d onda. Questo significa che parte della banda è inutilizzata e l utilizzatore della banda paga per più banda di quanto ne sia stata richiesta. Effettuare grooming del traffico permette a più utenti di condividere lo stesso lightpath. Questo permette di aumentare l utilizzazione e ridurre i costi [Cinc]. Con il termine grooming si intende quindi l impaccamento in una lunghezza d onda di circuiti (o flussi di informazione) a velocità inferiore. Questa funzione è svolta tipicamente dagli OXC. Un solo canale può portare quindi più circuiti, multiplati con una tecnica opportuna. Le commutazioni elettro-ottiche consentono di effettuare grooming a livello elettronico (a livello del tutto ottico non si può fare grooming) [Neri, Wang00] Wavelength Division Multiplexing Fino alla fine degli anni '80, le comunicazioni su fibra ottica era confinate alle trasmissioni su un singolo canale ottico. Inoltre, gli unici apparati in grado di rigenerare il segnale che si disperde a causa dell'attenuazione, erano degli apparati elettronici. Tali apparati leggono il segnale ottico, lo processano elettronicamente e lo rigenerano nel dominio ottico. Questi passaggi dal dominio ottico a quello elettronico e poi di nuovo al dominio ottico causano un collo di bottiglia per via della minore velocità del dominio elettronico rispetto a quello ottico. Nei primi anni '90 vennero sviluppati i primi amplificatori del tutto ottici, grazie ai quali si è potuta ottenere una trasmissione ad alta velocità senza l'ausilio di ripetitori elettronici [Bijja02, Chaffee]. 14

29 Capitolo 1: Reti Ottiche Gli Optical Cross-Connects che vengono attualmente realizzati sono progettati per poter switchare una qualsiasi lunghezza d'onda da una fibra di input ad una fibra di output così che possano essere instradati circuiti ottici a larga banda attraverso la rete [Lee93]. Nei primi anni in cui si sviluppò la tecnologia WDM, erano supportate solo 2 lunghezze d'onda per fibra. Man mano che la tecnologia maturava, si raggiunse un numero sempre maggiore di lunghezze d'onda: con il CWDM (Coarse Wavelength Division Multiplexing) si possono usare da 8 a 18 lunghezze d'onda su singola fibra, e con gli ultimi progressi si è raggiunta la tecnologia DWDM (Dense Wavelength Division Multiplexing) che consente di raggiungere l'incredibile cifra di 320 lunghezze d'onda in terza finestra (Figura 1.7). Il DWDM è decisamente l'ultima frontiera tecnologica oggi disponibile per espandere le potenzialità delle fibre. Esso consente di raggiungere su una singola fibra la velocità dei Terabit per secondo. Figura 1.7: Tecnologia WDM con N lunghezze d'onda Dense Wavelength Division Multiplexing Il Dense Wavelength Division Multiplexing (DWDM) è una tecnica di trasmissione su fibra ottica. Esso consiste nel multiplessare molti segnali su lunghezze d'onda differenti in un'unica fibra. In questo modo un'unica fibra ha un insieme di canali ottici paralleli, ciascuno che usa la propria lunghezza 15

30 Capitolo 1: Reti Ottiche d'onda differente da quella usati dagli altri. La caratteristica principale del DWDM è il fatto che le lunghezze d'onda formano un insieme di portanti tutte ortogonali tra loro, che possono essere trattate in maniera indipendente, senza che esse interferiscano tra loro. E' possibile aggiungere o rimuovere su una fibra una singola lunghezza d'onda e instradarle separatamente. Inoltre è possibile convertire una lunghezza d'onda in un'altra: questa possibilità, come vedremo più avanti, può aiutare a ridurre sensibilmente la probabilità di blocco della rete, ma richiede per la conversione apparati piuttosto costosi (i convertitori di lunghezza d'onda) [Chla93]. Ciascuna lunghezza d'onda consente di trasportare un canale di comunicazione indipendente dagli altri. Ciascun canale può avere la propria velocità (ad es. OC-3/12/24/.../768) e il proprio formato (es. SONET/SDH, ATM, IP, ecc...). Attualmente, con l'uso del DWDM, si riesce ad avere su una singola fibra ben 320 lunghezze d'onda, ciascuna operante alla velocità di 40Gbps, per un totale di Gbps. Abbastanza per trasportare tutto il traffico telefonico degli Stati Uniti in un'ora di punta! Ma già con sole 40 lunghezze d'onda ciascuna supportante un canale OC-192 (10Gbps) si raggiunge una velocità di 400 Gbps, abbastanza da trasportare in un solo secondo volumi d'enciclopedia [Bijja02]. 16

31 Capitolo 1: Reti Ottiche 4. Componenti di una rete ottica Un sistema di trasmissione ottico ha tre componenti principali: la sorgente di luce, il mezzo di trasmissione e il trasmettitore/rilevatore (TX/RX). Vi sono poi una serie di altri apparati che servono a realizzare una rete ottica reale: Optical Cross-Connects (OXCs), Optical Add-and-Drop Multiplexer (OADMs), amplificatori ottici (Optical Amplifiers, OAs), convertitori di lunghezze d'onda, rigeneratori. Descriveremo nel seguito tutti questi componenti. Tra i componenti di rete si possono distinguere quelli attivi e quelli passivi. Sostanzialmente, i componenti attivi sono quelli che effettuano una qualche elaborazione sul segnale e che quindi richiedono una alimentazione di corrente, mentre quelli passivi sono apparati che non necessitano di alimentazione elettrica per funzionare e quindi non svolgono neanche alcun tipo di elaborazione sul segnale. Componenti attivi sono gli OXC, OADM, amplificatori ottici, rigeneratori e convertitori di lunghezze d'onda; componenti passivi sono i multiplexer e i demultiplexer La fibra Le fibre sono fatte di vetro silice che è un solido amorfo ottenuto per raffreddamento rapido dalla silice (sabbia) fusa a temperatura elevata (1723 C). La silice è un materiale grezzo non costoso disponibile in quantità virtualmente illimitata. L'arte del vetro era nota già agli antichi Egizi ma il loro vetro non era meno spesso di 1 mm ed era opaco: la luce non poteva attraversarlo brillando. Il vetro trasparente usato per le finestre venne sviluppato durante il Rinascimento. Il vetro usato per le fibre ottiche moderne è così trasparente che se gli oceani fossero pieni di esso invece che d'acqua, da un aeroplano il fondo del mare sarebbe visibile quanto la superficie della terra in un giorno limpido [Tan96]. Il vetro, se stirato a dimensioni micrometriche, perde la sua caratteristica di 17

32 Capitolo 1: Reti Ottiche fragilità e diventa un filo flessibile e robusto. Una fibra ottica si presenta come un sottile filo di materiale vetroso costituito da due parti (Figura 1.8): la più interna prende il nome di core (nucleo), e l'esterna di cladding (rivestimento). Il core ed il cladding hanno indici di rifrazione diversi, ed il primo è più denso del secondo. La differenza negli indici di rifrazione determina la possibilità di mantenere la luce totalmente confinata all'interno del core [Gai95]. Figura 1.8: Struttura di una fibra ottica. Core e cladding sono racchiusi da una guaina protettiva. I raggi luminosi, modulati in impulsi digitali con un laser o un LED, si spostano attraverso il core senza penetrare il cladding. La luce resta confinata nel core a causa del minore indice di rifrazione del cladding. Convenzionalmente, un impulso di luce indica un bit 1 e l'assenza di luce indica un bit 0. Il trasmettitore genera un impulso luminoso quando riceve un segnale elettrico logico alto (bit 1). Il rilevatore genera un impulso elettrico quando la luce cade su di esso. Il mezzo di trasmissione è la fibra di vetro ultrasottile. Attaccando un trasmettitore con una sorgente di luce ad una estremità di una fibra ottica e un ricevitore con un rilevatore all'altra, abbiamo un sistema di trasmissione di dati unidirezionale che accetta un segnale elettrico, lo converte e lo trasmette mediante impulsi luminosi e poi lo riconverte all'uscita in un segnale elettrico all'estremità ricevente [Tan96]. Il cavo di fibra ottica agisce quindi come una guida per la luce, conducendo la luce introdotta ad una estremità del cavo attraverso il cavo fino all'altra 18

33 Capitolo 1: Reti Ottiche estremità. La sorgente di luce può essere un LED (Light-Emitting Diode) oppure un Laser (Light Amplification by Stimulated Emission of Radiation). A seconda della sequenza di zero ed uno del segnale digitale che deve essere trasmesso, la sorgente di luce è accesa e spenta, emettendo così impulsi luminosi, i quali, giunti all'altro capo della fibra, sono convertiti da un ricevitore sensibile alla luce (fotodiodo) nei segnali digitali zero ed uno originari. Questo sistema di trasmissione perderebbe luce e sarebbe in pratica inutilizzabile se non fosse per un interessante principio di fisica. Quando un raggio di luce passa da un mezzo all'altro, per esempio dal silicio fuso (vetro) all'aria, il raggio viene rifratto (curvato) al confine silicio/aria come mostrato in Figura 1.9 [Tan96]. Figura 1.9: Rifrazione della luce. In Figura 1.9 si vede un raggio di luce incidente sul confine con un angolo α i che emerge ad un angolo β i (i=1, 2, 3). La quantità di rifrazione dipende dalle proprietà dei due mezzi (in particolare, dai loro indici di rifrazione). Per angoli di incidenza sopra un certo valore critico, la luce viene riflessa di nuovo nel silicio; nessuna radiazione luminosa fugge nell'aria. Così un raggio di luce incidente al di sopra dell'angolo critico rimane intrappolato all'interno della fibra, come mostrato in Figura 1.10, e si può propagare per riflessioni successive per molti chilometri senza alcuna perdita imputabile alla rifrazione 1 [Tan96]. 1 Tuttavia il raggio luminoso è soggetto a perdita di intensità a causa della dispersione e diffusione (scattering) della luce. 19

34 Capitolo 1: Reti Ottiche Figura 1.10: Raggio luminoso che viaggia all'interno della fibra grazie alla rifrazione totale della luce. L'insieme degli angoli che superano il valore dell'angolo critico individuano un cono detto cono di accettazione della luce (Figura 1.11): tutti i raggi incidenti provenienti dall'interno del cono di accettazione rimbalzeranno internamente alla fibra senza alcuna dispersione della luce verso l'esterno. Figura 1.11: Cono di accettazione. 20

35 Capitolo 1: Reti Ottiche Il disegno della Figura 1.10 mostra un solo raggio intrappolato, ma poiché qualsiasi raggio di luce incidente al di sopra dell'angolo critico sarà riflesso internamente al core, i raggi provenienti da angolazioni diverse rimbalzeranno con angoli diversi. Si dice che ogni raggio ha un modo differente, quindi una fibra che ha questa proprietà viene chiamata fibra multimodo (Figura 1.12). Figura 1.12: Raggi diversi provenienti da angoli diversi si propagano nella fibra multimodale con modi diversi. Tuttavia, se il diametro della fibra si riduce sensibilmente, la fibra agisce come una guida forzata per l'onda che si può propagare solo in linea retta, senza rimbalzare, portando ad una fibra a modo singolo (Figura 1.13). Le fibre a modo singolo sono più costose ma possono essere usate per distanze maggiori. Laser potenti e fibre a singolo modo possono guidare la luce attraverso una fibra lunga 120km senza ripetitori [Tan96]. Figura 1.13: Fibra a modo singolo. Nella Figura 1.14 mettiamo a confronto la fibra multimodale e la fibra monomodale. 21

36 Capitolo 1: Reti Ottiche Figura 1.14: Fibre multimodale e monomodale Effetti propagativi in fibra ottica e problemi trasmissivi L'ottica è analogica. Le reti ottiche sono quindi per loro natura analogiche. La degradazione del segnale si propaga e si accumula da estremo a estremo. Un nodo anche del tutto ottico, a meno che non preveda una rigenerazione del segnale, ne produce una ulteriore degradazione (interferenza, limitazione di banda, perdite differenziali, ecc.) [Bai03]. Gli effetti propagativi della fibra si suddividono in lineari e non-lineari. Gli effetti lineari sono modellizzabili con una funzione di trasferimento, indipendente dal segnale in ingresso. Gli effetti non-lineari dipendono dal segnale in ingresso e non sono modellizzabili con una funzione di trasferimento [Gau04]. Gli effetti lineari dipendono dalla forma temporale o spettrale del segnale, ma non dal suo livello. Infatti, come vedremo, gli effetti della dispersione cromatica, 22

37 Capitolo 1: Reti Ottiche modale e di polarizzazione non cambiano se aumenta la potenza del segnale. Gli effetti non-lineari sono una classe di effetti propagativi che dipendono dal livello del segnale, ed in particolare dalla potenza istantanea. Gli effetti nonlineari sono particolarmente importanti nei sistemi WDM a lunga distanza, dove la potenza di lancio deve essere elevata per contrastare l accumulo di rumore. Gli effetti non-lineari limitano la massima potenza di lancio per canale che può essere trasportata su di una fibra in un sistema WDM. Da notare che per gli effetti lineari, come la dispersione, non vi è interazione fra i canali: il progetto del sistema si può fare canale per canale. Per gli effetti non lineari è necessario invece tenere conto dell interazione fra i canali. Gli effetti lineari di cui ci occupiamo sono effetti dispersivi, e comprendono la dispersione cromatica, modale e di polarizzazione (PMD, Polarization Mode Dispersion) [Gau04]. Gli effetti dispersivi consistono in una diversa velocità di propagazione dei differenti componenti del segnale: componenti in frequenza (dispersione cromatica) e componenti in polarizzazione (PMD) [Gau04]. I problemi trasmissivi cui sono soggette le fibre ottiche sono i seguenti effetti lineari: attenuazione dispersione modale, cromatica e di polarizzazione effetti non lineari: effetto Brillouin, Raman e Kerr Self-Phase Modulation (SPM), Cross- Phase Modulation (CPM), Four Wave Mixing (FWM) rumore introdotto da OXCs, amplificatori, convertitori di lunghezza 23

38 Capitolo 1: Reti Ottiche d'onda, optical add-drop multiplexer, ecc Attenuazione Un segnale che si propaga in un qualsiasi mezzo è soggetto ad attenuazione. L attenuazione riduce l ampiezza del segnale man mano che questo si propaga nel mezzo. Nelle fibre ottiche l'attenuazione del segnale luminoso è dovuta a due fattori: assorbimento: l'energia elettromagnetica è assorbita dalle impurità presenti nel materiale. diffusione (scattering): la radiazione si diffonde in tutte le direzioni per effetto delle discontinuità microscopiche (variazioni di diametro e forma del core, micro curvature, attenuazione di giunzione, di disallineamento e di accoppiamento (tra due fibre) (Figura 1.15). Figura 1.15: Collisione dei fotoni con le particelle del mezzo: scattering. La diffusione della luce è un fenomeno che occorre quando la luce si propaga in un mezzo. I fotoni collidono con le particelle costitutive del mezzo e vengono così deviati cambiando direzione. (Figura 1.16). 24

39 Capitolo 1: Reti Ottiche Figura 1.16: Dispersione della luce a causa dello scattering. L'attenuazione della luce che attraversa il vetro varia con la lunghezza d'onda del segnale trasmesso, come mostrato in Figura 1.17, e linearmente con la lunghezza della fibra [Bon03]. Nel caso del vetro utilizzato nelle fibre, l'attenuazione è mostrata nella figura seguente ed è espressa in decibel per chilometro lineare di fibra. Figura 1.17: Attenuazione della luce attraverso la fibra nella regione dell'infrarosso. La figura mostra la parte dello spettro vicino all'infrarosso, che è quella usata in pratica nelle fibre ottiche. Per confronto, la luce visibile ha lunghezze d'onda comprese tra 0,455 μm (violetto) e 0,750 μm (rosso) 1 μm (micron) = 10-6 m [Tan96]. 25

40 Capitolo 1: Reti Ottiche Per la comunicazione si usano tre bande di lunghezza d'onda. Esse sono centrate a 0,85, 1,30 e 1,55 μm, in corrispondenza di minimi locali dell'attenuazione. Ci si riferisce ad esse con il termine di finestre. Nella prima finestra si usano solo i LED comuni, nella seconda LED e laser, per la terza solo laser. La prima finestra (collocata intorno agli 0,85 μm) è stata la prima ad essere usata per la realizzazione di sistemi di trasmissione su fibra ottica. Essa è presente solo su fibra multimodale ed ha attenuazione massima dunque quella che presenta caratteristiche peggiori tra le tre finestre. La seconda finestra (posta a 1,3 μm) è caratterizzata da una attenuazione inferiore rispetto alla prima finestra. Essa è attualmente utilizzata per esigenze di bande passanti medie o alte. Essa è presente sia nella fibra multimodale sia in quella monomodale. La terza e ultima finestra (collocata a 1,55μm) ha attenuazione minima ed è la migliore delle tre finestre (perdita di meno del 5% per chilometro [Tan96]). Essa è utilizzata solo nella fibra monomodale Modi di propagazione della luce nella fibra ottica Le proprietà e i modi di propagazione dell'energia luminosa in una fibra ottica possono essere studiati mediante la teoria delle guide d'onda. Un'analisi semplificata, ma precisa sino a quando le dimensioni della fibra (che è dell'ordine dei micron, 10-6 m) sono molto maggiori di quelle della lunghezza d'onda (che è invece dell'ordine dei nanometri, 10-9 m), può essere effettuata applicando le leggi dell'ottica geometrica. La legge di Snell, in particolare, studia la riflessione e la rifrazione di un raggio luminoso incidente sulla superficie di separazione di due materiali. Essa dimostra che per valori dell'angolo di incidenza superiori all'angolo critico, si ha riflessione totale. Esistono però altri 26

41 Capitolo 1: Reti Ottiche aspetti che regolano la propagazione della luce nella fibra ottica e che rendono necessario prendere in considerazione anche altri fattori, specificati meglio nelle equazioni di Maxwell. Dalla soluzione di queste equazioni si ricava che l'energia si propaga nella fibra in un numero discreto di configurazioni. Queste configurazioni sono chiamate modi e ogni singolo modo ha sue caratteristiche di propagazione [Gai95]. Le fibre ottiche che ammettono più modi di propagazione sono dette multimodali. Nelle fibre ottiche multimodali i raggi che si propagano secondo i diversi modi percorrono cammini di lunghezza diversa, cui corrispondono tempi di propagazione diversi. Questo fenomeno si chiama dispersione modale e pone un limite inferiore alla durata minima di un impulso luminoso, limitando quindi la velocità di trasmissione [Gai95] Dispersione modale Anche un singolo raggio luminoso introdotto nella fibra multimodale subisce gli effetti dannosi della dispersione modale. Si consideri un impulso luminoso di breve durata che si propaga in una fibra ottica. Un impulso luminoso, immesso in fibra, si scompone in vari raggi ognuno dei quali segue un percorso diverso all'interno della fibra, giungendo a destinazione in tempi leggermente diversi e dunque il segnale si presenta all'altro estremo della fibra leggermente deformato. I percorsi di propagazione seguiti dai raggi di luce sono diversi e pertanto anche i rispettivi tempi impiegati: impiegano un tempo inferiore i raggi che si propagano con angoli di incidenza più piccoli (percorsi più brevi), e quindi arrivano in ritardo i raggi con percorsi più lunghi. Tale fenomeno di ritardo temporale viene chiamato dispersione modale. 27

42 Capitolo 1: Reti Ottiche Figura 1.18: Dispersione modale di un singolo raggio luminoso. Infatti, se alimentiamo la fibra ottica con un impulso luminoso molto breve (di durata T 1 ) notiamo che al suo arrivo all'estremità opposta (Figura 1.19) l'impulso si presenta deformato (di durata T 2 > T 1 ). Figura 1.19: Effetto del fenomeno della dispersione modale. La conseguenza della dispersione modale è la degradazione della forma dell'impulso, cioè rende l'impulso di origine deformato, allargato ed appiattito. Figura 1.20: Raggio luminoso soggetto a dispersione modale. 28

43 Capitolo 1: Reti Ottiche E' evidente dunque che, superata una certa distanza, il segnale luminoso, in fibra, si va degradando sempre più fino a divenire irriconoscibile (Figura 1.21). Figura 1.21: Deformazione del raggio luminoso soggetto a dispersione modale. Poiché il massimo ritardo dipende dalla lunghezza della fibra risulta che la deformazione è tanto maggiore quanto più lunga è la fibra. Vi sono in commercio due tipi di cavi a fibra ottica usati nelle reti di computer: cavi single mode e cavi multimode. Essi condividono la stessa struttura di base core-cladding ma differiscono per i diametri del core e del cladding. Fibre Multimodali Questo tipo di cavo (Figura 1.22) ha diametro del core compreso tra i 50 e i 100 micron; la misura più comune è di 62.5μm; il cladding misura 125 micron. La fibra multimodo offre un'elevata ampiezza di banda ed alte velocità su medie distanze. Il nome di questo tipo di fibra deriva dal fatto che le onde luminose che viaggiano nel core con tipiche lunghezze d'onda di 850 o 1300nm (I e II finestra) sono disperse in numerosi percorsi, detti appunto modi. 29

44 Capitolo 1: Reti Ottiche Figura 1.22: Fibra multimodale. Le fibre multimodali si dividono, a seconda del profilo radiale dell'indice di rifrazione, in fibre step-index e fibre graded-index. Le fibre step-index (Figura 1.23) sono caratterizzate da un indice di rifrazione costante fra il centro e la periferia del core. L'indice di rifrazione decresce bruscamente con un gradino (step) entrando nel cladding. Nelle fibre ottiche graded-index (Figura 1.24) il profilo d'indice di rifrazione varia gradualmente lungo il diametro della fibra, passando da un valore massimo al centro del core e decrescendo gradualmente sino ad assumere un valore minimo al confine fra core e cladding [Gai95]. Il fenomeno della dispersione modale è molto più accentuato nelle fibre stepindex rispetto alle fibre graded-index. Infatti, nelle prime i raggi luminosi hanno un andamento tipicamente a zig-zag e compiono percorsi di lunghezza anche molto diversa a velocità costante. Nelle fibre graded-index, invece, si sfrutta il fenomeno per cui la velocità di propagazione della luce è inversamente proporzionale all'indice di rifrazione del mezzo. Tarando opportunamente il profilo radiale dell'indice di rifrazione per diminuire la velocità dei raggi che hanno cammino più breve (quelli centrali), si può ridurre la dispersione modale. Le fibre graded-index hanno una banda passante molto superiore a quelle stepindex [Gai95]. Le fibre step-index erano usate nel passato, oggi si usano solo le fibre gradedindex e le monomodali. 30

45 Capitolo 1: Reti Ottiche Figura 1.23: Fibra step-index. Le fibre graded-index (più recenti delle step-index e correntemente usate) presentano un indice di rifrazione del core che diminuisce secondo una curva parabolica man mano che ci si avvicina al cladding. In questo modo la rifrazione è più morbida, riducendo la dispersione modale. Figura 1.24: Fibra graded-index. Fibre Monomodali La soluzione definitiva al problema della dispersione modale è quella di ridurre fortemente (fino a 8-10 μm) la dimensione del core, per consentire la propagazione dei raggi in un solo modo. Si ottengono così fibre con cono di accettazione molto ridotto, dette monomodali, nelle quali la fibra ottica si comporta come una guida d'onda ammettendo una sola modalità propagativa. Bisogna però tenere in considerazione la dispersione cromatica, dovuta alla presenza di raggi a diversa lunghezza d'onda (e quindi di diversi colori, trattandosi di luce); per questo, mentre sulle fibre multimodali si può trasmettere mediante normali LED (ad ampio spettro di emissione), in quelle monomodali occorre utilizzare dei laser, più sofisticati e costosi, ma più precisi (con emissione di luce monocromatica e coerente). Evitando le dispersioni 31

46 Capitolo 1: Reti Ottiche modali e cromatica (fibre monomodali guidate da laser) si può trasmettere a velocità superiori e su distanze più lunghe [Gai95]. Questo tipo di cavo (Figura 1.25) ha diametro del core compreso tra 8,3 e 10 microns (1 microns = 1μm = 1 milionesimo di metro) e supporta una trasmissione a singolo modo. La fibra single mode offre una velocità di trasmissione maggiore della fibra multimode e copre distanze fino a 50 volte superiori, ma è anche più costosa e più difficile da connettorizzare, a causa dello spessore estremamente ridotto del core e del cladding. Le ridotte dimensioni del core e il singolo modo di propagazione dell'onda eliminano virtualmente la distorsione che potrebbe risultare dalla sovrapposizione degli impulsi luminosi. La fibra singolo modo fornisce la minima attenuazione di segnale e le più alte velocità di trasmissione di ogni altro tipo di cavo. Essa può percorrere distanze maggiori rispetto alla fibra multimodale. Per la trasmissione su fibra monomodale si usa solo la terza finestra. Tuttavia, persino la luce emessa da un laser in un cavo di fibra ottica è soggetta a perdita di intensità e purezza di segnale, principalmente a causa dei fenomeni di dispersione e diffusione (scattering) della luce all'interno del cavo stesso. Questi fenomeni vanno presi in considerazione e tenuti sotto controllo sulle lunghe distanze con l'ausilio di ripetitori di segnali [Bijja02]. Figura 1.25: Fibra monomodale. 32

47 Capitolo 1: Reti Ottiche Nella Figura 1.26 sono messe a confronto i tre tipi di fibra: multimode stepindex, multimode graded-index e single mode. Figura 1.26: Fibra multimode step-index (a), multimode graded-index (b), single mode (c). Come si vede, la fibra graded-index conserva la forma originaria del segnale meglio della step-index; la single mode è ovviamente la migliore tra le tre, ma anche la più costosa e difficile da connettorizzare, come è stato osservato. Le fibre graded-index lavorano in I e II finestra, le single mode in II e III finestra [Gai95] Dispersione cromatica Un secondo tipo di degradazione che subisce un segnale che si propaga in una fibra è dovuto al fatto che la velocità di propagazione varia con la lunghezza d'onda. Considerato che le sorgenti ottiche non sono in genere monocromatiche, le varie lunghezze d onda che compongono ogni impulso immesso in fibra, in cui è codificato il segnale di trasmissione, arrivano al 33

48 Capitolo 1: Reti Ottiche punto di ricezione in tempi differenti provocando un allargamento della forma dell impulso trasmesso [Bon03]. L entità della dispersione cromatica dipende quindi dalla larghezza spettrale delle sorgenti ottiche e dalle caratteristiche di dispersione delle singole fibre [Bon03]. La dispersione cromatica cresce linearmente con la lunghezza del collegamento ed è un fenomeno di natura deterministica per cui può essere compensata con appositi dispositivi prima che raggiunga valori critici [Bon03]. La dispersione cromatica comporta un ritardo nel segnale dovuto al fatto che i diversi colori (diverse lunghezze d'onda) incontrano indici di rifrazione leggermente diversi. La dispersione cromatica è causata dalla variazione dell indice di rifrazione in funzione della frequenza. Tale fenomeno porta infatti ad una diversa velocità di propagazione delle componenti spettrali che costituiscono il segnale ottico e quindi, nell ambito di uno stesso modo, a conseguenze analoghe, anche se di entità molto inferiori, a quelle rispetto alla dispersione modale [web02]. La luce bianca contiene, invero, i sette colori dell'iride, corrispondenti a frequenze diverse, che vengono separate da un prisma di vetro, perché, attraversando il vetro, vengono rallentate in modo diverso e quindi deviate in modo diverso (Figura 1.27) [web02]. Figura 1.27: Scomposizione della luce bianca attraverso il prisma. 34

49 Capitolo 1: Reti Ottiche Tutto ciò perché, quindi, la velocità della luce all'interno del vetro è leggermente diversa al variare della frequenza. Anche l'impulso luminoso immesso nella fibra ottica è formato (Figura 1.28), in genere, da una banda di frequenza, che pertanto è soggetta a sia pur piccole differenze di velocità nell'attraversare il vetro della fibra. Arrivando a destinazione queste diverse frequenze si separano, come già avviene per la dispersione modale costituendo un altro limite alla massima portata della fibra ottica [web02]. Figura 1.28: Effetto della dispersione cromatica su un impulso del segnale ottico. Il problema si risolve, sia pure parzialmente, con l'uso del laser invece che del LED, come generatore luminoso, perché il diodo laser ha, come si vede dalla Figura 1.30, uno spettro di frequenze molto più stretto di quello del LED, e determina, quindi, una dispersione cromatica inferiore e di conseguenza comporta una portata della fibra molto maggiore [web02]. Segnale luminoso in fibra in assenza di dispersione cromatica. Segnale luminoso in fibra in presenza di dispersione cromatica: la deformazione degli impulsi dovuta alla dispersione cromatica riduce l apertura dell occhio, rendendo più difficile una corretta discriminazione tra il livello associato all uno e quello associato allo zero. Figura 1.29: segnali in fibra con e senza dispersione cromatica. 35

50 Capitolo 1: Reti Ottiche Laser a banda stretta permettono una spaziatura molto ridotta tra i canali usati nella banda della terza finestra, aumentando così il numero di lunghezze d'onda che possono essere usate e minimizzando al contempo gli effetti della dispersione [Bijja02]. Figura 1.30: Differente spettro di frequenza del LED e del laser. Per le fibre multimodali la limitazione di banda è dovuta quindi sia alla dispersione modale che a quella cromatica. Tra le due, quella che impone il vincolo più restrittivo è la dispersione modale. Nelle fibre a singolo modo la banda complessiva dipende solo dalla dispersione cromatica Dispersione di polarizzazione La dispersione di polarizzazione è legata alla diversa velocità di propagazione delle due componenti ortogonali del campo elettromagnetico trasmesso lungo la fibra. L effetto è ancora quello di un allargamento dell impulso di potenza ottico che dà origine a interferenza intersimbolica. L entità della dispersione dipende da molti fattori (alcuni variabili nel tempo): il metodo di fabbricazione delle fibre, la struttura del cavo ottico, il tipo di posa, la temperatura ecc.. La dispersione di polarizzazione è quindi un fenomeno di tipo statistico e il problema della sua compensazione è più complesso e non così efficace come quello della dispersione cromatica. Questo tipo di dispersione si accumula con 36

51 Capitolo 1: Reti Ottiche la radice quadrata della lunghezza del collegamento [Bon03] Effetti non lineari Nel vuoto differenti fasci ottici non interagiscono tra loro. Se invece c è propagazione in un materiale, ci può essere un interazione dovuta all intermediazione del materiale stesso [Bof05]. Sono possibili le seguenti interazioni luce materia [Bof05]: fotone atomo: un fotone viene assorbito da un atomo, eccitandolo; fotone fotone: un fotone collide con un altro fotone, provocando una deviazione delle loro traiettorie; atomo fotone : un fotone, precedentemente assorbito da un atomo, viene liberato dall'atomo che ritorna al suo stato di energia minore; Gli effetti non lineari nascono dall interazione tra la luce ed il materiale in cui si propaga. La luce può subire uno shift in frequenza per l interazione con il reticolo atomico, e si hanno ad esempio l'effetto Brillouin e l'effetto Raman. La variazione di intensità della luce può modificare l indice di rifrazione della fibra, dando luogo a Self Phase Modulation (SPM), Cross Phase Modulation (XPM), Four Wave Mixing (FWM) [Para]. Le interazioni non lineari dipendono dalla densità di potenza del fascio ottico, quindi dall area della sezione trasversale della fibra. Sono in genere fenomeni piccoli, ma il loro effetto si accumula durante la propagazione: dipendono quindi dalla lunghezza del tratto percorso [Bof05]. Al crescere della potenza dei segnali che si propagano in una fibra ottica, iniziano a manifestarsi interazioni non lineari tra i segnali e la fibra stessa. Nei sistemi DWDM questa degradazione è enfatizzata dalla presenza 37

52 Capitolo 1: Reti Ottiche contemporanea di numerosi segnali ottici. Gli effetti ottici non lineari deteriorano in genere il segnale e sono causa di svantaggi: essi causano perdite di intensità del segnale, rumore, cross-talk e allargamento dell impulso. E' tuttavia possibile trarre dei vantaggi dai fenomeni che sono alla base degli effetti non lineari: ne giovano applicazioni quali l amplificazione ottica, la conversione di lunghezze d'onda e la compensazione di dispersione [Bof05]. Gli effetti non lineari si dividono in due categorie [Bof05]: effetti di diffusione stimolata (scattering) nel mezzo dovuti a interazioni tra il fascio di luce e fononi (vibrazioni molecolari): effetto Brillouin: Stimulated Brillouin Scattering (SBS) effetto Raman: Stimulated Raman Scattering (SRS) fenomeni non lineari legati all effetto Kerr e alla dipendenza dell indice di rifrazione dalla potenza ottica: Self Phase Modulation (SPM) Cross Phase Modulation (XPM) Four Wave Mixing (FWM) Gli effetti non lineari necessitano di uno studio dei principi fisici (quantistici e non) che regolano la propagazione della radiazione luminosa all'interno della fibra; studio che esula dal contenuto di questo lavoro. Per questo motivo ci limiteremo a dare un breve accenno ai fenomeni che sono alla base degli effetti non lineari, senza pretendere di scendere nel dettaglio degli argomenti. Per i particolari si rimanda alla bibliografia indicata. 38

53 Capitolo 1: Reti Ottiche Effetto Brillouin e Raman Entrambi gli effetti sono fenomeni di scattering e possono essere interpretati come la diffusione di un fotone ad uno ad un livello energetico inferiore ed in cui la differenza di energia appare sotto forma di un fonone. Nello scattering di Raman il fonone è ottico mentre in quello di Brillouin è acustico [Mate]. Lo scattering di Raman è un effetto non-lineare che si manifesta nel trasferimento di potenza da righe spettrali a frequenza più elevata a righe spettrali a frequenza più bassa [Gau04]. Da un punto di vista quantistico, avviene che un fotone con energia maggiore (frequenza maggiore) venga distrutto e venga creato un fotone con energia (frequenza) inferiore e un fonone nel materiale (un quanto vibrazionale, essenzialmente calore). Ovviamente, la somma dell energia del fotone creato più quella del fonone eguagliano l energia del fotone distrutto [Gau04]. L'effetto Raman può dunque fornire guadagno ad una certa frequenza a spese di potenza ottica a frequenza maggiore. Pertanto, è possibile sfruttare questo fenomeno per costruire un amplificatore (si veda a tal proposito il Paragrafo 4.4.3) [Gau04]. Il risultato di entrambe i fenomeni è una perdita di potenza, e quindi costituisce un fenomeno di perdita della fibra. Comunque il fenomeno è trascurabile a bassa potenza. A valori elevati della potenza di ingresso i fenomeni di SBS (scattering di Brillouin) e SRS (scattering di Raman) possono pesare fortemente sui fenomeni di perdita della fibra. L intensità della luce diffusa cresce esponenzialmente una volta che la luce di ingresso eccede il valore di soglia [Mate]. La differenza maggiore che esiste tra i due fenomeni, è che SBS nelle fibre singolo modo prevale nella direzione inversa di propagazione mentre SRS in quella diretta [Mate]. 39

54 Capitolo 1: Reti Ottiche Effetto Kerr: Self-Phase Modulation (SPM) Quando la radiazione che attraversa la fibra è particolarmente intensa [DiVit93], l indice di rifrazione dipende pure dall intensità del campo. La dipendenza dell indice di rifrazione dalla potenza ottica (e quindi dall'intensità del campo) è nota come effetto Kerr ottico. La velocità di risposta per effetto Kerr è estremamente elevata (nell ordine dei femtosecondi, 1 fs = s), quindi le variazioni non lineari dell indice di rifrazione seguono con grande rapidità la forma dell impulso che le induce, per quanto questo possa essere breve; questo significa in definitiva una oscillazione di fase per l impulso in funzione della sua intensità istantanea (questo effetto viene detto Self Phase Modulation, SPM). Nella sua essenza l effetto Kerr consiste dunque nella variazione locale della costante di propagazione del campo (fa variare la fase del campo elettrico), causata dalla potenza ottica transitante in quel punto ed in quel momento [Gau04]. Figura 1.31: Effetto Kerr su un impulso del segnale ottico. Per le fibre in silice il valore di non linearità dell'indice di rifrazione è almeno due ordini di grandezza inferiore rispetto alla maggior parte dei mezzi non lineari. Ciononostante, gli effetti non lineari in fibra possono essere osservati già a livelli di potenza relativamente bassi per l effetto congiunto del valore molto piccolo del raggio modale (elevata densità di energia in fibra) e delle perdite molto limitate (minori di 1dB/Km). 40

55 Capitolo 1: Reti Ottiche La modulazione di ampiezza sul canale crea una auto-modulazione spuria di fase dovuta alla non-linearità della fibra, nota come Self Phase Modulation (SPM) [Gau04]. L SPM tipicamente limita la massima potenza di lancio per sistemi a singolo canale. Il limite dipende fortemente dalla lunghezza del collegamento e dalla dispersione. Per collegamenti a singola tratta di km è dell ordine di dbm. In contesti WDM di solito non è l effetto più importante gli altri effetti come XPM e FWM hanno soglie di innesco più basse [Gau04] Effetto Kerr: Cross-Phase Modulation (XPM) Anche la cross phase modulation, come la SPM, ha origine dall effetto Kerr e si manifesta nei sistemi WDM: l indice di rifrazione modulato dagli impulsi di un canale viene visto anche dagli altri canali, che ne subiscono l'influenza. La XPM si manifesta tra canali diversi, solo finché i canali che interagiscono tra loro non accumulano un ritardo di oltre un tempo di bit [Para]. Di fatto, il disturbo totale introdotto da tutti i canali per effetto della XPM diventa un processo casuale di forma complessa e simile ad un rumore che modula casualmente la frequenza del canale i-esimo [Gau04]. La modulazione di fase indotta per XPM dipende dalla polarizzazione relativa dei canali. La XPM induce un disturbo assimilabile quindi a rumore, a differenza della SPM il cui disturbo è più assimilabile a distorsione [Para, Gau04]. Visivamente, l effetto sistemistico dell XPM si manifesta come rumore sul diagramma ad occhio [Gau04]. Le contromisure sono complesse e si rifanno a sofisticate ottimizzazioni della mappa di dispersione, fatte di solito per via simulativa [Gau04]. 41

56 Capitolo 1: Reti Ottiche Four Wave Mixing (FWM) Il Four Wave Mixing (FWM) è un effetto non lineare (del terzo ordine) presente nelle fibre che utilizzano il WDM e produce nuove righe spettrali [Bijja02, Gau04]. Quando sono presenti più di due frequenze ottiche (WDM), parecchi nuovi contributi possono nascere ed alcuni possono sovrapporsi a frequenze esistenti, provocando interferenza [Gau04]. La sua origine è nell effetto Kerr, ma diversamente dalla XPM il FWM necessita che i canali che interagiscono siano otticamente in fase tra loro, ovvero che i vettori d onda siano uguali [Para]. Il FWM genera nuove portanti ottiche sottraendo potenza a quelle che lo generano. Queste nuove portanti sono poste a lunghezze d onda funzione della distanza tra canali [Para]. In un sistema WDM in cui vi sia spaziatura uniforme tra i canali, alcuni dei termini di disturbo generati dal FWM cadono a λ in cui vi sono segnali utili, generando rumore [Para]. Figura 1.32: Tutti i contributi che nascono con due e con tre frequenze per effetto del FWM. 42

57 Capitolo 1: Reti Ottiche Da notare che parte delle nuove frequenze, pur essendo in griglia, cadranno a frequenze più elevate del canale di frequenza più elevata, o a frequenze inferiori a quelle del canale di frequenza più bassa. Un gran numero di righe di FWM cadranno però esattamente sovrapposte ai canali di trasmissione provocando interferenza. In particolare, il canale più colpito è sempre quello al centro del pettine dei canali di trasmissione, in quanto su di esso cade il numero più alto di righe di FWM (Figura 1.32) [Gau04]. Figura 1.33: Range di azione del FWM. Il FWM consiste nell'interazione di tre onde ottiche di frequenza f a, f b, e f c a formare una quarta onda di frequenza data da [Bijja02] f abc = f a + f b -f c Se la spaziatura tra i 3 canali interagenti è uguale, alcuni canali d interazione generati dal FWM saranno alle stesse lunghezza d onda dei segnali interagenti. Si somma quindi rumore ottico, ovvero vi è cross-talk tra i canali [Bof05]. L effetto del FWM (Figura 1.34) dipende dalla relazione di fase tra i segnali interagenti. Se tutti i segnali viaggiano con la medesima velocità di gruppo (no dispersione), l effetto è esaltato. Il FWM è assolutamente distruttivo vicino allo zero di dispersione. In presenza di dispersione, invece, i differenti segnali hanno velocità di gruppo diverse e le onde durante la propagazione passeranno da posizioni in fase ad opposizione di fase, riducendo così l effetto del FWM 43

58 Capitolo 1: Reti Ottiche [Gau04, Bof05]. Figura 1.34: Effetto del Four Wave Mixing. Per ridurre gli effetti del FWM si può agire: riducendo la potenza trasmessa: in questo modo però sono necessari un maggior numero di amplificazioni del segnale lungo il percorso il che si traduce in maggior rumore; utilizzando nuove fibre appropriate, come le Non-Zero Dispersion Shifted Fibers (NZDS); adottando una spaziatura non-uguale tra i canali, come si può vedere in Figura 1.35; Figura 1.35: Spettro di un segnale WDM ad 8 canali. Se la separazione in frequenza tra due segnali comunque scelti nel pettine 44

59 Capitolo 1: Reti Ottiche WDM è diversa da quella di qualunque altra coppia di segnali, allora tutti i prodotti di intermodulazione (ovvero gli effetti di combinazione d'onde del FWM) avranno frequenze diverse da quelle dei segnali e non daranno luogo a interferenza [Bai03] Rigenerazione 3R del segnale In un qualunque sistema di trasmissione, rumore e distorsione tendono a crescere al crescere della distanza di trasmissione. Al di là di una determinata distanza, il segnale deve essere rigenerato con opportune tecniche, dette tecniche di rigenerazione. Se le distanze coperte sono grandi, è necessario rigenerare il segnale, ovvero il segnale deve essere ripulito: operazione che comporta una Riamplificazione, una Risagomatura ed una Risincronizzazione del segnale (si parla di 3R). I fenomeni ottici sono tali, infatti, da rendere necessaria sulle lunghe distanze (>120km) una rigenerazione completa del segnale. In un sistema di trasmissione su una distanza abbastanza lunga, tra il trasmettitore e il ricevitore si dovranno mettere periodicamente degli apparati di rigenerazione. Dunque, se si ha un segnale in ingresso al rigeneratore abbastanza sporco come è rappresentato qualitativamente in Figura 1.36 l'apparato di rigenerazione dovrà essere in grado di ripulire il segnale e di generare alla sua uscita un segnale ripulito, cioè un segnale più simile a quello generato dal trasmettitore. E così via per i successivi apparati di rigenerazione [Gau04]. 45

60 Capitolo 1: Reti Ottiche Figura 1.36: Rigenerazione 3R del segnale. Esistono sostanzialmente tre tecniche di rigenerazione che vanno sotto il nome di 1R, 2R e 3R [Gau04]. La tecnica 1R, dove la R sta per Riamplificazione, semplicemente prevede all'interno dell'apparato di rigenerazione, di amplificare internamente il segnale, nulla di più. Questa tecnica ha delle prestazioni inferiori alle altre, però ha una caratteristica molto importante, oltre alla semplicità, e cioè che essendo una pura amplificazione, è sostanzialmente trasparente ai formati di modulazione e al bitrate [Gau04]. La tecnica 2R, dove le due R stanno per Riamplificazione e Risagomatura, prevede, oltre alla amplificazione del segnale, anche una discretizzazione dei livelli di ampiezza di uscita una Risagomatura, appunto. In sostanza, si mette all'interno del rigeneratore un decisore a soglia in ampiezza per cui l'uscita presenta soltanto due livelli. Questa tecnica è relativamente poco utilizzata [Gau04]. Infine, vi è la tecnica 3R, dove le tre R stanno per Riamplificazione, Risagomatura e Risincronizzazione. In questo caso il segnale viene non solo 46

61 Capitolo 1: Reti Ottiche amplificato e risagomato, ma viene anche risincronizzato. I rigeneratori di tipo 3R oggi disponibili sono sostanzialmente costituiti da un ricevitore digitale seguito da un trasmettitore digitale. Richiedono dunque una conversione da ottico ad elettrico (O-E) e successivamente da elettrico ad ottico (E-O). Le prestazioni sono molto elevate, nel senso che il segnale viene ripulito nel modo migliore possibile sebbene la conversione O-E-O introduca ritardi. Si può intuire che gli apparati di rigenerazione ti tipo 3R sono molto più costosi degli apparati di tipo 1R. La rigenerazione 3R non è trasparente al bitrate e al formato di modulazione perché il ricevitore e il trasmettitore digitale devono essere fatti per un particolare bitrate e per un particolare formato di modulazione [Gau04]. Inoltre, la rigenerazione elettronica richiede un rigeneratore separato su ciascuna lunghezza d'onda della fibra, mentre un amplificatore ottico (rigenerazione 1R) può amplificare contemporaneamente tutte le lunghezze d'onda sulla fibra [Bijja02]. Funzionalità completamente ottiche per rigenerazione 3R sono da anni allo studio 1 ed utilizzano non linearità in Fibra Ottica e in Amplificatori a Semiconduttore [web03]. Sono allo studio rigeneratori del tutto ottici che effettuano le 3R interamente nel dominio ottico. 1 L'ISCOM (Istituto Superiore delle Comunicazioni e delle Tecnologie dell Informazione) in questo senso è all'avanguardia avendo costruito e dimostrato sperimentalmente il primo rigeneratore completamente ottico 3R in Italia 2 anni fa (nel 2004). 47

62 Capitolo 1: Reti Ottiche Figura 1.37: Confronto tra i segnali in uscita delle rigenerazioni 1R, 2R e 3R. Il rumore degrada il segnale impulsivo che porta l informazione digitale (numerica), il che determina una crescita esponenziale degli errori di trasmissione. La rigenerazione evita questa degradazione ed accumulo di errori riamplificando il segnale degradato, risagomandolo, e risincronizzandolo: in questo consiste infatti la Rigenerazione 3R. La soluzione al problema trasmissivo del segnale ottico è la rigenerazione 3R : Figura 1.38: Rigenerazione 3R del segnale. 48

63 Capitolo 1: Reti Ottiche Grazie all'uso degli amplificatori ottici (che effettuano, come abbiamo visto, una rigenerazione del segnale di tipo 1R), il segnale ottico composito (molti canali WDM), può viaggiare fino a 600 km senza rigenerazione (3R) e fino a 120km tra un amplificatore e il successivo[bijja02] Amplificatori ottici Gli amplificatori ottici [Gau04] sono dei dispositivi relativamente recenti, nati intorno agli anni '80-'90, disponibili commercialmente dalla metà degli anni '90, che hanno rivoluzionato il settore delle comunicazioni ottiche per le reti di trasporto di lunga distanza. Gli amplificatori ottici servono a controbilanciare l'attenuazione della fibra e degli eventuali componenti passivi messi lungo il collegamento. La loro funzionalità base è semplicemente quella di amplificare il segnale ottico. Si ha anche e sempre una generazione di rumore associata all'amplificazione. Si tratta di dispositivi del tutto ottici, cioè dispositivi in cui il segnale viene amplificato senza passare nel dominio elettronico: questi dispositivi permettono quindi di ottenere una rigenerazione ottica di tipo 1R. Gli amplificatori ottici si basano sul trasferimento di energia tra due segnali ottici: il segnale ottico originario in ingresso e il segnale ausiliario proveniente dalla pompa, costituita solitamente da un laser ad una lunghezza d'onda opportuna e ad una certa potenza. Questi due segnali ottici interagiscono all'interno del sistema e all'uscita si ottiene un guadagno netto sulla potenza di segnale. Gli amplificatori ottici si basano sui seguenti tre principi: 1. Emissione stimolata: effetto principale, che permette l amplificazione; 2. Emissione spontanea: effetto non voluto, ma sempre presente, causa di 49

64 Capitolo 1: Reti Ottiche generazione di rumore; 3. Assorbimento: effetto che permette il trasferimento di potenza dalla pompa al segnale utile; L amplificazione ottica è possibile grazie al trasferimento di potenza tra un segnale ottico non modulato, detto segnale di pompa, e il segnale utile. Il trasferimento di energia è possibile grazie all'assorbimento della potenza di pompa e all'emissione stimolata sulla potenza di segnale Amplificatori ottici drogati ad erbio Il tipo di amplificatore ottico più comune è l'amplificatore ottico drogato ad erbio (EDFA, Erbium Doped Fiber Amplifiers). Gli amplificatori ottici drogati ad erbio sono costituiti semplicemente da un tratto (10-40 metri) di fibra in vetro con un opportuno drogaggio in erbio. Si è scelto l'erbio, dopo anni di ricerche avanzate, perché il vetro drogato ad erbio permette di ottenere emissione spontanea attorno alla lunghezza d'onda di 1550 nm, che è la lunghezza d'onda corrispondente al centro della III finestra che è quella che presenta il minimo di attenuazione della fibra. A seconda di dove viene posizionato l'edfa (Figura 1.39), si può avere una delle seguenti configurazioni: 1. Booster EDFA: se l'amplificatore viene posizionato subito dopo il trasmettitore, per amplificare il segnale trasmesso e lanciare di conseguenza in fibra un segnale ottico di potenza elevata; 2. In-Line EDFA: se inseriti lungo il collegamento ogni tot chilometri, tipicamente ogni 40-60km; 3. Pre-Amplifier EDFA: se posizionati all'ingresso del ricevitore; 50

65 Capitolo 1: Reti Ottiche A seconda di dove vengono posizionati, gli amplificatori vengono progettati con caratteristiche diverse: ad esempio un booster avrà come caratteristica principale di avere una potenza ottica di uscita molto elevata; mentre invece, nel caso di pre-amplificazione, la caratteristica più importante è quella di generare un livello di rumore più basso possibile. Figura 1.39: Tre tipi amplificatori ottici EDFA Amplificatori ottici a semiconduttore Esistono altri tipi di amplificatori ottici (meno diffusi degli amplificatori ottici ad erbio) e sono gli amplificatori ottici a semiconduttore (Semiconductor Optical Amplifiers, SOA). Si basano sullo stesso principio di funzionamento di un laser, e cioè sull'emissione stimolata in un semiconduttore, salvo il fatto che non viene forzato il feedback ottico (meccanismo che regola la corrente fornita al laser per mantenerne costante la potenza nel tempo). 51

66 Capitolo 1: Reti Ottiche Il guadagno è sempre intorno a 1550 nm, però sono possibili anche altre bande, per esempio intorno a 1300nm (II finestra). I SOA hanno però dei problemi: in particolare generano una maggiore quantità di rumore rispetto agli amplificatori ottici ad erbio e hanno degli effetti di cross-talk e cioè degli effetti di interferenza tra canali di WDM e dunque non possono essere utilizzati nella loro configurazione per l'amplificazione di canali WDM, ma possono essere utilizzati per amplificare soltanto un singolo canale ottico. I SOA per ora non hanno ancora applicazioni commerciali significative più che altro perché a livello tecnologico non si è ancora ottenuto un sufficiente livello di affidabilità. Tuttavia avrebbe delle caratteristiche molto interessanti; in particolari hanno delle dimensioni molto compatte (pochi centimetri); hanno un consumo molto più basso degli EDFA e, se venissero prodotti commercialmente, potrebbero avere un costo molto più basso degli amplificatori ottici drogati ad erbio Amplificatori a nonlinearità in fibra o Raman Gli amplificatori a nonlinearità in fibra detti anche amplificatori Raman sono un terzo tipo di amplificatori ottici che si basano su un particolare tipo di effetto, detto effetto Raman. Si tratta di un effetto non lineare che è presente in tutte le fibre ottiche senza alcun tipo di drogaggio. Come abbiamo visto nel Paragrafo , l'effetto Raman è sostanzialmente un effetto che permette un trasferimento di energia da frequenze più alte a frequenze più basse, cioè da lunghezze d'onda più corte a lunghezze d'onda più lunghe. 52

67 Capitolo 1: Reti Ottiche Figura 1.40: Amplificazione per mezzo dell'effetto Raman. La pompa può essere localizzata ad una qualunque frequenza. Pertanto, a differenza degli EDFA, gli amplificatori Raman sono sintonizzabili. È possibile inoltre iniettare più di una pompa, a frequenze diverse: il guadagno risultante è la somma dei guadagni [Gau04]. In sostanza quindi, il funzionamento è simile a quello dell'amplificazione ottica ad erbio, anche se il fenomeno fisico è notevolmente diverso. Rispetto agli EDFA, gli amplificatori Raman non richiedono fibre speciali ma possono essere implementati su fibre standard, anche se per avere un livello di amplificazione significativa, la potenza di pompa e la potenza di segnale devono interagire su distanza notevoli (alcuni di chilometri) e le potenze di pompa devono essere molto elevate. L'amplificazione Raman è una tecnologia piuttosto recente, ma molto promettente: ad esempio gli esperimenti che hanno raggiunto velocità di terabit al secondo per fibra (senza WDM) e su centinaia di chilometri utilizzavano amplificazione Raman. 53

68 Capitolo 1: Reti Ottiche 4.5. Multiplxer e Demultiplexer ottici I multiplexer ottici combinano i segnali provenienti da differenti sorgenti a diverse lunghezze d'onda in una singola fibra ottica. I demultiplexer ottici separano il segnale composito nei segnali originari, ciascuno con la propria lunghezza d'onda. I multiplexer sono tipicamente oggetti passivi, che si comportano come prismi ad elevata precisione che separano e uniscono i colori particolari dei diversi segnali del WDM [Bijja02]. Figura 1.41: Principio di funzionamento di un multiplexer WDM. Il segnale ottico composito viaggia sulla fibra. La distanza spettrale tra il centro di due lunghezze d'onda adiacenti (dell'ordine dei nm) è detta spaziatura. Un esempio è mostrato in Figura Minore è la spaziatura, maggiore è il livello di WDM che si può raggiungere. 54

69 Capitolo 1: Reti Ottiche Figura 1.42: Segnale ottico composito in III finestra (40 wavelength in DWDM). Il multiplexer (Figura 1.43) combina i segnali provenienti dai trasmettitori a lunghezze d'onda differenti in un unico segnale composito (a); il segnale composito viaggia sulla fibra con l'eventuale ausilio di amplificatori ottici (b); il segnale composito è separato nelle lunghezze d'onda che lo compongono e ciascuna è instradata verso il proprio ricevitore (c). Figura 1.43: Schema che illustra il funzionamento di multiplexer e demultiplexer. 55

70 Capitolo 1: Reti Ottiche 4.6. Optical Add-Drop Multiplexer Gli Optical Add-Drop Multiplexer (OADM) sono dei dispositivi che consentono l'estrazione (drop) e l'inserimento (add) di una o più lunghezze d'onda da un segnale composito. Essi rappresentano i punti d'uscita e d'ingresso per i canali che viaggiano lungo una fibra in WDM. Dato un nodo con una fibra di ingresso con n canali WDM, se ne vuole poter ricevere alcuni di questi localmente; le lunghezze d onda ricevute localmente (drop) sono tipicamente riutilizzate per trasmettere nuovo traffico. Gli altri canali passano attraverso il nodo in maniera del tutto trasparente (Figura 1.44) [Gau04]. Figura 1.44: Lo schema di funzionamento di un Optical Add-Drop Multiplexer. In Figura 1.45 possiamo osservare un esempio di funzionamento di un OADM che riceve localmente la lunghezza d'onda λ 1 (drop di λ 1 ), ritrasmette un nuovo flusso di traffico sul canale usando la stessa λ 1 (add λ 1 ) e lascia passare in 56

71 Capitolo 1: Reti Ottiche maniera totalmente trasparente le altre lunghezze d'onda. Figura 1.45: Esempio di funzionamento di un OADM Convertitori di lunghezza d'onda Un convertitore di lunghezza d'onda è un dispositivo in grado di commutare i dati provenienti da una porta di input su una lunghezza d'onda λ 1 verso una porta di output su una lunghezza d'onda λ 2 differente dalla prima [Thia99]. I convertitori di lunghezza d'onda sono utili per ridurre la probabilità di blocco della rete. Se ci sono convertitori di lunghezza d'onda tra la sorgente e la destinazione, la connessione può essere stabilita tra i due nodi anche se la stessa lunghezza d'onda non è disponibile su tutti i link del percorso. I convertitori di lunghezza d'onda aiutano ad eliminare il wavelength continuity constraint [Bijja02]. I convertitori di lunghezza d'onda possono essere divisi in due tipi, in base alla capacità di conversione possibile: possiamo avere full o ranged wavelength converters. Un full wavelength converter può convertire una lunghezza d'onda 57

72 Capitolo 1: Reti Ottiche in input in una qualsiasi delle lunghezze d'onda in output. Un ranged wavelength converter può convertire una lunghezza d'onda in input in solo un sottoinsieme delle lunghezze d'onda di output. Tipicamente, le lunghezze d'onda verso cui un ranged wavelength converter può convertire una lunghezza d'onda λ i sono le lunghezze d'onda λ i ± k, con k numero intero tale che k + i n e k - i 1, se n sono le lunghezze d'onda disponibili. Una rete che ha un convertitore di lunghezze d'onda di tipo full in tutti i nodi, ha probabilità di blocco dovuta al wavelength continuity contraint pari a zero 1. Ad ogni modo è difficile ottenere in pratica una situazione del genere (full wavelength converters in ogni nodo) a causa del costo elevato dei convertitori di lunghezze d'onda ed a limitazioni tecnologiche [Sharma98]. Quindi è più realistica un rete in cui solo pochi nodi abbiano capacità di conversione di lunghezze d'onda. Una rete siffatta è chiamata sparse wavelength conversion network [Chaffee, Rama97]. Il problema del posizionamento dei convertitori in una rete con una data topologia (converter placement problem) è un problema aperto e oggetto di studi per ottenere (magari con euristiche) i migliori risultati e ridurre la probabilità di blocco della rete [Subra99, Bijja02]. Le tecniche di conversione di lunghezze d'onda possono essere classificate in due tipi: conversione di lunghezza d'onda opto-elettronica e conversione di lunghezza d'onda del tutto ottica Conversione di lunghezza d'onda opto-elettronica In questo tipo di convertitori, il segnale ottico che deve essere convertito viene prima convertito nel dominio elettronico usando un fotodiodo. Lo stream di bit è quindi conservato in un buffer, eventualmente processato e, successivamente, il segnale elettronico è usato per pilotare un tunable laser 2 alla lunghezza 1 Il blocco della rete, ovvero il rifiuto di una connessione può comunque avvenire perché non vi sono ulteriori lunghezze d'onda disponibili tra cui scegliere oppure perché non vi è abbastanza banda residua disponibile sui link. 2 Un tunable laser è un tipo di laser che può essere configurato dinamicamente per emettere luce ad una specifica lunghezza d'onda. 58

73 Capitolo 1: Reti Ottiche d'onda desiderata [Bijja02]. Questo metodo non è adatto per bitrate elevati (al massimo fino a 10Gbps), introduce un ritardo per la conversione O-E-O, consuma più energia rispetto alla conversione del tutto ottica ed infine il processo di conversione elettroottica inficia la trasparenza della conversione [Bijja02]. Tuttavia, i convertitoti elettro-ottici hanno anche alcuni vantaggi: essi svolgono naturalmente la funzione di rigenerazione completa (3R) del segnale, e permettono l'inserimento di ritardi (anche variabili) per risincronizzare [Palm06] Conversione di lunghezza d'onda del tutto ottica I convertitori di lunghezza d'onda del tutto ottici sono in grado di convertire una lunghezza d'onda λ 1 in una lunghezza d'onda λ 2 con un procedimento del tutto ottico, senza passare per il dominio elettronico. Al contrario dei convertitori elettro-ottici, i convertitori del tutto ottici introducono, tuttavia, disturbi e distorsioni sul segnale ottico. Analogamente ai convertitori elettro-ottici, però, anche i convertitori del tutto ottici effettuano amplificazione del segnale [Palm06]. Vi sono sostanzialmente due tipi di convertitori del tutto ottici: quelli basati su amplificatori ottici e quelli basati sul four wave mixing. Convertitori basati su amplificatori ottici a semiconduttore I convertitori basati su amplificatori ottici a semiconduttore (SOA) [Gau04] impiegano la modulazione di guadagno o di fase incrociata (XGM: Cross Gain Modulation o XPM: Cross Phase Modulation) [Bijja02, Bai03]. 59

74 Capitolo 1: Reti Ottiche Gli amplificatori ottici a semiconduttore [Gau04] hanno una saturazione del guadagno (come tutti gli amplificatori) e per le caratteristiche del semiconduttore, il guadagno subisce il processo di saturazione molto velocemente, e cioè bit-a-bit. Un SOA presenta una curva di guadagno come quella in Figura Curva di guadagno di un SOA in funzione della potenza di ingresso. Il guadagno dipende dalla potenza in ingresso. Figura 1.46: Curva di guadagno di un amplificatore ottico a semiconduttore. A seconda della potenza in ingresso al semiconduttore, ho un certo guadagno: se ho una potenza di ingresso P a avrò un certo guadagno G a, mentre con una potenza di ingresso P b avrò un guadagno di G b. Supponiamo di avere un sistema del tipo rappresentato in Figura Invio all'ingresso dell'amplificatore ottico a semiconduttore un segnale in ingresso modulato con una certa lunghezza d'onda λ in e un altro segnale non modulato con una lunghezza d'onda λ new. Ora, a seconda che il segnale modulato in ingresso porti uno 0 oppure un 1 la potenza ottica in ingresso avrà due livelli diversi. In particolare, quando trasmetto uno 0 avrò soltanto potenza sulla lunghezza d'onda λ new, quando trasmetto un 1, invece, avrò la somma delle potenze su λ new e λ in. Di conseguenza, muovendosi su due livelli di potenza in ingresso, P a e P b si avrà un guadagno G a e G b. 60

75 Capitolo 1: Reti Ottiche Figura 1.47: Segnali in ingresso ad un SOA. All'uscita avrò sia λ new che λ in amplificati, ma con un guadagno che dipende dal bit trasmesso su λ in. Se a questo punto si mette un filtro ottico passa-banda su λ new, all'uscita si avrà λ new modulata tramite il guadagno (da qui il termine Cross Gain) in funzione dei bit di ingresso sulla lunghezza d'onda λ in. Ho così ottenuto una conversione di lunghezza d'onda da λ in a λ new senza nessun tipo di conversione in elettronica. Figura 1.48: Schema di funzionamento di un convertitore di lunghezza d'onda basato su SOA. Convertitori basati sul four wave mixing Il Four Wave Mixing è un effetto negativo intrinseco alla trasmissione in fibra ottica, i cui effetti vorremmo ridurli al minimo (come abbiamo visto nel Paragrafo ) perché disturbano il segnale originario. Tuttavia, se sfruttato in modo controllato, esso può rivelarsi un utile strumento per effettuare la conversione di lunghezze d'onda. 61

76 Capitolo 1: Reti Ottiche Vi sono infatti dei convertitori di lunghezza d'onda che si basano sull'effetto di wave-mixing. La combinazione delle onde è il risultato della risposta non lineare di un mezzo quando sono presenti più di un'onda. Esso genera un'altra onda la cui intensità è proporzionale al prodotto delle intensità delle onde che interagiscono. La combinazione delle onde preserva le informazioni sulla fase e sull'ampiezza dell'onda originaria, offrendo in questo modo trasparenza [Bijja02]. Questa tecnica fornisce indipendenza dal formato di modulazione e possibilità di raggiungere un elevato bitrate. Tuttavia, l'efficienza della conversione non è molto alta poiché il trasferimento di energia dal segnale di pompa al segnale originario non è molto alto e diminuisce rapidamente con l'aumentare della distanza spaziale tra le lunghezze d'onda prima e dopo la conversione Optical Cross Connects (Switch ottici) In qualunque architettura di rete in cui si voglia implementare una commutazione direttamente a livello ottico, gli switch ottici risultano essere i componenti basilari [Gau04]. Gli Optical Cross-Connects (OXCs) sono usati per instradare i canali che viaggiano sulle lunghezze d'onda delle fibre tra le porte di input e le porte di output, consentendo anche la possibilità di aggiungere o estrarre traffico localmente [Bijja02]. La funzione principale degli OXC è quella di configurare dinamicamente la rete al livello delle lunghezze d'onda, ovvero di creare i canali di comunicazione richiesti dalle connessioni. Gli optical cross-connects possono essere classificati in due categorie: 62

77 Capitolo 1: Reti Ottiche cross-connects elettrici cross-connects del tutto ottici Nei cross-connects elettrici la funzione dei switching delle lunghezze d'onda è effettuata elettronicamente: il segnale ottico viene convertito in segnale elettrico e quindi è effettuato lo switching nel dominio elettrico. Infine avviene la riconversione in segnale ottico [Bijja02]. Ci si riferisce ad essi come crossconects opachi. Spesso associata ai cross-connects opachi vi è una rigenerazione 3R del segnale. Gli OXC elettrici non permettono di raggiungere elevate velocità in quanto i dati devono essere convertiti sotto forma elettrica. Sono stati quindi sviluppati OXC del tutto ottici [Bijja02]. Ci si riferisce ai cross-connects del tutto ottici come cross-connects trasparenti. La tecnologia di costruzione di OXC del tutto ottici è basato su micro specchietti controllati elettronicamente da micro controllori, ed è nota col nome di MEMS (Micro Electro-Mechanical Switches) Micro Electro-Mechanical Switches (MEMS) L'idea è quella di realizzare una matrice di specchietti che possano o meno riflettere la luce a seconda della loro disposizione. Accoppiando questi specchietti liberi di muoversi con degli opportuni sistemi di allineamento ottici si possono realizzare delle matrici di connessione ottica [Gau04]. La riconfigurazione della matrice di specchietti è micro-controllata da attuatori che agiscono sugli specchi, ruotandoli e posizionandoli in modo da riflettere o meno la luce [Palm06]. Oggi questi MEMS vengono realizzati direttamente su dei chip in silicio o in polisilicio, cioè è possibile realizzare sostanzialmente delle lamelle di polisilicio che sotto comando elettrico posso stare in posizioni diverse. Ciascuno specchietto può assumere solo due posizioni (alto o basso). Nella posizione 63

78 Capitolo 1: Reti Ottiche bassa lo specchietto lascia transitare la luce, mentre nella posizione alta la riflette a 90 [Gau04]. Figura 1.49: Immagine al microscopio di un MEMS: nella figura di destra le dimensioni di tutto il chip sono si 1 cm x 1 cm, mentre il singolo specchietto è di dimensioni inferiore al millimetro quadrato. Si possono utilizzare questi specchietti per realizzare matrici di commutazione n n tramite utilizzo di un array di n 2 specchietti di tipo MEMS. E' possibile connettere in maniera arbitraria n canali (fibre o singole λ) in ingresso con n canali in uscita [Gau04]. Figura 1.50: Esempio di realizzazione di una matrice di commutazione tramite l'uso di specchietti MEMS. 64

79 Capitolo 1: Reti Ottiche Esistono realizzazioni di MEMS a 3 dimensioni che presentano 2 gradi di libertà: essi rappresentano attualmente l'architettura di elezione per realizzare matrici di commutazione ottiche [Palm06] Tipi di Cross-Connects Indipendentemente se si tratti di OXC elettrici o del tutto ottici, gli OXC possono essere ulteriormente classificati [Bijja02] secondo una distinzione ortogonale alla precedente, nelle seguenti classi: cross-connects a switching di fibra (Fiber switch Cross-Connect, FXC): agiscono sull'intera fibra; cross-connects a selezione di lunghezza d'onda (Wavelength Selective Cross-Connects, WSXC): agiscono sulla singola lunghezza d'onda; cross-connects a conversione di lunghezza d'onda (Wavelength Interchanging Cross-Connects, WIXC): agiscono sulla singola lunghezza d'onda; Fiber switch Cross-Connect, FXC Un Cross-Connects a switching di fibra (FXC) effettua lo switch a livello della fibra, effettuando così lo switch contemporaneo di tutti i canali presenti sulle lunghezze d'onda usati nella fibra. Esso agisce di fatto come un pannello di patch automatizzato [Bijja02]. I FXC sono più semplici e dunque più economici dei WSXC e WIXC. Un FXC può essere utile quando sia necessaria la protezione contro l'interruzione dell'intero cavo di fibra [Bijja02]. Tuttavia, data la sua natura, esso non può essere usato per implementare comportamenti che operano sulle singole 65

80 Capitolo 1: Reti Ottiche lunghezze d'onda [Bijja02] Wavelength Selective Cross-Connects, WSXC Un cross-connects a selezione di lunghezza d'onda (WSXC) può effettuare lo switching al livello delle lunghezze d'onda. Esso è in grado di commutare un sottoinsieme delle lunghezze d'onda di una fibra da una porta di input ad una porta di output [Bijja02]. I cross-connects a selezione di lunghezza d'onda (WSXC), e dunque anche i cross-connects a conversione di lunghezza d'onda (WIXC), hanno n fibre in ingresso ed n fibre in uscita, ciascuna delle quali porta molte lunghezze d'onda e si vuole permutare le singole λ in maniera arbitraria [Gau04]. Essi richiedono dunque un demultiplexer che opera nel dominio spettrale delle frequenze, il quale si occupi di demultiplessare il segnale composito nelle sue lunghezze d'onda costituenti [Bijja02]. Un WSXC è soggetto al vincolo di continuità nell'uso della stessa lunghezza d'onda (wavelength continuity constraint) [Palm06]. Un WSXC è più versatile rispetto ad un FXC e può essere usato laddove sia necessario un meccanismo di protezione al livello delle singole lunghezze d'onda: le lunghezze d'onda possono essere protette individualmente, ciascuno secondo lo schema di protezione più appropriato [Bijja02] Wavelength Interchanging Cross-Connects, WIXC Un cross-connects a conversione di lunghezza d'onda (WIXC) è un WSXC con in più la possibilità di effettuare la conversione di lunghezza d'onda. Un canale che viaggia su una lunghezza d'onda λ 1 attraversa il WIXC e si ritrova a 66

81 Capitolo 1: Reti Ottiche viaggiare su una lunghezza d'onda λ 2 [Bijja02]. Come abbiamo visto, la possibilità di convertire le lunghezze d'onda può essere utile nel ridurre la probabilità di blocco dovuta alla contesa di una lunghezza d'onda sulla fibra di output [Bijja02]. I WIXC liberano dal wavelength continuity constraint, permettendo la possibilità di cambiare lunghezza d'onda. L'uso di convertitori di λ aumenta la flessibilità (ed il costo) ma riduce il fattore di blocco per indisponibilità di λ [Palm06]. I WIXC sono i cross-connects più flessibili: essi permettono di operare lo switching sulle lunghezze d'onda, con in più la possibilità di conversione delle stesse, e permettono di implementare meccanismi di protezione a livello delle lunghezze d'onda [Bijja02]. Essi sono anche i più costosi in quanto includono al loro interno un convertitore di lunghezza d'onda Memorie Ottiche Le memorie ottiche [Gau04] sono ancora un argomento di pura ricerca, ma si ritiene che esse possano essere usate nelle reti ottiche come delle delay lines: esse verrebbero cioè usate per memorizzare un segnale ottico almeno per un brevissimo intervallo di tempo (tipicamente qualche microsecondo) in cui si cerca di risolvere la contesa sulle lunghezze d'onda o sulle intere fibre [Zhang]. Le strutture disponibili (soltanto a livello di ricerca) si basano sul ritardo di propagazione della luce in fibra e su degli switch ottici veloci. Il segnale arriva e si lascia lo switch ottico nella configurazione cross: il segnale finisce lungo la bobina di fibra e impiega un certo tempo Δt per riempire la bobina di fibra (Figura 1.51). 67

82 Capitolo 1: Reti Ottiche Figura 1.51: Elementi costitutivi di una memoria ottica: uno switch ottico 2 2 e una bobina di fibra di lunghezza L che permetta un certo ritardo Δt. Quando la bobina è riempita, cioè dopo un certo tempo Δt, si fa commutare lo switch nell'altra configurazione così che il segnale ottico comincia a ricircolare sull'anello di fibra che si viene a creare (Figura 1.52). Figura 1.52: Il segnale viene deviato verso la bobina. In linea di principio può ricircolare all'infinito a patto che dentro l'anello ci sia una qualche forma di amplificazione che permetta di compensare le perdite dello switch ottico e della fibra (Figura 1.53). 68

83 Capitolo 1: Reti Ottiche Figura 1.53: Il segnale circola all'interno dell'anello di fibra. Tuttavia, l'amplificatore introduce anche rumore e quindi il segnale, dopo un certo numero di ricircolazioni, sarà ad un certo punto immerso nel rumore con un rapporto segnale/rumore troppo basso e quindi sostanzialmente il segnale è perso. Questo è il motivo per cui possiamo ottenere una memoria solo su pochi microsecondi: possiamo far girare il segnale dentro la fibra solo poche volte. Quando poi il segnale deve essere estratto dal sistema, si fa di nuovo commutare lo switch nell'altra posizione e il segnale esce verso l'esterno (Figura 1.54). Figura 1.54: Il segnale viene estratto. In questo modo, almeno in linea di principio, abbiamo realizzato una memoria 69

84 Capitolo 1: Reti Ottiche ottica. Ad esempio se la fibra è lunga 100 metri, il ritardo è dell'ordine dei 500 ns: la velocità approssimativa della luce nella fibra ottica è di circa i 2/3 della velocità c della luce nel vuoto (c= km/sec) e cioè di km/sec. Dunque ogni giro sull'anello memorizza per 500 ns. Se si fanno 10 giri, abbiamo ottenuto un tempo di memorizzazione uguale a 5 microsecondi. Con una struttura di questo genere si possono memorizzare dei segnali che durano al più un intervallo di tempo Δt. 70

85 Capitolo 1: Reti Ottiche 5. Reti di Trasporto L'attuale infrastruttura della rete telefonica è basata in larga misura sulla prima generazione di reti di trasporto: queste sono le gerarchie sincrone SONET/SDH (Synchronous Optical NETwork/Synchronous Digital Hierarchy), evoluzione delle gerarchie plesiocrone 1 (Plesiochronous Digital Hierarchy, PDH). Esse erano usate principalmente per veicolare traffico telefonico, e negli ultimi tempi si sono usate tali infrastrutture per veicolare anche i canali del traffico dati. Vi è poi una seconda generazione di reti di trasporto che sono più specifiche e adatte al trasporto di dati su segnali ottici, come l'optical Transport Network (OTN) e l'all Optical Network (AON). I piani di controllo usati da queste due reti di trasporto sono generalmente ASON e GMPLS. Analizziamo nel seguito le reti di trasporto di prima e seconda generazione e i piani di controllo Reti di prima generazione Presentiamo in questo paragrafo le reti di prima generazione PDH e SONET/SDH La rete plesiocrona PDH In una rete plesiocrona, più canali numerici, detti tributari, possono essere raggruppati mediante tecniche TDM (multiplazione temporale) per formare canali più veloci. La rete telefonica tradizionale utilizza una rete di trasporto di tipo PDH con i canali tributari multiplati secondo una ben precisa gerarchia. La prima trama 1 Plesiocrono vuol dire che gli orologi (clock) degli apparati di una stessa rete lavorano a frequenze simili ma non identiche. 71

86 Capitolo 1: Reti Ottiche della gerarchia plesiocrona PDH è negli USA la trama T1, mentre in Europa è la trama E1. La trama T1 permette l'invio di 24 canali tributari a 64 Kbps su un canale multiplo a Mbps, di cui Mbps sono utilizzati per la trasmissione dei dati e 8 Kbps per le informazioni di sincronismo. I canali tributari della trama T1 possono essere utilizzati a 56 Kbps (soluzione idonea nel caso di canali telefonici digitali) lasciando libero l'ottavo bit che può essere dedicato a funzioni di segnalazione, oppure a 64 Kbps (soluzione migliore nel caso di trasmissione dati) dedicando un intero canale tributario alle funzioni di segnalazione. La trama E1 prevede invece la trasmissione di 32 canali a 64 Kbps, di cui uno riservato al sincronismo e uno alle informazioni di controllo. La trasmissione dati su flussi della gerarchia plesiocrona può avvenire in due modalità: non strutturata o strutturata. Nel collegamento non strutturato, l'apparecchiatura di interfaccia, fornisce un flusso a Mbps (1.544 Mbps negli USA) senza imporre alcuna struttura di trama. L'unico vincolo è la necessità di sincronizzarsi al clock di trasmissione fornito dall'interfaccia. Nel collegamento strutturato, invece, è necessaria la conformità alla struttura di trama E1 (T1). È anche possibile non utilizzare tutti i 30 (23) canali tributari disponibili, ottenendo canali a velocità pari a un multiplo di 64 Kbps, ed in tal caso si parla di collegamento strutturato partizionato. L'apparecchiatura di interfaccia è programmabile per estrarre dalla trama E1 (T1) i canali destinati all'utente. I limiti principali delle gerarchie PDH possono essere così riassunti: mancata unificazione a livello mondiale: esistono tre gerarchie (europea, nord-americana e giapponese) tra loro incompatibili; la relazione di fase tra i diversi canali tributari in una trama multipla è casuale e variabile nel tempo; questo richiede complesse operazioni di riallineamento (pulse stuffing) ed impedisce di inserire od estrarre facilmente un canale tributario se non ricorrendo ad un'operazione di demultiplazione completa della trama multipla seguita da una multiplazione dei nuovi tributari; 72

87 Capitolo 1: Reti Ottiche formati di trame diversi per i diversi ordini gerarchici; non esiste un modo standard per ottenere, a partire da una trama, quella di ordine superiore; il formato dei dati non prevede esplicitamente informazioni per il controllo e la gestione della rete. Per superare i limiti presenti in PDH è stata introdotta la gerarchia SDH che è unificata a livello mondiale anche se negli USA si chiama SONET La rete sincrona SDH / SONET L attuale rete di trasporto è basata essenzialmente sulla tecnologia SDH (Synchronous Digital Hierarchy), in quanto si va esaurendo la presenza di apparati di tecnologia PDH (Plesiochronous Digital Hierarchy) [Bon03]. SDH è il nome dello standard internazionale ed europeo per le reti sincrone, il cui equivalente americano è noto come SONET (Synchronous Optical NETwork). In questo caso il synchronous significa che gli apparati di una stessa rete utilizzano un unico clock di riferimento. Le rete SDH prevede anche la possibilità di trasportare trame di diversi formati, fra cui il PDH, all'interno delle sue trame: questa caratteristica sarà usata per trasportare i dati delle reti ottiche. La rete SDH ha molti punti di forza [Bon03]: completa standardizzazione di tutte le caratteristiche funzionali (gerarchia di multiplazione, controllo delle prestazioni, modalità di protezione e di re-instradamento, ecc.); l'utilizzo di una multiplazione sincrona che permette di inserire flussi a 73

88 Capitolo 1: Reti Ottiche bassa velocità in flussi ad elevata velocità senza dover effettuare una demultiplazione e una multiplazione completa; analogamente è possibile l'estrazione diretta di un flusso a bassa velocità da un flusso ad alta velocità; l'integrazione di vari canali ausiliari nelle trame che permettono un controllo continuo del tasso di errore e contengono le informazioni per le procedure di gestione, amministrazione, manutenzione e configurazione, che sono a loro volta standardizzate; un insieme di informazioni di gestione ritagliato sulle esigenze dei gestori e, oramai, una lunga operatività in campo che garantisce da tempo anche una sperimentata interoperatività tra apparati di fornitori diversi. Essa presenta tuttavia alcuni punti di debolezza [Bon03]. Anzitutto, nonostante la quasi totalità dei collegamenti che costituiscono la rete dorsale e la maggior parte di quelli posati nelle reti metropolitane sia realizzato con tecnologie ottiche (fibre e sistemi), l attuale rete di trasporto, basata sulla tecnologia SDH, non può essere considerata una rete ottica, perché tutte le funzioni di trattamento del segnale (permutazioni, estrazione e successiva reintroduzione di segnali, conversione di lunghezza d onda, ecc.) sono ancora effettuate al livello elettrico negli apparati ADM (Add and Drop Multiplexer) e DXC (Digital Cross-Connect). Per effettuare queste operazioni risulta perciò necessario convertire il segnale ottico proveniente dai sistemi trasmissivi in uno elettrico in ogni punto terminale, anche quando non sarebbe necessario effettuare la conversione perché le degradazioni ottiche accumulate nel percorso trasmissivo sono ancora limitate. La Figura 1.55 mostra il numero di punti di conversione O/E (Ottico-Elettrico) e E/O (Elettrico-Ottico) presenti in un generico collegamento tra le due sedi di un cliente. La presenza di queste conversioni costituisce un pesante onere economico per i gestori. 74

89 Capitolo 1: Reti Ottiche Figura 1.55: Schema di un generico collegamento in una rete SDH. Un secondo punto di debolezza è relativo, in particolare, alla gerarchia di multiplazione SDH progettata per un utilizzazione prevalente con segnali telefonici. La rete SDH presenta quindi alcuni limiti in una visione delle telecomunicazioni sempre più orientata al trasporto dei dati. In particolare, i dati devono essere sempre mappati nei payload SDH per essere trasportati sui sistemi ottici. Non è infatti possibile una trasmissione diretta al livello ottico, in quanto tutte le funzionalità di gestione sono concentrate negli apparati SDH. Gli attuali sistemi ottici di trasmissione non hanno alcuna funzione di controllo delle prestazioni, ma hanno solo alcune funzioni di allarme (mancanza della potenza ottica) proprio perché sono stati sviluppati per operare in sinergia con la SDH. L ultima generazione di apparati SDH, arricchita di nuove prestazioni per essere più aperta al mondo dei dati (funzionalità di Generic Frame Procedure e Virtual Concatenation), mantiene però la necessità di dovere in ogni caso utilizzare lo strato SDH e sostenere il costo dei relativi apparati. SDH prevede differenti moduli di trasporto detti STM (Synchronous Transport Modules), ciascuno con la propria velocità. Essi sono i seguenti: 75

90 Capitolo 1: Reti Ottiche STM-1: 155 Mbps STM-4: 622 Mbps STM-16: Gbps STM-64: 10 Gbps SONET fornisce un certo numero di velocità standard di linee che sono chiamate OC-x (Optical Carrier levels). Vi è una velocità base di Mbps e un insieme di multipli della velocità base. I livelli di OC-x sono i seguenti: OC-1: Mbps (equivalente a STM-1) OC-3: Mbps OC-12: Mbps (equivalente a STM-4) OC-24: Gbps OC-48: Gbps (equivalente a STM-16) OC-192: 10 Gbps (equivalente a STM-64) OC-256: Gbps OC-768: 40 Gbps 76

91 Capitolo 1: Reti Ottiche 5.2. Reti di seconda generazione Prsentiamo in questo paragrafo le reti di seconda generazione OTN e AON e i piani di controllo ASON e GMPLS La rete di trasporto ottica OTN Con l OTN (Optical Transport Network) si persegue l obiettivo di eliminare i punti di debolezza della rete SDH indicati al paragrafo precedente e, allo stesso tempo, di fare un ulteriore passo verso una rete tutta ottica [Bon03]. Le caratteristiche della OTN sono ormai ben definite in una serie di Raccomandazioni ITU-T (International Telecommunications Union Telecommunications). Una OTN è composta da un insieme di elementi di rete ottici ONE (Optical Network Element), connessi da collegamenti in fibra ottica, atti a fornire funzionalità di trasporto, multiplazione, instradamento, gestione, supervisione dei canali ottici che trasportano segnali cliente, con un trattamento eseguito predominantemente in regime fotonico. Il termine predominante chiarisce che la OTN non è una rete tutta ottica. I punti qualificanti della OTN sviluppati nel seguito sono: l architettura, la gerarchia dei canali ottici, la loro trama e una certa trasparenza ottica [Aur01]. In analogia con la rete SDH, l architettura della rete OTN è strutturata su tre livelli: canale ottico, sezione di multiplazione dei canali ottici, sezione di trasmissione (tra terminali e/o tra amplificatori ottici adiacenti). Ciascuno di questi tre livelli ha precisi obiettivi nel quadro generale del controllo e della gestione. Per il trasporto di segnali cliente l OTN definisce tre tipologie di contenitori: la prima (ODU-1) adatta a trasportare segnali cliente con frequenza di cifra fino a 2,5 Gbits; la seconda (ODU-2) per segnali da 2,5 a 10 Gbits; la terza (ODU-3) per segnali da 10 a 40 Gbits. Tali tipologie di contenitori costituiscono anche gli elementi di una gerarchia ottica OTH (Optical Transport Hierarchy) che 77

92 Capitolo 1: Reti Ottiche consente il trasporto di quattro ODU-1 in un ODU-2 e di quattro ODU-2 in un ODU-3, nonché diverse altre combinazioni di canali. Segnali cliente di ogni tipo (IP, ATM, Ethernet, STM) possono essere mappati in questi contenitori: all ingresso della rete è previsto che i trasponder, oltre ad assegnare al canale ottico la giusta lunghezza d onda, provvedano anche ad inserire i singoli segnali nei canali ottici (a seconda, naturalmente, della capacità che essi hanno, in modo da ottenere il massimo rendimento) e a completare con cifre di riempimento la parte della trama che rimane libera. Questa caratteristica della OTN garantisce un elevata trasparenza ai segnali cliente all interno del canale ottico prescelto. La trama di ciascuno dei tre tipi di canale è costituita da un payload, nel quale sono mappati i dati, e da un overhead, dove sono contenute tutte le informazioni necessarie per la gestione delle configurazioni e degli allarmi, nonché per il controllo delle prestazioni. Con canali ottici OTN così strutturati (payload + overhead) si supera il vincolo dell impiego del livello SDH, in quanto ciascun canale ottico è dotato di tutte le risorse necessarie per la propria gestione. I segnali cliente dati possono essere quindi immessi e trasportati sui canali ottici senza dover essere prima mappati nelle trame SDH. D altra parte i canali cliente SDH possono trovare posto nei canali ottici al pari dei segnali dati. Una caratteristica della OTN è la trasparenza ottica, cioè la capacità della rete di trasportare segnali ottici su lunghe distanze e attraverso i suoi nodi senza necessità di conversioni O-E e E-O. Questa trasparenza non è assoluta per via di diverse limitazioni (che rendono conto della parola predominantemente posta nella definizione) dovute sia al già citato accumulo delle degradazioni nella trasmissione ottica sia al fatto che non tutte le funzionalità di rete possono al momento essere svolte al livello ottico. La tecnologia rende infatti disponibili oggi apparati per la derivazione e per l introduzione di canali ottici OADM (Optical Add Drop Multiplexer), ma per i ripartitori ottici OXC (Optical Cross- Connect) la situazione è più articolata. Gli OXC attualmente sul mercato hanno infatti ancora caratteristiche insufficienti per un loro estensivo impiego in rete 78

93 Capitolo 1: Reti Ottiche sotto l aspetto dell affidabilità, dell ingombro, del consumo e soprattutto, del costo. Dal punto di vista della trasparenza ottica, l OTN si presenta quindi come costituita da un insieme di isole ottiche trasparenti (Figura 1.56) di dimensioni limitate ( km), all interno delle quali i canali ottici sono sempre mantenuti al livello ottico, collegate tra loro da rigeneratori 3R (per eliminare le degradazioni accumulate) e/o da permutatori per canali ottici, che effettuano tuttavia le permutazioni al livello elettrico. Figura 1.56: La trasparenza ottica nella OTN La rete di trasporto tutta ottica AON La Rete Tutta Ottica (All Optical Network, AON) costituisce per i gestori l obiettivo finale dell evoluzione della rete di trasporto, poiché essa consente di eliminare quasi completamente i rigeneratori elettrici posti all interno della rete di trasporto e permette di avere una completa trasparenza ai servizi. L evoluzione della OTN verso la AON dovrebbe avvenire con una graduale estensione della superficie delle isole ottiche fino al costituirsi di un unica isola ottica (Figura 1.57) nella quale il segnale cliente subisce una conversione elettro-ottica nel punto di origine (sede A del cliente) e una conversione ottico/elettrica nel punto di destinazione (sede B del cliente). Questa evoluzione sarà possibile a mano a mano che saranno disponibili commercialmente e a costo ragionevole gli elementi di rete che operano al livello ottico finora mancanti (OXC, convertitori di lunghezza d onda, rigeneratori ottici ecc.) e che, al contempo, saranno ottimizzate le modalità di compensazione delle degradazioni che si accumulano al livello ottico (equalizzazione, 79

94 Capitolo 1: Reti Ottiche regolazione, ecc.). Figura 1.57: Schema di un generico collegamento in una rete AON. In realtà la realizzazione di una AON non è solamente legata alla disponibilità di apparati e di componenti più evoluti, ma anche ad altri vincoli posti dalla operatività e dalla gestione della rete di trasporto [BonPag03, Bon02]. Allo stato attuale una rigenerazione al livello elettrico sembra essere sempre necessaria nel punto di interfaccia tra la rete del cliente e la rete dell operatore allo scopo di mantenere ben distinte e separate le responsabilità a fronte del rispetto del SLA (Service Level Agreement). Uno o due punti di rigenerazione dovrebbero rimanere ancora presenti tra i diversi livelli di rete (accesso, rete metropolitana, connessioni dorsali) per effettuare operazioni di raggruppamento (grooming) dei segnali cliente di piccola media / capacità in flussi di capacità superiore, per avere un elevata percentuale di utilizzazione dei sistemi di trasmissione. Un altro punto critico di una rete tutta ottica riguarda la difficoltà di mantenere sotto controllo la qualità dei canali ottici [Bon04]. La misura diretta delle prestazioni di errore, i cui obiettivi sono definiti nei SLA, è infatti possibile solo al livello elettrico. Le misure effettuate al livello ottico (optical monitoring) come la potenza trasmessa e ricevuta dai singoli canali e dai segnali multiplati, il 80

95 Capitolo 1: Reti Ottiche rapporto segnale/rumore ottico e la deviazione di frequenza dei canali, mentre da un lato consentono di effettuare una corretta gestione dei guasti, dall'altro danno solo un indicazione di come stanno andando le prestazioni e i tassi di errore e non una misura delle prestazioni stesse. Per rendersi conto della entità del problema basti pensare ad un canale ottico Venezia- Napoli nel quale si accumulerebbero le degradazioni di 800 km di cavo ottico, di sedici amplificatori ottici bidirezionali e di quattro permutatori ottici. Ove si registrasse all interfaccia tra la rete e il cliente finale una degradazione, per esempio, del tasso di secondi con errore (senza un interruzione del canale ottico), le indicazioni ottenute dai parametri ottici controllati sarebbero quasi sempre tardive (rispetto al momento nel quale il cliente avverte la degradazione) e spesso insufficienti a individuare con tempestività e precisione le cause e il punto del degrado. Un miglioramento di questa situazione si verificherà con il diffondersi dei punti di misura dei parametri di qualità ottici in tutti i punti critici degli apparati e con l'acquisizione di una vasta messe di dati e di correlazioni. Tuttavia, allo stato attuale, una soluzione soddisfacente del problema non sembra vicina e quindi anche in una rete tutta ottica sarà necessario disporre di rigeneratori elettrici sui quali terminare provvisoriamente in più punti successivi il canale degradato, per localizzare il punto in cui si origina la degradazione del segnale. A fronte delle criticità insite nelle nuove tecnologie, delle esigenze di raggruppamento di canali, delle carenze della supervisione al livello ottico, alcuni gestori cominciano a chiedersi se quello di una Rete Tutta Ottica sia veramente l obiettivo da raggiungere o se invece sia solo un obiettivo a cui tendere. A questa riconsiderazione degli obiettivi non è estranea la comparsa sul mercato di nuovi trasponder realizzati con tecnologia SFP (Small Formfactor Pluggable) che hanno già oggi dimensioni, consumi e costi inferiori a quelli tradizionali, e che lasciano intravedere la possibilità di essere realizzati in nuove versioni di costo ben inferiore. L impiego di questi trasponder potrebbe infatti ridurre di molto l onere complessivo legato alla presenza di punti di conversione ottico-elettrico-ottico. 81

96 Capitolo 1: Reti Ottiche Il piano di controllo ASON Un notevole arricchimento dell OTN è dato dalla ASON (Automatically Switched Optical Network) [Pag02]. Un architettura ASON è basata sulla realizzazione di un piano di controllo in grado di svolgere alcune funzioni tipiche dei sistemi di gestione centralizzati ed è posta tra i vari elementi di rete ottici della OTN e il piano di gestione (Figura 1.58). Figura 1.58: Architettura di una ASON. Ogni ONE dovrebbe essere dotato di un OCC (Optical Connection Control) in grado di interconnettersi con gli altri OCC e con il sistema di gestione centralizzato e di impartire comandi a uno o più ONE. Si vogliono così rendere più semplici, più diretti e più rapidi i processi di attivazione, di cessazione, di modifica di istradamento di ciascun canale ottico, facendo svolgere le operazioni direttamente dagli organi di controllo presenti negli ONE dove sono raccolte e continuamente aggiornate tutte le informazioni necessarie. Un architettura ASON con intelligenza distribuita presenta numerosi vantaggi rispetto ad un architettura tradizionale con un intelligenza concentrata nel sistema di gestione. I tempi per l esecuzione delle operazioni di configurazione si riducono a qualche decina di millisecondi o a qualche secondo a fronte di qualche decina di minuti necessari con il sistema centralizzato. 82

97 Capitolo 1: Reti Ottiche Inoltre ASON consente non solo di migliorare la qualità dei servizi di trasporto offerti (in termini di tempi di attivazione e di re-instradamento in caso di guasti), ma anche di offrire nuovi servizi come la Bandwidth on Demand e la Optical Virtual Private Network. I clienti possono con il primo servizio attivare e rimuovere servizi di connettività in tempi brevi e con tariffazione a tempo e con il secondo effettuare autonomamente le operazioni di configurazione dei flussi trasmissivi della propria rete. Le Raccomandazioni ITU-T per la ASON sono ormai praticamente complete [ASON], anche se le prime sperimentazioni in campo iniziate relativamente da poco tempo (in Italia sono state avviate da 3-4 anni) sono ancora basate su prodotti di un singolo produttore (gli ONE e il Piano di Controllo sono delle stesso fornitore e non sono possibili interconnessioni tra Piani di Controllo di fornitori diversi) Il piano di controllo GMPLS La più promettente tecnologia di del piano di controllo per le reti ottiche è rappresentata dal Generalized MultiProtocol 1 Label Switching 2 (GMPLS): commutazione di etichetta multi-protocollo generalizzata [Rag01]. Si ritiene che il GMPLS giocherà un ruolo chiave nelle future reti del tutto ottiche fungendo da ponte tra i livelli IP e ottici. GMPLS è stato proposto dall'ietf (Internet Engineering Task Force) come estensione dell'mpls [Zhang]. Tra l'mpls e il GMPLS vi è stato poi un passaggio intermedio rappresentato dal MultiProtocol Lambda Switching (MPλS). 1 E' indipendente dalla sottorete di trasporto e dai protocolli di rete adottati. 2 Sfrutta la tecnica del label swapping (es. ATM, Frame Relay) su reti a commutazione di pacchetto. 83

98 Capitolo 1: Reti Ottiche Componenti di una rete MPLS Una rete MPLS è composta da due tipi di router: i Label Switch Router (LSR) e i Label Edge Router (LER). I LSR costituiscono il nucleo della rete, mentre i LER ne delimitano i confini. I LSR sono collegati tra di loro e ai LER, mentre i LER sono collegati oltre che ai LSR agli apparati dei clienti (Customer Premises Equipment, CPE) o ad altre reti IP. Un esempio di rete MPLS è mostrata in Figura Figura 1.59: Una rete MPLS. Il routing di livello rete può essere distinto in due componenti fondamentali: il piano di controllo (control plane) e il piano di inoltro (forwarding plane). Ogni router della rete implementa entrambe le componenti. CONTROL PLANE FORWARDING PLANE Figura 1.60: Control/Forwarding Plane Il Control Plane costruisce e mantiene le tabelle di instradamento usando uno o più protocolli e algoritmi di routing (ad es. un link state come protocollo e l'adaptive shortest-cost-path come algoritmo di routing). Questi protocolli e algoritmi assicurano lo scambio di informazioni tra i router e uno o più meccanismi attraverso i quali i router convertono queste informazioni nelle tabelle di forwarding. 84

99 Capitolo 1: Reti Ottiche Il Forwarding Plane si occupa dell'instradamento effettivo dei dati dalla porta di ingresso a quella di uscita, usando due tipi di informazioni: da una parte le informazioni trasportate dal pacchetto (in questo caso le label) e dall altra le tabelle di forwarding del router (popolate dal Control Plane). I nodi MPLS, effettuando funzioni di routing, rispecchiano anch'essi la struttura Control/Forwarding Plane (Figura 1.61). Figura 1.61: Nodo MPLS. In un nodo di rete MPLS troviamo: il Control Component insieme di moduli demandati all allocazione delle label ed al binding delle label tra nodi adiacenti; esso ha un' intelligenza di livello 3 (IP addressing, IP routing); il Forwarding Component inoltro (di Livello 2) secondo il paradigma label swapping. Vediamo in dettaglio le caratteristiche dei LSR e LER. Label Switch Router (LSR) Questo tipo di router può essere diviso in due parti ben distinte (Control Plane 85

100 Capitolo 1: Reti Ottiche e Forwarding Plane). La prima ha compiti di controllo e funziona in modo molto simile ai normali router IP. Tramite un opportuno protocollo di instradamento, si occupa della raccolta delle informazioni sullo stato della rete e, grazie a queste, è in grado di calcolare un opportuna tabella di instradamento che verrà poi usata per compilare la tabella di commutazione quando verrà richiesta l instaurazione di una nuova LSP (Label Switched Path, percorso a commutazione di etichetta). La seconda parte del router invece si occupa esclusivamente dell inoltro vero e proprio. Essa legge l etichetta del pacchetto entrante e grazie alla tabella di commutazione è in grado di stabilire su quale porta e con quale nuova etichetta inoltrare il pacchetto. Questa distinzione consente inoltre un notevole vantaggio. Una volta stabilite le regole sulle quali si devono basare le tecniche di inoltro, è possibile modificare i protocolli di instradamento molto semplicemente con il solo aggiornamento del lato software. Ed è appunto questa caratteristica che ha fortemente incentivato lo studio in questo settore poiché modifiche del protocollo utilizzato possono consentire notevoli ottimizzazioni delle reti senza dover sostenere ingenti costi. Label Edge Router (LER) I LER, detti anche LSR di bordo, sono particolari LSR che terminano ed originano i LSP e hanno funzioni di inoltro basato sia su etichette sia sul tradizionale IP. All ingresso di un dominio MPLS un LSR di bordo accetta pacchetti non etichettati e crea una struttura iniziale MPLS apponendo una o più etichette (stack MPLS). All uscita i LSR di bordo terminano i LSP, tolgono lo stack MPLS ed inoltrano il pacchetto. Normalmente i LSR di bordo collegano reti MPLS con reti IP tradizionali. Di conseguenza essi usano tutti i protocolli che si possono trovare in un tradizionale router IP oltre a quelli propri dell MPLS. I protocolli di 86

101 Capitolo 1: Reti Ottiche instradamento IP non fanno distinzione tra reti MPLS e IP tradizionali, ciò significa che un singolo metodo in un LER può supportare collegamenti sia MPLS che IP tradizionali. Allo scopo di consentire l inoltro dei pacchetti, nella pila protocollare presente nel LER, l IP tradizionale e l MPLS sono collegati grazie ad un metodo di incapsulamento. Figura 1.62: Inoltro con etichette in una rete MPLS. Esempio: assegnazione delle label e creazione del lightpath La Figura 1.63 illustra un esempio di assegnazione delle label e di creazione del lightpath. Le tabelle di routing in figura mostrano solo le entry rilevanti per l'esempio. L'assegnamento delle label e la loro distribuzione tra i router è fatta assicurandosi che vi sia una comprensione reciproca delle label tra i router intermedi. Nell'esempio, il LER B ha le etichette 35 e 48 per identificare rispettivamente le reti 30.0.x.x e 30.1.x.x. Data questa assegnazione, il LSR C dovrà applicare, per esempio, la label 48 a tutti i pacchetti destinati alla rete 30.1.x.x. Come avviene questo meccanismo? Quando il LER B assegna le etichette 35 e 48, esso provvede ad inoltrarle ai router ad esso adiacenti. Il LSR C riceve ad esempio la label 35 associata alla rete 30.0.x.x dal LER B e la usa per configurare la propria tabella di routing, 87

102 Capitolo 1: Reti Ottiche scrivendo un'entry che ha come label di uscita 35, rete associata 30.0.x.x e next hop B. Inoltre, il LSR C assegna la label 11 1 per i pacchetti destinati alla rete 30.0.x.x e invia questa label ai suoi vicini. Il LER A riceve il binding dell'etichetta 11 effettuata dal LSR C verso la rete 30.0.x.x e piazza l'etichetta 11 come label di uscita per la rete 30.0.x.x con next hop C. Figura 1.63: Esempio che illustra l'assegnamento di label e la creazione del LSP dalla rete 30.4 alla rete A questo punto, i pacchetti spediti verso la rete 30.0.x.x dal LER A attraverseranno la rete con etichetta 11 attraverso la porta 2 fino al LSR C. LSR C rimpiazzerà l'etichetta 11 nel pacchetto con l'etichetta 35 e invierà il pacchetto attraverso la porta 3 al next hop, che è il LER B. Il LER B, che è il LSR di bordo, rimuoverà l'etichetta dal pacchetto IP ed effettuerà il tradizionale routing di livello 3 (IP) sul pacchetto in base all'indirizzo IP di destinazione. 1 Il LSR C è completamente libero di scegliere una qualsiasi etichetta tra quelle attualmente disponibili, (sceglie la 11 senza un particolare motivo). 88

103 Capitolo 1: Reti Ottiche Caratteristiche di MPLS Vediamo più in dettaglio le caratteristiche dell'mpls caratteristiche che sono comuni anche al GMPLS, essendone una estensione. L'MPLS rappresenta, come abbiamo accennato, la convergenza tra tecniche di inoltro orientate alle connessioni virtuali (ATM-Based) e protocolli di instradamento a pacchetto (IP- Based). MPLS forma un livello a commutazione di circuito al di sotto dell'ip usano il concetto di instrada sul bordo e commuta nel core [Lar04]. L idea più importante è che aggiungendo semplicemente una etichetta, i LSR sono in grado di commutare un pacchetto in modo molto più efficiente rispetto a ciò che succedeva con l instradamento tradizionale. La forza dell MPLS risiede inoltre nel fatto che l analisi dell header dei pacchetti IP viene effettuata solo una volta all ingresso del dominio MPLS, consentendo la possibilità di applicare tecniche di ingegneria del traffico atte a migliorare la qualità della singola connessione e l efficienza dell intera rete. L'operazione base di commutazione, invece del longest prefix match 1, è una commutazione di etichetta o label. MPLS classifica e identifica i pacchetti IP con una label di lunghezza prefissata (e significativa localmente al router MPLS) e inoltra i pacchetti usando solo questa etichetta come unica informazione per l'instradamento. Gli switch e i router MPLS "attaccano" etichette ai pacchetti in transito in base alla loro destinazione, al tipo di servizio associato (Type of Service, ToS), alla loro eventuale appartenenza ad una VPN (Virtual Private Network) o ad altri parametri. A una label corrisponde un particolare percorso sulla rete, quindi tutti i pacchetti con la stessa label seguono il medesimo percorso, detto anche Label Switched Path (LSP). Poiché le label si riferiscono ai percorsi e non ai nodi destinazione, i pacchetti destinati allo stesso nodo possono seguire diversi LSP, permettendo così di differenziare il traffico anche se destinato allo stesso nodo. L'MPLS riunisce sotto un unico protocollo i seguenti vantaggi: 1 Usato tipicamente nelle reti IP-based per trovare l'entry corrispondente ad un dato indirizzo ip nella tabella di routing. 89

104 Capitolo 1: Reti Ottiche il supporto completo ai servizi di Traffic Engineering (TE); la capacità di garantire in modo completo la Qualità di Servizio (QoS); la capacità di fornire servizi di Virtual Private Network (VPN); l'affidabilità ai guasti (intesa come meccanismi di prevenzione e ripristino in caso di guasti); la possibilità di gestire le classi di servizio; inoltro estremamente veloce dei pacchetti grazie al meccanismo delle etichette; molti dei componenti di una rete MPLS sono semplici estensioni di tecnologie già esistenti: le funzioni di un Label Swich Router 1 (LSR) possono essere aggiunte ad uno switch ATM o ottico semplicemente aggiornando il software. L MPLS viene incontro al bisogno di una tecnica semplice e veloce di instradamento che, con le prestazioni dei tradizionali switch, assicuri anche una capacità di controllo del traffico e non sia limitato ad un particolare protocollo. L'MPLS può supportare varie applicazioni e può essere esteso a differenti tipologie di prodotto. Sono previste inoltre funzionalità di aggregazione delle etichette (grooming) e gerarchie di etichette. Con l'instradamento tradizionale, un pacchetto è inoltrato attraverso una rete passo a passo confrontando in ogni router l indirizzo di livello 3 di destinazione con la tabella di instradamento per ottenere la porta di uscita verso il nodo successivo. Quindi ogni router, quando è attraversato da un pacchetto, deve effettuare una ricerca della strada migliore basandosi sull indirizzo di livello 3 di destinazione presente nell IP header (longest prefix match). Di conseguenza, per quanto riguarda gli indirizzi di livello 2, quello di destinazione viene sostituito con quello del router del passo successivo, mentre quello di origine viene 1 Un Label Switch Router è un router MPLS che ha la capacità di switchare in base alla label. 90

105 Capitolo 1: Reti Ottiche sostituito con l indirizzo del router corrente. Gli indirizzi di livello 3, invece, vengono lasciati inalterati in modo tale che il router del passo successivo possa effettuare nuovamente la ricerca della strada migliore. Questo procedimento deve essere ripetuto ad ogni passo (hop-by-hop routing) fino a portare il pacchetto alla sua destinazione finale. E chiaro quindi come diventi particolarmente oneroso in termini computazionali dover effettuare la procedura sopra descritta per ogni pacchetto, soprattutto in quei router situati nelle backbone che devono gestire ingenti quantità di traffico. Di conseguenza per ridurre la complessità è stato introdotto l MPLS che consente di inoltrare pacchetti ad una velocità molto superiore. MPLS usa le label per eliminare i processi ripetitivi e raggiungere efficienza e velocità. Come abbiamo visto, le label possono essere usate anche per riassumere altre informazioni non limitate alla destinazione del pacchetto, come informazioni sulla priorità, l'appartenenza a VPN, informazioni QoS. I router situati ai bordi della rete (LER, Label Edge Router) associano le etichette ai pacchetti basandosi su delle classi di equivalenza di inoltro (FEC, Forwarding Equivalence Class). Le FEC sono delle classi di equivalenza che identificano sottoinsiemi di pacchetti che sono spediti allo stesso next hop, anche se pacchetti appartenenti alla stessa FEC possono differire nel loro indirizzo IP di destinazione. Le FEC sono usate ad esempio per raggruppare e smistare il traffico verso una stessa zona geografica, oppure possono essere usate per trattare il traffico in maniera diversa seconda della qualità del servizio richiesta. I pacchetti vengono poi inoltrati attraverso la rete in base alla FEC a loro associata e si vedono cambiare le etichette da parte dei router presenti nel centro della rete (LSR, Label Switch Router). Il percorso attraverso uno o più LSRs seguito da un pacchetto appartenente ad un certa FEC prende il nome di Label Switched Path (LSP). Gli instradamenti (LSP) sono decisi alla sorgente e sono attuati applicando una etichetta che viene memorizzata in una opportuna tabella al momento della creazione del circuito virtuale. Vi è un protocollo di 91

106 Capitolo 1: Reti Ottiche segnalazione (LDP, Label Distribution Protocol) per allocare le etichette. In congiunzione con i protocolli di routing tradizionali, il Label Distribution Protocol (LDP) è il protocollo utilizzato per distribuire le label tra i dispositivi della rete. La tecnologia MPLS instrada i pacchetti: associando un etichetta (label) di lunghezza fissa al pacchetto; consultando delle tabelle (LSR Forwarding Table) contenente le informazioni relative alle etichette. La LSR Forwarding Table consiste in una sequenza di entry, dove ciascuna entry contiene una label di ingresso ed una o più sotto-entry. Ogni sotto-entry contiene una label di uscita, una interfaccia di uscita e l'indirizzo del next hop. Più di una sottoentry corrisponde ad avere multicast. Label ingresso (chiave) Label uscita (valore) 1 Label uscita Interfaccia uscita Next hop D F 2 Label uscita Interfaccia uscita Next hop A Figura 1.64: Esempio di LSR Forwarding Table. L'algoritmo di instradamento usato dall'mpls è detto Label Swapping Algorithm. Quando un LSR riceve un pacchetto, esso estrae la label dal pacchetto e, per ciascuna sottoentry corrispondente alla label nella forwarding table, rimpiazza la label del pacchetto con l'outgoing label menzionata nella 92

107 Capitolo 1: Reti Ottiche subentry e invia il pacchetto al next hop specificato nella sottoentry (quindi invia n pacchetti se n è il numero di subentry). Caratteristiche di MPλS L' MPλS rappresenta l'estensione dell'mpls per lavorare con gli OXC. L'MPλS si basa su tre componenti [Zhang]: 1. le estensioni IGP 1 per il traffic engineering di MPLS che sono usate per distribuire informazioni rilevanti sullo stato della rete ottica di trasporto e sullo stato corrente della topologia; 2. Un sistema di routing constraint-based che calcola i percorsi per i canali ottici punto-punto tenendo conto dei vincoli imposti; 3. il protocollo di signaling di MPLS che è usato per istanziare i canali ottici con supporto alle funzionalità di traffic engineering. In MPλS le etichette possono essere lunghezze d'onda. La lambda determina quindi sorgente, destinazione e tipo di servizio [Zhang, Palm06]. Caratteristiche di GMPLS Il GMPLS è basato sull'mpls e ne rappresenta l'evoluzione. Esso conserva tutte le caratteristiche dell'mpls e ne aggiunge di importanti nuove. Rispetto all'mpls, il GMPLS [Palm06, Palm06-2] può operare con gli switch 1 L' IGP (Interior Gateway Protocol) è un protocollo di routing per scambiare le informazioni tra i router appartenenti ad uno stesso AS (Autonomous System). Le informazioni di routing possono poi essere usate dal protocollo di rete per specificare come dover instradare il percorso. Vi sono due tipi principali di protocolli IGP: il Routing Information Protocol (RIP) e l'open Shortest Path First (OSPF). 93

108 Capitolo 1: Reti Ottiche ottici (OXC) come l'mpλs e in più dispone di un piano di controllo che supporta diverse interfacce in grado di supportare varie tecnologie di commutazione: Packet switching: questa interfaccia riconosce i limiti dei pacchetti e può inoltrare pacchetti sulla base dell'header IP o dell'header standard di MPLS (shim); Layer 2 switching: interfaccia che riconosce gli header di frame e celle e può inoltrare i dati sulla base del contenuti degli header di frame e celle; Switching basato su TDM (es. in reti SONET/SDH, PDH, ecc.): tramite questa interfaccia, i dati vengono inoltrati sulla base dei time slot che si susseguono in ordine circolare e ripetitivo; Switching di lunghezze d'onda (in reti ottiche WDM): è possibile commutare sulle lunghezze d'onda per i dispositivi ottici come OADM e OXC, che operano al livello delle singole lunghezze d'onda. Questa interfaccia inoltra il segnale ottico, da una lunghezza d'onda di input su una porta di ingresso, ad una lunghezza d'onda di output su una porta di uscita. Il traffico è inoltrato sulla base delle lunghezze d'onda; Switching di fibre (da porte/fibre di input a porte/fibre di output): questa interfaccia inoltra il segnale da una o più fibre di ingresso ad una o più fibre di uscita, realizzando così un patch-panel automatizzato e un sistema di switching fisico delle fibre automatico. Il traffico è inoltrato sulla base delle porte, delle fibre o delle interfacce. Queste interfacce sono strutturate gerarchicamente e sono controllate simultaneamente dal GMPLS [Palm06-2]. La premessa da cui parte GMPLS è l'idea che una label possa essere generalizzata per rappresentare una informazione sufficiente ad identificare un flusso di traffico [Palm06-2]. 94

109 Capitolo 1: Reti Ottiche Per esempio, in una fibra ottica la cui banda è divisa in multiple lunghezze d'onda, una λ potrebbe essere allocata ad un flusso di traffico. I LSR agli estremi della fibra devono solo accordarsi su quale lunghezza d'onda usare per allocare il flusso di traffico. Dal punto di vista del piano di controllo, per esplicare le sue funzioni un LSR si basa su una tabella che mantiene le relazioni tra la label/porta di ingresso e la label/porta di uscita [Palm06-2]. Vale la pena sottolineare che nel caso di OXC, la tabella che mantiene le relazioni non è un'entità software ma è implementata direttamente in hardware tramite l'appropriata configurazione dei micro-specchietti della struttura ottica di switching (MEMS) [Palm06-2]. Vi sono alcuni vincoli da tenere in considerazione quando si utilizza il piano di controllo GMPLS in una rete ottica. Questi vincoli nascono dal fatto che i LSR e gli OXC usano differenti tecnologie di dati. In particolare, LSR manipolano pacchetti che trasportano esplicitamente la label, mentre gli OXC manipolano lunghezze d'onda che trasportano la label solo implicitamente, ovvero il valore della label è implicito nel fatto che i dati stanno venendo trasportati ad una specifica frequenza. Inoltre, poiché l'analogo delle label negli OXC è una λ o un canale ottico, nel dominio ottico non vi sono i concetti equivalenti delle operazioni di label merging, label push o label pop. Invece, il label swapping può essere realizzato mediante una conversione di lunghezza d'onda [Palm06-2]. Le label di MPLS sono contenute direttamente all'interno della struttura delle celle o dei pacchetti, consentendo così il signalling in-band del piano di controllo. Con le diverse interfacce di GMPLS invece, è impossibile inserire nella struttura del pacchetto le informazioni specifiche delle label. Di conseguenza, nuove label virtuali sono state aggiunte alla struttura delle label di MPLS. Queste label virtuali contengono specifici indicatori che rappresentano le lunghezze d'onda, il fascio di fibre o le porte delle fibre e sono distribuite ai nodi GMPLS attraverso il signalling out-of-band. Il signalling out-of-band di GMPLS causa il problema della separazione del canale di controllo dal canale di dati. Con l'mpls, l'informazione di controllo è contenuta nella label, che è direttamente attaccata al payload di dati. Al contrario, quando si manda 95

110 Capitolo 1: Reti Ottiche l'informazione di controllo out-of-band, la label è separata dai dati cui si riferisce e che devono essere controllati dalla label stessa. GMPLS fornisce un meccanismo per identificare esplicitamente i canali di dati. Potendo così identificare i canali di dati, il messaggio di controllo può essere associato con un particolare flusso di dati, che sia esso una singola lunghezza d'onda, una fibra o un fascio di fibre [Palm06-2]. In un ambiente di rete ottico, gli OXC traducono l'assegnazione di label in assegnazione di corrispondenti lunghezze d'onda e impostano l'lsp (LSP setup) di GMPLS (G-LSP) negli altri dispositivi di switching usando le proprie interfacce di controllo locali. Successivamente al setup del G-LSP, i nodi OXC non effettuano nessuna ulteriore operazione di traduzione label/lambda o di ricerca/processamento. Il nodo di ingresso specifica il percorso che un G-LSP prenderà usando il routing esplicito del lightpath. Il percorso esplicito è specificato dal nodo di ingresso come una sequenza di hop e di lunghezze d'onda che saranno usati per raggiungere il nodo di uscita. Questo procedimento è diverso dal routing hop-by-hop, che è solitamente associato alle reti packet-switched [Palm06-2]. Le proprietà di trasparenza e di multi-protocollo del piano di controllo GMPLS permettono ad un OXC di instradare canali ottici che trasportano vari tipi di payload digitali (come IP, ATM, SDH, ecc.) in maniera coerente ed uniforme [Palm06-2]. Il piano di controllo di GMPLS assicura essenzialmente queste quattro funzioni basilari [Palm06-2]: Routing Control: fornisce la capacità di routing, di traffic engineering e di scoperta della topologia della rete; Resource Discovery: fornisce un meccanismo per scoprire e tenere traccia della disponibilità delle risorse di sistema, come la banda disponibile, la capacità di effettuare multiplexing e le porte disponibili; 96

111 Capitolo 1: Reti Ottiche Connection Management: fornisce i servizi di creazione, modifica, eliminazione e interrogazione dello stato delle connessioni; Connection Restoration: implementa un livello aggiuntivo di protezione delle connessioni preallocando per ciascuna connessione uno o più percorsi di back-up e consentendo così un rapido switching dalla connessione attiva a quella di back-up in caso di guasto. La funzionalità principale del control plane di GMPLS è ovviamente la capacità di creazione dinamica delle connessioni end-to-end. In questo modo, gli operatori devono solo specificare i parametri di connessione (sorgente, destinazione, eventuali vincoli) ed inviare la richiesta al LER di ingresso. Il piano di controllo della rete determinerà il percorso ottico che la connessione dovrà seguire attraverso la rete (a seconda dei parametri specificati nella richiesta di connessione e dell'algoritmo di RWA usato) e segnalerà ai nodi corrispondenti di stabilire la connessione. L'intera procedura può essere fatta nell'ordine di secondi invece che ore [Palm06-2]. Quando arriva una una nuova richiesta connessione nella rete ottica, deve essere trovato e stabilito un lightpath allocando in presenza di wavelength continuity constraint la stessa lunghezza d'onda lungo tutto il percorso oppure in presenza di nodi con capacità di conversione di lunghezza d'onda scegliendo le opportune lunghezze d'onda per ogni tratto del percorso. Quando arriva una nuova richiesta di connessione, GMPLS esegue quindi un algoritmo di routing e wavelength assignment (RWA) per cercare un percorso fattibile per la richiesta all'interno della rete. E' possibile che, per una data richiesta di connessione, vi siano risorse di rete insufficienti ad instradare la connessione, nel qual caso la richiesta viene rifiutata e la connessione bloccata. La richiesta di connessione può essere bloccata anche se non vi sono sufficienti lunghezze d'onda libere lungo il percorso. Se, invece, la rete dispone di sufficienti risorse per instradare la connessione, l'algoritmo di RWA troverà un percorso fattibile e il router di ingresso (LER) assegnerà una etichetta alla connessione e userà un protocollo di signalling (RSVP-TE, CR-LDP) per instradare effettivamente la connessione nella rete [Ado03, Palm06-2]. 97

112 Capitolo 1: Reti Ottiche Tra tutti i vantaggi esposti della tecnologia GMPLS, due in particolare sono i motivi di maggior interesse per cui il GMPLS è considerato essere la migliore struttura da usare come control plane ottico. Il primo è che in GMPLS sono state implementate con successo tecniche di traffic engineering. Il secondo è che c'è un'analogia tra lunghezza d'onda e label [Zhang]. Il GMPLS presenta caratteristiche di traffic engineering e consente una crescita parallela e scalabile sia nella dimensione IP che in quella ottica. La tecnologia del control plane GMPLS, quando sarà largamente disponibile nei dispositivi di switching ottici di prossima generazione, potrà supportare tutti i requisiti di traffic engineering, renderà possibile una ampia gamma di protezione e ripristino da guasti, semplificherà l'integrazione dei nuovi switch ottici (OXC) con gli attuali router di label switching (LSR) e infine consentirà di supportare le molte tecnologie di commutazione. [Palm06-2]. 98

113 Capitolo 1: Reti Ottiche 6. Conclusioni Le fibre ottiche e i sistemi di trasmissione ottici, a venti anni dalla loro prima introduzione nelle reti di trasporto, hanno praticamente sostituito i conduttori in rame nelle reti metropolitane e nelle reti dorsali in tutte le applicazioni (collegamenti terresti e sottomarini di ogni tipo e di ogni capacità). Tuttavia, l attuale rete di trasporto SDH è rimasta sostanzialmente elettrica perché, anche se i nodi sono collegati con sistemi ottici, tutte le operazioni che sono effettuate sui segnali nei nodi stessi sono ancora svolte al livello elettrico [Bon03]. Solo di recente sono state standardizzate architettura, funzionalità e apparati per una Rete di Trasporto Ottica (OTN) in grado di costituire e gestire canali ottici trasparenti all interno di isole ottiche di limitata dimensione e le prime realizzazioni di questa rete sono ora in corso. Di pari passo con la OTN sta procedendo lo sviluppo di una architettura di rete ottica intelligente (ASON) che ne costituisce un arricchimento realizzando un piano di controllo atto ad effettuare in modo automatico le funzioni di gestione delle configurazioni dei canali ottici. La strada da percorrere per arrivare alla realizzazione di una Rete Tutta Ottica (AON) non sembra né breve, né facile, in quanto mancano ancora a livello commerciale alcuni elementi essenziali (i permutatori fotonici) e allo stesso tempo perché devono essere risolte numerose problematiche di gestione e, più in particolare, quelle legate ai limiti intrinseci del monitoraggio ottico. Tuttavia i vantaggi che le società manifatturiere e i gestori di rete vedono all'orizzonte fanno ritenere che il cammino verso questo obiettivo procederà ancora speditamente, salvo l effettuazione di periodiche verifiche per definire quale sia veramente il punto di arrivo più conveniente. La tecnologia ottica è ancora relativamente giovane, e questo causa costi relativamente elevati; ma essa promette di avere costi che siano in larga misura 99

114 Capitolo 1: Reti Ottiche indipendenti dal bit-rate e di gestire quantità di informazioni molto maggiori dell'attuale tecnologia prettamente elettronica, quindi la tecnologia ottica rappresenta senza alcun dubbio il futuro delle telecomunicazioni su filo verso cui puntare. 100

115 Capitolo 2: Routing e Wavelength Assignment CAPITOLO 2 2 Routing e Wavelength Assignment 1. Introduzione In una qualsiasi rete telematica si pone il problema di instradare le connessioni da un nodo ad un altro all'interno della rete: tale problema è noto come problema di routing. Il problema di routing consiste quindi nel trovare un percorso ammissibile dal nodo sorgente al nodo destinazione. Può essere desiderabile che tale percorso abbia determinate caratteristiche di ottimalità come ad esempio che esso sia il percorso più breve (in termini di numero di hop o di costo degli archi attraversati) oppure il percorso che meno interferisce con le future richieste di connessione che probabilmente arriveranno sulla rete. 101

116 Capitolo 2: Routing e Wavelength Assignment Una rete ottica con tecnologia WDM è una rete telematica, dunque vi è il problema del routing. Inoltre, poiché un percorso nella rete attraversa un certo numero di fibre ottiche che utilizzano il wavelength division multiplexing, vi è anche il problema di scegliere quale lunghezza d'onda assegnare su ciascuna fibra del percorso: questo problema è noto come problema dell'assegnazione delle lunghezze d'onda. In una rete ottica che utilizza WDM si parla, in generale, di problema di Routing e Wavelength Assignment (RWA). 102

117 Capitolo 2: Routing e Wavelength Assignment 2. Problema di RWA Il lightpath è un canale di comunicazione punto-punto 1 che attraversa uno o più link di fibra. Se nella rete non vi sono convertitori di lunghezze d'onda, si dice che la rete impone un wavelength continuity constraint, ovvero il lightpath dovrà utilizzare la stessa lunghezza d'onda (λ) su tutti i link di fibra che attraversa. Se invece, lungo il percorso attraversato dal lightpath, vi sono uno o più convertitori di lunghezza d'onda, il wavelength continuity constraint viene meno, e il lightpath potrà utilizzare lunghezze d'onda diverse lungo il suo percorso dalla sorgente alla destinazione, con una conversione di lunghezza d'onda 2 in corrispondenza del convertitore 3. Due qualunque lightpath che attraversano lo stesso link di fibra non possono condividere la stessa lunghezza d'onda (che costituisce un canale di comunicazione esclusivo e non condiviso): ci si riferisce a questo vincolo come clash constraint. Consideriamo una All-Optical Network con WDM, ovvero una rete del tutto ottica (ad instradamento di lunghezze d'onda) che utilizza la tecnologia di multiplexing sulle lunghezze d'onda (WDM). Il problema del Routing e Wavelength Assignment (RWA) è così definito: Data una topologia di rete e un insieme di richieste di connessione, trovare l'instradamento e la/e lunghezza/e d'onda per il maggior numero possibile di lightpath, in modo tale che sia ottimizzata una data funzione obiettivo. L'insieme delle richieste di connessione può essere noto a priori oppure no; se esso è noto fin dall'inizio si ha traffico statico, altrimenti si ha traffico dinamico. Con traffico statico, si conosce esattamente l'intero insieme di richieste di connessione, il tempo in cui esse arriveranno e la durata (holding time) di ciascuna di esse. Con traffico dinamico, non si ha alcuna informazione circa l'insieme delle richieste di connessione che arriveranno, dunque tutto ciò che 1 Esistono anche lightpath punto-multipunto che sono detti treepath, ma non ce ne occuperemo in questa trattazione. 2 La conversione di lunghezza d'onda è subordinata all'effettiva disponibilità di lunghezze d'onda libere presso il convertitore. 3 La conversione di lunghezza d'onda può migliorare la performance della rete risolvendo le contese per una stessa λ, ma i dispositivi in grado di effettuare la conversione di λ sono ancora molto costosi. 103

118 Capitolo 2: Routing e Wavelength Assignment un algoritmo di RWA deve essere in grado di fare è instradare il maggior numero di richieste di connessione possibile. Il problema di RWA con traffico statico è anche chiamato Static Lightpath Establishment (SLE) o RWA statico. Il problema di RWA con traffico dinamico è anche chiamato Dynamic Lightpath Establishment (DLE) o RWA dinamico. Il problema di RWA, sia nella sua versione statica che in quella dinamica, può essere trattato come un unico problema (Routing e Wavelength Assignment accoppiati) o come due problemi separati (prima si risolve il problema del Routing e poi, sul percorso trovato dall'algoritmo di Routing, si risolve il problema del Wavelength Assignment). Ci si riferisce ad essi rispettivamente come RWA accoppiato e RWA disaccoppiato. Solitamente, la risoluzione del problema di RWA accoppiato dà risultati migliori rispetto a RWA disaccoppiato, ma è più difficile da risolvere 1. Le varie combinazioni danno luogo ai seguenti quattro problemi: RWA statico: accoppiato o disaccoppiato RWA dinamico: accoppiato o disaccoppiato Il problema di RWA accoppiato (statico/dinamico) può essere formulato come un unico problema di Programmazione Lineare Intera (PLI) con diverse possibili funzioni obiettivo. Il problema di RWA disaccoppiato (statico/dinamico) può essere formulato come un problema di Routing e un problema di Wavelength Assignment. In tutte le sue formulazioni, il problema di RWA è un problema NP-completo [Zhang, Jau04]. Ciò vuol dire che trovare una soluzione ottima 2 al problema 1 Sebbene restino entrambi problemi NP-completi, il problema di RWA disaccoppiato è più facile da risolvere sia dal punto di vista logico/algoritmico che da quello computazionale dato che le euristiche sono più facili da trovare e ne esistono già di pronte all'uso. 2 Vedremo che ha senso parlare di soluzione ottima solo per la versione statica di RWA, ma il problema di RWA dinamico resta un problema NP-completo. 104

119 Capitolo 2: Routing e Wavelength Assignment richiede un tempo esponenziale nella dimensione del problema stesso. Ovviamente, per un algoritmo di Routing e Wavelength Assignment è indispensabile che la complessità sia polinomiale 1, per cui ci si accontenta di una soluzione sub-ottima purché trovata in tempo polinomiale. Per risolvere il problema di RWA si usano solitamente delle euristiche in modo tale da ottenere una soluzione 2 ammissibile al problema di RWA in tempo polinomiale nella dimensione del problema. Argomento aperto di ricerca è trovare una buona euristica per il problema di RWA che rifiuti il minor numero possibile di richieste di connessione. In questo lavoro proponiamo un nuovo algoritmo di RWA, chiamato S.P.A.R.K., che risolve il problema del Routing e Wavelength Assignment nella sua versione dinamica e accoppiata (Capitolo 3) Problema del Routing e Wavelength Assignment statico Il problema di RWA statico può formularsi come segue: Data una topologia di rete e un insieme di richieste di connessione note a priori, trovare l'instradamento e la/e lunghezza/e d'onda per il maggior numero possibile di lightpath, in modo tale che sia ottimizzata una data funzione obiettivo. Possibili funzioni obiettivo sono: minimizzare il numero di lunghezze d'onda utilizzate; 1 Un algoritmo di RWA deve girare su un router che deve servire un numero arbitrario di richieste di connessione su reti di qualsiasi dimensione, quindi deve avere una bassa complessità di tempo. 2 Una soluzione al problema di RWA consiste in un insieme di lightpath in cui sono state scelte le lunghezze d'onda da usare su ciascun tratto del lightpath. In questo insieme vi sono i lightpath corrispondenti a tutte o a solo alcune delle richieste di connessione: le richieste che non hanno un lightpath corrispondente nell'insieme sono state rifiutate per mancanza di sufficienti risorse di rete disponibili e non verranno quindi instradate nella rete. 105

120 Capitolo 2: Routing e Wavelength Assignment massimizzare il numero di connessioni per un fissato numero di lunghezze d'onda; massimizzare il flusso della rete; altro... Vi sono, come abbiamo visto, due approcci per risolvere il problema di RWA statico: quello di trattarlo come un problema unico e quello di trattarlo come due problemi separati per tentare di ridurne la complessità RWA statico accoppiato Il problema di RWA statico 1 accoppiato può essere risolto all'ottimo con uno dei metodi noti in letteratura per risolvere problemi di PLI (ad es. il metodo del Branch & Bound). Poiché il problema di RWA appartiene alla classe dei problemi NP-completi, occorre un tempo esponenziale per risolverlo. Essendo note tutte le richieste di connessione a priori, l'rwa statico può essere risolto (anche all'ottimo) offline, ma esso diventa computazionalmente intrattabile anche per reti piccole (già solo 10 nodi e 30 archi) RWA statico disaccoppiato Per ridurre la complessità del problema di RWA statico si può suddividere il problema del routing e wavelength assignment in due sotto-problemi: il sottoproblema di routing e il sotto-problema di wavelength assignment. 1 Nella versione statica si conosce l'insieme delle richieste di connessione da instradare, e dunque è possibile trovare una soluzione (in linea di principio anche una soluzione ottima) che accomodi le richieste di connessione e ottimizzi nel contempo la funzione obiettivo. 2 Una volta risolto il problema di RWA offline, si può successivamente utilizzare un algoritmo di routing statico per impostare nei router della rete i percorsi (lightpath) corrispondenti alle richieste di connessione. 106

121 Capitolo 2: Routing e Wavelength Assignment Il problema di RWA statico disaccoppiato è quindi risolto in due passi: prima si risolve il problema del routing, trovando un percorso ammissibile per ogni richiesta di connessione. Se per una specifica richiesta di connessione non dovesse esistere nessun percorso ammissibile, allora la singola connessione verrà rifiutata. Dopo che è stato trovato l'insieme dei percorsi 1 che i lightpath dovranno seguire, si prosegue assegnando le lunghezze d'onda ai percorsi in modo tale che su un singolo link di fibra non sia assegnata la stessa λ a due lightpath che passano per quel link (rispettando così il clash constraint). Questo conduce al sotto-problema di wavelength assignment, il cui scopo è quello di minimizzare il numero di lunghezze d'onda utilizzate [Zhang]. Il sotto-problema di Routing è NP-completo. Fortunatamente in letteratura esistono svariati algoritmi di routing che risolvono egregiamente il problema di trovare un instradamento dal nodo sorgente al nodo destinazione in tempo polinomiale (SPF, minhop, ecc...) 2. Anche il sotto-problema del wavelength assignment con funzione obiettivo di minimizzare il numero di λ usate è NP-completo (addirittura esso è NP-hard) e il numero minimo di λ necessarie non è facile da calcolare [Zhang, Mukh97]. Per risolvere all'ottimo il sotto-problema del wavelength assignment con funzione obiettivo di minimizzare il numero di λ usate, garantendo comunque che tutte le richieste di connessione per cui è stato trovato un percorso risolvendo il sotto-problema di Routing vengano onorate, si può utilizzare l'algoritmo di graph-coloring che costruisce un grafo ausiliario e colora opportunamente i suoi nodi [Zhang, But01]. Questo algoritmo risolve all'ottimo il problema ed è dimostrato essere NP-hard [Gar76, Gar79]. Tuttavia possono essere usati gli algoritmi di colorazione sequenziale del grafo per colorare il grafo con un numero ottimale 3 di colori [Zhang, Mukh97]. 1 Dato che il problema è statico, l'insieme delle richieste di connessione è noto a priori. 2 Per una panoramica sugli algoritmi di routing si veda il Paragrafo 3. 3 Ovvero viene trovata una soluzione sub-ottima al problema della colorazione del grafo. 107

122 Capitolo 2: Routing e Wavelength Assignment Vediamo come è formulato un generico problema di graph-coloring: costruire un grafo ausiliario G = (V, E) tale che ciascun lightpath sia rappresentato da un nodo del grafo. Si inserisce un arco non orientato tra due nodi nel grafo G se i lightpath (corrispondenti ai nodi) passano attraverso uno stesso link di fibra nel grafo originario della rete. Si colorano i nodi del grafo G in modo tale che nessuno dei nodi adiacenti abbia lo stesso colore. Esempio 1 : Topologia della rete I percorsi trovati risolvendo il problema di routing sono i seguenti lightpath: l1:(s1,u,v,d1) l2:(s2,u,v,d2) l3:(s3,u,d3) ==> Grafo ausiliario Ho usato solo 2 lunghezze d'onda: una per l1 e una per l2. L3 può usare una qualsiasi lunghezza d'onda. Figura 2.1: Esempio di graph-coloring. Se non siamo interessati a minimizzare il numero di lunghezze d'onda utilizzate, possiamo usare una delle strategie di allocazione delle lunghezze d'onda presentate nel Paragrafo 4 (First Fit, Round Robin, ecc.) Problema del Routing e Wavelength Assignment dinamico Il problema di RWA dinamico (accoppiato/disaccoppiato), per essere gestito nel miglior modo possibile, necessità di un algoritmo dinamico, che venga cioè eseguito ad ogni nuova richiesta di connessione, in modo da tenere in 1 L'esempio presentato non mostra il procedimento di colorazione ma solo il risultato della colorazione: esso pertanto non è da considerarsi come un algoritmo. 2 Si noti che per applicare queste strategie non è necessario conoscere l'intero insieme di lightpath, come è invece indispensabile per un qualsiasi algoritmo di graph coloring (i nodi del grafo sono infatti proprio i lightpath). Ecco perché esse sono presentate nel paragrafo riguardante il problema di RWA dinamico. 108

123 Capitolo 2: Routing e Wavelength Assignment considerazione lo stato corrente della rete 1. Dunque è indispensabile che la sua complessità sia polinomiale nella dimensione del grafo. Il problema di RWA dinamico può formularsi come segue: Data una topologia di rete e un insieme di richieste di connessione non note a priori, trovare l'instradamento e la/e lunghezza/e d'onda per il maggior numero possibile di lightpath, in modo tale che sia ottimizzata una data funzione obiettivo. Nel problema di RWA dinamico accoppiato cambia la natura intrinseca di soluzione ottima 2, non essendo note a priori le richieste di connessione che arriveranno. Ciò che un algoritmo di RWA dinamico deve fare, quindi, è instradare le connessioni in arrivo nel miglior modo possibile, secondo un qualche criterio stabilito dai creatori dell'algoritmo stesso e teso ad avvicinarsi quanto più possibile alla funzione obiettivo scelta: solitamente, nel caso dinamico, la funzione obiettivo è di minimizzare la probabilità di blocco della rete 3. Vi sono, come abbiamo visto, due approcci per risolverlo: quello di trattarlo come un problema unico e quello di trattarlo come due problemi separati per tentare di ridurne la complessità RWA dinamico accoppiato Il problema di RWA dinamico accoppiato può essere risolto costruendo un modello di grafo detto layered graph e applicando su di esso un algoritmo di 1 Si può anche risolvere il problema di RWA dinamico usando un semplice algoritmo di routing statico per la parte di instradamento, tuttavia avrebbe una performance decisamente bassa. 2 Non esiste più una soluzione ottima intesa nel senso comune del termine, ma esistono un insieme di soluzioni ottimali: soluzioni, cioè, vicine alla soluzione ottima del corrispondente problema di RWA statico accoppiato. Infatti, non essendo note a priori le richieste di connessione, la soluzione trovata dall'algoritmo di RWA dinamico dipenderà fortemente dalla sequenza di arrivo delle richieste di connessione. 3 Ovvero minimizzare il numero di richieste di connessione rifiutate. 109

124 Capitolo 2: Routing e Wavelength Assignment shortest paths [Zhang]. Vediamo come viene costruito il layered graph. Consideriamo il grafo G in Figura 2.2: Figura 2.2: Grafo G rappresentante la topologia fisica della rete. Supponiamo che la rete rappresentata in figura utilizzi la tecnologia WDM su w canali per ciascuna fibra; in particolare supponiamo che w sia uguale a 2, dunque ciascuna fibra può inviare dati su 2 canali diversi, corrispondenti alle lunghezze d'onda λ 1 e λ 2. Per rappresentare logicamente il grafo della rete si costruisce un layered graph LG siffatto: si replica il grafo G w volte, una per ciascuna lunghezza d'onda. Ciascuna replica del grafo rappresenta il livello i-esimo del grafo LG e corrisponde alla topologia del grafo G raggiungibile usando la sola lunghezza d'onda λ i. In questo caso, essendo w = 2 si creano due livelli di grafo. Inoltre, per ogni nodo n in G, si aggiungono due nodi fittizi s n e d n : si collega il nodo s n ai w nodi n (dei livelli 1, 2,..., w) con un arco orientato uscente da s n ; si collega il nodo d n ai w nodi n (dei livelli 1, 2,..., w) con un arco orientato entrante in d n, così come mostrato in Figura

125 Capitolo 2: Routing e Wavelength Assignment Figura 2.3: Layered Graph LG corrispondente al grafo G con WDM pari a 2 su tutti i link di fibra. Nel grafo LG i pesi degli archi potrebbero essere assegnati in molti modi diversi, a seconda dell'algoritmo di RWA che si utilizza. Se l'interesse principale è sul tempo di propagazione, i costi potrebbero essere una funzione della lunghezza fisica dei link; oppure, i costi degli archi potrebbero essere i costi di realizzazione dei singoli link; o ancora, possiamo assegnare a tutti i link costo 1 se vogliamo minimizzare il numero di link che i lightpaths attraversano. Sarebbe desiderabile che i costi fossero assegnati dinamicamente a seconda dello stato corrente della rete (come ad esempio la percentuale di utilizzo di un link o la disponibilità di una determinata risorsa su di un link) e ricalcolati dopo ogni ogni connessione. Se un nodo n del grafo G ha la capacità di conversione di lunghezza d'onda, ad esempio da λ i a λ j si può inserire un link che collega il nodo n del livello i-esimo con il nodo n del livello j-esimo e si può associare a questo link un costo dipendente dal costo di conversione della lunghezza d'onda. Il problema di RWA potrebbe essere risolto a questo punto applicando un 111

126 Capitolo 2: Routing e Wavelength Assignment semplice algoritmo di shortest-paths sul grafo LG. Il metodo del layered graph appena presentato è solo un modo di vedere il problema. Nel presente lavoro è presentata (Capitolo 3) una tecnica alternativa a questa che costruisce un multigrafo associando a ciascun arco un costo dato da una opportuna funzione di costo (ricalcolato ogni volta che lo stato della rete cambia) e applica su di esso un algoritmo di k-shortest paths trovando i k percorsi migliori e tra questi percorsi sceglie quello che risulta essere il migliore in base ad una particolare funzione di bontà. La rappresentazione a multigrafo è inoltre più efficiente rispetto alla rappresentazione con layered graph. Consideriamo infatti un grafo G = (V, E) con V = n vertici, E = m fibre e WDM = w. Il layered graph sarà costituito da (w n + 2n) nodi 1 e da (w m + 4nw) archi 2, mentre il multigrafo sarà costituito solo da n nodi e (w m) archi, con un evidente risparmio in termini di complessità RWA dinamico disaccoppiato Il problema di RWA dinamico disaccoppiato viene risolto in due passi. Quando viene ricevuta una richiesta di connessione, viene lanciato l'algoritmo di routing che trova (se esiste) un percorso nella rete dalla sorgente alla destinazione. Successivamente, viene lanciato l'algoritmo di wavelength assignment per assegnare le lunghezze d'onda su ogni tratto del lightpath trovato al passo precedente. L'assegnamento delle lunghezze d'onda è effettuato seguendo delle strategie che sono presentate nel Paragrafo 4. Si noti che in questo caso, a differenza di RWA statico disaccoppiato, il sotto-problema di wavelength assignment non può 1 È necessario rappresentare un nodo per ciascun livello(w n), più 2n nodi fittizi. 2 È necessario rappresentare w volte ciascun arco (w m), più una coppia di archi per ciascun nodo fittizio per ciascun livello (4n w). 112

127 Capitolo 2: Routing e Wavelength Assignment essere risolto mediante la colorazione del grafo perché non è noto a priori l'insieme delle richieste di connessione che arriveranno. 113

128 Capitolo 2: Routing e Wavelength Assignment 3. Algoritmi di Routing Esistono alcune proprietà che sono desiderabili in un qualunque algoritmo di routing: correttezza, semplicità, robustezza, stabilità, imparzialità e ottimalità [Tan96]. La correttezza è una proprietà ovvia, che non richiede alcuna spiegazione. La semplicità è necessaria perché l'algoritmo deve svolgere il suo lavoro nel minor tempo possibile; inoltre un algoritmo semplice rende più facile prevedere lo stato della rete e ne facilita il debugging. Il bisogno di robustezza può essere meno evidente di quanto sembri. Quando viene realizzata una rete importante, ci si può attendere che continui a funzionare per anni senza guasti globali. Durante questo periodo ci saranno guasti hardware e software di ogni tipo. Host, router e canali si guasteranno e riprenderanno a funzionare ripetutamente, e la topologia cambierà diverse volte. L'algoritmo di routing dovrebbe essere in grado di affrontare cambiamenti nella topologia e nel traffico senza richiedere di abortire tutti i processi in tutti gli host e di far ripartire la rete tutte le volte che qualche router si guasta. La stabilità è un altro obiettivo importante per un algoritmo di routing. Esistono algoritmi di routing che non convergono mai ad un equilibrio, per quanto a lungo possano essere eseguiti. Imparzialità e ottimalità possono suonare scontati sicuramente nessuno si opporrebbe ad essi ma, come risulta, sono spesso obiettivi contraddittori. Come semplice esempio di questo conflitto, si osservi la Figura 2.4 in cui è rappresentata la ben nota topologia detta a parking lot o a fishbone. Si supponga che vi sia la stessa quantità di traffico tra i nodi A e A', B e B', C e C', X e X'. Per massimizzare il flusso totale, il traffico da X a X' dovrebbe essere tagliato fuori completamente. Purtroppo, X e X' possono non essere d'accordo. Evidentemente è necessario qualche compromesso tra efficienza globale e imparzialità verso connessioni individuali. Come compromesso, molte reti cercano di minimizzare il numero di salti che un pacchetto deve attraversare, in quanto ridurre il numero di salti tende a far diminuire i ritardi e quindi a 114

129 Capitolo 2: Routing e Wavelength Assignment ridurre la quantità di banda consumata, che porta a migliorare anche la capacità totale della rete. Figura 2.4: Conflitto tra imparzialità ed ottimalità. Gli algoritmi di routing si dividono in statici e dinamici, a seconda del tipo di informazioni che prendono in considerazione per calcolare i percorsi di routing. Per instradare le richieste di connessione, gli algoritmi di routing statici usano solo le informazioni sulla rete che non cambiano nel tempo, come le informazioni sulla topologia della rete. Gli algoritmo di routing dinamici, invece, usano anche informazioni sullo stato corrente della rete, come il carico corrente dei link. A seconda di quando è effettuato il calcolo dei percorsi di routing, gli algoritmi si suddividono (alternativamente alla divisione precedente) in algoritmi offline e online. Negli algoritmi di routing offline il calcolo dei percorsi di routing è precalcolato per ciascuna richiesta di connessione possibile. Quando arriva una nuova richiesta di connessione, essa viene semplicemente instradata lungo il percorso trovato offline. Negli algoritmi di routing online, invece, il calcolo dei percorsi di routing è effettuato all'arrivo una nuova richiesta di connessione. In questo modo è possibile tenere in considerazione lo stato corrente della rete al fine di instradare la connessione il percorso correntemente migliore. E' chiaro che un algoritmo di routing online può essere statico solo se si 115

130 Capitolo 2: Routing e Wavelength Assignment conosce in anticipo l'insieme delle richieste di connessione e il momento in cui queste arrivano. D'altra parte, un algoritmo di routing offline avrebbe poco senso ad essere realizzato come dinamico, in quanto con un algoritmo che prende in considerazione solo informazioni statiche circa la rete, non è necessario aspettare che una richiesti si presenti per scegliere il percorso migliore. Dunque, gli algoritmi di routing che trovano applicazioni di maggior interesse sono gli statici offline e i dinamici online. Come si vede dalla Figura 2.5, sia gli algoritmi statici che quelli dinamici hanno motivo di esistere, ma in porzioni differenti della rete. Figura 2.5: Routing statico e dinamico Routing statico offline Gli algoritmi di routing statici offline trovano la loro applicazione prevalentemente in reti in cui vi è essenzialmente una sola strada per andare dalla sorgente alla destinazione oppure per reti con poco traffico o basso profilo prestazionale. Appartengono a questa categoria gli algoritmi così detti di fixed routing. Vediamo come funzionano. 116

131 Capitolo 2: Routing e Wavelength Assignment Fixed routing Il modo più semplice di instradare una connessione è di scegliere un percorso fissato [Gai95] per una data coppia sorgente-destinazione. Generalmente, è usato l'approccio del fixed shortest path routing, ovvero lo shortest path per ogni coppia sorgente-destinazione è computato offline (in anticipo rispetto all'arrivo della connessione) usando un algoritmo standard di shortest path, come l'algoritmo di Dijkstra o l'algoritmo di Bellman-Ford. Quando la richiesta di connessione arriva, il lightpath è instradato usando il percorso precomputato. Ovviamente lo svantaggio di questo approccio è che le decisioni di routing sono fatte senza prendere in considerazione lo stato corrente della rete: ciò potrebbe portare a situazioni in cui alcuni link della rete sono sovraccaricati e altri sottoutilizzati, con un probabile conseguente blocco della rete [Zhang] Routing dinamico online Gli algoritmi di routing dinamici online sono i più diffusi in reti reali. L'informazione basilare necessaria ad un qualsiasi algoritmo di routing online per prendere le decisioni sulla selezione del percorso è lo stato corrente della rete. Questa informazione comprende la conoscenza della topologia della rete e della disponibilità delle risorse al fine di ottemperare ad eventuali requisiti di Qualità del Servizio (Quality of Service, QoS). Ogni cambio nello stato della rete dovrebbe essere individuato e disseminato a tutti i router appartenenti allo stesso Autonomous System (AS) e anche propagato attraverso i confini dell'as finché tutti gli AS siano stati informati circa il cambiamento. La causa principale per un cambiamento di stato è la variazione della disponibilità di una risorsa, dato che i cambiamenti nella topologia sono meno frequenti. La grande quantità di informazioni che bisogna scambiarsi per essere sempre a conoscenza dello stato della rete può compromettere la scalabilità degli algoritmi di routing. Ci sono due approcci: 117

132 Capitolo 2: Routing e Wavelength Assignment 1. ridurre la frequenza degli aggiornamenti sullo stato della rete; 2. ridurre i dettagli sugli aggiornamenti (aggregare le informazioni sullo stato della rete). L'onere di diffondere queste informazioni sullo stato corrente della rete è affidato al protocollo di routing utilizzato Fixed Alternate Routing Questo approccio rappresenta una versione migliorata e online del fixed routing. L'instradamento di una richiesta è scelto tra una lista di percorsi predeterminati. Quando arriva una richiesta di connessione, il nodo sorgente deciderà la migliore strada da una lista di strade candidate pre-calcolate offline, da cui la parola fixed e instraderà il lightpath sul percorso scelto. La migliore strada è decisa valutando una qualche metrica, come il numero di hop. Questo approccio riduce la probabilità di blocco della rete rispetto al fixed routing. E' stato valutato che avere a disposizione già due soli percorsi alternativi per una fissata coppia sorgente-destinazione riduce significativamente la probabilità di blocco rispetto ad una soluzione con una full wavelength conversion ad ogni nodo (molto costoso!) ma con fixed routing [Zhang] Adaptive Routing Il percorso da una sorgente ad una destinazione è determinato in base allo stato corrente della rete. Lo stato corrente della rete è dato dalla conoscenza di tutte le connessioni che sono correntemente attive. Una forma tipica di adaptive routing è l'adaptive shortest-cost-path routing. Quando una richiesta di connessione arriva, la sorgente calcola lo shortest-path per la connessione in base allo stato della rete (valutando quindi i costi correnti degli archi, costi che 118

133 Capitolo 2: Routing e Wavelength Assignment variano col tempo in base allo stato della rete). Se nessun percorso è disponibile, la richiesta sarà bloccata. Il vantaggio dell'adaptive routing sui due precedenti approcci è evidente: esso riduce la probabilità di blocco della rete, ma necessita che ciascun nodo conosca lo stato corrente della rete [Zhang]. Negli algoritmi di routing adattivo, le tabelle di instradamento dipendono dalle informazioni raccolte sulla topologia della rete, sul costo dei cammini e sullo stato degli elementi di rete che compongono la rete stessa. Gli algoritmi adattivi possono essere centralizzati (in un unico punto della rete vengono raccolte e analizzate tutte le informazioni, e calcolate le tabelle), isolati (ogni router è indipendente dagli altri) o distribuiti (i router cooperano al calcolo delle tabelle). Routing adattivo centralizzato Il routing adattivo centralizzato [Gai95] presuppone l'esistenza di un RCC (Routing Control Center) che conosce la topologia della rete, riceve da tutti i nodi informazione sul loro stato e su quello dei collegamento, calcola le tabelle di instradamento e le distribuisce. E' un metodo che consente una gestione della rete molto accurata, in quanto permette di calcolare le tabelle anche con algoritmi molto sofisticati, ma implica l'esistenza di un unico gestore, ipotesi questa molto spesso non realistica. Il RCC, per ragioni di affidabilità, deve essere duplicato e la porzione di rete intorno ad esso è soggetta ad un elevato volume di traffico di servizio: informazioni di stato che arrivano al RCC e tabelle di instradamento che escono dal RCC. In caso di guasti gravi possono verificarsi situazioni in cui il RCC perde il contatto con una parte della rete e si verificano quindi degli aggiornamenti parziali che possono determinare situazioni di loop. 119

134 Capitolo 2: Routing e Wavelength Assignment Routing adattivo isolato Il routing adattivo isolato [Gai95] è l'opposto di quello centralizzato, visto che non solo non esiste un RCC, ma ogni Intermediate System (IS 1 ) calcola in modo indipendente le proprie tabelle di instradamento senza scambiare informazioni con gli altri IS. Esistono due algoritmi di routing isolato riportati in letteratura: hot potato e backward learning. Il primo è famoso solo per il suo nome simpatico. Ogni IS considera un pacchetto ricevuto come una patata bollente e cerca di liberarsene nel minor tempo possibile, ritrasmettendo il pacchetto sulla linea con la coda di trasmissione più breve. Il metodo backward learning è invece usato per calcolare le tabelle di routing. L'IS acquisisce una conoscenza indiretta della rete analizzando il traffico che lo attraversa: se riceve un pacchetto proveniente dal nodo A sulla linea L3, il backward learing impara che A è raggiungibile attraverso la linea L3. E' possibile migliorare il backward learning inserendo nell'header del pacchetto un campo di costo inizializzato a zero dalla stazione mittente ed incrementato ad ogni attraversamento di un IS. In tale modo gli IS possono mantenere più alternative per ogni destinazione, ordinate per costo crescente. Il limite di questo metodo consiste nel fatto che gli IS imparano solo le migliorie e non i peggioramenti nello stato della rete; infatti, se cade un link e si interrompe un cammino, semplicemente non arrivano più pacchetti da quel link, ma non giunge all'is nessuna informazione che il cammino non è più disponibile. Per tale ragione occorre limitare temporalmente la validità delle informazioni presenti nelle tabelle di instradamento: ad ogni entry viene associata una validità temporale che viene inizializzata ad un dato valore ogni volta che un pacchetto in transito conferma l'entry, e decrementata automaticamente con il passare del tempo. Quando la validità temporale di una entry giunge a zero, questa viene invalidata ed eliminata dalla tabella di instradamento. Qualora all'is giunga un pacchetto per una destinazione ignota, l'is ne fa il flooding 2 su 1 Termine OSI che indica u nodo (tipicamente un router) che ha la capacità di instradare messaggi verso altri nodi a livello 3 della pila ISO/OSI. 2 Fare il flooding di un pacchetto vuol dire inoltrarlo su tutte le linee di uscita. 120

135 Capitolo 2: Routing e Wavelength Assignment tutte le linee di uscita. Routing adattivo distribuito Il routing adattivo distribuito [Gai95] è indubbiamente la classe di algoritmi di routing adattivi di maggior interesse. Esso si pone come una scelta di compromesso tra i due precedenti: non esiste un RCC, ma le sue funzionalità sono realizzate in modo distribuito da tutti gli IS della rete, che a tale scopo usano un protocollo di servizio per scambiare informazioni tra loro ed un secondo protocollo di servizio per scambiare informazioni con gli End System (ES 1 ). Tali protocolli vengono detti di servizio in quanto non veicolano dati utente, che sono gestiti da un terzo protocollo, ma solo informazioni utili al calcolo delle tabelle di instradamento e al neighbor greetings 2. Le tabelle di instradamento vengono calcolate a partire dai due parametri di ottimalità precedentemente descritti: costo e hop. Il costo di ciascuna linea di ciascun router è un parametro che viene impostato dal network manager tramite il software di gestione dei router stessi. Gli algoritmi di routing distribuito sono largamente adottati e si suddividono ulteriormente in due famiglie: algoritmi distance vector e algoritmi link state. Routing adattivo distribuito distance vector (algoritmo di Bellman- Ford): Ogni router mantiene, oltre alla tabella di instradamento {destinazione, hop-count, costo, linea, una struttura dati detta distance vector per ogni linea. Il distance vector associato a ciascuna linea contiene informazioni ricavate dalla tabella di instradamento del router collegato all'altro estremo della linea. La tabella di instradamento è calcolata tramite un processo di fusione 1 Termine OSI usato per indicare un nodo che agisce solamente come una sorgente o destinazione finale di dati dell'utente e che non effettua le funzioni di routing. 2 Tecnica mediante la quale ogni router apprende quali nodi sono ad esso adiacenti. 121

136 Capitolo 2: Routing e Wavelength Assignment (merge) di tutti i distance vector associati alle linee attive di un router. Tutte le volte che un router calcola una nuova tabella di instradamento, la invia agli IS adiacenti (cioè agli IS che sono collegati con un solo link fisico) sotto forma di distance vector. Il distance vector che viene inviato altro non è che le prime tre colonne della tabella di instradamento {destinazione, hop-count, costo. La fusione avviene innanzitutto secondo il criterio di convenienza del costo; a parità di costo secondo il minimo numero di hop e a partià di hop (e costo) con scelta casuale. Quando un router riceve un distance vector da un router adiacente, prima di memorizzarlo, somma 1 a tutti i campi hop-count e il costo della linea da cui ha ricevuto il distance vector a tutti i campi costo. Il vantaggio di questo algoritmo è la facilità di implementazione. Gli svantaggi sono il costo computazionale elevato, compreso tra O(n 2 ) e O(n 3 ); la lenta convergenza ad un instradamento stabile; difficoltà di capirne e prevederne il comportamento su reti grandi poiché nessun nodo ha la mappa completa della rete (si pensi al debugging della rete). L'algoritmo di distance vector è stato usato sulla rete originaria ARPANet, nel protocollo di routing RIP e IGRP. Ora è abbandonato perché considerato troppo inefficiente. Al suo posto si preferisce usare un algoritmo basato sullo stato dei canali ovvero un algoritmo di tipo link state. Routing adattivo distribuito link state (algoritmo di Dijkstra): L'algoritmo di link state assume che ogni IS disponga della mappa completa della rete su cui calcolare gli instradamenti più brevi (rispetto al costo dei link) utilizzando l'algoritmo di Dijkstra. L'algoritmo di Dijkstra realizza quindi un uno shortest-cost-path routing 1. 1 Come è noto, lo SPF soffre del problema del sovraccarico dei percorsi più brevi, che sono sfruttati anche quando ci sarebbe molta banda libera su un percorso più lungo. Ma qui l'algoritmo è dinamico e, in particolare, viene lanciato ad ogni nuova richiesta di connessione, per cui esso viene ricalcolato ogni volta con i nuovi pesi che riflettono lo stato corrente della rete. Dunque, se un percorso si sovraccarica, al successivo lancio di Dijkstra verrà scelto un altro percorso (grazie al fatto che la lunghezza di un percorso è data dal suo costo, ovvero dal carico corrente dei link che compongono il percorso). 122

137 Capitolo 2: Routing e Wavelength Assignment La mappa della rete è costruita direttamente dai router tramite l'utilizzo di appositi pacchetti detti Link State Packet (LSP) che i router si scambiano. Ogni router, tramite protocolli di neighbor greetings, apprende quali nodi sono ad esso adiacenti e lo comunica agli altri router inviando un LSP che descrive tali adiacenze e le relative distanze (in termini di costo). I LSP sono trasmessi in selective flooding a tutti gli IS della rete. Ogni IS contiene un LSP database in cui memorizza il LSP più recente generato da ogni IS, costruendo così la propria mappa della rete. Il LSP database è una rappresentazione del grafo della rete come lista di adiacenze. Si osservi che per definizione il LSP database deve essere esattamente lo stesso su tutti gli IS della rete. Il LSP database, rappresentando la mappa della rete con i costi associati, è l'informazione necessaria e sufficiente affinché un router possa calcolare le sue tabelle di instradamento. Si noti la differenza con il distance vector: in quel caso i router cooperano direttamente per calcolare le tabelle di instradamento, qui i router cooperano per mantenere aggiornata la mappa della rete, poi ogni router calcola la propria tabella di instradamento in modo autonomo. Il calcolo delle tabelle equivale al calcolo dello spanning tree di tipo Shortest Path First e si effettua con l'algoritmo di Dijkstra. Ogni nodo ha, nel proprio LSP database, il grafo pesato della rete e può usarlo per applicarvi l'algoritmo di Dijkstra e calcolare così il percorso più breve da esso ad ogni altro nodo della rete. Calcolando uno spanning tree, per ogni nodo della rete l'algoritmo calcola esattamente un solo percorso fino a quel nodo. Esiste una variante dell'algoritmo che calcola i k percorsi più brevi, ed è il k-shortest path first; è necessario poi un criterio per scegliere quale dei k percorsi utilizzare per instradare la connessione. Ciascun nodo lancia l'algoritmo di Dijkstra con radice differente dagli altri, e uguale a se stesso. Al termine dell'esecuzione dell'algoritmo, 123

138 Capitolo 2: Routing e Wavelength Assignment ciascun nodo avrà costruito la propria tabella di forwarding {destinazione, linea, costo che indica, per ciascun nodo destinazione, qual è la linea (quindi la porta di uscita verso cui instradare il pacchetto) più breve per raggiungerlo e qual è il costo complessivo per raggiungere la destinazione. La complessità dell'algoritmo di Dijkstra è pari a O( E * log( N )), con E insieme degli archi e N insieme dei nodi. L'algoritmo è dunque abbastanza efficiente. Protocolli di tipo link state sono usati nei protocolli di routing IS-IS 1 e OSPF 2. Esso può gestire reti di grandi dimensioni ( nodi), ha convergenza rapida, difficilmente genera loop (che comunque è in grado di identificare e interrompere facilmente), ed è facile da capire e prevedere (utile nel debugging) perché ogni nodo contiene l'intera mappa della rete. Gli svantaggi sono invece nella difficoltà di programmazione e nella necessità di meccanismi speciali per gestire le LAN Algoritmi di Routing con garanzie QoS Come abbiamo detto all'inizio del paragrafo sugli algoritmi di routing adattivi (Paragrafo 3.2), vi possono essere una serie di vincoli QoS da onorare quando si instrada una connessione. Ad esempio, si può avere un vincolo sul massimo ritardo di trasmissione di un pacchetto, sull'ampiezza di banda a disposizione per una connessione, sul numero di pacchetti persi, ecc. Tutti questi vincoli vanno tenuti in considerazione dagli algoritmi e dai protocolli di routing e rientrano sotto il nome di vincoli di Quality of Service (QoS). Per gli algoritmi di routing QoS si richiede in aggiunta che i percorsi scelti per l'instradamento abbiano risorse sufficienti a garantire i requisiti QoS richiesti. 1 Nell'architettura di rete OSI, IS-IS è il protocollo di livello Rete per il calcolo delle tabelle di instradamento all'interno di un dominio. 2 Open Shortest Path First: protocollo di tipo link state per il calcolo delle tabelle di instradamento usato nell'architettura di rete TCP/IP. 124

139 Capitolo 2: Routing e Wavelength Assignment Si può assumere che tutti i requisiti QoS possano essere ridotti a vincoli sull'ampiezza di banda e dunque gli algoritmi di routing saranno degli algoritmi constrained, ovvero i percorsi che troveranno saranno vincolati a rispettare i vincoli imposto Algoritmi di routing reali Presentiamo in questo paragrafo una carrellata dei più diffusi algoritmi di routing usati su reti reali MinHop Algorithm (MHA) L'algoritmo MHA instrada lungo il percorso più breve in termini di numero di hop. L'algoritmo di MinHop è decisamente il più semplice algoritmo di routing, e questo è il suo grande vantaggio: la semplicità. Tuttavia presenta dei lati negativi molto forti: poiché una connessione verrà sempre instradata lungo il percorso più breve dalla sorgente alla destinazione, questo percorso può venir presto saturato, anche quando vi sono percorsi alternativi dalla sorgente alla destinazione, portando ad una situazione di forte sbilanciamento del carico della rete che ha come conseguenza il blocco di un gran numero di connessioni Minimum Residual Capacity (MinRC) L'algoritmo MinRC instrada lungo il percorso più breve in termini di capacità residua. Ovvero instrada lungo il percorso che complessivamente ha la maggior capacità residua dei link che lo compongono. E' uno shortest-cost path su di un grafo pesato in cui i pesi degli archi sono inversamente proporzionali alla banda residua degli archi stessi. 125

140 Capitolo 2: Routing e Wavelength Assignment Widest Shortest Path Algorithm (WSP) L'algoritmo WSP è simile a MinHop, ma lo migliora: se ci sono molti percorsi a parità di numero (minimo) di hop, sceglie quello con massima banda residua. Ovvero, tra tutti i percorsi più corti, sceglie quello con banda residua massima. La banda residua di un percorso è data dalla capacità residua del link più carico del percorso Shortest Widest Path Algorithm (SWP) L'algoritmo SWP si colloca all'opposto di WSP; tra tutti i percorsi con banda residua massima, sceglie quello più breve in termini di numero di hop. Favorisce il load balancing del carico della rete Minumum Interference Routing Algorithm (MIRA) L'algoritmo MIRA sceglie il percorso che meno interferisce con i probabili futuri percorsi. Ad ogni richiesta di connessione, viene calcolata una lista di possibili connessioni future e viene scelto il percorso che meno interferisce con queste. Tuttavia considera i futuri percorsi tutti egualmente probabili, non considerando che alcune coppie di nodi sorgente-destinazione possono generare molto più traffico rispetto ad altre, e quindi i percorsi che i collegano i due nodi potrebbero essere molto più carichi di altri. MIRA introduce il concetto di inteferenza e di link critico: un link che se usato fa diminuire la banda residua massima di un qualsiasi percorso che passi per quel link. Ogni percorso avrà il suo link critico (quello con banda residua minima, ovvero quello che dà al percorso la sua banda residua massima). MIRA usa gli algoritmi di shortest path su grafo pesato per calcolare il percorso. Esso genera un grafo pesato in cui i pesi dei link critici aumentano all'aumentare della criticità del link in considerazione. In questo modo, la scelta di un percorso che contenga un link 126

141 Capitolo 2: Routing e Wavelength Assignment critico è rimandata il più possibile Virtual Flow Deviation (VFD) L'algoritmo VFD [Cap03] è simile per certi versi al MIRA, ma lo migliora considerando anche le informazioni statistiche sul traffico generato in passato dai nodi per calcolare le probabili richieste di connessioni future. Le informazioni statistiche di cui fa uso VFD sono facili da misurare, dunque esso rappresenta una valida alternativa al MIRA Dynamic Routing with Partial Information (DR-PI) Lo scopo dell'algoritmo di DR-PI è quello di ottimizzare l'uso della banda. Ha meccanismi di protezione da guasti. Esso però usa un algoritmo di PLI computazionalmente complesso. Inoltre, rifiuta le connessioni senza troppo preoccuparsi del numero di connessioni rifiutate. Un miglioramento del DR-PI è rappresentato dal Dynamic Restorable Routing, che aggiunge la protezione locale dei singoli segmenti Profile Based Routing (PBR) L'idea su cui si basa l'algoritmo di PBR [Suri] è quella di considerare profili di traffico e inserire i flussi di dati all'interno di questi profili. In questo modo, PBR è in grado di anticipare il blocco del traffico su gruppi di coppie di nodi ingresso-uscita (mentre MIRA, ad esempio, agisce solo su una coppia alla volta). Il PBR è diviso in due parti: nella prima avviene una computazione del flusso multicommodity effettuata offline, nella seconda avviene una computazione di breadth-first che è effettuata online per ciascuna richiesta di connessione. In questo modo, il grosso della complessità computazionale è relegata alla fase 127

142 Capitolo 2: Routing e Wavelength Assignment eseguita offline (e solo di rado), mentre la computazione online è veloce e quindi può effettivamente essere lanciata ad ogni arrivo di una nuova richiesta di connessione. Nel PBR non è previsto un trattamento esplicito del fault recovery. 128

143 Capitolo 2: Routing e Wavelength Assignment 4. Algoritmi di Wavelength Assignment Un algoritmo di wavelength assignment si occupa assegnare le lunghezze d'onda ad un dato lightpath, in modo da perseguire un qualche criterio di ottimalità (come ridurre il numero di lunghezze d'onda usate o ridurre la probabilità di blocco della rete). Per poter funzionare, un algoritmo di wavelength assignment dovrà ovviamente conoscere quali sono le lunghezze d'onda correntemente libere e quali i nodi con capacità di conversione di lunghezza d'onda lungo il lightpath. Vi sono in letteratura alcuni ben noti algoritmi di assegnazione delle lunghezze d'onda, e la ricerca ne produce continuamente di nuovi [Zhang]. Analizziamo i più importanti nel seguito Static Assignment In questo schema si stabilisce offline le lunghezze d'onda da assegnare per ogni possibile lightpath della rete Random Assignment In questo schema, viene assegnata una lunghezza d'onda scelta casualmente tra quelle disponibili nel nodo corrente First Fit In questo schema, si assume che tutte le lunghezze d'onda siano numerate. La lunghezza d'onda scelta è quella con identificativo più basso. Questa strategia 129

144 Capitolo 2: Routing e Wavelength Assignment tende ad usare maggiormente le lunghezze d'onda con identificativi piccoli il che può essere un problema perché ciò potrebbe innalzare la probabilità di blocco della rete ove non ci siano convertitori di lunghezze d'onda Least Used / Spread In questo schema, si sceglie la lunghezza d'onda che è meno usata nella rete. L'idea alla base di questo criterio è quella di bilanciare il carico della rete tra tutte le lunghezze d'onda. Questo schema introduce un overhead di comunicazione necessario per collezionare informazioni globali e calcolare la lunghezza d'onda meno usata Most Used (MU) / Pack Al contrario di LU, in questo schema si sceglie la lunghezza d'onda che è la più usata nella rete. Esso si basa sull'idea di conservare il maggior numero possibile di lambda libere per le successive richieste di connessione. L'overhead di comunicazione per MU è lo stesso di LU Least-Loaded (LL) In questo schema viene scelta la lunghezza d'onda che ha la massima capacità residua sul link più carico del lightpath. 130

145 Capitolo 2: Routing e Wavelength Assignment 4.7. Round Robin In questo schema, le lunghezze d'onda sono indicizzate e l'algoritmo di assegnazione inizia con l'assegnare la lunghezza d'onda disponibile con identificativo più basso. Quando arriva una successiva richiesta di connessione allo stesso nodo di prima, viene scelta la lunghezza d'onda con indice successivo a quello precedentemente scelto, e così via. La prima lunghezza d'onda è riassegnata nuovamente (se disponibile) dopo che tutte le lunghezze d'onda sono state assegnate. Si cerca quindi di utilizzare quanto più possibile tutte le lunghezze d'onda disponibili in tutti i nodi della rete, in modo da minimizzare la probabilità di blocco. In confronto con gli altri schemi di assegnazione, questo schema sembra fornire i migliori risultati minimizzando il numero di richieste rifiutate [Bijja02]. 131

146 Capitolo 2: Routing e Wavelength Assignment 5. Conclusioni Il problema del Routing e Wavelength Assignment (RWA) è un problema che si pone in tutte le reti ottiche con tecnologia di Wavelength Division Multiplexing (WDM). Esso può presentarsi in due versione: statica o dinamica. Nella versione statica, l'insieme delle richieste di connessione che arriveranno nella rete è completamente noto a priori. Nella versione dinamica, non si ha alcuna conoscenza circa le richieste di connessione che arriveranno. Sia nella versione statica che in quella dinamica, si può considerare il problema del Routing e Wavelength Assignment come un unico problema (RWA accoppiato) o come due problemi distinti (RWA disaccoppiato). Tipicamente, la versione disaccoppiata è più facile da risolvere, ma la versione accoppiata dà risultati migliori. Il problema di RWA è un problema computazionalmente difficile. Esso appartiene all'insieme dei problemi NP-completi. Per ridurre la complessità del problema, si usano euristiche che trovano in tempo polinomiale una soluzione sub-ottima al problema senza garanzie circa la qualità della soluzione trovata. In questo lavoro (Capitolo 3) è presentato un innovativo algoritmo di Routing e Wavelength Assignment per risolvere il problema di RWA dinamico accoppiato. 132

147 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. CAPITOLO 3 3 Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 1. Introduzione In questo capitolo presentiamo un nuovo Algoritmo di Routing e Wavelength Assignment. Chiameremo questo algoritmo con il nome di S.P.A.R.K. che sta per Smart Parametric Adaptive Routing and wavelength assignment algorithm based on K-shortest-paths. Si tratta di un innovativo algoritmo di RWA dinamico, parametrico e basato sul K-Shortest Paths. Esso funziona su una rete costituita da un insieme di nodi e un insieme di fibre. Ogni fibra è collegata esattamente ad una coppia di nodi, e ci possono essere anche molte fibre che collegano la stessa coppia di nodi. Ogni fibra è indipendente dalle altre per 133

148 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. capacità di trasporto 1 e per grado di multiplazione WDM 2 che utilizza. Ciascuna lunghezza d'onda può avere una capacità di trasporto diversa da quella delle altre lunghezze d'onda appartenenti alla stessa fibra. La capacità di trasporto è espressa in Optical Carrier levels 3 (OC-x). Ad esempio, una fibra che usa il WDM con 4 lunghezze d'onda, avrà 4 canali indipendenti, ciascuno con la propria capacità di trasporto. I nodi possono essere di due tipi: con funzionalità di conversione di lunghezze d'onda e senza capacità di conversione. I nodi che possono effettuare la conversione sono OXC con convertitori di tipo full: possono convertire da ogni λ ad ogni λ. Inoltre, se un OXC ha capacità di conversione di lunghezza d'onda, si assume che esso possa convertire su tutte le linee collegate all'oxc. Le richieste di connessione che giungono alla rete sono del tipo [ sorgente, destinazione, banda ] quindi specificano, oltre al nodo sorgente e a quello destinazione della connessione, anche un SLA 4 sulla banda. Si suppone che ogni nodo della rete abbia la medesima probabilità degli altri ad essere scelto come sorgente o destinazione di un percorso: le richieste di connessione si possono quindi supporre come equidistribuite tra tutti i nodi della rete. Le connessioni possono essere onorate o bloccate dalla rete. Se le connessioni sono onorate, esse rimangono nella rete per un tempo (detto holding time) indeterminato o comunque non noto a priori. Ai fini della misura delle prestazioni dell'algoritmo proposto, si considerano connessioni permanenti, ovvero connessioni che, una volta instradate nella 1 Per capacità di trasporto si intende la velocità (in Mbps) con cui è possibile trasportare i dati nel canale. 2 Con grado di multiplazione WDM si intende il numero di lunghezze d'onda in cui è stata divisa la banda della fibra, e quindi numero massimo di canali che è possibile avere sulla fibra. 3 Unità di misura della velocità delle reti ottiche di tipo SONET. 4 Service Level Agreement: un SLA è un contratto tra il fornitore di sevizi di rete (NSP, Network Service Provider) e il cliente, che specifica, in termini misurabili, cosa il NSP fornirà al cliente. In questo caso, l'sla è sulla banda associata alla connessione. 134

149 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. rete, vi rimangono per sempre. In questo modo la valutazione delle prestazioni dell'algoritmo è misurata conteggiando il numero di richieste di connessione onorate a fronte del numero totale di richieste ricevute al variare del carico della rete. Tramite una simulazione su varie topologie di reti, viene misurata e rappresentata attraverso grafici la probabilità di blocco della rete, ovvero la probabilità che una richiesta venga rifiutata dalla rete. La probabilità di blocco è misurata in corrispondenza di determinati valori del numero totale di richieste di connessione ricevute. Minore è la probabilità di blocco, migliori sono quindi le prestazioni dell'algoritmo. L'algoritmo S.P.A.R.K. ha prestazioni praticamente sempre migliori rispetto agli algoritmi di Minimum Hop Algorithm (MHA) e Minimun Residual Capacity (MinRC). Nei rari casi ove si è riscontrato un miglior risultato di uno degli altri algoritmi, è stato possibile ottenere nuovamente prestazioni migliori dall'algoritmo S.P.A.R.K. semplicemente variandone i parametri (k e khop). Per una descrizione approfondita si consulti il Paragrafo 3 alla fine di questo capitolo. Si assume che in ogni istante ciascun router disponga dello stato corrente della rete. Ad ogni nuova connessione instradata nella rete, lo stato della rete cambia: in particolare, cambia la banda residua disponibile sui link attraversati dal percorso scelto per la connessione. Si assume che questo cambiamento dello stato della rete sia immediatamente visibile a tutti gli altri router della rete. Queste assunzioni sono del tutto lecite perché, al livello di dettaglio in cui si colloca il nostro algoritmo di routing e wavelength assignment, siamo interessati solo alla problematica del routing e wavelength assignment e non a come si diffondano le informazioni sullo stato della rete: esse saranno diffuse dal protocollo di routing sottostante (ad esempio un link state protocol come OSPF o IS-IS) che effettua per noi l'aggiornamento delle tabelle interne dei router che rappresentano lo stato della rete. Nel protocollo link state ciascun 135

150 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. router dispone della mappa completa della rete, compreso il carico dei singoli link: esso ha quindi a disposizione tutte le informazioni di cui necessita per lanciare il nostro algoritmo di RWA. 136

151 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 2. Algoritmo S.P.A.R.K. L'algoritmo S.P.A.R.K. risolve il problema del Routing e Wavelength Assignment accoppiato e dinamico lanciando ad ogni richiesta di connessione un constrained K-Shortest Paths su un multigrafo non orientato e pesato con nodi di due tipi: convertitori e non. I pesi sono assegnati agli archi da una opportuna funzione di costo. La funzione di costo assegna il costo ad un arco in base a due parametri: la banda massima e la banda residua dell'arco. La scelta tra i k percorsi alternativi è effettuata calcolando una funzione di bontà per ognuno dei k percorsi e scegliendo quello di bontà massima su cui verrà instradata la connessione. La funzione di bontà assegna la bontà di ciascun percorso in base ai seguenti parametri: banda residua di ogni arco del percorso sia prima che dopo l'eventuale instradamento della connessione lungo il percorso corrente, banda massima di ogni arco del percorso, numero di hop del percorso. L'algoritmo S.P.A.R.K. si basa sul K-Shortest Paths che utilizza a sua volta una versione modificata dell'algoritmo di Dijkstra. I parametri usati dall'algoritmo sono il k del K-Shortest Paths e il parametro khop che pesa quanto penalizzare un percorso in base al suo numero di hop. Consideriamo la topologia di rete rappresentata in Figura 3.1 che useremo per illustrare l'algoritmo S.P.A.R.K.. Nella rete vi sono cinque nodi e nove fibre. Come è stato detto, vi possono essere anche più fibre che collegano la stessa coppia di nodi: infatti i nodi C ed E sono collegati da due fibre, la fibra 4 e la fibra 5. Ciascuna fibra avrà il suo grado di Wavelength Division Multiplexing, ovvero avrà un certo numero di lunghezze d'onda che possono viaggiare al suo interno. Supponiamo che tutte le fibre abbiano grado WDM pari a 2, eccetto la fibra 4 che ha grado WDM pari a 1 e la fibra 5 che ha WDM pari a

152 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.1: Topologia fisica di una rete. Si vengono a creare dei collegamenti logici tra i nodi che sono rappresentati dai canali instaurati tramite l'uso delle multiple lunghezze d'onda nelle fibre. Ciascuna lunghezza d'onda in un cavo di fibra dà luogo ad un canale di comunicazione tra i nodi collegati dalla fibra stessa. Si è pensato dunque di rappresentare tali canali corrispondenti ciascuno ad una lunghezza d'onda come archi nel grafo, ottenendo così un multigrafo. Un multigrafo altro non è infatti che un grafo in cui ci possono essere più archi tra una qualsiasi coppia di nodi. Gli archi sono non orientati, dato che le lunghezze d'onda rappresentano dei canali bidirezionali (sebbene half-duplex 1 ). Inoltre, come abbiamo detto, alcuni nodi possono avere la capacità di conversione di lunghezza d'onda e altri no. Supponiamo che nella rete i nodi C ed E abbiano la capacità di conversione, mentre tutti gli altri nodi no. Tenendo in considerazione dei canali creati dalle multiple lunghezze d'onda su ciascuna fibra, otteniamo la topologia logica di rete rappresentata in Figura Un canale è half-duplex se i dati possono viaggiare in entrambe le direzioni, ma solo una direzione per volta. 138

153 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. in cui i nodi con capacità di conversione di lunghezza d'onda sono rappresentati con colore diverso. Figura 3.2: Topologia logica corrispondente alla rete precedente. Come si vede, vi è dunque una forte analogia tra lunghezza d'onda, arco del grafo e canale di comunicazione. Useremo il termine arco o lunghezza d'onda o canale per indicare la stessa entità in contesti diversi: un collegamento tra nodi della reti. Talvolta indicheremo tale entità con il nome più generico di link. Ora, come abbiamo detto, ciascuna lunghezza d'onda crea un canale di comunicazione a se stante e indipendente dai canali creati dalle altre lunghezze d'onda sulla stessa fibra. Quindi, ciascun canale avrà la propria capacità di trasporto che potrà essere differente da quella degli altri canali. Inoltre, in un 139

154 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. dato momento, alcuni canali possono essere del tutto liberi, altri parzialmente occupati, mentre altri ancora possono essere totalmente liberi. La capacità di trasporto massima e correntemente libera dei canali la indicheremo in unità corrispondenti ai livelli OC-x (unità di SONET) e indicheremo la capacità di trasporto massima con il termine banda massima e la capacità di trasporto correntemente libera con banda residua. Etichettiamo gli archi del grafo rappresentante la topologia logica con due valori separati da / che interpreteremo come banda_residua/banda_massima dell'arco cui si riferisce l'etichetta. Supponiamo quindi che in un dato momento la rete si trovi in una situazione rappresentata dalla topologia logica in Figura 3.3. Figura 3.3: Topologia logica: per ciascun arco è indicata banda_residua/banda_massima. 140

155 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Come si può osservare dalla figura, alcuni link (archi del grafo) sono del tutto liberi, altri sono parzialmente occupati da connessioni precedentemente instradate nella rete, e altri ancora sono del tutto saturi. E' in un tale contesto che prende le mosse l'algoritmo S.P.A.R.K.. Innanzitutto, quello che si deve fare è assegnare dei costi ai singoli archi. In questo lavoro è stata messa a punto una funzione di costo che associa un costo agli archi in base alla banda_residua e alla banda_massima dell'arco La funzione di costo di S.P.A.R.K. La scelta della funzione di costo è di fondamentale importanza per la riuscita di un buon algoritmo di RWA. Si è giunti alla funzione di costo definitiva effettuando una serie di considerazioni che riportiamo nel seguito. A parere di chi scrive, una buona funzione di costo dovrebbe godere di una serie di proprietà che sono auspicabili da una buona funzione di costo. Un principio guida che ha condotto alla definizione delle seguenti proprietà è il cercare di evitare quanto più possibile di saturare un arco, in quanto un arco saturo rappresenta quanto di peggio possa accadere in una rete. Un arco saturo non potrà mai essere scelto da alcun percorso, e può creare un potenziale isolamento di una intera porzione di rete, con conseguenze evidenti sulla probabilità di blocco delle successive connessioni. Definizione di funzione di costo C. Sia C una funzione di costo a due variabili che mappa banda_residua e banda_massima di un arco nel costo attribuito all'arco: C : Õ Õ C (banda_residua, banda_massima) = costo, 141

156 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. con banda_residua banda_massima. Ricordiamo che le bande sono espresse in unità OC-x e pertanto esse sono numeri naturali. Proprietà auspicabili da una buona funzione di costo C. Le proprietà desiderabili da C sono le seguenti: (P1). C (0, x) = ovvero il costo di un arco con banda residua uguale a 0 deve essere, qualunque sia la banda massima dell'arco. Questa proprietà è alquanto ovvia in quanto un arco con banda_residua uguale a 0 non potrà mai essere attraversato da nessun percorso. (P2). C (x, z) < C (y, z) se x > y. Ovvero, dati due archi con medesima banda_massima, il costo dell'arco con banda_residua maggiore sarà minore del costo dell'arco con banda_residua minore. Ad esempio, C (200, 256) < C (100, 256). Questa proprietà risulta evidente in quanto un arco con maggiore banda_residua verrà statisticamente saturato dopo un arco con minore banda_residua, quindi è da preferirsi nella scelta tra i due. (P3). C (x, y) > C (x, z) se y < z. Ovvero, dati due archi con stessa banda_residua, il costo dell'arco con banda_massima minore deve essere maggiore del costo dell'arco con banda_massima maggiore. Ad esempio, C (24, 48) > C (24, 768). Questa proprietà serve a favorire quei percorsi che, a parità di banda_residua, hanno maggiore banda_massima. Questa scelta è motivata dal fatto che un link con elevata banda_massima saturerà dopo un link con banda_massima minore, e ha più probabilità di vedere aumentare la propria banda_residua a causa di connessioni precedenti che escono dalla rete 1. (P4). C (x, y) π C (w, z) se x/y = w/z e (x π y oppure w π z). Ovvero, se il rapporto tra banda_residua e banda_massima di due archi è lo stesso, ma i due archi hanno banda_residua o banda_massima differenti, allora deve essere differenziato anche il costo attribuito ai due archi. Questa 1 Queste considerazioni sono particolarmente veritiere in un regime di equidistribuzione delle connessioni tra tutti i nodi, come è il nostro. 142

157 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. proprietà potrebbe sembrare a prima vista strana, ma è necessaria per evitare la tentazione di attribuire lo stesso costo a due archi che, sebbene presentino lo stesso rapporto banda_residua/banda_massima, sono in realtà due archi completamente distinti dal punto di vista logico. Se ne comprende facilmente l'utilità con un esempio: il costo C (3, 12) deve essere diverso dal costo C (192, 768) visto che il primo link ha banda_residua quasi esaurita e banda_massima molto piccola in confronto al secondo link che invece ha ancora abbondante banda_residua e elevatissima banda_massima. In questo caso, una giusta funzione di costo attribuirebbe i costi ai due link in modo tale che C (3, 12) > C (192, 768), dato che il costo dovrebbe essere tanto minore quanto maggiore è la banda sia essa residua o disponibile. Questa osservazione ci porta alla formulazione della struttura della funzione di costo. E' evidente dalle proprietà evidenziate che la funzione di costo dovrebbe essere inversamente proporzionale sia alla banda_residua che alla banda_massima. Struttura della funzione di costo C. Sia b r la banda_residua e b m la banda_massima di un arco. Allora si vuole che: C b r,b m 1 b r e C b r,b m 1 b m In generale C avrà la forma: C b r,b m = 1 f b r g b m ovvero C sarà inversamente proporzionale ad una funzione f di b r e ad una funzione g di b m che pesano l'importanza della banda_residua e della banda_massima dell'arco. 143

158 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Ma come scegliere opportunamente le funzioni di peso f e g? Funzioni di peso di banda_residua e banda_massima. Proviamo a scegliere f = g = f 1 con f 1 funzione identità. Sia C la funzione di costo così ottenuta: C' b r,b m = 1 b r b m dove al posto di f e g abbiamo sostituito la funzione identità. Proviamo a calcolare il costo di due archi: arco_1: banda_residua = 2, banda_massima = 2 arco_2: banda_residua = 2, banda_massima = 200 Dati questi due archi, ci si aspetta che la funzione di costo assegni costo maggiore all'arco_1, mentre all'arco_2 assegni un costo minore, data la sua maggiore banda_massima. Calcoliamo i costi: Costo arco_1: C' 2,2 = = 1 4 = 0,25 Costo arco_2: C' 2,200 = = = 0,0025 Effettivamente la funzione di costo (che è inversamente proporzionale sia alla banda_residua che alla banda_massima) ha attribuito un costo maggiore all'arco_1 e un costo minore all'arco_2. Ma di quanto è stato valutato peggiore l'arco_1 rispetto all'arco_2? 144

159 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Calcoliamo il rapporto tra i costi degli archi: C ' 2,2 C' 2,200 = 0,25 0,0025 = 100 otteniamo un valore di 100 ovvero all'arco_1 (b r = 2, b m = 2) viene assegnato un costo che è 100 volte maggiore del costo assegnato all'arco_2 (b r = 2, b m = 200), il che è decisamente sproporzionato. D'altra parte, non sarebbe giusto far pesare allo stesso modo la banda_residua e la banda_massima di un arco, dato che la banda_residua ricopre un ruolo decisamente più importante rispetto alla banda_massima per quanto riguarda la scelta di un percorso piuttosto che di un altro. Vorremmo quindi che all'arco_1 fosse si attribuito un costo maggiore di quello assegnato all'arco_2 così come in effetti fa la funzione di costo C ma vorremmo anche che la differenza tra i costi sia ragionevole se rapportata alle effettive bande residua e massima dei due archi. Se si osserva l'esempio precedente, si può notare che la sproporzione di 100 a 1 è data dal fatto che la banda_massima dell'arco_2 è esattamente 100 volte maggiore della banda_massima dell'arco_1. Vogliamo quindi usare funzioni di peso f e g differenti. Per la funzione f che pesa la banda_residua che si è visto essere la banda più importante nella scelta di un percorso rispetto ad un altro si può continuare ad usare la funzione identità f 1 che non toglie nulla all'informazione contenuta nella banda_residua. Mentre, per la funzione g che pesa la banda_massima, vogliamo utilizzare una funzione che per valori piccoli di banda_massima tolga poco, mentre per valori grandi di banda_massima che sono i valori per cui la banda_massima crea problemi tolga molto. Una tale funzione è senza dubbio la funzione logaritmo. Possiamo usare sia il logaritmo naturale che quello in base 10: scegliamo il logaritmo in base 10 perché con banda_massima espressa in valori di OC-x 145

160 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. fornisce un minor numero di cifre decimali rispetto al logaritmo naturale. Controlliamo l'esempio precedente per avere conferma del nostro ragionamento: Calcoliamo i costi dei due archi con la funzione di costo C'': C'' b r,b m = 1 b r log b m Costo arco_1: C'' 2,2 = 1 2 log 2 = 1 2 0,3 = 1 0,6 = 1,66 Costo arco_2: C'' 2,200 = 1 2 log 200 = 1 2 2,3 = 1 4,6 = 0,22 Calcoliamo il rapporto tra i costi degli archi: C ' ' 2,2 C'' 2,200 = 1,66 0,22 = 7,5 l'arco_1 è 7,5 volte peggiore dell'arco_2, il che è un valore assolutamente ragionevole data la maggiore banda_massima dell'arco_2. Vediamo, a questo punto, se la funzione di costo C soddisfa anche le quattro proprietà indicate precedentemente. 146

161 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. (P1). C (0, x) = Proprietà Esempio Soddisfatta? (P2). C (x, z) < C (y, z) se x > y (P3). C (x, y) > C (x, z) se y < z (P4). C (x, y) π C (w, z) se x/y = w/z e (x π y oppure w π z) C'' 0, x = 1 0 log x = 1 0 = C ' ' 200, 256 =0,002 C ' ' 100,256 =0,004 C ' ' 200,256 C ' ' 100,256 C ' ' 24,48 =0,025 C ' ' 24,768 =0,014 C ' ' 24,48 C ' ' 24,768 C ' ' 3,12 =0,31 C ' ' 192,768 =0,002 C ' ' 3,12 C ' ' 192, 768 SI SI SI SI Funzione di costo C. Tutte le proprietà sono soddisfatte e la funzione fornisce costi ragionevoli per valori di banda_residua e banda_massima: abbiamo individuato la funzione di costo C. Funzione di costo C: C b r,b m = 1 b r log b m Notare che la funzione può essere tranquillamente usata nel calcolatore. La situazione in cui si avrebbe una divisione per 0 può presentarsi in due casi: 1. la banda_residua è pari a 0: in questo caso la situazione è intercettata e al costo è assegnato il valore massimo rappresentabile nel calcolatore; d'altra parte un arco con banda_residua pari a 0 non verrebbe comunque mai scelto dall'algoritmo che è un constrained k-shortest paths e che quindi sceglie solo gli archi che hanno sufficiente banda_residua per soddisfare il vincolo sulla banda specificato nella richiesta di connessione. 2. la banda_massima è pari ad 1: in questo caso il logaritmo darebbe come valore 0. In questa situazione al logaritmo di 1 è assegnato il valore forzato di E' stato scelto questo valore in base alle 147

162 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. considerazioni seguenti: un arco con banda_residua = 1 e banda_massima = 2 avrà costo 1/(1*log2) = 3.3; un arco con banda_residua = 1 e banda_ massima = 3 avrà costo 1/(1*log3) = 2 un arco con banda_residua = 1 e banda_ massima = 4 avrà costo 1/(1*log4) = 1.6 Quindi si ha una successione di costi crescenti man mano che la banda_massima diminuisce. La successione è {1.6, 2, 3.3,... dunque il successivo valore del costo sarà intorno a 6 e il valore da assegnare al log(banda_max) per ottenere un valore di circa 6 sarà ovviamente 1/6 = Questa forzatura è giustificata dal fatto che usiamo la funzione logaritmo al solo fine di sfrondare valori alti della banda_massima e preservare maggiormente i valori bassi; non ci interessano tutte le proprietà della funzione logaritmo. La situazione in cui il logaritmo vale - non può mai presentarsi, in quanto la banda_massima b m non può mai essere pari a 0 - un arco con banda_massima 0 non avrebbe motivo di esistere nel grafo. Ora che è stata individuata la funzione di costo, possiamo procedere con l'assegnazione dei costi agli archi del grafo. Consideriamo sempre il grafo presentato nell'esempio; applicando la funzione di costo a tutti gli archi otteniamo il seguente grafo in cui sono indicati i costi o pesi di ciascun arco (Figura 3.4). 148

163 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.4: Topologia logica: per ciascun arco è indicato il costo ad esso associato dalla funzione di costo C. E' utile osservare che la funzione di costo C assume valori reali che si mantengono sempre strettamente positivi. Essa può essere arbitrariamente piccola (per valori arbitrariamente grandi di banda_residua e banda_massima) ma mai essere zero: d'altra parte ogni arco ha un suo costo seppur minimo per essere attraversato. Dall'altro estremo, C può assumere valore +, che nel calcolatore sarà rappresentato come il massimo valore floating point rappresentabile. Quindi si ha che: 0 < C < + ovvero C (b r, b m ) Œ ]0, + [ " b r 0, b m > 0. E' su un grafo siffatto che andremo ad eseguire il constrained K-Shortest Paths. 149

164 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K Constrained K-Shortest Paths di S.P.A.R.K. Dato un multigrafo non orientato e pesato con i costi dati dalla funzione di costo C, e data una richiesta di connessione siffatta: [ sorgente, destinazione, banda ] il constrained K-Shortest Paths risolve il problema di trovare, se esistono 1, i k percorsi più brevi dal nodo sorgente al nodo destinazione che soddisfano il requisito di banda specificato. Per lunghezza di un percorso, essendo il grafo pesato, si intende naturalmente la somma dei pesi di tutti gli archi che costituiscono il percorso. Il percorso più breve perciò non sarà quello che attraversa il minor numero di hop, ma sarà il percorso il cui costo complessivo è il minore tra tutti. La versione usata dall'algoritmo S.P.A.R.K. del constrained K-Shortest Paths è una versione modificata per lavorare su di un multigrafo con nodi di due tipi: nodi con capacità di conversione di lunghezza d'onda e nodi senza capacità di conversione di lunghezza d'onda (quindi è in grado di gestire correttamente il wavelength continuity constraint). Si è detto che l'algoritmo è un constrained k-shortest paths. La parola constrained sta ad indicare il fatto che un percorso può essere scelto soltanto se lungo tutti i suoi archi vi è abbastanza banda_residua da soddisfare il requisito di banda specificato nella richiesta di connessione. I k percorsi possono essere ricercati come percorsi completamente disgiunti oppure no: S.P.A.R.K. utilizza il K-Shortest Paths che ricerca i k percorsi più brevi non completamente disgiunti. L'algoritmo di K-Shortest Paths di S.P.A.R.K. fa uso dell'algoritmo di Dijkstra, per cui procederemo con il presentare prima l'algoritmo di Dijkstra. 1 Potrebbero non esistere k diversi percorsi: potrebbero esisterne soltanto m, con m < k, o potrebbe addirittura non esisterne alcuno. 150

165 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K Algoritmo di Dijkstra L'algoritmo di Dijkstra che andremo ad usare in S.P.A.R.K. è una versione modificata di quello classico. L'algoritmo di Dijkstra originale risolve il problema di trovare il percorso più breve dalla sorgente a tutti gli altri nodi di un grafo orientato e pesato con pesi non negativi [Corm]. Quello che abbiamo usato qui invece è una versione dell'algoritmo di Dijkstra modificata per lavorare con un multigrafo non orientato 1, pesato con pesi non negativi 2 e con nodi di due tipi: nodi con capacità di conversione di lunghezza d'onda e nodi senza capacità di conversione di lunghezza d'onda. Inoltre, l'algoritmo di Dijkstra è stato adattato per effettuare uno shortest path constrained: il percorso trovato dall'algoritmo di Dijkstra usato da S.P.A.R.K. soddisfa il requisito di banda specificato nella richiesta di connessione; se un tale percorso non esiste 3, la connessione è ovviamente rifiutata. Infine, l'algoritmo di Dijkstra modificato trova solo il percorso minimo dalla sorgente alla sola destinazione, e non a tutti gli altri nodi del grafo come invece fa la versione classica che sarebbe completamente inutile: quando nell'esplorazione del grado viene trovato il nodo destinazione, l'algoritmo di Dijkstra modificato termina ritornando il percorso trovato. I pesi degli archi del grafo sono quindi assegnati dalla funzione di costo di S.P.A.R.K.. 1 Un grafo non orientato può essere visto come un caso particolare di un grafo orientato, per cui l'algoritmo di Dijkstra funziona perfettamente anche su un grafo non orientato come quello che usiamo noi. 2 Come abbiamo osservato, questa assunzione è senz'altro vera per come è fatta la funzione di costo C e per i valori che i suoi argomenti b r e b m possono assumere. 3 Un percorso dalla sorgente alla destinazione può non esistere perché nessuno dei percorsi che collega i due nodi soddisfano il vincolo di banda richiesto dalla connessione. 151

166 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Algoritmo di Dijkstra classico Sia G = (V, E) un grafo orientato e pesato, con V = n e E = m, e sia s un nodo del grafo. L'algoritmo di Dijkstra [Festa, Corm] risolve il problema dei cammini minimi con sorgente singola s e memorizza gli n-1 i cammini minimi da s a tutti gli altri nodi nell'array dei predecessori pred. L'algoritmo usa un array delle distanze dist che memorizza la distanza dei nodi dalla sorgente. Nel seguito riportiamo lo pseudocodice dell'algoritmo di Dijkstra classico. L'algoritmo prende come parametri di input l'insieme V dei vertici del grafo, l'insieme E degli archi del grafo e il nodo s sorgente dei percorsi minimi a tutti gli altri nodi. Algoritmo Dijkstra (V, E, s) // inizializzo le strutture dati 1. dist[ s ] := 0 2. pred[ s ] := s 3. for each i Œ V \ {s { 4. pred[ i ] := 0 5. dist[ i ] := Q := V // ciclo principale 8. while (Q π ) { // estraggo da Q il nodo i a distanza minima da s 9. i := argmin { dist[ k ] per k Œ Q 10. Q := Q \ { i // esploro la stella uscente di i 11. for each j Œ FS(i) { 12. if (dist[ j ] > dist[ i ] + c ij ) { // miglioro la distanza di j da s 13. dist[ j ] := dist[ i ] + c ij 14. pred[ j ] := i // ritorno il percorso trovato 18. return (dist, pred) Nelle linee 1-6 vengono inizializzati gli array pred e dist. Nella linea 7 si inizializza l'insieme Q dei nodi ancora da ispezionare. Inizialmente vengono 152

167 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. posti in Q tutti i nodi del grafo. Nelle linee 8-17 si trova il ciclo principale dell'algoritmo. Finché l'insieme Q dei nodi ancora da ispezionare non è vuoto (linea 8), viene estratto il nodo in Q che ha distanza minima da s (linee 9-10). Sia i tale nodo. Alla linea 11 inizia l'esplorazione della stella uscente del nodo i. La stella uscente del nodo i è l'insieme dei nodi raggiungibili da i attraversando un solo arco, ovvero FS(i)= { j Œ V [i, j] Œ E. Sia j il nodo che si incontra attraversando un arco di i. Se la distanza attuale di j da s è maggiore della distanza da s ad i più il costo dell'arco [i, j] (linea 12), allora il nodo j può essere raggiunto con minore distanza da s seguendo il percorso da s ad i e percorrendo l'arco [i, j]. Se è questo il caso, viene quindi aggiornata la distanza di j da s e l'array dei predecessori. Il ciclo for (linea 11) continua finché non si sono esplorati tutti i nodi appartenenti alla stella uscente del nodo i. Il ciclo while (linea 8) continua finché l'insieme Q non è vuoto. Quando saranno stati esplorati tutti i nodi in Q, il ciclo while termina e viene ritornato l'array delle distanze minime dist e l'array dei predecessori pred che conterrà l'albero dei cammini minimi da s a tutti i nodi del grafo. L'algoritmo di Dijkstra sceglie sempre il vertice in Q più vicino ad s, per cui diremo che esso usa una strategia greedy. L'algoritmo di Dijkstra calcola effettivamente i cammini minimi e per ogni nodo v estratto da Q vale che dist[v] = distanza minima tra s e v [Corm]. Complessità: il ciclo for alla linea 3 costa O(n). Il ciclo while alla linea 8 viene ripetuto O(n) volte. In ciascuna iterazione viene estratto il nodo a distanza minima da s (linea 9), il che richiede O(n) operazioni se l'insieme Q è mantenuto come un array lineare. Ora, ogni vertice v Œ V viene estratto dall'insieme Q esattamente una volta e quindi ogni arco viene esplorato esattamente una volta nel corso dell'algoritmo quando si esplora la stella uscente di v (linea 11). Poiché il numero totale di archi del grafo è m, vi sono esattamente m iterazioni compiute dal ciclo for della linea 11, ognuna delle quali richiede tempo O(1). Quindi, il tempo totale di esecuzione dell'algoritmo è O(n 2 + m) = O(n 2 ). In letteratura esistono diverse implementazioni dell'algoritmo di Dijkstra che differiscono ciascuna per la particolare struttura dati adoperata per 153

168 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. rappresentare l'insieme Q. Una di queste, implementa Q come un heap binario. In tal caso, è necessario innanzitutto costruire l'heap in fase di inizializzazione, il che ha un costo di O(n). Rappresentando Q come un heap, il tempo di estrazione di un nodo da Q avviene in tempo costante O(1), ma ogni volta che viene migliorata la distanza di un nodo j da s, occorre aggiornare nell'heap la posizione di j. La complessità di tale operazione è O(log n). Questa operazione può essere ripetuta nel caso peggiore m volte. Quindi, la complessità totale dell'algoritmo di Dijkstra con l'insieme Q implementato come heap diventa O(mlog n) [Festa, Corm]. Algoritmo di Dijkstra di S.P.A.R.K. Sia G = (V, E) un multigrafo non orientato e pesato con la funzione di costo C. Sia V l'insieme dei nodi del multigrafo: ciascun nodo in V può avere la capacità di conversione di lunghezza d'onda oppure no. Sia V = n e E = m, e siano s e d due nodi del grafo. L'algoritmo di Dijkstra di S.P.A.R.K. risolve il problema di trovare il cammino minimo da s a d che soddisfa il vincolo imposto sulla banda e memorizza il cammino minimo nell'array dei predecessori pred. L'algoritmo usa un array delle distanze dist che memorizza la distanza dei nodi dalla sorgente. Non appena il nodo d viene estratto dall'insieme Q, vuol dire che d è il successivo nodo a distanza minima da s tra tutti i nodi ancora in Q: quindi si è sicuri che la distanza trovata fino a quel punto da s a d (contenuta in dist[d]) è la minima possibile e l'algoritmo può terminare. L'algoritmo usa anche un array predlambda dei precedessori delle lunghezze d'onda che conserva la lunghezza d'onda con la quale sono giunto ai nodi. L'array predlambda serve per imporre il wavelength continuity constraint per quei nodi che non sono convertitori. Nel seguito riportiamo lo pseudocodice dell'algoritmo di Dijkstra di S.P.A.R.K.. L'algoritmo prende come parametri di input l'insieme V dei vertici del grafo, l'insieme E degli archi del grafo, i nodi s e d rispettivamente sorgente e destinazione del percorso minimo e la banda che tale percorso dovrà garantire. 154

169 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Algoritmo Dijkstra_Spark (V, E, s, d, banda) // inizializzo le strutture dati 1. dist[ s ] := 0 2. pred[ s ] := s 3. for each i Œ V \ {s { 4. pred[ i ] := 0 5. dist[ i ] := 6. predlambda[ i ] := Q := V // ciclo principale 9. while (Q π ) { // estraggo da Q il nodo i a distanza minima da s 10. i := argmin { dist[ k ] per k Œ Q 11. Q := Q \ { i // se non esiste un prossimo nodo da esplorare (ovvero i nodi sono tutti irraggiungibili per il vincolo sulla banda) 12. if (i == null) { // il percorso non è stato trovato per il vincolo sulla banda, esco con insuccesso 13. return (null, null) 14. // se il prossimo nodo da esplorare è proprio d 15. if (i == d) { // ho trovato il nodo destinazione d, esco con successo 16. return (dist, pred) 17. // ho trovato un nodo intermedio // esploro gli archi collegati al nodo i 18. for each a Œ Archi(i) { // recupero il nodo j collegato all'altro estremo dell'arco a 19. j = altronodo(a, i) // controllo se posso esplorare l'arco corrente per il wavelength continuity constraint 20. if (i == s i.isconverter() a.lambda == predlambda[i]) { // controllo se posso esplorare l'arco corrente per il vincolo sulla banda 21. if (a.banda_residua >= banda) { 22. if (dist[ j ] > dist[ i ] + c ij ) { // aggiorno la distanza di j da s, l'array dei predecessori e l'array dei predecessori delle lunghezze d'onda 23. dist[ j ] := dist[ i ] + c ij 24. pred[ j ] := i 25. predlambda[ j ] = a.lambda

170 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K Nelle linee 1-7 vengono inizializzati gli array pred, dist e predlambda. Nella linea 8 si inizializza l'insieme Q dei nodi ancora da ispezionare. Inizialmente vengono posti in Q tutti i nodi del grafo. Nelle linee 9-30 si trova il ciclo principale dell'algoritmo. Finchè l'insieme Q dei nodi ancora da ispezionare non è vuoto (linea 9), viene estratto il nodo in Q che ha distanza minima da s (linee 10-11). A questo punto vi sono due possibilità. Nell'insieme Q non c'è alcun prossimo nodo da estrarre, in quanto tutti i nodi in Q sono irraggiungibili a causa del vincolo sulla banda imposto dalla richiesta di connessione. Se questa è la situazione, le linee provvedono a terminare l'algoritmo con insuccesso. Nessun percorso è stato trovato da s a d che soddisfi il requisito di banda. L'altra possibilità è che vi sia un prossimo nodo da estrarre dall'insieme Q dei nodi ancora da esplorare. Sia i tale nodo. Se il nodo estratto è il nodo destinazione, l'algoritmo può terminare con successo. E' stato trovato il percorso più breve da s a d che soddisfa il requisito di banda specificato (linee 15-17). Se l'algoritmo non ha terminato, vuol dire che il nodo i è un nodo intermedio e vanno esplorati tutti gli archi ad esso collegato. Alla linea 18 viene selezionato un arco dall'insieme degli archi collegati al nodo i. Sia j il nodo collegato all'altro estremo dell'arco (linea 19). A questo punto si controlla se è possibile esplorare l'arco a. L'arco a può essere esplorato solo se vale una delle seguenti condizioni (linea 20): 1. il nodo i è la sorgente s: la sorgente è infatti libera di scegliere una qualunque lunghezza d'onda come inizio del lightpath; 156

171 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 2. il nodo i è un nodo convertitore: allora il nodo è libero di scegliere una qualsiasi lunghezza d'onda; 3. se invece il nodo i non è né un convertitore né la sorgente, allora il nodo i può esplorare l'arco a solo se all'arco è associata la stessa lunghezza d'onda di provenienza (ovvero la stessa lunghezza d'onda associata all'arco che ha permesso di scoprire il nodo i); In ognuno di questi casi, deve valere anche la seguente condizione (linea 21): 4. l'arco a deve avere sufficiente banda_residua da permettere di soddisfare il vincolo sulla banda specificato nella richiesta di connessione. Ora, se l'arco a può essere esplorato, si procede cercando di migliorare la distanza del nodo j da s (linee 22-26); nel caso sia possibile migliorare la distanza di j da s, si aggiorna l'array dei predecessori pred, l'array delle distanze dist e l'array dei predecessori delle lunghezze d'onda predlambda per tenere traccia della lunghezza d'onda con cui si è giunti al nodo j e rispettare l'eventuale wavelength continuity constraint. Il ciclo for (linea 18) continua finché non si sono esplorati tutti gli archi collegati al nodo i. Il ciclo while (linea 9) continua finché l'insieme Q non è vuoto. Notare che comunque il ciclo while può essere interrotto se non viene trovato un successivo nodo da estrarre dall'insieme Q situazione che può presentarsi se tutti i nodi ancora in Q sono irraggiungibili perché collegati da archi che non soddisfano il requisito sulla banda oppure se il nodo estratto da Q è proprio il nodo destinazione cercato: in questo caso non è necessario proseguire nella ricerca, infatti la distanza trovata correntemente è già la distanza minima. Quando il ciclo while termina (per uno dei motivi illustrati precedentemente) viene ritornato il cammino minimo da s a d se questo esiste, altrimenti viene ritornato un valore null a segnalare che nel grafo non esiste nessun percorso da s a d che rispetti il vincolo di banda richiesto. 157

172 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Complessità: il ciclo for alla linea 3 costa O(n). Il ciclo while alla linea 9 viene ripetuto al più O(n) volte. In ciascuna iterazione viene estratto il nodo a distanza minima da s (linea 10), il che richiede un tempo O(1) se l'insieme Q è mantenuto come un heap (tempo di costruzione iniziale dell'heap O(n)). Ora, ogni vertice v Œ V viene estratto dall'insieme Q esattamente una volta e quindi ogni arco viene esplorato esattamente una volta nel corso dell'algoritmo (linea 18). Poiché il numero totale di archi del grafo è m, vi sono esattamente m iterazioni compiute dal ciclo for della linea 18, ognuna delle quali richiede nel caso in cui si debba aggiornare la distanza del nodo j da s e quindi la posizione di j nell'heap - tempo O(log n). Quindi, il tempo totale di esecuzione dell'algoritmo è O(mlog n) Algoritmo di constrained K-Shortest Paths Presentiamo in questo paragrafo gli algoritmi di K-Shortest Paths sia nella versione classica che in quella usata dall'algoritmo S.P.A.R.K.. Algoritmo di constrained K-Shortest Paths classico. Gli algoritmi di K-Shortest Paths sono usati spesso nelle situazioni in cui si vogliono trovare dei percorsi alternativi per scopi di protezione e ripristino delle connessioni in caso di guasti. In tali ambiti si è interessati a trovare dei percorsi completamente alternativi a quello da proteggere, dato che un percorso potrebbe essersi interrotto perché uno qualunque dei suoi link si è guastato. Un classico algoritmo di K-Shortest Paths risolve il problema di trovare se esistono i k migliori percorsi alternativi e completamente disgiunti da un nodo sorgente ad un nodo destinazione. Sfortunatamente, noi non siamo interessati ai k migliori percorsi completamente disgiunti, ma vogliamo trovare semplicemente i k migliori 158

173 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. percorsi non necessariamente completamente disgiunti dalla sorgente alla destinazione che rispettino il vincolo sulla banda richiesto dalla connessione. Algoritmo di constrained K-Shortest Paths di S.P.A.R.K. L'algoritmo di constrained K-Shortest Paths usato da S.P.A.R.K. risolve il problema di trovare, se esistono, i k percorsi più brevi non necessariamente disgiunti dalla sorgente alla destinazione che soddisfino il requisito di banda specificato su di un multigrafo non orientato e pesato con la funzione di costo C e con nodi di due tipi: convertitori e non. L'intuizione su cui si basa l'algoritmo di constrained K-Shortest Paths di S.P.A.R.K. per trovare i k migliori percorsi non completamente disgiunti dalla sorgente alla destinazione è che ciascuno dei k percorsi minimi deve differire da tutti gli altri percorsi per almeno un arco. L'algoritmo di K-Shortest Paths di S.P.A.R.K. funziona in questo modo: quando arriva una richiesta di connessione [ sorgente, destinazione, banda ] l'algoritmo lancia l'algoritmo di Dijkstra di S.P.A.R.K. per trovare il primo percorso p 1 più breve dalla sorgente alla destinazione che soddisfa il requisito di banda specificato. Poi, uno alla volta, rimuove dal multigrafo gli archi del percorso trovato (p 1 ) e ad ogni rimozione lancia l'algoritmo di Dijkstra di S.P.A.R.K. che trova (se esiste) il percorso più breve sul grafo corrente. Ad ogni nuova iterazione, viene reinserito l'arco che era stato rimosso all'iterazione precedente. Alla fine, quando tutti gli archi di p 1 saranno stati rimossi (e reinseriti), il secondo percorso migliore p 2 sarà il migliore tra i percorsi che sono stati trovati durante tutte le iterazioni di rimozione di un arco da p 1. Per trovare il terzo percorso migliore p 3, si elimina un arco sia da p 1 che da p 2 e si lancia Dijkstra che troverà al solito il percorso migliore sul multigrafo 159

174 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. corrente. Si ripete ciclicamente la rimozione/reinserimento di tutti gli archi di p 1 e di p 2 e alla fine il terzo percorso migliore p 3 sarà il migliore tra tutti i percorsi trovati durante le iterazioni che rimuovevano un arco da p 1 e da p 2. Il procedimento si ripete finché non sono stati trovati tutti i k percorsi migliori richiesti oppure finché, durante tutta una iterazione di rimozione/reinserimento degli archi dei percorsi trovati fino a quel punto, non è stato mai trovato nessun percorso dalla sorgente alla destinazione che soddisfi il vincolo sulla banda: ciò vuol dire che nel multigrafo non esistono k percorsi per andare dal nodo sorgente al nodo destinazione con quella banda, ma esistono soltanto i percorsi trovati fino a quel punto. Nel seguito riportiamo lo pseudocodice dell'algoritmo di K-Shortest Paths di S.P.A.R.K.. L'algoritmo prende come parametri di input l'insieme V dei vertici del grafo, l'insieme E degli archi del grafo, i nodi s e d rispettivamente sorgente e destinazione del percorso minimo, la banda che tale percorso dovrà garantire e il parametro k che indica il numero di percorsi minimi che si intende ricercare. Algoritmo K-Shortest_Paths_Spark (V, E, s, d, banda, k) // cerco p 1 1. p 1 := Dijkstra_Spark (V, E, s, d, banda) // potrebbe non esistere nessun percorso da s a d con la banda richiesta 2. if (p 1 not exists) { 3. return(null) 4. // iterazione per cercare p 2 5. p 2 := new Percorso() // nuovo percorso con costo massimo 6. for each a Œ p 1 { 7. rimuoviarco(a) 8. p' := Dijkstra_Spark (V, E, s, d, banda) 9. if(p' exists AND p'.costo < p 2.costo) { 10. p 2 := p' reinserisciarco(a) 13. // potrebbe esistere solo 1 percorso da s a d con la banda richiesta 14. if (p 2 not exists) { 160

175 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 15. return(p 1 ) 16. // iterazione per cercare p p 3 := new Percorso() // nuovo percorso con costo massimo 18. for each a Πp 1 { 19. rimuoviarco(a) 20. for each b Πp 2 { 21. rimuoviarco(b) 22. p' := Dijkstra_Spark (V, E, s, d, banda) 23. if(p' exists AND p'.costo < p 3.costo) { 24. p 3 := p' reinserisciarco(b) reinserisciarco(a) 29. // potrebbero esistere solo 2 percorsi da s a d con la banda richiesta 30. if (p 3 not exists) { 31. return(p 1, p 2) // trovo p 4, p 5,..., p k-1 // iterazione per cercare p k 34. p k := new Percorso() // nuovo percorso con costo massimo 35. for each a Πp 1 { 36. rimuoviarco(a) 37. for each b Πp 2 { 38. rimuoviarco(b) // for each j Πp k-1 { 40. rimuoviarco(j) 41. p' := Dijkstra_Spark (V, E, s, d, banda) 42. if(p' exists AND p'.costo < p k.costo) { 43. p k := p' reinserisciarco(j) 46. // reinserisciarco(b) reinserisciarco(a) 50. // potrebbero esistere solo k-1 percorsi da s a d con la banda richiesta 51. if (p k not exists) { 52. return(p 1, p 2,..., p k-1 ) 53. // esistono tutti i k percorsi da s a d con la banda richiesta 54. return(p 1, p 2,..., p k ) 161

176 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Alla linea 1 viene lanciato l'algoritmo di Dijkstra di S.P.A.R.K. e viene ritornato, se esiste, il primo percorso (p 1 ) più breve dalla sorgente alla destinazione che soddisfa il requisito di banda specificato. Tale percorso potrebbe anche non esistere se nel multigrafo non c'è nessun percorso dalla sorgente alla destinazione che soddisfa il requisito di banda specificato. In tal caso (linee 2-4) l'algoritmo termina. Se, invece, il percorso esiste, allora l'algoritmo può proseguire cercando il secondo percorso più breve p 2 (linee 5-16) nel modo illustrato sopra (rimozione di un arco da p 1 e ricerca del miglior percorso sul multigrafo corrente). Se p 2 è stato trovato, si procede cercando il terzo percorso più breve p 3 (linee 17-32). E così via fino a trovare l'ultimo percorso più breve p k. Se, alla fine di una intera iterazione per cercare il percorso m (m < k), non viene trovato nessun percorso, vuol dire che nel multigrafo non esistono k percorsi dalla sorgente alla destinazione che soddisfano il requisito di banda richiesto, e dunque l'algoritmo termina ritornando gli m-1 percorsi trovati fino a quel punto. Per comprendere il funzionamento dell'algoritmo di K-Shortest Paths di S.P.A.R.K., osserviamo l'esempio che segue. Esempio di K-Shortest Paths di S.P.A.R.K. Consideriamo il grafo pesato e non orientato che rappresenta una rete con 8 nodi e 10 archi in Figura 3.5. I pesi sugli archi rappresentano costi. Supponiamo di volere i k = 4 percorsi minimi dal nodo A al nodo H che soddisfano il requisito di banda pari ad 1 unità. 162

177 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.5: Grafo di esempio per il K-Shortest Paths. La prima istruzione dell'algoritmo di K-Shortest Paths di S.P.A.R.K. lancia l'algoritmo di Dijkstra di S.P.A.R.K. il quale, come si può facilmente vedere, trova il seguente percorso minimo: Primo percorso migliore p 1 : A, B, C, G, H - costo 4. Figura 3.6: Primo percorso minimo p

178 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. A questo punto l'algoritmo di K-Shortest Paths di S.P.A.R.K. procede rimuovendo temporaneamente un arco del percorso p 1 dal grafo, e lanciando l'algoritmo di Dijkstra di S.P.A.R.K. ad ogni rimozione. Illustriamo questa iterazione nelle figure seguenti: Passo 1 Passo 2 Passo 3 Passo 4 Figura 3.7: Iterazione per la ricerca del secondo percorso migliore p 2 : rimozione/reinserimento di un arco dal percorso p 1. In rosso è indicato il percorso trovato ad ogni passo dall'algoritmo di Dijkstra. Al passo 1 viene rimosso il primo arco del percorso p 1 : l'arco [A, B]. Viene quindi lanciato l'algoritmo Dijkstra_Spark sul grafo corrente che trova il percorso p = A, E, H che ha costo 10. Il percorso p è il percorso candidato a diventare il secondo percorso più breve p 2. L'arco [A, B] è reinserito nel grafo. Al passo 2 viene rimosso il secondo arco del percorso p 1 : l'arco [B, C]. Viene quindi lanciato l'algoritmo Dijkstra_Spark che trova il percorso p trovato al passo precedente. Il percorso p resta il miglior candidato a diventare il secondo percorso più breve p 2. L'arco [B, C] è quindi reinserito nel grafo. 164

179 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. La situazione si ripete per gli archi [C, G] (passo 3) e [G, H] (passo 4). Il secondo percorso migliore è pertanto il percorso p trovato. Secondo percorso migliore p 2 : A, E, H - costo 10. Proseguiamo cercando il terzo percorso più breve: p 3. Illustriamo i passi compiuti dall'iterazione per p 3 con l'ausilio della Figura 3.8. Al passo 1 viene rimosso il primo arco del percorso p 1 (l'arco [A, B]) e il primo arco del percorso p 2 (l'arco [A, E]). Viene quindi lanciato l'algoritmo Dijkstra_Spark sul grafo corrente che non trova nessun percorso da A ad H. L'arco [A, B] viene reinserito nel grafo. Al passo 2 viene rimosso l'arco [B, C] di p 1 mentre l'arco [A, E] di p 2 resta rimosso perché non si è ancora usciti dal for più esterno (linea 18). L'algoritmo di Dijkstra_Spark viene lanciato e trova il percorso p = A, B, D, F, H che ha costo 13. Questo percorso è finora l'unico candidato a diventare il terzo percorso più breve p 3. L'arco [B, C] è quindi reinserito nel grafo. Ai passi 3 e 4 non viene trovato nessun nuovo percorso. A questo punto il ciclo for più esterno (linea 18) effettua una nuova iterazione che si traduce nel reinserimento dell'arco [A, E] e nella rimozione dell'arco [E, H] archi entrambi appartenenti al percorso p 2. La situazione del grafo attuale è mostrata nel passo 5. Quando viene lanciato Dijkstra_Spark, viene trovato il percorso p = A, E, D, F, H che ha costo 21. Questo percorso viene scartato perché ha costo maggiore del costo del percorso A, B, D, F, H trovato precedentemente che ha costo 13. Il percorso trovato al passo 2 resta il miglior candidato a diventare p 3. L'arco [A, B] è quindi reinserito nel grafo. Ai passi 6, 7 e 8 l'algoritmo Dijkstra_Spark ritrova sempre il percorso A, B, D, F, H: il miglior percorso candidato resta sempre quello trovato al passo 2 (che è lo stesso trovato ai passi 6, 7 e 8) e quindi esso diventa il terzo percorso più 165

180 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. breve dalla sorgente alla destinazione che rispetta il vincolo di banda. Passo 1 Passo 2 Passo 3 Passo 4 Passo 5 Passo 6 Passo 7 Passo 8 Figura 3.8: Iterazione per cercare il terzo percorso più breve: p

181 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Terzo percorso migliore p 3 : A, B, D, F, H e ha costo 13. Ora non ci resta che trovare l'ultimo percorso più breve, p 4. Come è noto, si deve rimuovere il primo arco da ciascuno di percorsi trovati finora: si rimuove l'arco [A, B] sia per il percorso p 1 che per il percorso p 3, e si rimuove l'arco [A, E] per il percorso p 2. Con un grafo così fatto, l'algoritmo Dijkstra_Spark non trova nessun percorso da A ad H. E non ne troverà nessuno finché l'iterazione su p 3 non si sposta sull'arco [B, D] e l'iterazione su p 2 non si sposta sull'arco [E, H] come è facile comprendere osservando il grafo. A questo punto la situazione è quella in Figura 3.9. L'algoritmo Dijkstra_Spark troverà il percorso p = A, E, D, F, H con costo 21 questo percorso era stato trovato anche durante la ricerca di p 3, ma era stato escluso per il costo maggiore dell'allora miglior candidato. Stavolta invece viene preso come candidato per p 4. Poiché vi sono un gran numero di iterazioni per cercare il percorso p 4, mostriamo solo quelle iterazioni in cui viene trovato un percorso e omettiamo tutte quelle in cui non esiste nessun percorso a causa dei troppi archi rimossi. Figura 3.9: Grafo in cui sono stati rimossi gli archi [A,B] per p 1, [E,H] per p 2 e [B, D] per p

182 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Il successivo passo in cui avviene qualcosa è mostrato in Figura Viene trovato il percorso p = A, B, D, E, H che ha costo 22. Il miglior candidato resta il percorso trovato precedentemente (A, E, D, F, H) che ha costo 21. Figura 3.10: Grafo in cui sono stati rimossi gli archi [B, C] per p 1, [A, E] per p 2 e [D, F] per p 3. Ultima configurazione degna di nota è quella mostrata in Figura Figura 3.11: Grafo in cui sono stati rimossi gli archi [A, B] per p 1, [E, H] per p 2 e [D, F] per p 3. In questo passo Dijkstra_Spark trova il candidato p = A, E, D, B, C, G, H che ha costo 20 e che è quindi migliore del precedente candidato: questo p diventa 168

183 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. dunque il quarto miglior percorso da A ad H. Quarto percorso migliore p 4 : A, E, D, B, C, G, H e ha costo 20. I k = 4 percorsi migliori richiesti da A ad H che soddisfano il requisito di banda di 1 unità sono: p 1 = A, B, C, G, H che ha costo 4 p 2 = A, E, H che ha costo 10 p 3 = A, B, D, F, H che ha costo 13 p 4 = A, E, D, B, C, G, H che ha costo 20 Percorso p 1 Percorso p 2 Percorso p 3 Percorso p 4 Figura 3.12: I quattro migliori percorsi da A a H con requisito di banda pari ad 1 unità. Complessità: Sia G=(V,E), V = n e E = m. Sia m i la lunghezza dell i-esimo percorso minimo p i. Allora il costo dell'algoritmo K-Shortest_Paths _Spark è dato da: Dijkstra_Spark iniziale per trovare p 1 : O(m*logn) + 169

184 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. m volte Dijkstra_Spark (in realtà m 1 volte Dijkstra_Spark, ma sono m nel caso peggiore) per trovare p 2 : O(m*m*logn) + tempo costante (per mantenere il miglior candidato) + m*m volte Dijkstra_Spark (in realtà m 1 *m 2 volte Dijkstra_Spark, ma sono m*m nel caso peggiore) per trovare p 3 : O(m 3 *logn) + tempo costante (per mantenere il miglior candidato) m k-1 m k-1 volte Dijkstra_Spark (in realtà m 1 *m 2 *...*m k-1 volte Dijkstra_Spark, ma sono per trovare p k : O(m k *logn) + tempo costante (per mantenere il miglior candidato). Facendo le somme, ottengo: Costo algoritmo K-Shortest_Paths _Spark = O(m*logn + m 2 *logn + m 3 *logn m k *logn) = O(m k *logn). Considerando che k è una costante del problema (si vogliono i k percorsi migliori indipendentemente dalle dimensioni del grafo), la complessità risulta essere accettabile. Inoltre, k è una costante che non assume mai valori grandi ma, anzi, resta sempre limitata a variare in un range di valori naturali molto ristretto (k =1, 2, 3, 4,...). Inoltre, ad ogni i-esima iterazione in cui si ricerca il percorso minimo p i, il costo di Dijkstra_Spark che è stato calcolato essere pari a O(m i *logn) è un costo - ovviamente nel caso peggiore - teorico e nella pratica troppo pessimistico. Infatti, man mano che si sfronda il grafo togliendo archi appartenenti ai percorsi minimi precedentemente trovati, l'algoritmo di Dijkstra_Spark si trova a calcolare percorsi minimi su di un grafo sempre più piccolo e con meno connessioni tra i nodi su di un grafo cioè che ad ogni iterazione vede ridurre la propria dimensione. Nella pratica, man mano che si procede con le iterazioni per trovare i percorsi minimi p i, l'algoritmo di Dijkstra_Spark si ferma dopo sempre meno esplorazioni del grafo, non potendo raggiungere la destinazione 170

185 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. per la mancanza degli archi necessari. Quindi, il costo O(m k *logn) è di fatto un limite superiore teorico e difficilmente raggiungibile nella pratica La funzione di bontà di S.P.A.R.K.: scelta del miglior percorso La funzione di bontà di S.P.A.R.K. si occupa di assegnare ad un percorso un valore numerico che ne indica la bontà, valutando dei parametri di ottimalità del percorso. I parametri di ottimalità valutati: banda_residua di ciascun arco del percorso prima della connessione; banda_residua di ciascun arco dopo l'eventuale instradamento della connessione sul percorso corrente; banda_massima di ciascun arco (che non cambia con una nuova connessione); numero di hop del percorso. Questi, infatti, sono secondo l'algoritmo S.P.A.R.K. i parametri da tenere in considerazione nella scelta di un percorso piuttosto che di un altro tra i k percorsi trovati dal K-Shortest Paths 1. La funzione di bontà si occupa quindi di stabilire il criterio di scelta tra i k percorsi alternativi: questo criterio deve essere teso a minimizzare la probabilità di blocco della rete, quindi a minimizzare il numero di richieste rifiutate. L'idea alla base del criterio di scelta consiste nel cercare di saturare quanto meno possibile link piccoli e link anche grandi ma con poca banda residua, cercando di instradare le connessioni verso link grandi o meno carichi al momento, tenendo comunque in considerazione il numero di hop del percorso. 1 Potrebbero esistere solo m percorsi alternativi, con m < k, ma poiché non cambia nulla useremo il valore k per indicare il numero dei percorsi trovati dal K-Shortest Paths. 171

186 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Una volta che il constrained K-Shortest Paths è stato eseguito, sono stati trovati i k migliori percorsi dalla sorgente alla destinazione che rispettano il vincolo di banda richiesto. A questo punto viene calcolato il valore della funzione di bontà per ciascun percorso e viene scelto il percorso che ha il valore più alto della funzione di bontà. E' su questo percorso che verrà finalmente instradata la connessione. La funzione di bontà f B assegna ad ogni percorso p i (i = 1, 2,..., k) un valore numerico, che chiamiamo bontà del percorso i-esimo, che esprime la bontà del percorso sulla base dei parametri di ottimalità indicati sopra. Si può scrivere quindi che la funzione di bontà f B ha la forma seguente: f B ( br, b r, bm, hop ) dove br è il vettore delle bande residue degli archi del percorso prima della connessione, b r è il vettore delle bande residua degli archi del percorso dopo l'eventuale instradamento della connessione sul percorso corrente, b m è il vettore delle bande massime degli archi del percorso, e hop è il numero di hop del percorso. La funzione f B assume valori nell'insieme dei numeri reali. Ma come vengono valutati i parametri di ottimalità della funzione di bontà? Per quanto riguarda la banda residua, su ogni link del percorso viene calcolata una percentuale di banda residua restante dopo l'eventuale instradamento della connessione e viene fatta una media della banda restante lungo tutti i link del percorso. Per questo calcolo è necessario conoscere la banda massima di ciascun link del percorso, che infatti rappresenta un parametro della funzione di bontà. Si ottiene così una stima della banda restante globale del percorso che rappresenta un primo punteggio del percorso corrente. Maggiore è la banda restante globale, più alto è il punteggio ottenuto dal percorso nella graduatoria per diventare il percorso lungo cui instradare la connessione. Successivamente, si valuta il parametro relativo al numero di hop del percorso: maggiore è il numero di hop, più si penalizza il percorso. Questa penalizzazione è effettuata solo sui percorsi più lunghi (in termini di numero di hop) rispetto al più corto 172

187 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. percorso trovato. Ad esempio, se i k = 3 percorsi trovati hanno rispettivamente numero di hop di 3, 2 e 4 allora vengono penalizzati solo il primo e il terzo percorso in quanto il secondo percorso ha lunghezza minima e non va penalizzato. La penalizzazione è pesata in base ad un parametro dell'algoritmo, che è il parametro di khop ed è stabilita dalla seguente formula: dove l min è la lunghezza (in numero di hop) del percorso trovato con minor numero di hop, e l i è la lunghezza del percorso i-esimo. Si può vedere facilmente che se l i = l min allora al percorso i-esimo non viene sottratto nulla. Valore tipico per khop è 20. khop 1 l min l i Si può così stabilire di quanto si vuole far pesare la lunghezza di un percorso (in termini di numero di hop) sulla bontà del percorso stesso. Variando questo parametro si ottengono comportamenti diversi dall'algoritmo: in corrispondenza di un valore alto di khop si ottengono risultati più simili a quelli ottenuti dall'algoritmo di MinHop (Minimum Hop Algorithm, MHA), mentre con basso khop si ottiene un comportamento che favorisce percorsi più lunghi, purché essi abbiano ottenuto un punteggio abbastanza alto nella valutazione delle bande residue e della banda massima. Illustriamo il procedimento della valutazione della bontà dei percorsi con un esempio. Si consideri nuovamente il grafo dell'esempio riportato in Figura 3.13 e lo stesso grafo in cui sono indicati i costi degli archi in Figura

188 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.13: Grafo in cui per ciascun arco è indicata banda_residua/banda_massima. Supponiamo di lanciare l'algoritmo di K-Shortest Paths per trovare i k = 4 percorsi migliori dal nodo A al nodo E con requisito di banda pari a 24 unità OC. L'algoritmo di K-Shortest Paths troverà tutti i percorsi da A ad E che soddisfano il requisito di banda di 24. Essi sono riportati in Figura

189 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.14: Grafo in cui per ciascun arco è indicato il suo costo. Il percorso p 1 ha costo e numero di hop pari ad 1. Il percorso p 2 ha costo e numero di hop pari ad 2. Il percorso p 3 ha costo e numero di hop pari ad 2. E' a questo punto che si colloca la funzione di bontà. Essa viene richiamata per calcolare la bontà dei 3 percorsi trovati. 175

190 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Percorso p 1 Percorso p 2 Non vi è nessun quarto percorso da A ad E che soddisfi il requisito di banda di 24 unità OC. Percorso p 3 Figura 3.15: I tre percorsi migliori trovati dal K-Shortest Paths. Calcolo della bontà del percorso p 1 Consideriamo il percorso p 1 prima e dopo l'eventuale instradamento della connessione su di esso (Figura 3.16). Applichiamo la funzione di bontà f B ( br, b r, bm, hop ) al percorso p 1 : f B ([100], [76], [768], 1) 176

191 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Percorso p 1 Percorso p 1 dopo l'eventuale instradamento della connessione Figura 3.16: Il percorso p 1 prima e dopo l'eventuale instradamento della connessione. Il percorso p 1 consta di 1 solo link. Calcoliamo la percentuale di banda residua restante sull'unico link [A, E] dopo l'instradamento della connessione su p 1 : percentuale di banda libera sul link [A, E] di p 1 prima della connessione: rapporto banda_residua/banda_massima = = 0,13 percentuale di banda libera sul link [A, E] di p 1 dopo la connessione: rapporto banda_residua/banda_massima = = 0,099 Percentuale di banda residua restante sul link [A, E]: 0, ,13 = 76 % Come abbiamo spiegato sopra, il percorso p 1 non va penalizzato rispetto al numero di hop, in quanto ha numero di hop minimo tra tutti i k = 3 percorsi trovati. Dunque la bontà B 1 del percorso p 1 è valutata a 76 punti. 177

192 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Calcolo della bontà del percorso p 2 Consideriamo il percorso p 2 prima e dopo l'eventuale instradamento della connessione su di esso (Figura 3.17). Percorso p 2 Percorso p 2 dopo l'eventuale instradamento della connessione Figura 3.17: Il percorso p 2 prima e dopo l'eventuale instradamento della connessione. Applichiamo la funzione di bontà f B ( br, b r, bm, hop ) al percorso p 2 : f B ([256, 200], [232, 176], [256, 256], 2) Il percorso p 2 consta di 2 link. Calcoliamo la percentuale di banda restante globale del percorso p 2, ovvero la media delle percentuali di bande residue sui due link [A, C] e [C, E] dopo l'instradamento della connessione su p 2 : Link [A, C] percentuale di banda libera sul link [A, C] di p 2 prima della connessione: rapporto banda_residua/banda_massima = = 1 percentuale di banda libera sul link [A, C] di p 2 dopo la connessione: rapporto banda_residua/banda_massima = = 0,9 178

193 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Percentuale di banda residua restante sul link [A, C]: 0, = 90 % Link [C, E] percentuale di banda libera sul link [C, E] di p 2 prima della connessione: rapporto banda_residua/banda_massima = = 0,78 percentuale di banda libera sul link [C, E] di p 2 dopo la connessione: rapporto banda_residua/banda_massima = = 0,69 Percentuale di banda residua restante sul link [C, E]: 0, ,78 = 88,5 % Calcoliamo la banda restante globale (media) sul percorso p 2 : 90 88,5 2 = 89,3 % Il percorso p 2 va penalizzato rispetto al numero di hop, in quanto ha numero di hop pari a 2 mentre il numero minimo di hop è pari ad 1. La penalizzazione sottrae dalla percentuale di banda restante globale la quantità: khop 1 l min l i dove l min è la lunghezza (in numero di hop) del percorso trovato con minor numero di hop, e l i è la lunghezza del percorso i-esimo. Applicando la formula al caso presente otteniamo: 179

194 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. bontà del percorso p 2 = B 2 = 89,3 khop = 89,3 khop 0,5 che per khop = 20 dà come risultato B 2 = 89,3 20 0,5 = 79,3. Dunque la bontà B 2 del percorso p 2 è valutata a 79,3 punti. Calcolo della bontà del percorso p 3 Consideriamo il percorso p 3 prima e dopo l'eventuale instradamento della connessione su di esso (Figura 3.18). Percorso p 3 Percorso p 3 dopo l'eventuale instradamento della connessione Figura 3.18: Il percorso p 3 prima e dopo l'eventuale instradamento della connessione. Applichiamo la funzione di bontà f B ( br, b r, bm, hop ) al percorso p 3 : f B ([256, 48], [232, 24], [256, 48], 2 ) Il percorso p 3 consta di 2 link. Calcoliamo la percentuale di banda restante globale del percorso p 2, ovvero la media delle percentuali di bande residue sui due link [A, C] e [C, E] dopo l'instradamento della connessione su p 3 : Link [A, C] 180

195 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. percentuale di banda libera sul link [A, C] di p 3 prima della connessione: rapporto banda_residua/banda_massima = = 1 percentuale di banda libera sul link [A, C] di p 3 dopo la connessione: rapporto banda_residua/banda_massima = = 0,9 Percentuale di banda residua restante sul link [A, C]: 0, = 90 % Link [C, E] percentuale di banda libera sul link [C, E] di p 3 prima della connessione: rapporto banda_residua/banda_massima = = 1 percentuale di banda libera sul link [C, E] di p 3 dopo la connessione: rapporto banda_residua/banda_massima = = 0,5 Percentuale di banda residua restante sul link [C, E]: 0, = 50 % Calcoliamo la banda restante globale (media) sul percorso p 2 : = 70 % Il percorso p 3 va penalizzato rispetto al numero di hop, in quanto ha numero di hop pari a 2 mentre il numero minimo di hop è pari ad 1. La penalizzazione sottrae dalla percentuale di banda restante globale la 181

196 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. quantità: khop 1 l min l i dove l min è la lunghezza (in numero di hop) del percorso trovato con minor numero di hop, e l i è la lunghezza del percorso i-esimo. Applicando la formula al caso presente otteniamo: bontà del percorso p 3 = B 3 = 70 khop = 70 khop 0,5 che per khop = 20 dà come risultato B 3 = ,5 = 60. Dunque la bontà B 3 del percorso p 3 è valutata a 60 punti. Confronto tra i k percorsi alternativi Siamo giunti al momento di dover scegliere il percorso valutato come il migliore dalla funzione di bontà di S.P.A.R.K.. Rivediamo le bontà dei 3 percorsi: bontà del percorso p 1 : B 1 = 76 punti bontà del percorso p 2 : B 2 = 79,3 punti bontà del percorso p 3 : B 3 = 60 punti Dunque, il percorso che è stato valutato come migliore e sul quale verrà instradata la connessione dal nodo A al nodo E con requisito di banda di 24 unità è il percorso p 2. Alcune osservazioni: è significativo osservare che il percorso p 2 sia stato preferito al percorso p 1 il quale ha un numero minore di hop (solo 1 contro i 2 di p 2 ) e ha anche un costo seppur di poco superiore al costo del percorso p

197 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Osservando i due percorsi si può comprendere il motivo di questa scelta. Il percorso p 1 è risultato perdente rispetto al percorso p 2 perché sebbene abbia dalla sua parte un minor numero di hop e un costo leggermente minore di p 2 lasciava troppa poca banda residua rispetto a quanta non ne lasci globalmente p 2. Il numero di hop maggiore di p 2 rispetto a p 1 non è bastato a far prevalere p 1. La scelta di p 2 è in accordo con l'idea alla base del criterio di scelta di S.P.A.R.K.: cercare di saturare quanto meno possibile link piccoli e link anche grandi ma con poca banda residua, instradando le connessioni verso link grandi o al momento meno carichi, tenendo comunque in considerazione il numero di hop del percorso. Il percorso p 3 è stato scartato perché della stessa lunghezza rispetto a p 2 e con minore banda residua globale di p Pseudocodice dell'algoritmo S.P.A.R.K. Di seguito riportiamo lo pseudocodice dell'algoritmo S.P.A.R.K. L'algoritmo riceve in input l'insieme dei vertici V, l'insieme degli archi E con i cui pesi sono quelli assegnati dalla funzione di costo C, il nodo s sorgente del percorso, il nodo d destinazione del percorso, la banda richiesta dalla connessione sul percorso, il parametro k del K-Shortest Paths e il parametro khop per il calcolo della funzione di bontà f B. Algoritmo Spark (V, E, s, d, banda, k, khop) // lancio il K-Shortest Paths 1. kpaths[ ] := K-Shortest_Paths_Spark (V, E, s, d, banda, k) // calcolo la bontà di ciascun percorso applicando la funzione di bontà f B 2. bontà[ ] := calcolabontà(kpaths[], khop) // ritorno il percorso che ha bontà massima 3. return argmax{ bontà[i] per i=1, 2,..., kpaths.length 183

198 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Nella linea 1 viene lanciato il K-Shortest Paths il quale ritorna i k percorsi più brevi dalla sorgente s alla destinazione d che rispettano il vincolo sulla banda imposto. Si noti che i percorsi trovati dal K-Shortest Paths potrebbero essere anche in numero minore di k o addirittura potrebbe non esisterne alcuno ciò non inficia ovviamente il funzionamento dell'algoritmo. Alla linea 2 viene richiamata la funzione che calcola la bontà di ciascun percorso applicando la funzione di bontà f B vista precedentemente. Infine, alla linea 3, viene ritornato se esiste il percorso con bontà massima, o il valore null altrimenti Complessità di tempo e di spazio di S.P.A.R.K. Dato un multigrafo G = (V, E) con V = n e E = m che rappresenta una topologia logica di rete, e una richiesta di connessione con vincolo sulla banda, l'algoritmo S.P.A.R.K. calcola il costo di ciascun arco del grafo applicando la funzione di costo C ed associa a ciascun arco il proprio costo così calcolato. Sul grafo risultante viene lanciato il K-Shortest Paths che trova i k percorsi più brevi (in termini di costo) dal nodo sorgente al nodo destinazione che rispettano il vincolo sulla banda specificato. La scelta tra i k percorsi alternativi avviene calcolando la funzione di bontà f B per ciascun percorso e scegliendo il percorso con bontà massima. La complessità dell'algoritmo S.P.A.R.K. è data, dunque, dalla somma delle complessità di queste operazioni. Il calcolo del costo di ciascun arco ha costo pari a O(m) l'algoritmo S.P.A.R.K., tuttavia, riceve in input direttamente il multigrafo con i costi assegnati dalla funzione di costo C, ma comunque non è questo il costo rilevante dell'algoritmo. Il costo del K-Shortest Paths è come abbiamo visto in linea teorica pari al più a O(m k * logn). Infine, il costo del calcolo della funzione di bontà su ciascun percorso ha costo O(k). Il costo dell'algoritmo S.P.A.R.K. è pertanto pari a O(m + m k * logn + k) = 184

199 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. O(m k * logn), il che è una complessità decisamente accettabile alla luce delle considerazioni fatte sulla complessità del K-Shortest Paths. L'algoritmo S.P.A.R.K. non usa particolari strutture dati al di fuori di quelle necessarie per rappresentare il multigrafo. La rappresentazione del multigrafo usato dall'algoritmo S.P.A.R.K. è come abbiamo osservato nel Capitolo 2 di gran lunga migliore rispetto alla rappresentazione alternativa a layered graph. Consideriamo infatti un grafo G = (V, E) con V = n vertici, E = m fibre e WDM = w su tutte le fibre. Il multigrafo che rappresenta G sarà costituito solo da n nodi e (w m) archi, ovvero lo stretto necessario per la rappresentazione del multigrafo stesso (diversamente da quanto avviene con il layered graph che replica alcune strutture per rappresentare i vari livelli di WDM, come abbiamo visto nel Capitolo 2). 185

200 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 3. Risultati dell'algoritmo S.P.A.R.K. Presentiamo in questo paragrafo le modalità di misurazione e i risultati ottenuti dall'algoritmo di S.P.A.R.K. e li confrontiamo con altri due algoritmi di RWA: MinHop e MinRC Le topologie di rete usate Al fine di valutare le prestazioni dell'algoritmo S.P.A.R.K. abbiamo provveduto a realizzare un framework da cui si potessero lanciare le simulazioni con vari tipi di algoritmi e su un qualunque tipo di rete (Paragrafo 4). Le topologie di rete reali su cui ci siamo concentrati sono la rete americana per la ricerca scientifica NSFNET (National Science Foundation NETwork) e la rete europea della ricerca e dell'istruzione GEANT2. Figura 3.19: La rete americana NSFNET. 186

201 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Nella rete NSFNET i link principali sono OC-48 mentre quelli più piccolo sono OC-12. Sono stati condotti test con diversi gradi di multiplazione WDM: 1, 8 e 80 lambda su ciascun link. I test sono stati condotti sulla rete NSFNET senza convertitori di lunghezza d'onda. Figura 3.20: La rete europea GEANT2. La rete GEANT2 è più varia rispetto alla rete NSFNET: essa ha un nucleo centrale collegato da dark fiber che ha velocità di OC-192 e su cui si usa la 187

202 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. multiplazione di lunghezze d'onda (WDM) indicata dal numero affianco alle fibre in Figura I test sono stati condotti sulla rete GEANT2 sia con convertitori di lunghezza d'onda nei nodi centrali sia senza convertitori di lunghezza d'onda. I risultati sono stati estratti eseguendo delle simulazioni sulle reti al variare del numero di connessioni generate. Al termine di ciascuna simulazione, è misurato il numero di connessioni onorate (vs il numero di connessioni rifiutate) e quindi viene calcolata la probabilità di blocco della rete che è data da: Probabilità di blocco = # connessioni rifiutate # connessioni totali Al fine di ottenere risultati precisi, ciascuna simulazione è stata ripetuta più volte. Abbiamo quindi eseguito più volte ciascun run di simulazione e, al termine, è stato calcolato il valore medio delle connessioni onorate/rifiutate Risultati su NSFNET In questo paragrafo presentiamo e confrontiamo i risultati degli algoritmi di SPARK, MinHop e MinRC sulla rete NSFNET NSFNET: simulazione #1 Rete: NSFNET con 1 lambda su ciascuna fibra. Bande generate casualmente dalla simulazione: 1, 3, 12 unità OC. Ciascuna simulazione è stata eseguita 50 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: 188

203 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Algoritmo Probabilità di blocco 25 richieste 50 richieste 75 richieste 100 richieste 200 richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=4, khop=60) Algoritmo Probabilità di blocco 300 richieste 400 richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=4, khop=60) Grafico dei risultati: Figura 3.21: NSFNET con 1 lambda su ciascuna fibra; bande generate casualmente dalla simulazione: 1, 3, 12 unità OC. Possiamo osservare che su NFSNET con 1 lambda per fibra, l'algoritmo MinHop 189

204 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. ha risultati migliori di S.P.A.R.K. (k=4, khop=20). Proviamo quindi ad aumentare il parametro khop di S.P.A.R.K. per ottenere un comportamento più simile a MinHop: quello che osserviamo è che non solo siamo riusciti a migliorare le prestazioni di S.P.A.R.K. su questa rete, ma abbiamo ottenuto addirittura risultati migliori di MinHop (Figura 3.21) NSFNET: simulazione #2 Rete: NSFNET con 8 lambda su ciascuna fibra. Bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Ciascuna simulazione è stata eseguita 20 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: Algoritmo Probabilità di blocco 250 richieste 500 richieste 750 richieste 1000 richieste 1250 richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=4, khop=60) Algoritmo Probabilità di blocco 1500 richieste 1750 richieste 2000 richieste 2250 richieste 2500 richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=4, khop=60) Grafico dei risultati: 190

205 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.22: NSFNET con 8 lambda su ciascuna fibra; bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Sulla rete NSFNET con 8 lambda per fibra l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) va sempre meglio di minhop. Tuttavia, dato il buon comportamento di MinHop rispetto a MinRC, proviamo comunque ad aumentare khop: otteniamo così da S.P.A.R.K. (k = 4, khop = 60) risultati in certi casi ancora migliori rispetto a S.P.A.R.K. con khop = 20 (Figura 3.22) NSFNET: simulazione #3 Rete: NSFNET con 80 lambda su ciascuna fibra. Bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Ciascuna simulazione è stata eseguita 2 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: 191

206 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Algoritmo Probabilità di blocco 1250 richieste 2500 richieste 3750 richieste 5000 richieste 6250 richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=2, khop=20) Algoritmo Probabilità di blocco 7500 richieste 8750 richieste richieste Spark (k=4, khop=20) MinHop MinRC Spark (k=2, khop=20) Grafico dei risultati: 192

207 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.23: NSFNET con 80 lambda su ciascuna fibra; bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Sulla rete NSFNET con 80 lambda per fibra l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) ottiene risultati decisamente migliori sia di MinHop che di MinRC. Provando a far variare il parametro k da 4 a 2 non ottieniamo cambiamenti significativi, quindi sulla rete NSFNET con 80 lambda si possono ottenere ottimi risultati con l'algoritmo di S.P.A.R.K. (k = 2, khop = 20) (che ha una complessità di tempo leggermente inferiore a S.P.A.R.K. con k = 4) (Figura 3.23) Risultati su GEANT2 In questo paragrafo presentiamo e confrontiamo i risultati degli algoritmi di SPARK, MinHop e MinRC sulla rete GEANT2. 193

208 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K GEANT2: simulazione #1 Rete: GEANT2 con convertitori di lunghezze d'onda (al centro della rete). Bande generate casualmente dalla simulazione: 1, 3, 12, 24, 48, 192 unità OC. Ciascuna simulazione è stata eseguita 10 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: Algoritmo Probabilità di blocco 1000 richieste 2000 richieste 3000 richieste 4000 richieste 5000 richieste Spark (k=4, khop=20) MinHop MinRC Algoritmo Probabilità di blocco 6000 richieste 7000 richieste 8000 richieste 9000 richieste richieste Spark (k=4, khop=20) MinHop MinRC Grafico dei risultati: 194

209 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.24: GEANT2 con convertitori di lunghezze d'onda (al centro della rete); bande generate casualmente dalla simulazione: 1, 3, 12, 24, 48, 192 unità OC. Sulla rete GEANT2 con convertitori al centro, in condizioni di elevato stress dovuto all'elevato numero di richieste di connessione con vincoli sulla banda anche molto alti che è poi la situazione più realistica l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) ottiene risultati decisamente migliori sia di MinHop che di MinRC. Il numero di connessioni rifiutati da S.P.A.R.K. è di molto inferiore rispetto al numero di connessioni rifiutate sia da MinHop che da MinRC (Figura 3.24) GEANT2: simulazione #2 Rete: GEANT2 con convertitori di lunghezze d'onda (al centro della rete). Bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Ciascuna 195

210 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. simulazione è stata eseguita 10 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: Algoritmo Probabilità di blocco 1000 richieste 2000 richieste 3000 richieste 4000 richieste 5000 richieste Spark (k=4, khop=20) MinHop MinRC Algoritmo Probabilità di blocco 6000 richieste 7000 richieste 8000 richieste 9000 richieste richieste Spark (k=4, khop=20) MinHop MinRC Grafico dei risultati: Figura 3.25: GEANT2 con convertitori di lunghezze d'onda (al centro della rete); bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. 196

211 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Sulla rete GEANT2 con convertitori al centro, in condizioni di medio stress dovuto alla bassa banda richiesta dalle seppur molte connessioni l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) ottiene comunque risultati migliori sia di MinHop che di MinRC (Figura 3.25) GEANT2: simulazione #3 Rete: GEANT2 con convertitori di lunghezze d'onda (al centro della rete). Bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Ciascuna simulazione è stata eseguita 50 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: Algoritmo Probabilità di blocco 100 richieste 200 richieste 300 richieste 400 richieste 500 richieste Spark (k=4, khop=20) MinHop MinRC Algoritmo Probabilità di blocco 600 richieste 700 richieste 800 richieste 900 richieste 1000 richieste Spark (k=4, khop=20) MinHop MinRC Grafico dei risultati: 197

212 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.26: GEANT2 con convertitori di lunghezze d'onda (al centro della rete); bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Anche sulla rete GEANT2 con convertitori al centro, in condizioni di bassissimo stress dovuto alla bassa banda richiesta dalle poche connessioni l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) ottiene comunque risultati migliori sia di MinHop che di MinRC (Figura 3.26) GEANT2: simulazione #4 Rete: GEANT2 senza convertitori di lunghezze d'onda. Bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. Ciascuna simulazione è stata eseguita 10 volte e ne è stato estratto il valor medio. Riportiamo i valori ottenuti in forma tabellare: 198

213 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Algoritmo Probabilità di blocco 1000 richieste 2000 richieste 3000 richieste 4000 richieste 5000 richieste Spark (k=4, khop=20) MinHop MinRC Algoritmo Probabilità di blocco 6000 richieste 7000 richieste 8000 richieste 9000 richieste richieste Spark (k=4, khop=20) MinHop MinRC Grafico dei risultati: Figura 3.27: GEANT2 senza convertitori di lunghezze d'onda; bande generate casualmente dalla simulazione: 1, 2, 3, 4 unità OC. 199

214 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Sulla rete GEANT2 senza convertitori al centro, in condizioni di medio stress dovuto alla bassa banda richiesta dalle molte connessioni l'algoritmo di S.P.A.R.K. (k = 4, khop = 20) ottiene sempre risultati migliori sia di MinHop che di MinRC. 200

215 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. 4. Il framework: simulatore e algoritmi di RWA realizzati E' stato realizzato un framework in Java che realizza tutte le funzioni necessarie alla valutazione delle prestazioni dell'algoritmo di S.P.A.R.K. nonché degli altri algoritmi che per confronto sono stati implementati. Figura 3.28: L'aspetto della finestra principale dell'applicazione (rimpicciolita). Il framework permette l'apertura da file di una topologia di rete è stata realizzata una struttura di file apposita per descrivere una topologia di rete. Essa descrive in ogni sua parte il multigrafo: il numero di nodi; i nodi che sono convertitori; 201

216 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. gli archi del multigrafo - per ciascun arco è indicato: lunghezza d'onda usata; fibra di appartenenza; banda_residua; banda_max; nodi a cui l'arco è collegato. Nella Figura 3.29 è rappresentato un file di esempio che rappresenta una rete con 4 nodi, di cui uno solo ha la capacità di conversione di lunghezza d'onda (il nodo con identificativo 2) e con 5 archi. Dal menù File (Figura 3.29) è possibile quindi aprire una topologia esistente da file, crearne una nuova, salvare lo stato corrente del multigrafo in un file, chiudere il file contenente la topologia precedentemente caricata. Figura 3.29: Il menù File. Una volta che un file di topologia è stato caricato, sulla finestra di output del programma vengono mostrate le informazioni circa la topologia di rete contenuta nel file (Figura 3.30 e 3.31). 202

217 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. # Questo file contiene la topologia completa rete e lo stato della rete (intesa come banda # occupata sui singoli archi) # i commenti iniziano per '#' # Inizio descrizione rete # Nodi Numero_nodi: 4 # vengono creati 'n' nodi con identificativo 1, 2, 3,..., n # i nodi sono di due tipi: con e senza capacità di conversione di lunghezze d'onda # Inserire gli identificativi dei nodi che sono convertitori: Nodi_convertitori: 2 # Archi # elencare nel seguito tutti gli archi del grafo # ad ogni arco corrisponde una lunghezza d'onda # la struttura comune è la seguente: # # id_fibra, lambda, banda_residua, banda_max, id_nodo1, id_nodo2 # # con il seguente significato: # # id_fibra: identificativo della fibra di appartenenza # lambda: la lunghezza d'onda dell'arco (es. 1, 2, 3, 4) # banda_max: la banda dell'arco espressa in OC-xxx (es. 1,, 3, 12, 24,...) # banda_residua: la banda residua sull'arco # id_nodo1, id_nodo2: identificativi dei nodi collegati dall'arco # (l'arco è non orientato, quindi i nodi si possono inserire in ordine qualsiasi) # # agli archi viene assegnato un identificativo univoco 1, 2, 3,... man mano che si # aggiunge un arco al multigrafo della rete 1, 1, 128, 256, 1, 2 2, 1, 3, 3, 2, 4 2, 2, 256, 768, 2, 4 3, 1, 0, 24, 1, 3 4, 1, 192, 192, 3, 4 Figura 3.30: Un file che mostra una topologia di esempio. A questo punto la topologia della rete è stata caricata in memoria ed è possibile lanciare gli algoritmi che sono stati implementati. 203

218 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.31: La finestra di output del programma che mostra le informazioni circa la topologia di rete caricata da file. In Figura 3.32 è mostrato il menù Algoritmi. Figura 3.32: Il menù "Algoritmi". 204

219 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Come si può osservare dalla Figura, sono stati implementati i seguenti algoritmi: Algoritmo di Dijkstra; Algoritmo di K-Shortest Paths; Algoritmo di S.P.A.R.K.; Algoritmo di MinHop; Algoritmo di MinRC; Inoltre, è stato realizzato un vero e proprio simulatore di rete, in cui vengono misurate le prestazioni dei vari algoritmi implementati. Ma vediamo prima le maschere di inserimento dei dati della connessione per i vari algoritmi che si sono realizzati (Figura 3.33). Il campo nodo1 e nodo2 identificano i nodi estremi della connessione. Il campo banda permette di specificare il requisito sulla banda richiesta lungo il percorso. Il checkbox Aggiorna MultiGrafo permette di specificare se si intende realmente instradare la connessione nel grafo, oppure se si vuole lasciare lo stato del grafo invariato e vedere quindi solo come sarebbe eventualmente instradata la connessione dall'algoritmo scelto con i parametri specificati. Il checkbox Modalità verbosa attiva, se selezionato, la modalità verbosa che fa si che siano stampate sulla finestra di output tutte le informazioni circa la richiesta di connessione corrente e l'algoritmo lanciato. Il parametro k, presente solo nel K-Shortest Paths che in S.P.A.R.K., è ovviamente il numero di percorsi alternativi che si intende ricercare per la connessione specificata. 205

220 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Infine, il parametro khop, è il parametro - solo di S.P.A.R.K. - che specifica di quanto si vuole penalizzare un percorso in base al suo numero di hop. Figura 3.33: Maschere di inserimento dei dati della connessione per i vari algoritmi. Vediamo ora le maschere relative alle simulazioni (Figura 3.34). 206

221 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.34: Maschere di inserimento dei dati delle simulazioni e dei run di simulazione. Tramite queste maschere è possibile impostare i dati della simulazione che si intende lanciare. La prima delle maschere si riferisce ad una simulazione singola. Viene richiesto di inserire il numero delle richieste di connessione da generare, i parametri k e khop se è selezionato l'algoritmo S.P.A.R.K., e di scegliere se aggiornare o meno il grafo e se attivare o meno la modalità verbosa. La scelta dell'algoritmo che si vuole usare per instradare le connessioni è effettuata dal menù a tendina. Esso ha le seguenti scelte possibili: Figura 3.35: Gli algoritmi che è possibile scegliere per le simulazioni. 207

222 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Se viene scelto un algoritmo diverso da S.P.A.R.K., le caselle relative a k e a khop si disabilitano. La seconda maschera si riferisce ai run di simulazione, ovvero vengono effettuate molte simulazioni e alla fine viene mostrato come risultato la media dei risultati ottenuti in ciascuna simulazione. Il campo run di simulazione indica per l'appunto il numero di simulazioni da lanciare. Durante una simulazione, vengono generate le richieste di connessione che hanno la forma seguente: [ sorgente, destinazione, banda ] Le richieste sono generate in maniera pseudo-casuale, in accordo con l'ipotesi fatta all'inizio di questo capitolo di equidistribuzione delle connessione tra tutti i nodi. Ciascuna richiesta viene inoltrata alla rete e viene quindi lanciato l'algoritmo che è stato scelto per (tentare di) instradare la connessione. L'algoritmo, sceglierà un percorso e instraderà effettivamente la connessione nella rete oppure, nel caso in cui non trovi nessun percorso fattibile, bloccherà la richiesta di connessione corrente. Alla fine della simulazione, vengono estratti i risultati in termini di numero di richieste onorate e numero di richieste rifiutate, e da questi dati viene calcolata la probabilità di blocco della rete in corrispondenza del numero totale di richieste di connessione generate. Se è stato scelto di lanciare i run di simulazione, i valori mostrati saranno i valori medi ottenuti calcolando la media delle molte simulazioni che sono state eseguite. E' tramite i run di simulazione che si sono estratti i risultati degli algoritmi mostrati in questo capitolo. Il menù MultiGrafo presenta le operazioni relative alla gestione del MultiGrafo (Figura 3.36). 208

223 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. Figura 3.36: Il menù "MultiGrafo". La voce Stampa il MultiGrafo permette di stampare sull'output lo stato corrente del multigrafo stato che potrebbe essere stato modificato dalle connessioni che sono state inoltrate alla rete. La voce Ripristina il MultiGrafo permette di ripristinare il MultiGrafo al suo stato iniziale, quello cioè specificato nel file di topologia di rete che è stato precedentemente aperto da file. La voce Imposta banda per la simulazione permette di specificare quali sono le bande che dovranno essere generate casualmente durante la simulazione. Esse sono specificate in unità OC-x. Il menù Finestre (Figura 3.37) contiene delle semplici operazioni per la gestione delle finestre di output e di input e per la pulizia delle finestra di output (che può diventare molto piena dopo parecchie richieste di connessione). Figura 3.37: Il menù "Finestre". Infine, è riportato un menù di? che mostra una finestra di About del 209

224 Capitolo 3: Un nuovo Algoritmo di Routing e Wavelength Assignment: S.P.A.R.K. programma (Figura 3.38). Figura 3.38: Il menù "About". In Figura 3.39 è rappresentata la finestra di About mostrata quando si clicca sulla voce di menù About.... Figura 3.39: La finestra di About. In appendice si può consultare il codice Java di tutto il programma. Vi sono le classi e i metodi che realizzano il framework, il multigrafo (con archi, fibre, nodi e percorsi), gli algoritmi di RWA nonché il Javadoc di tutte le classi e i metodi del programma. 210

Realizzazione di un commutatore ultraveloce di flussi dati ottici basato su effetti non lineari in fibra. Claudia Cantini

Realizzazione di un commutatore ultraveloce di flussi dati ottici basato su effetti non lineari in fibra. Claudia Cantini Realizzazione di un commutatore ultraveloce di flussi dati ottici basato su effetti non lineari in fibra Claudia Cantini 20 Luglio 2004 Ai miei genitori Prefazione La nostra vita di ogni giorno é sempre

Dettagli

FIBRA OTTICA. A cura di Alessandro Leonardi Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università degli studi di Catania

FIBRA OTTICA. A cura di Alessandro Leonardi Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università degli studi di Catania FIBRA OTTICA A cura di Alessandro Leonardi Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università degli studi di Catania Fibra ottica Minuscolo e flessibile filo di vetro costituito

Dettagli

Propagazione in fibra ottica

Propagazione in fibra ottica Propagazione in fibra ottica Struttura delle fibre ottiche In questa sezione si affronteranno: Modi in fibra ottica Dispersione multimodale Confronto multimodo-singolo modo. I modi in fibra ottica Il campo

Dettagli

INTRODUZIONE: PERDITE IN FIBRA OTTICA

INTRODUZIONE: PERDITE IN FIBRA OTTICA INTRODUZIONE: PERDITE IN FIBRA OTTICA Il nucleo (o core ) di una fibra ottica è costituito da vetro ad elevatissima purezza, dal momento che la luce deve attraversare migliaia di metri di vetro del nucleo.

Dettagli

Amplificatori Audio di Potenza

Amplificatori Audio di Potenza Amplificatori Audio di Potenza Un amplificatore, semplificando al massimo, può essere visto come un oggetto in grado di aumentare il livello di un segnale. Ha quindi, generalmente, due porte: un ingresso

Dettagli

Quanto sono i livelli OSI?

Quanto sono i livelli OSI? RETI DI CALCOLATORI Domande di riepilogo Prima Esercitazione Quanto sono i livelli OSI? Esistono 7 livelli OSI. 2 Sergio PORCU 1 Livello 1: Fisico Il livello fisico si occupa della trasmissione dei singoli

Dettagli

Corso di DISPOSITIVI E SISTEMI PER LE COMUNICAZIONI IN FIBRA OTTICA

Corso di DISPOSITIVI E SISTEMI PER LE COMUNICAZIONI IN FIBRA OTTICA Università Mediterranea di Reggio Calabria - Facoltà di Ingegneria Corso di DISPOSITIVI E SISTEMI PER LE COMUNICAZIONI IN FIBRA OTTICA Prof. Ing. Riccardo Carotenuto Anno Accademico 2007/2008-1- SOMMARIO

Dettagli

Settembre 2003 LE FIBRE OTTICHE. Pietro Nicoletti. Silvano Gai. Fibre- 1 Copyright: si veda nota a pag. 2

Settembre 2003 LE FIBRE OTTICHE. Pietro Nicoletti. Silvano Gai. Fibre- 1 Copyright: si veda nota a pag. 2 LE FIBRE OTTICHE Pietro Nicoletti Silvano Gai Fibre- 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme di trasparenze (detto nel seguito slides) è protetto dalle leggi sul copyright e

Dettagli

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile

La propagazione delle onde luminose può essere studiata per mezzo delle equazioni di Maxwell. Tuttavia, nella maggior parte dei casi è possibile Elementi di ottica L ottica si occupa dello studio dei percorsi dei raggi luminosi e dei fenomeni legati alla propagazione della luce in generale. Lo studio dell ottica nella fisica moderna si basa sul

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Tecniche di trasmissione!2 Ogni rete di calcolatori necessita di un supporto fisico di collegamento

Dettagli

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Programma del corso Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori Sistemi operativi di rete (locale) In una LAN si vogliono condividere

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione Commutazione 05.2 Trasmissione di dati al di fuori di un area locale avviene tramite la Autunno 2002 Prof. Roberto De Prisco -05: Reti a di circuito Università degli studi di Salerno Laurea e Diploma in

Dettagli

Dispositivi di rete. Ripetitori. Hub

Dispositivi di rete. Ripetitori. Hub Ripetitori Dispositivi di rete I ripetitori aumentano la distanza che può essere ragginta dai dispositivi Ethernet per trasmettere dati l'uno rispetto all'altro. Le distanze coperte dai cavi sono limitate

Dettagli

FIBRE OTTICHE 1 2 3 4 5 6 7 Le fibre ottiche monomodali sono caratterizzate da un diametro Dcr del core (nucleo) compreso tra 4 e 10 μm (micrometri o micron) e da un diametro Dcl del cladding (mantello)

Dettagli

I.P.S.I.A. Di BOCCHIGLIERO. ---- Fotoemettitori e Fotorivelatori ---- Materia: Telecomunicazioni. prof. Ing. Zumpano Luigi. Filippelli Maria Fortunata

I.P.S.I.A. Di BOCCHIGLIERO. ---- Fotoemettitori e Fotorivelatori ---- Materia: Telecomunicazioni. prof. Ing. Zumpano Luigi. Filippelli Maria Fortunata I..S.I.A. Di BOCCHIGLIERO a.s. 2010/2011 -classe III- Materia: Telecomunicazioni ---- Fotoemettitori e Fotorivelatori ---- alunna Filippelli Maria Fortunata prof. Ing. Zumpano Luigi Fotoemettitori e fotorivelatori

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Trasmissione dell informazione attraverso una fibra ottica

Trasmissione dell informazione attraverso una fibra ottica Trasmissione dell informazione attraverso una fibra ottica Porzione dello spettro elettromagnetico di interesse nelle comunicazioni ottiche Pag.1 Principio di propagazione in fibra ottica: legge di Snell

Dettagli

Sorgenti e ricevitori. Impiego delle fibre ottiche in telefonia

Sorgenti e ricevitori. Impiego delle fibre ottiche in telefonia Argomenti relativi alle fibre ottiche. Fibre ottiche: Costituzione delle fibre Propagazione di energia ottica Sorgenti e ricevitori Impiego delle fibre ottiche in telefonia Frequenza normalizata Apertura

Dettagli

Lo scenario: la definizione di Internet

Lo scenario: la definizione di Internet 1 Lo scenario: la definizione di Internet INTERNET E UN INSIEME DI RETI DI COMPUTER INTERCONNESSE TRA LORO SIA FISICAMENTE (LINEE DI COMUNICAZIONE) SIA LOGICAMENTE (PROTOCOLLI DI COMUNICAZIONE SPECIALIZZATI)

Dettagli

Fibre Ottiche. Svantaggi: conversione del segnale da elettrico a ottico e viceversa precauzioni di installazione strumentazione di test sofisticata

Fibre Ottiche. Svantaggi: conversione del segnale da elettrico a ottico e viceversa precauzioni di installazione strumentazione di test sofisticata Fibre Ottiche Lo sviluppo delle fibre ottiche è stato spinto dalle telecomunicazioni che, inzialmente, ne hanno apprezzato le possibilità di trasmettere a grandi distanza con pochi amplificatori intermedi.

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Cos'è il cablaggio strutturato?

Cos'è il cablaggio strutturato? Cos'è il cablaggio strutturato? Il cablaggio strutturato è una grande rete di trasmissione dati costituita da un insieme di cavi, prese, armadi ed altri accessori tramite i quali trasportare ed integrare

Dettagli

Reti LAN. IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it

Reti LAN. IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it Reti LAN IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it Le LAN Una LAN è un sistema di comunicazione che permette ad apparecchiature indipendenti di comunicare fra loro entro un area limitata

Dettagli

ARCHITETTURA DI RETE FOLEGNANI ANDREA

ARCHITETTURA DI RETE FOLEGNANI ANDREA ARCHITETTURA DI RETE FOLEGNANI ANDREA INTRODUZIONE È denominata Architettura di rete un insieme di livelli e protocolli. Le reti sono organizzate gerarchicamente in livelli, ciascuno dei quali interagisce

Dettagli

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6 GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1 Il Repeater 2 L Hub 2 Il Bridge 4 Lo Switch 4 Router 6 Gli apparati per l interconnessione di reti locali Distinguiamo i seguenti tipi di apparati:

Dettagli

Reti di Telecomunicazioni 1

Reti di Telecomunicazioni 1 Reti di Telecomunicazioni 1 Corso on-line - AA2005/06 Blocco 2 (v2) Ing. Stefano Salsano e-mail: stefano.salsano@uniroma2.it 1 Richiami sul concetto di multiplazione 2 Riprendendo il discorso sulle diverse

Dettagli

Le tre leggi del Networking

Le tre leggi del Networking Le tre leggi del Networking #1 - Le reti andranno sempre più veloci Progetti per alta velocità, incremento del flusso di dati, riduzione dei tempi di risposta. #2 - Le reti saranno sempre più vaste Progetti

Dettagli

LE FIBRE OTTICHE. Pietro Nicoletti. Silvano Gai. Pietro.Nicoletti@torino.alpcom.it. Silvano.Gai@polito.it http://www.polito.it/~silvano.

LE FIBRE OTTICHE. Pietro Nicoletti. Silvano Gai. Pietro.Nicoletti@torino.alpcom.it. Silvano.Gai@polito.it http://www.polito.it/~silvano. LE FIBRE OTTICHE Pietro Nicoletti Pietro.Nicoletti@torino.alpcom.it Silvano Gai Silvano.Gai@polito.it http://www.polito.it/~silvano Fibre- 1 Copyright: si veda nota a pag. 2 Nota di Copyright Questo insieme

Dettagli

Reti di Telecomunicazione Lezione 8

Reti di Telecomunicazione Lezione 8 Reti di Telecomunicazione Lezione 8 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Livello di trasporto Programma della lezione relazione tra lo strato di trasporto e lo strato

Dettagli

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15. Pietro Frasca. Parte II Lezione 5 Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2014-15 Parte II Lezione 5 Giovedì 19-03-2015 1 Intensità del traffico e perdita dei pacchetti La componente

Dettagli

Introduzione alle fibre ottiche

Introduzione alle fibre ottiche Introduzione alle fibre ottiche Struttura delle fibre ottiche Una fibra ottica è sostanzialmente un cilindro (solitamente in vetro) con una parte centrale, detta core, con un indice di rifrazione superiore

Dettagli

COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA

COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA COS'E' UN IMPIANTO FOTOVOLTAICO E COME FUNZIONA Il principio di funzionamento: la cella fotovoltaica Le celle fotovoltaiche consentono di trasformare direttamente la radiazione solare in energia elettrica,

Dettagli

Le Reti Informatiche

Le Reti Informatiche Le Reti Informatiche modulo 1 Prof. Salvatore Rosta www.byteman.it s.rosta@byteman.it 1 Intro: 1 Con il termine rete si indica in modo generico un collegamento fra 2 apparecchiature (sorgente - destinazione)

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward

Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward Il VoIP nel mondo di Internet e l evoluzione del carrier telefonico. Relatore: Ing. Carrera Marco - Audit Technical Manager Switchward Sommario 1) L evoluzione della comunicazione: dalla rete PSTN alla

Dettagli

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6 Appunti di Calcolatori Elettronici Esecuzione di istruzioni in parallelo Introduzione... 1 Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD...

Dettagli

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete IP Analizziamo con sufficiente dettaglio il sistema denominato IP, usato per consentire a due computer mobili di spostarsi liberamente in altre reti pur mantenendo lo stesso indirizzo IP. In particolare,

Dettagli

LE FIBRE OTTICHE. Indice generale

LE FIBRE OTTICHE. Indice generale Indice generale LE FIBRE OTTICHE... Sistema di trasmissione con fibre ottiche... Apparato Trasmissivo... Apparato Ricevitore... Trasduttori Ottici in Trasmissione (LED o LD)... Trasduttori Ottici in Ricezione

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - Esercizio Convertire i seguenti numeri da base 10 a base 2: 8, 23, 144, 201. Come procedere per risolvere il problema? Bisogna ricordarsi che ogni sistema,

Dettagli

SUPERLUMINESCENT DIODES (SLDs)

SUPERLUMINESCENT DIODES (SLDs) SUPERLUMINESCENT DIODES (SLDs) Emission spectra and L-I characteristics Capitolo 3 Applicazioni degli SLED. I LED superluminescenti vengono utilizzati in varie applicazioni in cui è richiesta una

Dettagli

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 1 LABORATORIO DI SISTEMI OGGETTO: Progettare e collaudare un circuito digitale capace di copiare le informazioni di una memoria PROM in

Dettagli

Reti di Telecomunicazioni 1

Reti di Telecomunicazioni 1 Reti di Telecomunicazioni 1 Corso on-line - AA2004/05 Blocco 1 Ing. Stefano Salsano e-mail: stefano.salsano@uniroma2.it 1 Definizioni- Le funzionalità delle reti di TLC 2 Definizioni Comunicazione: trasferimento

Dettagli

Dispositivi optoelettronici (1)

Dispositivi optoelettronici (1) Dispositivi optoelettronici (1) Sono dispositivi dove giocano un ruolo fondamentale sia le correnti elettriche che i fotoni, le particelle base della radiazione elettromagnetica. Le onde elettromagnetiche

Dettagli

SISTEMI DI NUMERAZIONE E CODICI

SISTEMI DI NUMERAZIONE E CODICI SISTEMI DI NUMERAZIONE E CODICI Il Sistema di Numerazione Decimale Il sistema decimale o sistema di numerazione a base dieci usa dieci cifre, dette cifre decimali, da O a 9. Il sistema decimale è un sistema

Dettagli

RETE DI TRASPORTO OTTICA

RETE DI TRASPORTO OTTICA RETE DI TRASPORTO OTTICA I sistemi di trasmissione WDM furono introdotti inizialmente per aumentare la capacità dei collegamenti punto-punto; con l introduzione di altri dispositivi come l Optical Add

Dettagli

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente Cos'è una vlan Da Wikipedia: Una LAN virtuale, comunemente detta VLAN, è un gruppo di host che comunicano tra di loro come se fossero collegati allo stesso cablaggio, a prescindere dalla loro posizione

Dettagli

Evoluzione della rete Ethernet (II parte)

Evoluzione della rete Ethernet (II parte) Evoluzione della rete Ethernet (II parte) Argomenti della lezione Richiami sul funzionamento della rete Ethernet Fast Ethernet Gigabit Ethernet Implicazioni sul cablaggio 10Gb Ethernet 10 Gigabit Ethernet:

Dettagli

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

158.110.1.3 158.110.1.2 SWITCH. 100 Mb/s (UTP cat. 5E) 158.110.1.1 158.110.3.3 158.110.3.2. 10 Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat. Università degli Studi di Udine Insegnamento: Reti di Calcolatori I Docente: Pier Luca Montessoro DOMANDE DI RIEPILOGO SU: - Livello network 1. Si deve suddividere la rete 173.19.0.0 in 510 subnet. Qual

Dettagli

OPTOELETTRONICA I FOTORILEVATORI fotoresistenze Le foto resistenze sono costituite da un materiale semiconduttore di tipo N,come il solfuro di cadmio(cds) oppure da materiali fotosensibili come l ossido

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Apparecchiature di Rete

Apparecchiature di Rete All interno delle reti troviamo delle apparecchiature, utilizzate per gestire le trasmissioni tra gli elementi della rete e per creare interconnessioni tra reti differenti Livello 7 Livello 6 Livello 5

Dettagli

Fisica II - CdL Chimica. La natura della luce Ottica geometrica Velocità della luce Dispersione Fibre ottiche

Fisica II - CdL Chimica. La natura della luce Ottica geometrica Velocità della luce Dispersione Fibre ottiche La natura della luce Ottica geometrica Velocità della luce Dispersione Fibre ottiche La natura della luce Teoria corpuscolare (Newton) Teoria ondulatoria: proposta già al tempo di Newton, ma scartata perchè

Dettagli

Architettura hardware

Architettura hardware Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli

Reti di Calcolatori. Il software

Reti di Calcolatori. Il software Reti di Calcolatori Il software Lo Stack Protocollare Application: supporta le applicazioni che usano la rete; Transport: trasferimento dati tra host; Network: instradamento (routing) di datagram dalla

Dettagli

Capitolo 15 Reti di calcolatori e sistemi distribuiti

Capitolo 15 Reti di calcolatori e sistemi distribuiti Capitolo 15 Reti di calcolatori e sistemi distribuiti Indice Mezzi e tecniche di trasmissione dati Cavi in rame Fibre ottiche Onde radio e sistemi wireless Modulazione e demodulazione Reti di calcolatori

Dettagli

VPN CIRCUITI VIRTUALI

VPN CIRCUITI VIRTUALI & TUNNELING 1 Il termine VPN viene pesantemente abusato, con varie definizioni ma possiamo definire intuitivamente una VPN considerando dapprima l'idea dì una rete privata. Le aziende con molte sedi si

Dettagli

Dispositivo di conversione di energia elettrica per aerogeneratori composto da componenti commerciali.

Dispositivo di conversione di energia elettrica per aerogeneratori composto da componenti commerciali. Sede legale: Viale Vittorio Veneto 60, 59100 Prato P.IVA /CF 02110810971 Sede operativa: Via del Mandorlo 30, 59100 Prato tel. (+39) 0574 550493 fax (+39) 0574 577854 Web: www.aria-srl.it Email: info@aria-srl.it

Dettagli

MEZZI TRASMISSIVI 1. Il doppino 2. Il cavo coassiale 3. La fibra ottica 5. Wireless LAN 7

MEZZI TRASMISSIVI 1. Il doppino 2. Il cavo coassiale 3. La fibra ottica 5. Wireless LAN 7 MEZZI TRASMISSIVI 1 Il doppino 2 Il cavo coassiale 3 La fibra ottica 5 Wireless LAN 7 Mezzi trasmissivi La scelta del mezzo trasmissivo dipende dalle prestazioni che si vogliono ottenere, da poche centinaia

Dettagli

La propagazione della luce in una fibra ottica

La propagazione della luce in una fibra ottica La propagazione della luce in una fibra ottica La rifrazione della luce Consideriamo due mezzi trasparenti alla luce, separati da una superficie piana. Il primo mezzo ha indice di rifrazione n, il secondo

Dettagli

Caratterizzazione di finestre da vuoto e radome. Modello circuitale delle finestre da vuoto e dei radome

Caratterizzazione di finestre da vuoto e radome. Modello circuitale delle finestre da vuoto e dei radome ISTITUTO NAZIONALE DI ASTROFISICA OSSERVATORIO ASTROFISICO DI ARCETRI L.GO E. FERMI, 5, 50125 FIRENZE TEL. 39-055-27521; FAX: 39-055-220039 C.F./P.IVA: 97220210583 Caratterizzazione di finestre da vuoto

Dettagli

Genova 15 01 14 TIPOLOGIE DI LAMPADE

Genova 15 01 14 TIPOLOGIE DI LAMPADE Genova 15 01 14 TIPOLOGIE DI LAMPADE Le lampade a vapori di mercurio sono sicuramente le sorgenti di radiazione UV più utilizzate nella disinfezione delle acque destinate al consumo umano in quanto offrono

Dettagli

LA CORRENTE ELETTRICA

LA CORRENTE ELETTRICA L CORRENTE ELETTRIC H P h Prima che si raggiunga l equilibrio c è un intervallo di tempo dove il livello del fluido non è uguale. Il verso del movimento del fluido va dal vaso a livello maggiore () verso

Dettagli

Spettrofotometria. Le onde luminose consistono in campi magnetici e campi elettrici oscillanti, fra loro perpendicolari.

Spettrofotometria. Le onde luminose consistono in campi magnetici e campi elettrici oscillanti, fra loro perpendicolari. Spettrofotometria. Con questo termine si intende l utilizzo della luce nella misura delle concentrazioni chimiche. Per affrontare questo argomento dovremo conoscere: Natura e proprietà della luce. Cosa

Dettagli

La Fibra Ottica: pro e contro

La Fibra Ottica: pro e contro La Fibra Ottica: pro e contro Vantaggi: Larghezza di banda Attenuazioni minime Immunità da interferenze elettromagnetiche Idonea per applicazioni attuali e future Trasparente verso le applicazioni e gli

Dettagli

IT Cloud Service. Semplice - accessibile - sicuro - economico

IT Cloud Service. Semplice - accessibile - sicuro - economico IT Cloud Service Semplice - accessibile - sicuro - economico IT Cloud Service - Cos è IT Cloud Service è una soluzione flessibile per la sincronizzazione dei file e la loro condivisione. Sia che si utilizzi

Dettagli

Generatore radiologico

Generatore radiologico Generatore radiologico Radiazioni artificiali alimentazione: corrente elettrica www.med.unipg.it/ac/rad/ www.etsrm.it oscar fiorucci. laurea.tecn.radiol@ospedale.perugia.it Impianto radiologico trasformatore

Dettagli

Il concetto di valore medio in generale

Il concetto di valore medio in generale Il concetto di valore medio in generale Nella statistica descrittiva si distinguono solitamente due tipi di medie: - le medie analitiche, che soddisfano ad una condizione di invarianza e si calcolano tenendo

Dettagli

T13 FIBRE OTTICHE. T13.1 Elencare i principali vantaggi delle fibre ottiche come mezzo trasmissivo, in confronto con le linee di trasmissione in rame.

T13 FIBRE OTTICHE. T13.1 Elencare i principali vantaggi delle fibre ottiche come mezzo trasmissivo, in confronto con le linee di trasmissione in rame. T13 FIBRE OTTICHE T13.1 Elencare i principali vantaggi delle fibre ottiche come mezzo trasmissivo, in confronto con le linee di trasmissione in rame. T13. Perché le fibre ottiche possono essere considerate

Dettagli

FIBRE OTTICHE ULTRA VIOLETTO VISIBILE. 10 nm 390 nm 770 nm 10 6 nm

FIBRE OTTICHE ULTRA VIOLETTO VISIBILE. 10 nm 390 nm 770 nm 10 6 nm Fibre ottiche FIBRE OTTICHE Le fibre ottiche operano nelle bande infrarosso, visibile e ultravioletto. La lunghezza d onda di tali bande è: (1 nm = 10-9 m) ULTRA VIOLETTO VISIBILE INFRAROSSO 10 nm 390

Dettagli

Internet e il World Wide Web. Informatica di Base A -- Rossano Gaeta 1

Internet e il World Wide Web. Informatica di Base A -- Rossano Gaeta 1 Internet e il World Wide Web 1 Domande chiave 2.1 Quali sono i mezzi di connessione a Internet e qual è la loro velocità? 2.2 Quali sono i tre tipi di provider Internet e quali tipi di servizi offrono?

Dettagli

Capitolo 2 Caratteristiche delle sorgenti luminose In questo capitolo sono descritte alcune grandezze utili per caratterizzare le sorgenti luminose.

Capitolo 2 Caratteristiche delle sorgenti luminose In questo capitolo sono descritte alcune grandezze utili per caratterizzare le sorgenti luminose. Capitolo 2 Caratteristiche delle sorgenti luminose In questo capitolo sono descritte alcune grandezze utili per caratterizzare le sorgenti luminose. 2.1 Spettro di emissione Lo spettro di emissione di

Dettagli

Laboratorio di Informatica

Laboratorio di Informatica per chimica industriale e chimica applicata e ambientale LEZIONE 4 - parte II La memoria 1 La memoriaparametri di caratterizzazione Un dato dispositivo di memoria è caratterizzato da : velocità di accesso,

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Le Reti di Computer 2 Introduzione Una rete è un complesso insieme di sistemi di elaborazione

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Soluzioni verifica 3 2009-10 parte 4

Soluzioni verifica 3 2009-10 parte 4 Soluzioni verifica 3 2009-10 parte 4 1 Si consideri una rete ethernet a mezzo condiviso, costituita da un unico dominio di collisione in cui vi sono tre segmenti (costituiti da cavi diversi di

Dettagli

Internet e il World Wide Web. Informatica Generale -- Rossano Gaeta 30

Internet e il World Wide Web. Informatica Generale -- Rossano Gaeta 30 Internet e il World Wide Web 30 Tecnologia delle Telecomunicazioni Uso di dispositivi e sistemi elettromagnetici per effettuare la comunicazione a lunghe distanze (telefoni, televisione, radio, etc) Comunicazione

Dettagli

REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE

REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE REGIONE BASILICATA DIPARTIMENTO PRESIDENZA DELLA GIUNTA UFFICIO SOCIETÀ DELL INFORMAZIONE Bando pubblico per lo sviluppo della rete a Banda Larga nelle aree a fallimento di mercato finalizzato al superamento

Dettagli

CAPITOLO 1. Introduzione alle reti LAN

CAPITOLO 1. Introduzione alle reti LAN CAPITOLO 1 Introduzione alle reti LAN Anche se il termine rete ha molte accezioni, possiamo definirla come un gruppo di due o più computer collegati. Se i computer sono collegati in rete è possibile scambiarsi

Dettagli

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti) (Esercizi Tratti da Temi d esame degli ordinamenti precedenti) Esercizio 1 L'agenzia viaggi GV - Grandi Viaggi vi commissiona l'implementazione della funzione AssegnaVolo. Tale funzione riceve due liste

Dettagli

Einstein ci dice che la luce è costituita da unità elementari chiamate fotoni. Cosa sono questi fotoni?

Einstein ci dice che la luce è costituita da unità elementari chiamate fotoni. Cosa sono questi fotoni? La natura della luce Einstein ci dice che la luce è costituita da unità elementari chiamate fotoni. Cosa sono questi fotoni? Se si potesse fotografare un fotone in un certo istante vedremmo una deformazione

Dettagli

Creare una Rete Locale Lezione n. 1

Creare una Rete Locale Lezione n. 1 Le Reti Locali Introduzione Le Reti Locali indicate anche come LAN (Local Area Network), sono il punto d appoggio su cui si fonda la collaborazione nel lavoro in qualunque realtà, sia essa un azienda,

Dettagli

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione I semestre 04/05 Comunicazione tra Computer Protocolli Prof. Vincenzo Auletta auletta@dia.unisa.it http://www.dia.unisa.it/professori/auletta/ Università degli studi di Salerno Laurea in Informatica 1

Dettagli

Regole della mano destra.

Regole della mano destra. Regole della mano destra. Macchina in continua con una spira e collettore. Macchina in continua con due spire e collettore. Macchina in continua: schematizzazione di indotto. Macchina in continua. Schematizzazione

Dettagli

Domande a scelta multipla 1

Domande a scelta multipla 1 Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco

Dettagli

Cenni sulle principali tecnologie di rete. IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it

Cenni sulle principali tecnologie di rete. IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it Cenni sulle principali tecnologie di rete IZ3MEZ Francesco Canova www.iz3mez.it francesco@iz3mez.it Oltre la LAN Perché uscire? connessione di più edifici geograficamente lontani della stessa società connessione

Dettagli

Informatica per la comunicazione" - lezione 8 -

Informatica per la comunicazione - lezione 8 - Informatica per la comunicazione - lezione 8 - I multipli 1 KB (kilo) = 1000 B 1 MB (mega) = 1 mln B 1 GB (giga) = 1 mld B 1 TB (tera) = 1000 mld B Codifica binaria dei numeri Numerazione con base 10:

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

CONVERTITORI DIGITALE/ANALOGICO (DAC)

CONVERTITORI DIGITALE/ANALOGICO (DAC) CONVERTITORI DIGITALE/ANALOGICO (DAC) Un convertitore digitale/analogico (DAC: digital to analog converter) è un circuito che fornisce in uscita una grandezza analogica proporzionale alla parola di n bit

Dettagli

RIDURRE I COSTI ENERGETICI!

RIDURRE I COSTI ENERGETICI! Otto sono le azioni indipendenti per raggiungere un unico obiettivo: RIDURRE I COSTI ENERGETICI! www.consulenzaenergetica.it 1 Controllo fatture Per gli utenti che sono o meno nel mercato libero il controllo

Dettagli

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto

Laboratorio di reti Relazione N 5 Gruppo 9. Vettorato Mattia Mesin Alberto Laboratorio di reti Relazione N 5 Gruppo 9 Vettorato Mattia Mesin Alberto Virtual LAN Che cosa è una VLAN? Il termine Virtual LAN indica una serie di tecniche atte a separare un dominio di broadcast, di

Dettagli

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti: Pagina 1 di 8 Struttura di Internet ed il livello rete Indice Struttura delle reti Estremità della rete Il nucleo della rete Reti a commutazione di pacchetto e reti a commutazione di circuito Funzionalità

Dettagli

Determinare la grandezza della sottorete

Determinare la grandezza della sottorete Determinare la grandezza della sottorete Ogni rete IP possiede due indirizzi non assegnabili direttamente agli host l indirizzo della rete a cui appartiene e l'indirizzo di broadcast. Quando si creano

Dettagli

RETI DI TELECOMUNICAZIONE

RETI DI TELECOMUNICAZIONE RETI DI TELECOMUNICAZIONE SISTEMI M/G/1 e M/D/1 Sistemi M/G/1 Nei sistemi M/G/1: i clienti arrivano secondo un processo di Poisson con parametro λ i tempi di servizio hanno una distribuzione generale della

Dettagli

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 6 Reti di Telecomunicazione Lezione 6 Marco Benini Corso di Laurea in Informatica marco.benini@uninsubria.it Lo strato di applicazione protocolli Programma della lezione Applicazioni di rete client - server

Dettagli

Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ

Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ Visione d insieme DOMANDE E RISPOSTE SULL UNITÀ Che cos è la corrente elettrica? Nei conduttori metallici la corrente è un flusso di elettroni. L intensità della corrente è il rapporto tra la quantità

Dettagli

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Corso di Sistemi di Elaborazione delle informazioni Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella Una definizione di Rete Una moderna rete di calcolatori può essere definita come:

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA

COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA Pagina 1 di 5 COORDINAMENTO PER MATERIE SETTEMBRE 2013 MATERIA DI NUOVA INTRODUZIONE PER EFFETTO DELLA RIFORMA AREA DISCIPLINARE : Indirizzo Informatica e Telecomunicazioni, articolazione Informatica.

Dettagli