Modellazione del protocollo IDM attraverso il simulatore Omnet++

Documenti analoghi
Lo scenario: la definizione di Internet

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

Reti di Calcolatori. Il software

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

Reti di Telecomunicazione Lezione 6

Reti di Telecomunicazione Lezione 8

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

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

Standard di comunicazione

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

Reti di calcolatori ed indirizzi IP

Reti e Internet: introduzione

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Protocolli di Comunicazione

Informatica per la comunicazione" - lezione 8 -

3. Introduzione all'internetworking

Dal protocollo IP ai livelli superiori

Finalità delle Reti di calcolatori. Le Reti Informatiche. Una definizione di Rete di calcolatori. Hardware e Software nelle Reti

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

PARTE 1 richiami. SUITE PROTOCOLLI TCP/IP ( I protocolli di Internet )

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Reti di calcolatori. Lezione del 10 giugno 2004

Sicurezza nelle reti

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

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

Linux User Group Cremona CORSO RETI

ARCHITETTURA DI RETE FOLEGNANI ANDREA

Reti LAN. IZ3MEZ Francesco Canova

SIMULAZIONE PROVA SCRITTA ESAME DI STATO. PER LA DISCIPLINA di SISTEMI

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

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

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

Creare una Rete Locale Lezione n. 1

Elementi di Informatica e Programmazione

Database. Si ringrazia Marco Bertini per le slides

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Progettare un Firewall

Elementi di Informatica e Programmazione

Transmission Control Protocol

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

Corso di Informatica

CAPITOLO 1. Introduzione alle reti LAN

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

InterNet: rete di reti

Livello di Rete. Gaia Maselli

Internet e protocollo TCP/IP

Inizializzazione degli Host. BOOTP e DHCP

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

Principi fondamentali

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

QoS e Traffic Shaping. QoS e Traffic Shaping

Reti di calcolatori. Reti di calcolatori

I canali di comunicazione

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

La piattaforma di lettura targhe intelligente ed innovativa in grado di offrire servizi completi e personalizzati

Apparecchiature di Rete

Introduzione alle applicazioni di rete

Cos è. Protocollo TCP/IP e indirizzi IP. Cos è. Cos è

Rete Internet Prova in Itinere Mercoledì 23 Aprile 2008

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Le reti di calcolatori

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

Firewall e NAT A.A. 2005/2006. Walter Cerroni. Protezione di host: personal firewall

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

Sistemi informativi secondo prospettive combinate

Reti di elaboratori. Reti di elaboratori. Reti di elaboratori INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

La Videosorveglianza Criteri per il dimensionamento dello storage

Verifica scritta di Sistemi e Reti Classe 5Di

Reti di Calcolatori: una LAN

Le reti. Introduzione al concetto di rete. Classificazioni in base a

Protocollo IP e collegati

Maschere di sottorete a lunghezza variabile

Allegato 3 Sistema per l interscambio dei dati (SID)

VPN: connessioni sicure di LAN geograficamente distanti. IZ3MEZ Francesco Canova

Architetture software per la QoS

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Reti diverse: la soluzione nativa

Dispositivi di rete. Ripetitori. Hub

UDP. Livello di Trasporto. Demultiplexing dei Messaggi. Esempio di Demultiplexing

Interconnessione di reti

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

LE RETI: LIVELLO FISICO

FONDAMENTI di INFORMATICA L. Mezzalira

Hardware delle reti LAN

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

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

INFOCOM Dept. Antonio Cianfrani. Virtual LAN (VLAN)

azienda, i dipendenti che lavorano fuori sede devono semplicemente collegarsi ad un sito Web specifico e immettere una password.

Come leggere ed interpretare la letteratura scientifica e fornire al pubblico informazioni appropriate sui farmaci

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

VPN CIRCUITI VIRTUALI


Transcript:

Università degli Studi di Bari Aldo Moro FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica e tecnologie per la produzione del software Modellazione del protocollo IDM attraverso il simulatore Omnet++ Tesi di Laurea in Reti di calcolatori Relatore: Prof. Nicola Di Mauro Laureando: Francesco Sportelli Sessione Anno Accademico 2009-2010

