IP su ATM - MULTIPROTOCOL OVER ATM (MPOA)
La tecnica di commutazione ATM, nata sotto auspici promettenti, sembra trovarsi oggi in una situazione di stallo da cui è sempre più difficile venir fuori. La concorrenza con le preesistenti architetture di rete, i costi elevati, la complessità notevole allontanano sempre di più questa tecnologia dagli utenti.
Uno dei problemi più scottanti da risolvere è senz'altro la compatibilità con le reti locali in uso e con i principali protocolli di rete (essenzialmente IP) attualmente disponibili.
Per cercare una soluzione al problema ATM Forum, dopo il lavoro compiuto con LANE è andata oltre specificando MPOA, uno standard che vuole garantire l'interoperabilità delle reti ATM con gli attuali protocolli di livello 3 e garantendo, allo stesso tempo, la possibilità di sfruttare meglio le possibilità offerte da ATM (es. QoS control).
Storia di MPOA
Il gruppo di lavoro su MPOA è stato attivato nel settembre del 1994 con lo scopo di determinare l'architettura più appropriata per mappare i protocolli come IP direttamente su ATM. Inizialmente si sono messe in discussione tre differenti proposte:
- peer model (modello paritario)
- overlay model (modello a strati)
- I-P-NNI (Integrated P-NNI)
Il peer model richiede che gli host utilizzino indirizzi ATM algoritmicamente derivati dai corrispondenti indirizzi IP ma vista la differenza tra, ad esempio, un indirizzo IP ed uno NSAP la cosa è apparsa subito complessa.
L'overlay model propone di mappare direttamente gli indirizzi IP (o comunque gli indirizzi di livello 3 es.IPX) sugli indirizzi ATM mediante opportune tecniche di conversione.
La I-PNNI propone l'utilizzo della P-NNI, opportunamente modificata per diventare un protocollo di instradamento di livello 3 universale rimpiazzando gli attuali protocolli in uso. La I-PNNI può ugualmente funzionare bene sia in peer che in overlay mode.
Nel febbraio del 1995 il gruppo di lavoro su MPOA ha deciso di concentrare i propri sforzi sul overlay model, in quanto il peer model poneva notevoli problemi tecnici mentre I-P-NNI è stata considerata un problema legato alla standardizzazione del P-NNI piuttosto che di MPOA. Nel giugno 1995, quindi è stata adottata un'architettura basata sul modello a strati.
Elementi di MPOA
MPOA basa il suo funzionamento su tutto quanto spiegato sinora (LANE, RFC 1577, NHRP, MARS) ciascuno dei quali risolve un singolo aspetto del problema. La caratteristica che rende MPOA differente dai sistemi precedenti, è l'abilità di integrare tutto questo in un'unica soluzione, introducendo un nuovo concetto proprio di questo standard, quello del virtual router.
Per capire come funziona MPOA, è necessario fare un passo indietro per comprendere che tipo di problemi risolva, in primo luogo MPOA definisce un metodo per instradare IP su ATM garantendo prestazioni elevate (quanto meno superiori a quelle fornite dal LANE) e bassi tempi di latenza; in secondo luogo permette agli amministratori di sistema di costruire LAN virtuali che possono estendersi oltre i limiti dei singoli "domini" ma contemporaneamente permette alle applicazioni di utilizzare il controllo della QoS messo a disposizione da ATM nativo (utilizzando LANE è possibile fare la prima cosa ma non la seconda).
D'altra parte IETF ha standardizzato il metodo per utilizzare il protocollo IP sulle reti ATM, ma il vero problema è che questa soluzione resta valida solo per reti basate su concetti di "sottorete" e subnet masking propri di IP, inoltre sono ancora necessari router "tradizionali" per interconnettere sottoreti con tecnologie diverse da ATM (es. Legacy LAN) comportando di conseguenza limiti nelle prestazioni (banda,latenza). L'utilizzo di NHRP può già portare ad una prima soluzione del problema (ed in effetti MPOA adotta questo protocollo per l'individuazione del cosidetto egress router ovvero del router da cui di esce dalla rete ATM e si entra in una legacy LAN). Tuttavia, la semplice adozione di NHRP non è ancora sufficiente: è necessario integrarla con una gestione delle comunicazioni broadcast e multicast, quindi MARS.Inoltre i router verso le legacy LAN rimangono, con NHRP, dei router tradizionali ovvero dei computer dotati di un certo livello di intelligenza necessaria per far "girare" l'algoritmo di routing (es.OSPF) e lo stesso NHRP non ha una grossa visibilità di ciò che è fuori della rete ATM.
Prima di spiegare qual'è il funzionamento del protocollo MPOA è bene introdurre i soggetti in gioco.
Gli elementi di un sistema multiprotocollo basato su MPOA sono generalmente detti gruppi funzionali, ad indicare il fatto che si tratti di elementi, sia hardware che software, sia centralizzati che distribuiti, ciascuno adibito ad espletare una ben determinata funzione.
L'architettura di MPOA consiste essenzialmente dei seguenti componenti:
Edge Device: si tratta di switch intelligenti che instradano pacchetti tra segmenti di legacy LAN ed host ATM, basandosi sulle informazioni contenute nell'indirizzo di rete (livello 3) o in quello MAC del pacchetto da instradare. Da notare che si parla di switching ovvero di instradamento del pacchetto ad un layer basso che non necessita di routing (termine usato di solito per il livello 3); come vedremo, l'intelligenza necessaria al routing risiede altrove. Comunque si deve sottolineare che gli edge device sono caratterizzati dalla possibilità di effettuare "forwarding" ovvero la consegna dei pacchetti in base all'indirizzo di livello 3 ovvero di network level (es.IP) pur non avendo al loro interno il software per il routing di livello 3 (vedi Route Server).
- ATM-Attached Host: si tratta di host con una ATM NIC compatibili MPOA e direttamente connesse al sistema ATM multiprotocollo.
Route Server (detti anche MPOA server): è l'insieme di tutte quelle funzioni svolte all'interno della rete che permettono di mappare le sottoreti di livello 3 (es. IP) su ATM. Il route server può essere realizzato come prodotto a sè stante oppure può essere integrato all'interno di router o switch già esistenti sul mercato. Esso mantiene tutte le informazioni riguardanti gli indirizzi a livello di rete, a livello MAC ed a livello ATM,necessarie per soddisfare le interrogazioni degli edge device e degli ATM-attached host; questo genere di informazioni è utilizzato per stabilire una connessione virtuale diretta tra qualsiasi coppia di end-point che devono comunicare (possono essere sia ATM host che Edge device). Lo scambio delle informazioni necessarie per l'instradamento avviene tra i route server, facendo uso di classici protocolli di routing come RIP o OSPF, garantendo in questo modo l'interoperabilità con le reti preesistenti mentre gli edge device scaricano le informazioni dal route server con protocolli ad hoc costruiti da MPOA. In parole povere il route server fornisce quelle funzioni che, altrimenti, sarebbero proprie del BUS di LANE e dell'ARP server del Classic IP over ATM (RFC 1577) e cioè l'intelligenza della rete.
Esiste ancora un elemento chiave nella descrizione di un sistema multiprotocollo che, tuttavia, a stretto rigore non può essere considerato un gruppo funzionale vero e proprio: l'Internet Address Summarization Group (IASG). Uno IASG è definito come un insieme di indirizzi di rete riassunti in un unico percorso di instradamento: è dunque ovvia la conseguenza per cui un IASG è strettamente dipendente dallo specifico protocollo di rete adottato (es. IP). E' l'equivalente di una LIS ma vi è un IASG per ogni protocollo usato sulla rete MPOA. Questo significa che se una stessa macchina si trova ad operare contemporaneamente con due protocolli di rete differenti, allora questa apparterrà come minimo a due IASG diversi.
All'interno di un sistema MPOA un IASG viene univocamente identificato dalla combinazione del protocollo di rete utilizzato, dal prefisso dell'indirizzo di rete e dalla lunghezza di tale prefisso. Spesso il concetto di IASG viene identificato con il termine Virtual LAN ma si deve capire che è un estensione del concetto già definito dal LANE (cioè più virtual LAN a seconda del protocollo utilizzato).
Verrebbe naturale chiedersi come mai il gruppo di lavoro su MPOA abbia deciso di introdurre questo concetto, piuttosto che adottare il preesistente concetto di sottorete. La risposta è semplice: il termine sottorete nel gergo tecnico delle reti di calcolatori è già utilizzato in numerose circostanze, spesso differenti tra loro e senz'altro diverse dal concetto che si voleva introdurre in MPOA.
Uno degli aspetti chiave del modello proposto da MPOA è la presenza dei virtual router, ossia di un insieme di dispositivi che, operando congiuntamente all'interno di una rete ATM forniscono le medesime funzionalità proprie di un classico router.
Gli edge device ricevono i dati dalle sottoreti cui sono collegati e questo li rende simili alle singole schede di interfaccia di un router classico; la "switching fabric" ATM può essere vista come l'analogo del bus di backplane del router, in quanto connette i diversi dispositvi di interfaccia (edge device); l'insieme delle funzioni che realizzano il route server, infine, può essere paragonato al processore di controllo del router classico.
L'approccio del virtual routing permette un abbattimento dei costi rispetto all'utilizzo dei router classici, in quanto gli edge device hanno bisogno di essere meno potenti di un router. In secondo luogo, il virtual routing permette senz'altro una maggiore scalabilità dell'intero sistema, poichè l'aggiunta di nuove funzionalità di routing viene semplicemente ottenuta modificando il software per la gestione del route server.
Operazioni di MPOA
Come già visto MPOA fonde insieme i concetti di legacy LAN e del LANE secondo lo schema seguente
Il funzionamento di un sistema multiprotocollo, modellato da MPOA, avviene attraverso l'esecuzione dei seguenti passi:
- configurazione per garantire che ciascun gruppo funzionale sia in possesso del corretto insieme di informazioni necessarie per la gestione.
- scoperta per far sì che ciascuno dei componenti del sistema multiprotocollo sia in grado di conoscere il proprio "vicino" della sua funzione.
- risoluzione di indirizzo per determinare il percorso che permette di raggiungere una data destinazione mediante un cut-through route.
- trasferimento dati: il vero obiettivo di tutto il lavoro.
Inizialmente, tutti i dispositivi facenti parte del sistema MPOA contattano un proprio configuration server per completare la fase di configurazione; questa fase non viene descritta in modo dettagliato nella documentazione attualmente disponibile su MPOA, ma viene comunque indicato come riferimento il meccanismo di funzionamento dei LECS in LANE. E' presumibile che MPOA, in fase di configurazione sfrutti proprio i meccanismi già sviluppati da LANE, visto che la rete ATM su cui MPOA lavora deve necessariamente essere conforme a questa specifica. Inoltre la fase di configurazione degli elementi di MPOA è differente a seconda che si tratti di un server o di un client.
La risoluzione dell'indirizzo di destinazione avviene attraverso un'estensione del NHRP che permette a ciascun client MPOA di determinare l'indirizzo ATM dell'host remoto con cui stabilire la connessione virtuale di short-cut.
Il trasferimento unicast dei dati attraverso un sistema multiprotocollo avviene essenzialmente in due modi: il flusso di default e la connessione virtuale di short-cut. Il flusso di default viene inviato facendo uso della LANE mentre la connessione virtuale di short-cut interviene nel momento in cui un client MPOA ha l'indirizzo di destinazione nella propria cache e può quindi stabilire con il destinatario una short-cut VCC.
Tutti i pacchetti inviati su una connessione virtuale di short-cut vengono "imbustati" in una trama LLC; è inoltre prevista la possibilità di utilizzare sia pacchetti marcati che pacchetti non marcati, su una determinata connessione virtuale di short-cut, a seconda che si voglia o meno caratterizzare con un tag il tipo di traffico. Nel caso di pacchetti marcati è previsto un ulteriore imbustamento di 12 byte da anteporre alla versione non marcata del pacchetto. Questo imbustamento consiste ancora di un header LLC/SNAP di 8 byte e di un campo di 4 byte per il tag stesso.
A seconda di dove deve terminare la connessione il lavoro degli edge device è diverso:
al livello 2 OSI se l'instardamento rimane all'interno di una VLAN; anche se i pacchetti passano da legacy LAN a rete ATM (infatti gli edge device possono da soli fare il mapping IP-MAC (ATM o non ATM) grazie alle informazioni del route server.
al livello 3 OSI se i pacchetti attraversano più VLAN.
In essenza, il protocollo MPOA sembra comportarsi sia come il LANE che come NHRP; in realtà si deve chiarire che dal LANE riprende solo il concetto di virtual LAN ma non di livello 2 bensì di livello 3.
Ci sono tutta una serie di problemi nello studio di virtual LAN di livello 3. Iinfatti, poichè possono appartenere alla VLAN anche host di legacy LAN diverse nonchè ATM attached host, il concetto di forwarding dei pacchetti si complica ed il route server deve lavorare molto, raccogliendo molte informazioni su quali host siano (in realtà) in quale punto della rete nonostante facciano parte della stessa VLAN. Con il route server collaborano gli edge device (ed in effetti la possibilità di bilanciare i compiti tra edge device ed route server è l'asso nella manica di MPOA insieme con l'eliminazione dei router dal percorso di forwarding dei pacchetti) che devono raccogliere tutta una serie di informazioni non solo di livello 3 ma anche di livello 2 sugli host della legacy LAN da loro controllata.
Dal punto di vista di routing vero e proprio attraverso la rete ATM un ottima soluzione per l'implementazione dei route server si rifà ai concetti di NHRP ovvero di una "fabric" distribuita di server (non proprio classici NHS in quanto, ad esempio si devono implementare protocolli per informare gli edge device riguardo il forwarding dei pacchetti tra le VLAN, mentre gli NHS classici servono solo per fare il mapping IP-ATM).