Indice 1 Introduzione 3 1.1 Panoramica sulla storia delle reti di calcolatori......... 4 1.2 Definizione del problema affrontato............... 4 1.3 Altri approcci usati in letteratura................ 5 1.4 La soluzione: IDM come protocollo multilivello object oriented 6 1.5 Un possibile scenario d uso.................... 6 2 Concetti generali 8 2.1 Rete di calcolatori......................... 8 2.2 Nodo di rete............................ 9 2.3 Protocollo di rete......................... 9 2.4 Inter-rete............................. 9 2.5 Paradigma Object-Oriented................... 10 2.6 Routing.............................. 11 2.7 Tos e Qos............................. 11 2.8 Pacchetto............................. 11 2.9 Latenza.............................. 12 2.10 Throughput............................ 12 2.11 Rete di sensori.......................... 12 3 IDM per l integrazione di reti eterogenee 13 3.1 Il protocollo IDM......................... 13 3.1.1 Introduzione al protocollo IDM............. 15 3.1.2 Inter-Reti......................... 16 3.1.3 Routing omogeneo.................... 16 3.2 Instradamento........................... 17 3.2.1 Identità dell oggetto................... 19 3.2.2 Un esempio di instradamento.............. 19 3.3 Endpoints............................. 20 3.4 Le politiche del TOS e QOS................... 23 3.4.1 Quality of service..................... 23 3.4.2 Type of service...................... 26 3.4.3 Class queueing discipline................ 26 3.4.4 Pfifo fast queueing discipline............... 26 3.4.5 Token bucket filter queueing discipline......... 28 3.4.6 Stochastic fairness queueing discipline.......... 31 3.4.7 Prio queueing discipline................. 32 3.5 Gestione della qualità di servizio................ 33 3.6 Invio messaggi.......................... 34 1

3.6.1 Invio diretto....................... 34 3.6.2 Invio indiretto....................... 35 3.7 Routing............................. 37 3.7.1 Routing dinamico..................... 37 3.7.2 Gestione della rete.................... 38 3.8 Integrazione con il middleware.................. 38 3.8.1 Prototipi e risultati.................... 41 4 I simulatori, la simulazione ed Omnet 43 4.1 Simulazione ed emulazione.................... 43 4.2 Classificazione dei simulatori................... 44 4.3 I simulatori adottati....................... 45 4.3.1 Ns-2............................ 46 4.3.2 Omnet........................... 46 4.4 Scelta di omnet......................... 47 4.5 Il simulatore OMNeT++..................... 47 4.5.1 Il linguaggio NED..................... 49 4.5.2 Il sistema di simulazione ad eventi discreti....... 51 4.5.3 La macchina a stati finiti................. 52 4.5.4 I messaggi......................... 53 4.5.5 Architettura........................ 53 4.6 INET framework......................... 55 5 Modellazione del protocollo IDM su Omnet 58 5.1 Gli argomenti trattati nella simulazione............. 58 5.2 La progettazione del network.................. 58 5.3 Implementazione........................ 61 6 Analisi dei risultati 67 6.1 I risultati in Omnet........................ 67 6.2 Latenza.............................. 67 6.3 Throughput............................ 68 Conclusioni e sviluppi futuri 69 2

1 Introduzione Il lavoro che segue è stato svolto nell ambito del progetto IDM (Inter-Domain Messaging)[1] del gruppo di ricerca spagnolo ARCO Research Group[10] dell Università della Castilla-La Mancha con la collaborazione dell Università del Mayab, Mexico. Il lavoro svolto affronta la modellazione del protocollo IDM usando il simulatore di rete Omnet. [2] L esigenza dell uso del modello simulativo nasce dalla necessità di valutare il protocollo in vari ambiti, ma anche perchè una simulazione su reti reali può divenire molto costosa. Omnet è uno strumento opensource che permette tutto questo, offrendo inoltre molti vantaggi che economizzano il lavoro. Attraverso la simulazione è possibile valutare le qualità e le prestazioni del protocollo in esame. Il primo capitolo sarà di carattere introduttivo, presentando i caratteri generali del problema in rapporto con soluzioni presenti in letteratura, mettendo in luce le innovazioni di IDM giustificando il perchè del suo utilizzo; il secondo capitolo definisce alcuni dei concetti fondamentali che verrano ripresi più volte nel corso della tesi; il terzo capitolo focalizza l attenzione sul protocollo IDM e su tutte le sue caratteristiche; il quarto capitolo tratta della simulazione ed introduce l uso del simulatore Omnet++; il quinto capitolo riguarda la modellazione del protocollo IDM attraverso Omnet++ ed infine il sesto ne presenta i risultati ottenuti dalla simulazione. 3

1.1 Panoramica sulla storia delle reti di calcolatori La storia delle reti di calcolatori affonda le sue radici agli inizi degli anni Settanta. Il Governo degli Stati Uniti decise di creare un istituto di ricerca denominato ARPA(Advanced Research Projects Agency), il quale scopo era di costruire un nuova tecnologia innovativa per permettere di collegare i vari computer delle università americane ed i laboratori di ricerca. Così nacque ARPAnet un sistema che consentiva ai computer host della rete di comunicare e condividere dati tra loro. Ciascun host viene identificato attraverso un indirizzo univoco che consente l instradamento verso il computer di destinazione dei pacchetti contenenti le informazioni. Per tutti gli anni Settanta ARPAnet continuò a svilupparsi in ambito universitario e governativo, ma dal 1974, con l avvento dello standard di trasmissione TCP/IP (Transmission Control Protocol/Internet Protocol), il progetto della rete prese ad essere denominato Internet. Negli stessi anni si affiancava un altra grande rivoluzione informatica: l avvento del personal computer. Negli anni Ottanta cominciò a propagarsi la diffusione su larga scala dei personal computer, permettendo così la possibile diffusione della rete al di fuori degli ambiti più istituzionali e accademici, rendendo di fatto potenzialmente collegabili centinaia di migliaia di utenti. Internet quindi era diventata un area molto estesa che consentiva lo scambio di informazioni a migliaia di utenti sparsi per il mondo. Attualmente Internet è diventata una rete estremamente complessa formata da reti di reti, ciascuna delle quali ha al suo interno uno svariato numero di host. La massima espansione di Internet si è avuta per mezzo del World-Wide-Web, un servizio di Internet il quale consente la possibilità di navigare ed usufruire di un insieme vastissimo di contenuti multimediali e di ulteriori servizi accessibili a tutti o ad una parte selezionata degli utenti di Internet. Col passare del tempo, nuove tecnologie innovative hanno affiancato l uso di Internet, come le reti MANET e le reti di sensori, creando così la necessità di creare scenari che coinvolgono l interconnessione di reti tra di loro eterogenee. 1.2 Definizione del problema affrontato Il problema affrontato nella tesi riguarda appunto l utilizzo di una possibile soluzione per la comunicazione tra reti eterogenee, le quali usano tecnologie e protocolli differenti. Si necessita quindi di una soluzione in grado di gestire questo tipo di comunicazione anche a partire da più livelli, dal livello di trasporto fino al livello fisico.si dovrà quindi definire un protocollo multilivello in grado di interfacciarsi sui vari livelli a seconda delle reti comunicanti. L obiettivo ultimo sarà quello di garantire l interoperabilità tra le varie applicazioni che vengono eseguite da ciascun nodo di rete usando lo 4

stesso protocollo e quello di poter inviare messaggi da una rete a qualsiasi altra rete che utilizzi una tecnologia o protocolli di rete incompatibili. 1.3 Altri approcci usati in letteratura In letteratura ci sono vari esempi di come sia stata affrontata la tematica fin ora. Lo scenario ideale al quale applicare il protocollo modellato è proprio una rete di sensori di tipo WSAN. [3] Un primo approccio al problema è dato dall uso di un protocollo univoco per l intera infrastruttura, solitamente TCP/IP, però questo da origine a vari problemi: implementare lo stack TCP/IP è troppo oneroso per questo tipo di infrastruttura poichè richiede delle risorse computazionali elevate, per cui spesso è necessario una radicale modifica dell intera rete per garantire il giusto adattamento(incapsulamento degli header, compressione pacchetti, indirizzamento, etc. ). Il protocollo TCP/IP sarebbe il meno adatto per un infrastruttura simile, poichè le reti wireless sono solite aggiungere informazioni ridondanti nella trasmissione e ritrasmissione dei pacchetti. Attraverso il protocollo TCP/IP si provocherebbe facilmente un abbassamento del data rate, provocando il congestionamento della rete. Un approccio migliore è dato dall uso di un protocollo più adatto alle esigenze dell infrastruttura presa in esame. Alla base del meccanismo c è un gateway o delle base stations che si interfacciano con ogni singolo nodo sensore. Quando il client con una connessione TCP/IP si interfaccia col gateway, quest ultimo invia la richiesta su un altro protocollo più specifico, al nodo sensore di destinazione. Anche questo approccio presenta dei problemi: bisogna conoscere l indirizzo del gateway piuttosto che conoscere solo l indirizzo del nodo di destinazione, inoltre c è mancanza di autonomia in funzione del fatto che i nodi di sensori non possono interagire con elementi esterni alla rete SAN[4] direttamente, funzionano solo all interno della propria rete. È questo uno dei problemi fondamentali ossia la mancanza di eterogeneità della rete quando protocolli diversi devono comunicare tra di loro. Internet ad esempio è basata sul singolo protocollo IP. Questo si interfaccia con i due livelli sottostanti ossia datalink e livello fisico. Ciò permette la interconnessione di reti ma solo se vengono rispettate certe condizioni: gli host devono comprendere lo schema logico di indirizzamento gli host devono saper creare datagrammi sapendosi interfacciare con i livelli sottostanti è richiesto un router per l instradamento di pacchetti 5

quando c è un mezzo di diffusione, deve concedere il mapping dagli indirizzi logici al livello fisico. Quando si attraversa questo tipo di network con protocolli o tecnologie incompatibili, si usa il tunnelling. [5] Questo approccio però non consente schemi di routing omogenei. Quindi il problema fondamentale è come mettere in comunicazione un device con una data tecnologia differente con il livello logico. Multiprotocol Label Switching (MPLS, RFC3031) e Layer Two Tunneling Protocol (L2TPv3, RFC3931) affrontano il problema diversamente. Permettono la comunicazione tra reti eterogenee, ma entrambi hanno la limitazione di appoggiarsi su IP come livello più basso e questo è limitante soprattutto per una rete di sensori. Nello scenario contemporaneo, nessuno tra questi protocolli risolve definitivamente il problema della totale integrazione di reti eterogenee. 1.4 La soluzione: IDM come protocollo multilivello object oriented La soluzione proposta a fronte di queste problematiche è il protocollo IDM. Attraverso la formula di un protocollo multilivello legato alla progettazione object-oriented, IDM si propone di risolvere tutti i problemi sopracitati che nella letteratura e nelle tecnologie esistenti, non sono stati ancora risolti, garantendo così l eterogeneità tra reti differenti. [7] 1.5 Un possibile scenario d uso Considerando la figura 1, viene illustrato un tipico esempio di inter-rete, composta da 4 differenti network IDM. I protocolli usati in questa inter-rete sono l ATM (Asynchronous Transfer Mode), Zigbee, XBow ed infine IP. È facile notare che sono 4 protocolli differenti tra loro ed incompatibili, poichè ciascuno ha determinate funzioni in determinati contesti. Zigbee è indicato per una WPAN (Wireless Personal Area Networks), XBow per una WSN (Wireless Sensor Network) ed ATM per le telecomunicazioni. Il problema da risolvere è rendere compatibili tra loro questi protocolli che usano dispositivi differenti a diversi livelli, permettendo così la comunicazione da qualsiasi nodo della rete verso un qualsiasi altro nodo della stessa. Ad esempio IP è di livello 3 (rete) ed ATM è di livello 2 (datalink) e l incompatibilità riguarda il livello, mentre i dispositivi che formano una rete di sensori sono nettamente differenti dagli host della rete IP. La soluzione proposta consiste nel porre almeno un router IDM sul confine 6

Figura 1: Una inter-rete IDM composta da 4 differenti network IDM tra ogni coppia di network. Sarà quindi il router IDM a dover instradare correttamente i pacchetti ad ogni destinatario di un altra rete, garantendo così l omogeneità delle informazioni tra reti eterogenee. 7

2 Concetti generali Di seguito verrano introdotti alcuni concetti fondamentali usati nella scrittura della tesi, riguardanti le reti di calcolatori, considerati essenziali per la sua comprensione. 2.1 Rete di calcolatori Una rete di calcolatori è costituita da un insieme di computer collegati tra loro mediante un infrastruttura che permette lo scambio reciproco di informazioni. L infrastruttura è costituita da componenti hardware (cablaggi, ripetitori, hub) e componenti software (sistemi operativi di rete) che forniscono gli strumenti per la gestione della rete stessa. Esistono vari tipi di reti a seconda dalla loro estensione geografica: rete personale o PAN (Personal Area Network) se la rete si estende intorno all utilizzatore con una estensione di alcuni metri rete locale o LAN (Local Area Network) se la rete si estende all interno di un edificio o di un comprensorio, con una estensione entro alcuni chilometri rete senza fili o WLAN (Wireless Local Area Network), se la rete locale è basata su una tecnologia in radio frequenza (RF), permettendo la mobilità all interno dell area di copertura, solitamente intorno al centinaio di metri all aperto rete universitaria o CAN (Campus Area Network), intendendo la rete interna ad un campus universitario, o comunque ad un insieme di edifici adiacenti, separati tipicamente da terreno di proprietà dello stesso ente, che possono essere collegati con cavi propri senza far ricorso ai servizi di operatori di telecomunicazioni. Tale condizione facilita la realizzazione di una rete di interconnessione ad alte prestazioni ed a costi contenuti rete metropolitana o MAN (Metropolitan Area Network) se la rete si estende all interno di una città rete geografica o WAN (Wide Area Network) se la rete si estende oltre i limiti indicati precedentemente. Tutti i nodi presenti sulla rete comunicano tra di loro per mezzo di uno o più protocolli di rete. 8

2.2 Nodo di rete Per nodo di rete si intende un dispositivo presente fisicamente sulla rete, quindi un dispositivo hardware. I più frequenti sono l hub, bridge, switch, router, server, firewall, modem, client pc. Tutti i nodi possono interagire tra di loro per lo scambio di dati ed informazioni, ma tutti rigorosamente per farlo devono seguire un protocollo di rete. Ad esempio la rete Internet è governata dal protocollo IP(Internet Protocol). Ogni dispositivo avente un indirizzo IP è considerato host, ossia nodo di rete. Attraverso questo protocollo ogni macchina sulla rete avrà un proprio indirizzo logico univoco, che consentirà ad altri nodi l identificazione per la comunicazione ed il trasferimento dati. 2.3 Protocollo di rete Un protocollo di rete è definito come l insieme di regole o meccanismi che hanno la finalità di mettere in comunicazione due o più nodi presenti in una rete. I protocolli di rete spesso si basano sul paradigma client-server. Ossia un server che fornisce dei servizi ed un client che ne usufruisce. I diversi protocolli di una rete sono organizzati con un sistema detto a livelli : a ciascun livello viene usato uno specifico protocollo. L insieme di più livelli e relativi protocolli definisce un architettura di rete a strati, che altro non è che un astrazione delle funzionalità logiche della rete stessa. Nella figura 2 sono mostrati i vari protocolli di rete per ciascun livello dello strato protocollare. 2.4 Inter-rete Per inter-rete si intende una rete formata a sua volta da reti collegate tra loro. Solitamente le reti che compongono una inter-rete hanno protocolli e dispositivi differenti dando così origine ad una rete eterogenea. Una inter-rete è rappresentata nella figura 1 9

Figura 2: Elenco di protocolli di rete secondo ISO/OSI 2.5 Paradigma Object-Oriented Il paradigma orientato agli oggetti si riferisce ad una serie di concetti introdotti dai linguaggi di programmazione orientati agli oggetti. Nella presente tesi il paradigma va inteso in due modi differenti: l implementazione del protocollo usa un linguaggio orientado agli oggetti, ossia il C++ e la progettazione del protocollo stesso segue il paradigma orientado agli oggetti. Tra le varie caratteristiche dell Object Oriented si citano: Classe una rappresentazione astratta di un concetto avente delle caratteristiche(attributi e metodi) Oggetto un istanza di una classe avente una propria identità, rappresentante l oggetto della classe stessa Campi di istanza gli attributi che ogni oggetto istanziato possiede Metodi delle funzioni che hanno il compito di manipolare gli attributi dell oggetto istanziato Incapsulamento la tecnica di nascondere il funzionamento interno di un programma, principio cardine della ingegneria del software 10

Ereditarietà consente di definire una classe come sottoclasse o classe derivata a partire da una classe preesistente detta superclasse o classe base La sottoclasse eredita implicitamente tutte le caratteristiche (attributi e operazioni) della classe base. 2.6 Routing Nelle reti a commutazione di pacchetto, il routing è il processo di instradamento dei pacchetti lungo una rete. Attraverso i protocolli di routing, i dispositivi sulla rete realizzano l instradamento dei pacchetti per inoltrarli al corretto destinatario, passando per tutti i nodi intermedi della rete. 2.7 Tos e Qos Tos Type of service. È presente nell header del protocollo IPV4 e descrive il tipo di servizio e la priorità richiesta per le informazioni contenute nel pacchetto stesso. Qos Quality of service. È soltanto un parametro di misurazione delle prestazioni di un sistema di comunicazione, e prende in considerazione principalmente tre valori essenziali: latenza, percentuale di pacchetti persi, variazione di latenza. In base a questi valori il Qos valuta la qualità del servizio. 2.8 Pacchetto Per pacchetto si intende una sequenza finita di dati trasmessi su una rete di calcolatori. Il pacchetto viene creato da un nodo della rete come sorgente e viaggiando per altri nodi della rete giunge al nodo di destinazione. La forma del pacchetto è strettamente collegata al protocollo in uso, però solitamente ogni pacchetto ha 3 componenti fondamentali: Header l intestazione che contiene tutte le informazioni necessarie alla trasmssione del pacchetto, affinchè arrivi a destinazione Data o anche payload, contiene i dati utili trasmessi ossia il contenuto dell informazione Checksum un codice di controllo utilizzato per controllare la corretta ricezione dei dati ovvero l eventuale presenza di errori 11

2.9 Latenza Nell ambito delle reti di calcolatori si parla di latenza di trasmissione. Consiste nel tempo impiegato da un pacchetto per raggiungere un altro host della rete. A seconda di alcuni fattori che influenzano la propagazione del segnale, quali router, switch, cavi, la latenza ha un intervallo che va dalla latenza minima a quella massima. 2.10 Throughput Il throughput di un canale di comunicazione è la sua capacità di trasmissione effettivamente utilizzata. Non è da confondersi con la capacità del canale: sia la capacità che il throughput si esprimono in bit/s, ma mentre la prima esprime la frequenza trasmissiva massima alla quale i dati possono viaggiare, il throughput è un indice dell effettivo utilizzo della capacità del link. Il throughput è la quantità di dati trasmessi in una unità di tempo(in bit/s) e dipende esclusivamente da quanta informazione è immessa sul canale nella trasmissione. 2.11 Rete di sensori Una rete di sensori è formata da un insieme di dispositivi elettronici chiamati sensori, in grado di rilevare grandezze fisiche dall ambiente esterno come temperatura, umidità, pressione, luce, ma anche capaci di rilevare il movimento di veicoli, la composizione del terreno, livello di rumore e molte altre grandezze. È possibile classificare le applicazioni in cui si possono usare le reti di sensori in militari, ambientali, sanitarie, casalinghe e commerciali. [6] 12

3 IDM per l integrazione di reti eterogenee 3.1 Il protocollo IDM Nell introduzione al protocollo IDM verranno soltanto citati alcuni aspetti generici, quali il funzionamento e l ambito applicativo nel quale è stato pensato, descrivendo in linee generali la sua architettura. Questo capitolo tratta del contesto e l uso finale del protocollo IDM nell ambito di reti eterogenee. Verrà descritto in dettaglio il protocollo IDM con tutte le sue caratteristiche e funzionalità. La vasta diversità di protocolli e tecnologie esistenti al giorno d oggi, rende difficile lo sviluppo di meccanismi per ottenere l interoperabilità tra le varie applicazioni che vengono eseguite nei più disparati nodi delle reti, perciò non è sempre possibile utilizzare lo stesso protocollo di rete. Un esempio di questo problema è dato dall accesso ai nodi di una rete di sensori. Ad esempio questa tecnologia usa Bluetooth o Zigbee che sebbene possano adoperare la pila TCP/IP, l uso spesso richiedo uno sforzo considerabile e non sempre si ottengono soluzioni ottimali, in termini di prestazioni. Soluzioni alternative possono essere l utilizzo di hardware proprietario oppure di protocolli specializzati. Per affrontare il problema, bisogna considerare due casi molto importanti: 1. accesso da qualunque punto di una rete, ad una rete di sensori 2. interazione di due o più nodi con differenti tecnologie, inclusi tutti i cammini intermedi di qualsiasi tipo 1 Considerando le esistenti soluzioni alternative per conseguire l obiettivo finale, la soluzione ottimale è senz altro quella di usare un protocollo unico comune a tutte le reti, includendo uno schema di instradamento globale. Ovviamente con ciò, non si pretende di sostituire il protocollo IP, però è possibile risolvere i problemi dell uso della pila TPC/IP in alcuni ambiti di reti eterogenee, ergo bisognerà costruire un protocollo non solo indipendente dalla rete, ma anche dal trasporto. Costruire un nuovo protocollo sopra il livello di collegamento implica il reinventare la ruota, affrontando un problema già risolto. L alternativa più adeguata quindi è usare il protocollo o la pila che risulta più naturale in ogni ambiente e costruire il protocollo omogeneizzante in un livello superiore. Le specifiche CORBA Message Routing [13] descrivono il percorso ideale. Il middleware prevede un livello di astrazione sufficientemente consistente per occultare i dettagli delle tecnologie software e hardware sottostanti. Si può inoltre, implementare sopra una gran varietà di sistemi a patto che si 13

rispettino delle condizioni(in funzione del middleware). Riguardo le specifiche CORBA che risultano essere adeguate, ci sono anche dei punti su cui focalizzare l attenzione, poichè CORBA non soddisfa i seguenti requisiti: 1. i router non dispongono delle tabelle di routing che permettono di costruire l instradamento da un estremo all altro, attraverso i router vicini 2. non prevede di implementare una forma di instradamento dinamico che permetta di stabiliare rotte alternative e successivi cambiamenti 3. le referenze ad oggetti possono avere dimensioni arbitrari. Quindi, dato che possono contenere una quantità non delimitata di profili e componenti, che includono a loro volta la lista dei router possibili, il volume di questi riferimenti può raggiungere con facilità migliaia di bytes Ovviamente questi 3 punti non vanno considerati come errori di CORBA, semplicemente il protocollo che si vuol costruire ha obiettivi differenti che richiede quindi, specifiche e requisiti differenti. Nelle righe successive quindi, si andrà ad introdurre il protocollo IDM ed i meccanismi associati per creare un MDOO generale per incapsulare e trasportare messaggi come invocazioni ad oggetto. Molti aspetti essenziali alla creazione del protocollo verràno comunque presi dal protocollo IP e CORBA. Ecco alcuni aspetti essenziali che andremo a considerare nel nuovo protocollo: Mantenere un sovraccarico sufficientemente basso per permettere l eseguibilità delle applicazioni nella rete, soprattutto nei casi di basso MTU. Inoltre un minor sovraccarico implica trasmettere meno bytes e pertanto consumare meno energia Il protocollo deve essere sufficientemente generico a tal punto da permettere l implementazione di algoritmi di routing dinamici Deve essere cross-layer, tale da permettere l eliminazione di livelli o prestazioni non necessari in funzione dei requisiti richiesti dal cliente Deve definire uno schema di instradamento universale, gerarchico. Il instradamento universale, che può includere nodi di milioni di reti, può implicare un alto instradamento del traffico. Perciò è necessario arrivare ad un compromesso che soddisfi entrambi i requisiti proposti Sia gli host di rete che i router che smistano il traffico di rete, verràno trattati come oggetti distribuiti. Inoltre, il programmatore disporrà di due possibili punti di vista quando dovrà progettare la sua applicazione: 14

1. un meccanismo trasparente per le applicazioni di tipo client, per mezzo di un API simile a quella usata dai sockets in BSD 2. un riferimento ad un oggetto remoto (mediante proxy) sopra il quale può invocare metodi conformi al suo tipo 3.1.1 Introduzione al protocollo IDM IDM (Inter-Domain Messaging) è un protocollo che ha lo scopo di trasferire messaggi verso diversi dispositivi usando protocolli e tecnologie di rete eterogenee. L obiettivo principale è far comunicare vari network, ciascuno con differenti dispositivi, anche da differenti provider di rete e usando tecnologie e protocolli incompatibili. Lo schema di indirizzamento è indipendente dal livello fisico e logico sottostante, perciò è necessario tradurre gli indirizzi IDM in indirizzi reali. Per far si che tutti i router IDM siano raggiungibili tra di loro, anche se sono disposti in reti differenti con tecnologie incompatibili, si usa un protocollo di scoperta di nodi chiamato ALP, così facendo si evita anche l uso di un registro centralizzato. Ogni oggetto è rappresentato usando un indirizzo IDM. Ci sono due modalità d uso. La più semplice è basata sullo metodo standard Socket-Like. Il server apre un socket in ascolto, sul quale i client si connetteranno. I dati che usano questo modello sono semantic-less, al fine di aumentare la flessibilità per le applicazioni che lo necessitano. Il secondo caso d uso è basato su RMI, dove i client e i server usano una interfaccia comune per comunicare. In questo modo, non c è bisogno di cambiare il codice delle applicazione che usano RMI al fine di utilizzare IDM, così l adattamento è facile e veloce. Dato che si usano protocolli eterogenei, ci deve essere uno schema di indirizzamento uniforme. IDM assegna ad ogni oggetto un identificatore, il quale può anche essere unico se richiesto. L oggetto assegnato è rappresentato da una sequenza di bytes, formato da vari campi contenenti le informazioni necessarie all indirizzamento. Alcuni dei campi possono anche essere omessi, se il nodo non è in grado di elaborarli. Tutto ciò fa si che ci sia uno schema di indirizzamento di tipo gerarchico. Ci sono molti scenari dove è richiesto porre in comunicazione differenti dispositivi, ognuno da un diverso provider che può usare differenti tecnologie e protocolli. Ciò presenta un grosso probema, il quale può essere risolto applicando l uso del protocollo IDM. IDM usa un approccio orientato agli oggetti. I dispositivi e i router sono modellati come fossero oggetti, usando un middleware standard. Ciò fa si che i messaggi inviati siano indipendenti sia dai protocolli che dalle tecnologie differenti, facendo risultare la comunicazione trasparente. Il prototipo attuale usa il middleware ZeroC Ice scritto in C++, e in parte in Python. Ciascun nodo è trattato come oggetto Identity in Ice 15

Objectmmentre ciò che sta al di sopra si appoggia sul protocollo TCP/IP. I risultati ottenuti dall attuale prototipo verrànno discussi nella sezione 1. 7. 3.1.2 Inter-Reti Si può analizzare il problema prendendo in esame la tipologia di rete più diffusa, ossia Internet. Come la maggior parte delle reti, usa un protocollo di rete unico in questo caso è IP. Uno schema globale di connessioni logiche permette la interconnessione di reti con distinte tecnologie nel livello di collegamento e fisico. Pertanto, affinchè una rete possa far parte di una inter-rete necessita il soddisfacimento di alcuni requisiti base: gli host devono conoscere lo schema di instradamento logico gli host devono poter creare e inviare pacchetti sopra la tecnologia di rete sottostante nel caso in cui si tratti di un mezzo di diffusione, deve esistere un meccanismoche permetta mappare il instradamento logico e fisico è necessario sempre un router che sia in grado di reinviare (forward) pacchetti per reti differenti In Internet, quando si vuole attraversare una rete che utilizza un protocollo di rete incompatibile, si ricorre al tunneling, ma ciò impedisce la creazione di uno schema di routing omogeneo. Un altro problema evidente è inviare dati ai dispositivi di questa rete, che hanno protocolli di rete incompatibili. 3.1.3 Routing omogeneo L obiettivo è la creazione di un servizio di trasporto di messaggi da estremo ad estremo, indipendentemente dalle tecnologie di rete intermedie, sfruttando i protocolli e le tecnologie disponibili in ogni dominio, al fine di non reimplementare funzionalità già rese disponibili. IDM non delega il instradamento ai livelli inferiori, quindi si può delegare il routing. Ad esempio, in una rete TCP/IP si possono incapsulare i messaggi sopra i pacchetti IP e delegare il routing nei protocolli abituali. La combinazione di un middleware con la possibilità di routing multiplo (cross-layer) da estremo a estremo, porta molti vantaggi: Instradamento Realmente globale e indipendente dalla tecnologia e dal protocollo 16