sistemiinformaticimobili - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · indice...

81
SISTEMI INFORMATICI MOBILI VinX

Upload: ngothu

Post on 18-Feb-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

SISTEMI INFORMATICI MOBILI

VinX

Page 2: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Indice

1 Introduzione 11.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Dove andiamo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Struttura base di un sistema nomadico . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.2 Modello a clessidra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2.3 Mattoni e clessidra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2 Applicazione ed Interfacce 42.1 Adattabilita e trasparenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.1.1 Adattamento dei dati . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42.1.2 Interazione e/o distribuzione componenti: Estensione modello client/server . . . . 52.1.3 Mobilita del codice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2 Cambiamento: altri modelli . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Architettura tuple space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.2 Broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2.3 Peer-To-Peer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.4 Middleware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2.5 Livello orizzontale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2.6 Livello verticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3 Piattaforme orizzontali: WWW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.1 Nuove tecnologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3.2 Rimedi a livello architetturale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.4 Piattaforme Orizzontali: WAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.1 WAP2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.5 Piattaforme Orizzontali: I-Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.6 Piattaforme Orizzontali: J2ME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.7 Impatto sul sistema operativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3 Comunicazione Wireless 223.1 Caratteristiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2 Modalita di utilizzo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.2.1 Tecniche di condivisione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.2.2 Regole d’uso delle tecniche (protocolli) . . . . . . . . . . . . . . . . . . . . . . . . . 23

3.3 Wireless LAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3.1 Protocollo IEEE802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.3.2 802.11: livello logico MAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.4 HiperLAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.5 Wireless WAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3.5.1 GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.5.2 GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.5.3 Wireless 3G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.5.4 UMTS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4 Gestione della mobilita 404.1 Algoritmi di Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.1.1 Tracking Esplicito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.1.2 Tracking Implicito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.1.3 Tracking Ibrido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.2 Reti con infrastruttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.1 Routing per nodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.2 Cambiare indirizzo IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424.2.3 MobileIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.2.4 Cellular IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.2.5 HAWAII . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

I

Page 3: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.3 HMIPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584.4 Reti senza infrastruttura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.4.1 DSDV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.4.2 OLSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624.4.3 DSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.4.4 Routing gerarchico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.4.5 Metriche di routing: LRI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

4.5 Reti cellulari . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5.1 Architettura del GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 664.5.2 Architettura del GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5.3 Operazioni: GSM/GPRS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.5.4 GPRS Architettura del protocollo di comunicazione . . . . . . . . . . . . . . . . . 69

4.6 TCP in reti mobili . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714.6.1 Problemi TCP in ambiente mobile . . . . . . . . . . . . . . . . . . . . . . . . . . . 724.6.2 Indirect TCP (I-TCP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744.6.3 Snooping TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754.6.4 MobileTCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764.6.5 Fast Retrasmit/Fast Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.6 Selective Retransmission (SACK) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.7 Transaction Oriented TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.8 Confronto tra i diversi approcci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774.6.9 Miglioramenti a TCP per reti cellulari . . . . . . . . . . . . . . . . . . . . . . . . . 78

II

Page 4: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

1 Introduzione

I sistemi informatici mobili possono essere visti come sistemi distribuiti aventi le seguenti proprieta:

• ubiquita: disponibilita di interconnessione in rete su scala globale;

• nomadicita: disponibilita di servizi anche lontano dall’ambiente di riferimento;

• pervasivita: presenza diffusa di servizi anche in ambienti non specifici.

In altre parole sono sistemi distribuiti dove la posizione delle entita cambia durante il loro ciclo di vita.Qui di seguito sono elencati alcuni esempi che descrivono questo tipo di sistemi:

• Commesso viaggiatore: gli archivi sono centralizzati e consistenti, mentre l’utente si puo connettereda qualsiasi postazione.

• Rimpiazzamento di reti fisse: vengono sostituite reti con sensori remoti, lan in edifici storici, ecc...

• Divertimento, istruzione, ecc...: accesso ad Internet in ambienti esterni, guida di viaggio intelli-gente con informazioni aggiornate adattate alla posizione attuale oppure reti ad-hoc per giochimultiplayer.

• Servizi “location aware”: sono servizi come stampante, telefono, fax, ecc... che si trovano nella retelocale.

• Servizi “follow on”: trasmissione dell’ambiente di lavoro verso la posizione attuale, come ad esempiol’inoltro automatico delle chiamate.

• Servizi di informazione: vengono suddivisi in servizi “push” (ad esempio offerte speciali che sonofatte in un supermercato in un determinato istante) e servizi “pull” (ad esempio conoscere dove sitrova la pasticceria piu vicina).

• Servizi di supporto: permettono il caching, informazioni di stato e seguono il dispositivo mobileattraverso la rete fissa.

1.1 Da dove veniamo

I nodi in un sistema distribuito tradizionale sono inamovibili. Ogni nodo ha un’elevata potenza di calcolo,un’elevata memoria ram, numerosi dispositivi di i/o ed energia illimitata. La comunicazione tra nodiinvece viene attuata da supporti fisici basati su cavi di varia natura. Questi possiedono una banda elevataed un tasso di errore (ber) molto piccolo.

osi Livello Protocollo

2 Datalink mac3 Network ip Instradamento nodo-nodo

Algoritmi di routing: distance vector, link state4 Trasporto udp/tcp/rpc Comunicazione tra processi end-to-end con diverse proprieta:

udp asincrono demultiplexing servicetcp reliable byte stream servicerpc request reply service

5 Session Application Basi di dati, filesystem, sistemi ipertestuali.Ogni applicazione e basata su punti di vista

6 Presentation ovvero la tipologia di applicazioni abilitate7 Application ad entrare in contatto con quel tipo di dato.

Il middleware e un livello intermedio tra il sistema operativo e le applicazioni, cio alza il livello diastrazione della macchina. Un esempio di middleware puo essere rappresentato dalle api per applicazionidistribuite object-oriented.

Dobbiamo notare che per ogni applicazione viene utilizzata una specifica tipologia di dati. Le basi didati, ad esempio, forniscono un accesso ad un insieme di strutture dati sulle quali compiono operazioni

1

Page 5: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

relazionali. Mentre un filesystem e composto da un insieme di oggetti con nome, struttura gerarchica edoperazioni.I dati possono contenere informazioni isocrone, ovvero oggetti che devono essere ricevuti e decodificati insincronia sia in ricezione che in trasmissione. Invece i dati push permettono la diffusione dell’informazioneda una sorgente ad una molteplicita di utenti dichiarati (sottoscrittori) o potenziali.

1.2 Dove andiamo

Cio che abbiamo detto nel paragrafo precedente sara esteso in modo da poter definire cos’e un sistemanomadico, in particolare questo genera nuovi problemi rispetto ai sistemi statici. Infatti nei sistemistatici quello che cambia e l’esecuzione, mentre nei nomadici la regola. I cambiamenti possono riferirsialla posizione dei nodi ed oggetti, al controllo della visibilita di ogni posizione e dell’interoperabilita tranodi. Quindi vogliamo che in un sistema nomadico siano presenti questi comportamenti.Notiamo che i nodi facenti parte dei sistemi nomadici possiedono una potenza di calcolo e memoria moltovariabile tra loro quindi bisogna far coesistere questi nodi nel sistema. Inoltre il canale di comunicazionesi basa su radio frequenze e la banda e anch’essa soggetta ad un’alta varianza.Un sistema nomadico possiede gli stessi parametri di interesse rispetto ai sistemi statici, ma siccome inodi si spostano, sono piccoli e leggeri, allora i risultati di interesse cambiano drammaticamente duranteil movimento di ogni singolo nodo. Quindi il primo problema consiste nel garantire la comunicazione trai nodi quando sono in movimento.

1.2.1 Struttura base di un sistema nomadico

La soluzione generale per alcuni problemi consiste nello stabilire delle “ricette” condivise da tutti ocomunque dalla maggioranza. Tale approccio risulta vantaggioso per l’utente perche puo confrontarepiu prodotti dai vari fornitori. Quindi bisogna definire un adattamento, ovvero la capacita di reagire ecomportarsi bene in un ambiente che puo cambiare rapidamente.

1.2.2 Modello a clessidra

Per i sistemi distribuiti classici si utilizza il modello a strati, ovvero uno stack di protocolli. Tale approccionon e adeguato per i sistemi che stiamo trattando, infatti si presuppone che il sistema sia omogeneo edi conseguenza si da troppa importanza alla comunicazione. Anche l’utilizzo di un comune middlewarerisulta non sufficiente a risolvere questo problema.

Il modello a clessidra consiste nell’utilizzare uno speciale middleware che deve essere in grado digestire risorse distribuite su scala globale. Tuttavia molto spesso la trasparenza delle risorse non egarantita da questo tipo di middleware. Cio nonostante, l’interfaccia fornita da questi middleware none esente da problemi causati dalla lontananza delle risorse. Quindi il middleware puo essere visto comeuna generalizzazione del sistema operativo a livello globale. Tuttavia il collo di bottiglia e presente alivello di rete. Di conseguenza bisogna utilizzare una grande varieta di tecnologie che sfruttano i varilivelli dello stack di protocolli.

2

Page 6: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Non e possibile costruire un sistema automatico proprio per la grande varieta di contesti ed elementida gestire, sopratutto quando i protocolli di basso livello sono stati standardizzati mentre quelli di altolivello sono ancora in corso di definizione.

Purtroppo l’utilizzo del protocollo ip e estremamente vincolante dato che i sistemi nomadici sonomolto eterogenei. L’ip backbone fornisce un supporto all’interazione tra sistemi eterogenei aventi retifisse e mobili, dove gli handover verticali consistono nel passare da una tipologia di rete ad una diversa(si espande in ampiezza), mentre gli handover orizzontali consistono nel passare da una rete all’altradello stesso tipo.

1.2.3 Mattoni e clessidra

Per quanto riguarda il livello applicativo dobbiamo trattare aspetti come l’architettura software, il midd-leware ed il sistema operativo. In un sistema nomadico la comunicazione non si esaurisce durante lacomunicazione mobile, pertanto sorgono i seguenti problemi:

• disomogeneita hardware, ovvero bisogna supportare le diverse capacita di elaborazione dei nodi;

• movimento fisico, tipicamente molto rapido;

• movimento logico, ovvero l’attraversamento di domini amministrativi.

L’adattamento in un sistema nomadico a livello di rete genera il problema sulla gestione degli handover/prefetching, mentre a livello applicativo bisogna adottare una codifica multi-livello ed una riallocazionedinamica. Per garantire la mobilita del sistema bisogna quindi adottare una speciale tecnologia chepermetta di spostare sia i nodi (con l’handover per la mobilita su piccola scala e localizzazione su grandescala) che le reti (con l’uso del routing e reti di ad-hoc). Bisogna inoltre specificare quali canali wirelessutilizzare per far dialogare diversi sistemi tra loro, senza contare che e necessario definire una politicaper la gestione dell’energia.

3

Page 7: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2 Applicazione ed Interfacce

Un sistema nomadico non e rappresentato da un solo sistema di comunicazione mobile. Nel precedentecapitolo abbiamo visto che sono presenti un gran numero di problematiche legate al sistema che spazianodalla disomogeneita dell’hardware ai vincoli sulle prestazioni, dal movimento fisico a quello logico. Taliproblematiche impattano a livello architetturale sia di quello del middleware che su quello del sistemaoperativo.Il problema relativo alle applicazioni ed interfacce verra trattato sotto tre aspetti:

1. architettura software: dove parleremo di adattamento e/o cambiamento.

2. middleware.

3. sistema operativo.

L’architettura software e la strutturazione di un’applicazione in:

• componenti: avendo a che fare con un ambiente di nodi mobili aventi risorse limitate, si suggeriscedi collocare la maggior parte delle funzionalita sui nodi della rete fisica, tuttavia l’inaffidabilitadella rete wireless ci suggerisce di collocare tali funzionalita sui nodi mobili.

• modalita di interazione: e necessario capire se l’approccio classico di richiesta/risposta sia adattoin un sistema nomadico.

2.1 Adattabilita e trasparenza

Per poter rispettare i vincoli definiti per questo tipo di sistemi siamo costretti ad adottare soluzionidifferenti per ognuno di questi, cio implica che per ottenere una soluzione che accomuna le singoledecisioni prese per ogni vincolo bisogna costruire una “versione” dell’architettura che si adatta al variaredelle condizioni ambientali. Per fare cio bisogna innanzitutto identificare quale modello sia adattabile equale livello di trasparenza devono avere le applicazioni.L’adattabilita puo quindi essere realizzata in due modi, variando:

1. la qualita dei dati disponibili ai nodi mobili, ovvero cambiare il grado di fedelta rispetto all’originale.

2. la modalita di interazione: partizionamento variabile dei compiti tra nodi mobili e nodi di retefissa. Data una una certa strutturazione cambio le varie parti, ad esempio la mobilita del codice.

Occorre poi trattare problemi su quale elemento sara il responsabile della realizzazione dell’adattamento.Quindi bisogna definire il grado di trasparenza nei seguenti casi:

1. application transparent : al di sotto dell’applicazione ci sara un qualcosa che cerca di appiattirel’eterogeneita in modo da permettere di lavorare a livello applicativo come se non esistessero. Madato che non si ha il controllo completo dell’adattabilita la soluzione potrebbe essere non ottimale.

2. laissez-faire: nel livello inferiore all’applicazione vengono passate solo informazioni e parametri.Cio non richiede il supporto del sistema ma ha potenziali problemi dovuti all’assenza di arbitraggioe richiede un grande sforzo di sviluppo.

3. application aware: consiste in una collaborazione tra chi sta sotto e chi sta al livello superiore. Adesempio un’applicazione che sfrutta le informazioni provenienti dal livello inferiore per realizzarequalche forma di adattamento, nel caso in cui non riesca puo chiedere aiuto al livello sottostante.

2.1.1 Adattamento dei dati

Il problema in questo caso consiste in una sorgente che spedisce ad un destinatario attraversandocollegamenti con capacita diverse.

4

Page 8: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Per risolvere tale problema si usa l’adaptation agency, ovvero si associa un’entita ad ogni (non necessa-riamente) nodo.

La struttura aa e composta dal modello rappresentato nella seguente figura dove i componenti internisono:

• event manager (em): vengono considerati gli eventi rilevanti per pilotare la qualita, ovvero perpilotare l’adattamento. Tale componente ha il compito di informarsi sugli eventi o caratterizzareuno stato. Ad esempio la sicurezza oppure le informazioni appartenenti ad altri nodi.

• resource manager (rm): gestisce le risorse necessarie all’adattamento.

• application specific adapter (asa): e il modulo che implementa le modifiche.

Il comportamento di questo modello e costituito dai seguenti passi:

1. arrivano i dati,

2. asa comunica le risorse modificate al rm,

3. rm riceve da em le informazioni sullo stato delle informazioni e le elabora,

4. em riceve le informazioni dal rm e comunica le modifiche all’asa.

2.1.2 Interazione e/o distribuzione componenti: Estensione modello client/server

Si prende in considerazione come modello di base quello client/server. Tale modello possiede la caratteri-stica di accoppiamento stretto, ovvero abbiamo una comunicazione sincrona (accoppiamento temporale)ed il mittente/destinatario devono conoscersi (accoppiamento spaziale). Sfruttando questo modello siamoin grado di realizzare i protocolli rpc. Purtroppo questo modello difficilmente si adatta ad un contestoin cui i nodi si muovono proprio perche richiede un accoppiamento sia spaziale che temporale. Quindinasce la necessita estendere questo modello con l’adattamento oppure utilizzare modelli alternativi.Le estensioni del modello client/server possono essere:

1. Modello base con accodamento: stiramento al modello progettuale dove si abbandona o si rendemeno stringente l’esigenza di comunicazioni sincrone.

5

Page 9: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

In questo caso si realizzano meccanismi di accodamento per rendere piu asincrona la comunicazione,ovvero vengono inoltrate richieste solo se il canale risulta disponibile, altrimenti vengono mantenutee poi spedite in base a determinate politiche di scheduling.

2. Modello client/agent/server: in questo caso viene utilizzato il componente aggiuntivo chiamatoagent. L’agent ha il compito di agire nella rete fissa come sostituto del nodo mobile nella rete fissa,in quanto il nodo mobile potrebbe non essere sempre connesso. Cio rende il client sempre visibilenella rete anche se esso non e realmente connesso.

Tipicamente questo approccio serve a gestire il risparmio energetico, ad esempio il client sa cheuna particolare richiesta richiede un tempo non trascurabile. La inoltra e si spegne. In tal casol’agente e in grado di raccogliere la risposta fornita dal server.

Questa tecnica e migliore rispetto al caso di client leggeri, che si poggiano cioe solo su nodi mobili.

A tal proposito distinguiamo l’agente intermediario in due tipi:

(a) agente generalista: intermediario per varieta di client (vicino al server), ovvero legato ad unospecifico tipo di server.

(b) agente dedicato: dedicato ad uno specifico tipo di client (vicino al client).

3. Modello client/intercept/server: per risolvere i problemi lato client, ad esempio la perdita di una ri-chiesta, viene inserito un componente aggiuntivo sul nodo mobile, ovvero sul client. Questo modellorappresenta l’estensione del modello con accodamento sfruttando il modello client/agent/server.

Infatti i due agenti cooperano per ridurre le trasmissioni sul collegamento wireless, per migliorarela disponibilita dei dati e supportare le computazioni interrotte del nodo mobile. Inoltre si puorealizzare un’ottimizzazione della trasmissione, per specifiche applicazioni e di gestire nei due sensile disconnessioni.

Tale modello e adatto per client pesanti, ad esempio quelli che usando il prefetching, oppure quandoi nodi comunicano molto spesso tra loro.

2.1.3 Mobilita del codice

Anche in questo caso abbiamo diverse possibilita su come fornire la mobilita del codice:

1. Sistema location unaware: lo schema di interazione tra i componenti e sempre lo stesso a prescinderedalla loro collocazione fisica.

6

Page 10: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

L’ambizione e quella di avere un livello trasparente. Tuttavia si presenta il problema di localizza-zione, ovvero se l’entita che si trova nel livello inferiore e eterogenea e dinamica (come i nodi mobiliche stiamo considerando), bisogna scoprire se le entita che si trovano nel livello superiore sianovicini o meno. Per risolvere questo problema bisogna separare i vari componenti in compartimentistagni in modo da avere un sistema location aware.

2. Sistema location aware: in questo caso i componenti sono partizionati e possono cambiare la loroposizione in momenti separati. In questo modo abbiamo un miglioramento delle prestazioni delsistema ed e supportata la mobilita dei componenti software.

Anche questo caso possiede pero un ulteriore problema, ovvero bisogna decidere se e quando spo-stare un componente. Tocca sottolineare il fatto che la mobilita del codice non consiste nellamigrazione di processi e di conseguenza non e un aspetto gestibile dal progettista software. Datoche non esiste una soluzione univoca a tale problema bisogna decidere caso per caso.

Un componente e composto da:

1. codice: parte statica che rappresenta la logica dell’applicazione.

2. stato: parte dinamica composta dal valore delle variabili locali, dallo stack di esecuzione e dalprogram counter.

3. risorse: descrittori di file.

Per poter spostare un componente possiamo usare le seguenti tecniche:

7

Page 11: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

1. si sposta solo il codice:

(a) remote execution: un nodo spedisce il codice ad un’altra locazione, delegando gli altri nodialla sua esecuzione.

Ad esempio, il nodo A vuole eseguire del codice su un nodo esterno. Supponiamo che il nodoB possieda le risorse di interesse per l’esecuzione del codice di A. A questo punto il nodo A

spedice il codice al nodo B, esegue il codice su B ed attende i risultati dell’esecuzione.

(b) code on demand : A trova del codice in un’altra locazione che estende le sue funzionalita e lorichiede.

2. viene spostato sia il codice che lo stato:

(a) strong mobile agent : A si muove su un’altra locazione con tutto il suo stato (program counter,stack e dati). A puo riprendere la sua esecuzione in una nuova locazione dal punto esatto incui si e bloccato.

(b) weak mobile agent : A si muove verso un’altra locazione solo con i suoi dati privati. A habisogno di metodi per determinare il punto in cui aveva interrotto la sua esecuzione.

(c) close-to: B e associato ad A e deve rimanere connesso. Se A si muove ad una nuova locazioneB lo deve eseguire.

8

Page 12: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Questa tecnica comporta un adattamento dei server a particolari esigenze ed una riduzione deltraffico sulla rete. Inoltre sono supportate le operazioni di disconnessione o quelle debolmenteconnesse. Questa tecnica permette l’accompagnamento nella rete fissa di nodi mobili.

Gli agenti mobili non sono necessariamente intelligenti. Se sono dotati di capacita decisionali bisognautilizzare due tipi di linguaggi, uno per programmare le operazioni ed uno per rappresentare la conoscenzain modo da esprimere obiettivi, compiti, preferenze, ecc...

Tuttavia abbiamo un problema di sicurezza. Infatti l’architettura basata su codice mobile non eortogonale a quella client/server (o le sue estensioni). Ad esempio nel modello client/agent/server,l’agente puo essere visto come un caso particolare di agente statico.

Il modello ad agenti mobili e un caso particolare di rilassamento architetturale organizzato secondol’idea che il codice eseguibile di una applicazione puo cambiare locazione mentre l’applicazione e inesecuzione. Tuttavia se un client e un nodo mobile, l’interazione con N server diventa molto dispendiosa.Una possibile soluzione a questo problema consiste nello spedire la parte che implementa la logica del-l’applicazione verso il server con il quale si interagisce ogni volta. Dopo che il componente intelligenteha elaborato la risposta, questa viene rispedita al client e di conseguenza anche il relativo componente.Un’altra soluzione e quella in cui si sposta il componente tra vari server. Questo componente puocontenere:

• solo il codice eseguibile;

• sia codice eseguibile che stato (tipico degli agenti mobili).

Una volta elaborata la risposta viene rispedito sia il componente che la risposta al client. Cio permetteun notevole risparmio di risorse rispetto alla precedente soluzione. Tuttavia quest’ultimo approccio sipuo applicare solo se e garantita l’esistenza di un ambiente sicuro su ogni nodo di esecuzione. In generalela macchina che ospita tali applicazioni e la jvm.

Tale modello puo essere visto come un’estensione del modello client/server perche per far interagire leentita, queste devono interagire tra loro. Ovvero si deve creare un bind tra le interfacce (accoppiamento).

2.2 Cambiamento: altri modelli

In questo paragrafo riportiamo alcuni modelli alternativi al modello client/server che si adattano alleesigenze delle applicazioni nomadiche e non richiedono particolari adattamenti. Rispetto alla modalitadi interazione possiamo considerare due modelli di comunicazione alternativi a quello client/server: tuplespace e broadcast.

2.2.1 Architettura tuple space

Questa modalita permette una comunicazione generativa dove abbiamo interazione e coordinazione trai componenti asincrona e connectionless.Per implementare un tuple space viene usato un apposito linguaggio di coordinazione: linda. Le Operazioni

operazioni messe a disposizione da questo linguaggio sono le seguenti:

• out(T): aggiunge una nuova tupla allo spazio;

• in(T): estrae la tupla T e la elimina dallo spazio;

• rd(T): estrae la tupla T e la mantiene;

9

Page 13: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• eval(T): aggiungo una tupla attiva, almeno un processo.

dove una tupla rappresenta una sequenza di dati, record, struttura e campi contigui.Bisogna notare che le operazioni in() ed rd() si basano sul concetto di pattern matching, ovvero se Pattern

Matchingabbiamo una tupla T si trova nel tuple space e la confrontiamo con un’altra tupla Ts allora si ha unpattern matching solo se:

• i numeri dei componenti sono identici;

• e se, rispetto all’i-esimo elemento:

– se T e Ts sono costanti con lo stesso valore;

– se T e Ts variabili e sono dello stesso tipo;

– se T costante e Ts variabile allora T deve avere lo stesso tipo di Ts.

Il protocollo linda definisce inoltre le seguenti regole: Regole

1. non si puo stabilire un percorso diretto tra mittente e destinatario;

2. il mittente e destinatario non devono necessariamente conoscersi (disaccoppiamento spaziale);

3. l’iterazione e tipicamente asincrona (disaccoppiamento temporale).

In generale le tuple presenti nel tuple space non contengono le informazioni relative all’autore della tupla.Quindi tramite il tuple space vengono ignorate sia le informazioni relative agli utilizzatori di una tuplache quelle che identificano chi l’ha prodotta.In realta esiste un meta-livello che garantisce una relazione tra il produttore ed il consumatore, infattisenza questo accordo la comunicazione fallisce. Per il matching delle richieste (risposte) tra produttori(consumatori) vengono definite:

1. sintassi: desidero una strutturazione;

2. semantica: desidero che abbia un significato comprensibile.

Le ontologie rappresentano un modo in cui si puo manifestare un accordo. E facile vedere come sonocostruite le strutture dati in un tuple space. Consideriamo un caso semplice ma importante: possiamo Esempio

salvare un vettore di n elementi come n tuple aventi la seguente forma:

(‘‘V’’, 1, primo-elemento)

(‘‘V’’, 2, secondo-elemento)

...

(‘‘V’’, n, ennesimo-elemento)

Per leggere il j-esimo elemento del vettore ed associare il valore x si esegue il seguente comando:

rd(‘‘V’’, j, ? x)

Per cambiare l’i-esimo elemento in un ambiente locale eseguiamo i seguenti comandi:

in(‘‘V’’, i, ? vecchio-valore)

out(‘‘V’’, i, nuovo-valore)

invece se l’ambiente e esterno e condiviso a tutti eseguiamo:

in(‘‘V’’, i, ? vecchio-valore)

out(‘‘V’’, i, computer-remoto())

Questo tipo di comunicazione si colloca bene nei sistemi nomadici, infatti abbiamo: Proprieta deinodi mobili

1. disaccoppiamento spaziale e temporale.

10

Page 14: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2. non e necessario il re-binding: un tuple space non e associato a nessun mittente o destinatarioparticolare.

3. fornisce di per se un servizio di accodamento, la tupla infatti e persistente.

4. il tuple space puo essere utilizzato per rendere disponibile a chiunque sia interessato variazioni degliindici di qos di qualsiasi tipo.

Il modello simile e il publish/subscribe dove:

• un’entita produce informazioni e le pubblica;

• le entita interessate ad una specifica informazione effettuano una sottoscrizione al relativo servizio;

• un servizio invia le informazioni a tutte le entita che sono sottoscritte ad esso.

Tuttavia tra publish/subscribe e tuple space ci sono le seguenti differenze:

• Nel publish/subscribe non esiste il concetto di contenitore, ovvero le informazioni sono volatili.Di conseguenza tali informazioni appena vengono prodotte sono subito consegnate al destinatario,quindi se vengono prodotte prima che qualcuno abbia mostrato il proprio interesse queste vengonoperse.

• Nel il tuple space abbiamo un disaccoppiamento spaziale e temporale dal punto di vista del pro-duttore. Cio puo essere esteso con una versione non bloccante delle letture, garantendo cosı ancheun disaccoppiamento dei consumatori.

2.2.2 Broadcast

Rispetto all’approccio del tuple space, l’operazione di broadcasting risulta limitata, infatti l’informazioneviene definita in un insieme di elementi aventi un contenuto ed una chiave univoca dove lo scambio deidati avviene in modalita request/response (on demand). Questo paradigma viene usato nei database.Ogni utente invia una richiesta inviando una chiave, la risposta e singolare, ovvero il numero di richiestee pari al numero di risposte.Tuttavia se gli utenti sono mobili sorgono dei problemi. Infatti il problema principale e il consumoenergetico in quanto il client rimane acceso finche non riceve una risposta (tempi di risposta esponenziali).Una soluzione e che il database piuttosto che funzionare in maniera reattiva, manda le informazioniquando vengono richieste, le raggruppa e le spedisce in un unico blocco (burst). Se un client e interessatoall’elemento j-esimo non deve effettuare richieste, ma accendersi ed aspettare che arrivi.

I vantaggi di una simile modalita sono:

1. Qualunque sia il numero di utenti che accedono, il tempo di attesa e medio. Quindi il sistema eesente da congestioni e gli utenti non si manifestano.

2. Non c’e consumo di energia, infatti il consumo energetico risulta maggiore per le richieste rispettoalle risposte.

Gli indici di prestazione di questo approccio sono:

latenza (access time) il tempo medio che passa quando il nodo mobile n manifesta interesse ad unainformazione, a quando compare. In altre parole e il tempo trascorso tra la richiesta di un elementoe la sua occorrenza nel broadcast.

11

Page 15: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

consumo di energia (tuning time) il tempo di ascolto tra la richiesta di un elemento e la sua occor-renza nel broadcast. Indica per quanto tempo l’interfaccia mobile deve rimanere in attesa.

Solitamente la latenza e maggiore o uguale al consumo di energia.Per ottimizzare gli indici di prestazione:

• lato server vengono usati:

broadcast schedule posso modificare lo schema classico (cerchio di informazioni) rispetto allerichieste. In questo modo viene aumentata la frequenza di trasmissione dell’elemento piupopolare.

Cio permette una riduzione sia dell’access time che del tuning time medio, ma genera ilproblema che non si conosce la popolarita dal momento che gli utenti non si manifestano. Perrisolvere tale problema si puo schedulare un messaggio contenente le statistiche relative allerichieste.

broadcast index i dati che devono essere comunicati sono indicizzati.

Ad esempio, il client si accende, scarica l’indice relativo alla risorsa a cui e interessato, sispegne e si riconnette quando passa la risorsa.

Cio porta ad una riduzione dell’access time medio ma ad un aumento del tuning time medio(ovvero trasmetto dati ed indice).

• lato client normalmente si usa il broadcast index in modo tale da ridurre il consumo energetico.Inoltre si possono usare tecniche come il caching/prefetching1, in questo modo si riduce sia l’accesstime che il consumo energetico.

Purtroppo la riduzione del consumo energetico non e garantita poiche anche se e vero che esisteuna probabilita non nulla che una determinata risorsa verra utilizzata, e anche vero che esiste unaprobabilita complementare che questa risorsa non sara utilizzata. Quindi tutto dipende dalla bontadelle previsioni che una data risorsa sara utilizzata.

2.2.3 Peer-To-Peer

In questo modello non c’e nessuna distinzione tra client e server, infatti ogni nodo della rete possiedeentrambe i comportamenti. Permette l’implementazione di un’architettura decentralizzata e quindi leresponsabilita sono condivise tra i vari nodi del sistema. Ogni nodo puo entrare ed uscire dalla rete conrelativa liberta. Inoltre il p2p e adeguato a situazioni in cui non e possibile adottare un’architetturaclient/server.

2.2.4 Middleware

E uno strato software che si appoggia sul sistema operativo di rete2. I protocolli di rete usati da questosistema operativo rendono accessibili le risorse locali da parte di nodi remoti e forniscono delle interfacceper accedervi.Purtroppo non si puo standardizzare un middleware generando problemi come la riconfigurazione deidispositivi fisici, riconfigurazione delle applicazioni, monitoraggio del contesto e gestione delle informa-zioni.

1Per prefetching si intende il prelievo anticipato delle informazioni che sono probabilmente le piu richieste.2Rappresenta il sistema operativo vero e proprio con i protocolli di rete.

12

Page 16: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Lo strato middleware puo essere scritto in linguaggi forniti per sistemi distribuiti. Questi linguaggipossono essere classificati in:

• linguaggi orizzontali : offrono servizi generici che vanno bene per qualunque applicazione;

• linguaggi verticali : offrono uno specifico supporto ad una classe particolare di applicazioni.

Nei seguenti paragrafi analizzeremo in primo luogo gli aspetti di un middleware a livello orizzontale, cioenon vincolati dalle applicazioni, nello specifico tratteremo le modalita di interazione/coordinazione. Aseguire tratteremo gli aspetti verticali.

2.2.5 Livello orizzontale

Il livello orizzontale viene anche detto modello request/response. Questo modello e fortemente legatoal modello client/server sull’organizzazione dell’architettura software dove e presente un meccanismodi elezione per le applicazioni distribuite. La comunicazione e tipicamente connection-oriented, ovve-ro e sincrona (accoppiamento temporale stretto) dove il mittente ed il destinatario devono conoscersi(accoppiamento spaziale stretto), cio viene realizzato dai protocolli rpc.Dobbiamo considerare l’impatto sulla mobilita che consiste nell’attraversamento dei confini fisici (possi-bile disconnessione dei nodi) o dei confini logici (cambio dei diritti di accesso, ingresso in diversi dominiamministrativi). A tal proposito esiste una variante del modello request/response, chiamata rpc-like,che lo rende adattivo. L’adattamento puo essere di tre tipi:

1. most platform: monitoraggio della qos del canale di comunicazione tramite stima del round triptime (rtt). L’informazione sul qos stimata viene passata al livello applicativo, cio e realizzatousando il protocollo udp.

2. mobiledce: introduce il concetto di dominio, ovvero un insieme di macchine con risorse condivisegestite da un manager di dominio (dm). Ogni client mobile possiede un manager locale. Quandoun nodo mobile entra in un nuovo dominio, dialoga con i dm per decidere se:

• mantenere il bind con un servizio remoto;

• fare re-bind ad un nuovo servizio nel nuovo dominio;

• emulare localmente, in caso di disconessione, il servizio e poi reinviare i messaggi quando laconnessione ritorna.

3. rover toolkit : fornisce il supporto per rendere asincrone le procedure di chiamate remote (accoda-mento). Quindi supporta la migrazione del codice da un nodo fisso ad un nodo mobile. Cio sipresenta come un insieme di librerie che forniscono delle funzionalita. Tale tecnica si basa su dueconcetti:

(a) rdo: oggetti rilocabili dinamicamente;

(b) qrpc (rpc accodate): qrpc e un protocollo che gestisce l’accodamento delle chiamate. Loscheduler decide come e quando svuotare la coda.

La comunicazione tra rdo usando qrpc consiste nel seguente procedimento: ogni qrpc emessada un rdo nel client viene accodata in un registro locale (log) ed il controllo ritorna ad rdo. Unoscheduler di rete invia al server le qrpc accodate in background quando la connessione e attiva,eventualmente compattando e riordinando le richieste.

La proprieta dell’approccio rpc-like consiste nell’avere caratteristiche comuni ai tre ambienti:

1. rilassamento della sincronia (meccanismi di ritardo ed accodamento di rpc in caso di cattiva qoso disconnessione).

2. approccio connection-oriented (bind e re-bind in caso di sconnessione con meccanismi di emulazionelocal).

Tuttavia rimane il problema che abbiamo un’interfaccia non uniforme per informazioni sulla qos nonriguardanti la comunicazione (ad esempio il consumo di energia).

13

Page 17: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2.2.6 Livello verticale

Abbiamo precedentemente detto che un middleware puo avere due tipi di livelli, uno orizzontale ed unoverticale, specifico per le varie applicazioni. Vediamo alcuni servizi di quello verticale:

Filesystem ha come obiettivo quello di fornire un accesso trasparente ed efficiente a file condivisicercando di garantire la consistenza dei dati.

I problemi generici che possono sorgere sono le risorse limitate dei dispositivi mobili, poca bandae variabile, le frequenti disconnessioni, l’eterogeneita sia dell’hardware che del software, le retiwireless poco affidabili e filesystem standard quasi inutilizzabili. Per risolvere tali problemi disolito si adotta una replicazione dei dati ed una raccolta anticipata dei dati.

Possiamo avere anche problemi di consistenza, ovvero consistenza debole e rilevamento di conflitti.

Se vogliamo accedere ad un filesystem con connettivita limitata abbiamo dei problemi di:

1. simmetria: relazione client/server o peer-to-peer, supporto nella rete fissa, singolo filesystemo filesystem multiplo, un namespace per i file o piu namespace.

2. trasparenza: nascondere il supporto alla mobilita alle applicazioni sui nodi mobili, gli utentinon dovrebbero accorgersi di meccanismi addizionali.

3. modello di consistenza: ottimo (tutti la stessa visione del file) o pessimistico.

4. caching e prefetching: singoli file o directory che vengono cachati permanentemente o tempo-raneamente.

5. gestione dei dati: gestione dei dati nel buffer e copie, sono necessari richieste di aggiornamentoe rilevamento delle modifiche sui dati.

6. risoluzione conflitti: puo essere specifica per l’applicazione o generale, errori.

Il fileststem coda e un’estensione del modello client/server che e trasparente alle applicazioni. Laconsistenza e gestita con approccio ottimistico, a grana grossa cioe per file di grandi dimensioni.

Database le caratteristiche di un database sono:

1. elaborazione delle richieste: risparmio energia, dipendenza dalla posizione, efficienza.

2. gestione delle repliche (simile al filesystem).

3. gestione della posizione: mantiene traccia della posizione degli utenti mobili per fornire datireplicati o dipendenti dalla posizione al momento e nel luogo esatti (hlr nel gsm).

4. elaborazione delle transazioni: abbiamo transazioni mobili (non si basano necessariamentesullo stesso modello delle transazioni su rete fissa acid (atomicita, consistency, isolation,durability), modelli a transazioni deboli.

14

Page 18: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2.3 Piattaforme orizzontali: WWW

www e caratterizzato dal protocollo http e dal linguaggio html. http1.0 e stateless, usa un modellodi tipo request/response. Il protocollo e connection-oriented, ovvero viene usato tcp. http e statoprogettato per essere utilizzato su banda larga con un basso delay, inoltre sono presenti header di grandidimensioni ed i file sono trasferiti senza compressione. Oltre al protocollo tcp, viene usato il lookup deldns e cio causa del traffico addizionale.Anche html non e adatto per dispositivi mobili poiche e stato progettato per pc ad alte prestazioni. Ilproblema consiste nel fatto che i dispositivi mobili possiedono schermi piccoli a bassa risoluzione, quindile pagine Web si adattano poco all’eterogeneita dei sistemi finali.Il Web non e paragonabile ad un filesystem, infatti le pagine non sono semplicemente da scaricare. Questepossono avere un contenuto sia statico che dinamico e richiede comunque l’interazione con il server perpoter fornire le corrette informazioni. Il caching viene spesso disabilitato dagli isp proprio perche sonopresenti contenuti dinamici. Gli hyperlink vengono caricati, ricaricati automaticamente o reindirizzati.Per quello che e stato appena detto, si evince che i due componenti di www non sono stati progettatiper ambienti mobili e cio crea non pochi problemi. Lo stack di protocolli che supporta il Web non eparticolarmente indicato alle esigenze che il sistema offre. Infatti i dispositivi mobili stanno “stretti” inquesta pila di protocolli. Il caching ad esempio non puo essere utilizzato da parte dei nodi mobili perproblemi di sicurezza. A tal proposito sono state proposte due soluzioni: nuove tecnologie e rimedi alivello architetturale.

2.3.1 Nuove tecnologie

E possibile utilizzare:

1. una tecnologia push, dove non e richiesto un pull da parte del client.

2. il protocollo http1.1 che usa connessioni persistenti, richieste multiple, aumento del numero diheader per il controllo della cache e supporto ai meccanismi di codifica/compressione.

3. i cookies che permettono l’uso di sessioni statefull.

2.3.2 Rimedi a livello architetturale

Possiamo usare:

1. browser potenziati : si usa il meccanismo di caching lato client. Il problema che puo nascere eproprio che il server che fornisce le pagine blocca tale operazione.

2. componenti addizionali : caching (se offline) e prefetching di pagine.

15

Page 19: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3. proxy : e un agente che si interpone in maniera trasparente.

Il client proxy permette l’uso offline dei contenuti, caching e prefetching. Migliora la qualita, iltempo di risposta ed il controllo di energia.

Il network proxy si adatta al contenuto (rende general-purpose l’applicazione), supporta il cachin-g/prefetching (miglioramento delle prestazioni del sistema), ma i componenti non sono fruibilioffline.

Possiamo combinare sia il client proxy che il network proxy, in questo modo si combinano lecaratteristiche dei due approcci semplificando i protocolli. Infatti viene utilizzato un protocollospecializzato.

2.4 Piattaforme Orizzontali: WAP

wap sta per wireless application protocol. E una piattaforma pensata per adattare il modello ad unasituazione in cui i nodi hanno una capacita ridotta sia di hardware che di comunicazione.

Bisogna ricreare lo stesso modello architetturale concettuale alla base del Web cioe il modello clien-t/server riprendendo, specificando e modificando i concetti fondamentali (standard uri, tipo di mime,codifica delle informazioni html, standard di trasferimento http).

L’architettura del wap si presenta ad alto livello con i seguenti componenti:

16

Page 20: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

1. Interprete: Nella precedente figura e presente un gateway. In questo caso il modello di programma-zione wap mantiene alcune caratteristiche quali: browser (microbrowser); linguaggio; formato deicontenuti. Inoltre aggiunge alcuni protocolli utili in modo tale che possano appoggiarsi a quelli co-munemente usati nel Web (ad esempiowta-wtai e usato per sfruttare gli standard delle compagnietelefoniche). Sempre nella precedente figura, il gateway effettua una codifica al nuovo protocollo,ovvero traduce i dati provenienti dal Web in oggetti usabili nel wap.

2. wml: e un linguaggio di markup simile all’html indicato per reti povere.

3. Stack di protocolli : e componibile, ovvero non e detto che l’applicazione debba usare tutti iprotocolli.

Descriviamo la precedente figura:

WAE comunica direttamente con il browser. Viene usato su sistemi con risorse limitate, dove utilizza iseguenti elementi:

1. linguaggi di markup:

• wml a differenza dell’html prevede un formato specifico.Sfrutta la metafora deck & card, ovvero immaginiamo una serie di carte successive dispostein una sequenza, ognuna delle quali definisce una logica del documento. Ogni cartacontiene uno o piu elementi e definisce istruzioni o il contenuto. Cio rappresenta lo statodell’oggetto.Quindi wml descrive in modo astratto solo la logica dell’interazione. Mentre lo strato dipresentazione e dipendente dalle caratteristiche del dispositivo. Solitamente questo stratofornisce un supporto a documenti testuali, interazione utente, navigazione e gestione delcontesto (persistente).

• wml script: e un linguaggio dichiarativo, procedurale, con loop e condizioni. Inoltre tuttele variabili sono globali ed e estendibile tramite librerie. Cio ci permette la creazione diprogrammi aventi una logica piu complessa. Tale linguaggio di scripting e necessario perincorporare costrutti di programmazione logica e funzionale.

2. microbrowser : rappresenta l’interprete dei linguaggi di markup, ovvero effettua le richieste efa parsing delle risposte. Questo opera in un ambiente limitato, quindi mantiene variabili inmodo persistente.

3. meccanismi di integrazione telefonica wta: sono usati dei server ad-hoc. Tali meccanismirisultano indipendenti dal dispositivo di rete e sono asincroni, ovvero pilotati ad eventi. Adesempio una segreteria telefonica.

Il modello logico di wae permette due tipi di interazione:

1. richiesta/risposta;

17

Page 21: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2. push/pull:

• service indication: il server dice solo dove e disponibile il servizio (breve comunicazionedel servizio tramite push ovvero identificazione tramite uri).

• caricamento del servizio: il servizio viene fornito automaticamente (breve comunicazionepush al client tramite uri, ovvero l’user agent decide sull’utilizzo tramite pull e quinditrasparente per un utente).

WSP si occupa del mantenimento di connessioni persistenti. L’obiettivo e quello di garantire ed imple-mentare il concetto di sessione tra client e server. Quindi wsp fonisce servizi a livello applicazionesia di tipo push che pull, a seconda del protocollo che si sta utilizzando, di tipo:

• connection oriented (wtp): gestione di sessione, invocazione dei metodi, comunicazione incaso di errori, push senza conferma, push con conferma, interruzione/ripresa sessione.

• connectionless (wdp): invocazione di metodi, push, generalmente affidabile.

Sia wtp che wdp possono usare wtls per creare connessioni sicure. Attualmente supportaapplicazioni di tipo browsing come wsp/b statefull mentre http1.1 e stateless.

WTP sta perwireless transaction protocol ed ha il compito di gestire lo scambio delle richieste/risposte.E un servizio molto leggero basato su transazioni datagram. Le transazioni di richiesta/rispostasono implementate in modo affidabile, ovvero ogni applicazione puo selezionare l’affidabilita el’efficienza opportuna.

Questo protocollo fornisce una comunicazione unidirezionale che puo essere affidabile, ad esempioil server vuole sapere quello che riceve, o non affidabile, ad esempio il server non e interessato allaricezione.

E efficiente poiche usa tecniche come segmentazione/riassemblaggio, ritrasmissione selettiva, com-pressione degli header e setup della connessione ottimizzato.

WTLS e il protocollo che serve a garantire la sicurezza.

WDP sta per wireless datagram protocol. E simile ad udp, la cui comunicazione e trasparente usandotecnologie di trasporto differenti. Non e affidabile per comunicazioni di tipo end-to-end.

L’obiettivo e quello di creare un sistema di trasporto su scala mondiale interoperabile. Se unapiattaforma wap si poggia su Internet non c’e bisogno della sua implementazione.

WCMP simile a icmp

Qui di seguito vediamo degli esempi di architetture che possono essere fatte tramite wap:

1. applicazione ipertestuale con ambiente di sviluppo wap

2. applicazione client/server

18

Page 22: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3. solo mapping tra funzioni wap ed udp

4. architettura wap push con proxy-gateway

2.4.1 WAP2.0

wap2.0 e nato dalla standardizzazione di html (o meglio xhtml che fornisce una sintassi rigorosa)e delle specializzazioni dei protocolli tcp/http pensate per ambienti wireless. Questa nuova versionepermette di avere una grafica a colori, animazioni e caricamento di grandi quantita di dati.L’obiettivo consiste nell’integrare diverse tecnologie come www, Internet, wap ed I-mode. Data l’ambi-ziosita del progetto non e stata ancora realizzata completamente.Qui di seguito sono presenti varie tipologie di architetture:

• Dispositivo wap/Gateway/Web Server: il gateway fa la conversione tra gli stack di protocolli. Neldispositivo wap bisogna avere tutto lo stack di protocolli. Abbiamo pero un problema quando sifa la conversione tra wtls e tls, infatti tale conversione mette in chiaro le informazioni.

• Dispositivo wap/wap-proxy/Web Server: in questo caso sono usati i protocolli tcp’ ed http’ chesono stati adattati all’ambiente mobile.

• Dispositivo wap/wap-proxy/Web Server/tls tunneling: viene usato per la risoluzione delle debo-lezze relative alla sicurezza.

19

Page 23: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• Dispositivo wap/ip router/Web Server: si usa semplicemente quello che c’e sullo strato di rete.

2.5 Piattaforme Orizzontali: I-Mode

E stato proposto da NTT DoCoMo Japan ed ha avuto un grande successo in questa nazione. Il motivo diun cosı grande successo e dovuto dal modello di business che ne ha promosso l’uso (guadagnava molto chiforniva il contenuto) e dalle attivita sociali come ad esempio parlare in treno o giocare con un cellulare.La caratteristica principale e quella dell’adattabilita. Infatti sono stati usati protocolli Internet riadattatial mondo wireless.

Puo anche basarsi su wap, come e avvenuto in europa, in particolar modo in germania.

2.6 Piattaforme Orizzontali: J2ME

Solitamente le applicazioni sono fortemente dipendenti dal sistema operativo sottostante. Tramite j2mesi evitano questo genere di problemi. Infatti questa piattaforma e composta dal seguente stack dicomponenti:

20

Page 24: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Applicazioni

Profilo (mdp) Configurazione specializzata in un profilodei dispositivi.

Configurazione (cdc, cldc) Insieme ridotto di librerie Java.

java virtual machine (jvm)

Sistema Operativo

Hardware

Con questa tecnologia abbiamo solo due possibili architetture. La prima e relativa a dispositivi con pocamemoria e poca capacita di calcolo, mentre la seconda e adatta a dispositivi con capacita maggiori inentrambe i sensi.

Queste architetture sfruttano wap o I-mode. Inoltre dato che sono basate su una jvm minimale alloraviene garantita l’indipendenza dall’hardware sottostante.

2.7 Impatto sul sistema operativo

Per i dispositivi mobili non e possibile usare un sistema operativo general-purpose. Infatti e necessario cheil sistema operativo consumi poca memoria ovvero abbiamo bisogno di un sistema operativo specializzatoche sfrutti la memoria flash del dispositivo.La memoria flash e piu affidabile poiche non possiede testine e consuma poca energia data l’assenza delle Memoria Flash

componenti meccaniche. Inoltre i tempi di lettura sono molto buoni, quasi come la dram ma a differenzadella dram e degli hard disk abbiamo un consumo di energia minore. Il problema sta sulle scritture cherichiedono tempi lunghi, oltre alla presenza dell’usura per questo tipo di memorie (numero limitato discritture).Per questo tipo di memoria il filesystem viene modificato secondo le seguenti regole:

1. Organizzazione fisica:

• nessuna necessita di copiare file nello spazio di indirizzamento della dram poiche i tempidi accesso sono paragonabili a quelli della dram. Di conseguenza abbiamo un risparmio dienergia e di tempo.

• viene usato un buffer nella dram per file riscritti piu volte in modo da ridurre le scritturesulla memoria flash in modo tale che si possa prevenire l’usura.

2. Per quanto riguarda l’organizzazione logica non c’e bisogno ne di raggruppare i file correlati ne diavere la presenza di livelli multipli di redirezione.

Ad esempio l’impatto sul sistema operativo di una memoria flash necessita delle seguenti modifiche sullamemoria virtuale:

• si deve garantire la protezione tra processi senza aumentare la dimensione dello spazio di indiriz-zamento.

• il codice puo essere allocato ed acceduto direttamente sulla memoria flash mentre i dati e lo stackrimangono sulla dram. Quindi la parte dinamica sta in ram, mentre quella statica sulla flashmemory.

21

Page 25: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3 Comunicazione Wireless

Finora abbiamo trattato le problematiche relative allo sviluppo/supporto di applicazioni in ambientemobile, in particolar modo considerando i modelli concettuali, la strutturazione e le proposte tecnologice.

In questo paragrafo scenderemo di livello focalizzando l’attenzione sul wireless link mettendolo inrelazione agli standard e sistemi conosciuti. Tratteremo le problematiche relative alle tecnologie ed aiprotocolli wireless per realizzare l’interazione tra i vari nodi del sistema di tipo wireless. Dopo unapanoramica sulle modalita di utilizzo (tecniche di condivisione e protocolli generali che utilizzano talitecniche) passeremo all’analisi della wireless lan.

3.1 Caratteristiche

Le caratteristiche generiche delle reti wireless sono le seguenti:

1. ber maggiore;

2. tasso di trasmissione basso;

3. forti variazioni di qualita;

4. generalmente la comunicazione e di tipo broadcast;

5. e realizzato con due tecnologie: infrarossi e radiofrequenze.

Le radio frequenze possiedono una banda piu alta ma necessitano di permessi da parte di organigovernativi. Mentre gli infrarossi sono facilmente bloccabili da parte di ostacoli.

La rete wireless puo essere classificata in due modi: reti con infrastruttura e reti senza infrastruttura.Nelle reti con infrastruttura esistono nodi specializzati, gli access point (ap), che gestiscono il traffico

di una certa zona. Quindi la comunicazione tra due nodi della rete non e mai diretta, infatti percomunicare con un nodo bisogna spedire un messaggio prima sull’ap, successivamente il messaggio verrainstradato su altri ap fino ad arrivare al nodo destinazione. In questo tipo di reti abbiamo le seguentiproprieta:

• progettazione semplificata dei client;

• non abbiamo il problema del terminale nascosto (vedi il punto 2 dei protocolli basati su contesa);

• la gestione della rete e semplice;

• e poco flessibile.

Nelle reti senza infrastruttura, tutti i nodi possiedono le stesse responsabilita. Dove ogni nodo e in gradodi comunicare con qualsiasi altro nodo che si trova nelle sue vicinanze. Se due nodi fanno parte di duereti diverse non possono comunicare. L’unico modo per farlo consiste nel mettere un ap di confine,ovvero costruire una rete ad-hoc.Tale approccio richiede maggior carico sulle responsabilita dei singoli nodi, di conseguenza aumenta ilconsumo energetico e il carico computazionale. Tuttavia questa rete e molto veloce, flessibile e menoinvasiva. Questa classificazione vale per reti wireless non necessariamente mobili.La portata di reti wireless e la seguente:

Ampia wireless wide area network (wwan)Media wireless local area network (wlan)Piccola wpan/wdan

Dobbiamo quindi introdurre un compromesso, infatti piu aumenta il raggio di copertura, piu diminuiscela capacita di trasmissione. In altre parole all’aumentare della capacita di banda c’e una diminuzionedello spostamento possibile.Come si vede nella seguente figura studieremo la tassonomia delle reti wireless, in particolare guarderemoil livello link e quello networking.

22

Page 26: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3.2 Modalita di utilizzo

Il problema ora da prendere in considerazione consiste nel gestire la condivisione dello stesso canale daparte di piu utenti. Le tecniche di base per la condivisione sono 3+1. A seguire vedremo i protocolli basatisu una di queste tecniche per definire in maniera piu chiara ed esaustiva come realizzare la condivisione.

3.2.1 Tecniche di condivisione

Le tecniche di condivisione sono realizzate lungo 3+1 dimensioni: frequenza, tempo, codice, spazio (perreti cellulari).

FDM condivisione di frequenza Si ha un insieme di frequenze che vengono suddivise in n sottoin-siemi di dimensione variabile. Ogni sottoinsieme viene utilizzato da un utente.In questo caso ogni utente ha a disposizione una capacita minore di quella totale e cio e scarsamenteefficiente. Tuttavia l’implementazione risulta molto semplice.

TDM condivisione di tempo Un utente ottiene l’intero spettro per un certo ammontare di tempo,ovvero chi vuole trasmettere usa tutta la capacita del canale per un intervallo di tempo limitato (assegnatoo autoassegnato). In questo modo viene migliorata l’utilizzazione del canale.Possiamo combinare fdm e tdm in modo tale che sia migliorata la sicurezza della comunicazione degliutenti. Infatti risulta piu difficile intercettare un canale. Tale combinazione viene usata dalla tecnologiagsm.

CDM condivisione di codice Ogni utente possiede un codice univoco. Tutti gli utenti trasmettonocontemporaneamente usando tutte le frequenze disponibili. Per evitare il caos bisogna codificare il segnaledi ogni utente usando un codice differente per ogni trasmissione.

CDS condivisione di spazio E il meccanismo alla base delle reti cellulari. Generalmente e coninfrastruttura. Si ha una banda per trasmettere delle frequenze. L’idea alla base consiste nel frazionarel’area di copertura e successivamente ripartizionare i canali (frequenze) in modo da aumentare il numerodegli utenti attivi in una certa area. In questo modo le stesse frequenze possono essere riutilizzate nellecelle adiacenti. In realta viene applicata la combinazione di fdm/tdm/cdm nella stessa cella.

3.2.2 Regole d’uso delle tecniche (protocolli)

Le varie tecniche di condivisione possono essere usate con le seguenti regole:

1. controllo statico (fdma/fdm; tdma/tdm; cdma/cdm);

2. controllo casuale, ovvero su contesa (csma/tdm; maca/tdm);

23

Page 27: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3. controllo dinamico, ovvero su prenotazione (polling/tdm; prma/tdm).

Nella seguente tabella sono rappresentati sia i vantaggi che gli svantaggi di ogni regola, dove “Si” e “No”sono da considerare in termini di probabilita.

Banda inutilizzata Collisioni Traffico Aggiunto

Statico Si No NoCasuale No Si NoDinamico No No Si

Protocolli basati su assegnazione fissa Sono orientati sul circuit switching. Richiedono una retecon infrastruttura ed un coordinamento centralizzato. Questi suddividono la banda disponibile in canalidi uguale dimensione, dove ognuno viene usato da un nodo per comunicare con l’ap. Inoltre sfruttanotutte e tre le tecniche di utilizzo: fdma (alloca la frequenza), tdma (alloca il tempo) e cdma (allocail codice). Le prime due possiedono al piu N valori, mentre l’ultima puo attribuire un codice ancheall’n+ 1-esimo utente.

Protocolli basati su contesa Richiedono una rete senza infrastruttura e la tecnica usata e tdma. Ilprotocollo che usa questa tecnica e aloha. Ogni utente trasmette quando vuole, se il suo tentativo nonva a buon fine, ovvero si ha una collisione, allora ritrasmette il messaggio. Il rendimento e molto basso(18%), quindi puo essere usato solo se c’e un basso numero di utenti (minore probabilita di collisione).Per migliorare questo protocollo si utilizzano due soluzioni:

1. Slotted aloha: ogni trasmettitore e costretto a trasmettere all’inizio di uno slot. La capa-cita trasmissiva raddoppia, ovvero il rendimento e pari a circa 36%. Tuttavia e necessaria unasincronizzazione di tutti i nodi.

2. csma (carrier sense multiple access): viene usata una rete ad-hoc, quindi i canali vengono usatiusando tecniche adatte a reti senza infrastruttura. Se qualcuno vuole trasmettere deve primaascoltare il canale e controllare che sia libero. In questo modo la probabilita di collisione vieneridotta notevolmente. A tal proposito possono essere usati due approcci:

(a) csma/cd (collision detection): durante la trasmissione di dati su un canale, l’utente e ingrado di ascoltare le collisioni. Se avviene una collisione allora l’utente si ferma e riprova dopoun tempo randomico (backoff esponenziale). Tale approccio funziona bene se il carico e basso.Il protocollo che utilizza tale tecnica e ethernet (ieee802.3).

(b) csma/ca (collision avoidance): un utente ascolta il canale, se questo e libero fa partire untimer. Se allo scadere del timer il canale e ancora libero allora l’utente spedisce il messaggioaltrimenti attende lo scadere di un ulteriore timer. Il successo di questa tecnica e dovuto dalfatto che i timer sono tutti diversi, ovvero il valore del timer e casuale.

Tramite questo approccio si riducono le collisioni, ma se il numero di utenti e basso si ha unasotto-utilizzazione del canale. Il protocollo che utilizza tale tecnica e wifi (ieee802.11).

I protocolli a contesa tuttavia soffrono dei seguenti problemi:

(a) Terminale nascosto (1): abbiamo problemi sul rilevamento delle collisioni. In questo caso ilcollision detection non funziona a causa della diversa potenza del segnale tra gli utenti chestanno trasmettendo dati sul canale. Ad esempio se A e C trasmettono contemporaneamenteverso B. B rileva la collisione ma questa non viene rilevata ne da A e ne da C.

(b) Terminale nascosto (2): abbiamo problemi sul carrier sense. Ad esempio se A trasmette primadi C, C rileva il canale come libero poiche non e in grado di ascoltare i messaggi di A.

24

Page 28: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

(c) Terminale esposto: supponiamo che B vuole comunicare con A e C con D. In questo caso B

e C trasmettono contemporaneamente generando collisioni.

I problemi di terminale nascosto ed esposto non si verificano in caso di reti con infrastruttura.

Per risolvere i problemi relativi al terminale nascosto/esposto viene utilizzato il protocollo maca. maca

Questo protocollo viene usato in reti senza infrastruttura ed e basato sul protocollo aloha conprenotazione, ovvero un protocollo ibrido tra casuale e dinamico. L’idea di base consiste nel fattoche la trasmissione viene preceduta da un preambolo che invia un rts al destinatario, ovveroun messaggio che contiene la tripla: mittente, destinatario e durata. L’utente che riceve questomessaggio, a sua volta, invia un messaggio di tipo cts. Se l’utente riceve il messaggio rts manon e il destinatario e capta la presenza del messaggio cts allora ferma la trasmissione dati poichepotrebbe generare una collisione. Quindi chi ascolta il cts rimane bloccato per tutta la duratadella trasmissione.

Tramite questo meccanismo le collisioni sono presenti solo nel preambolo, in questo modo si riducenotevolmente la loro presenza. Naturalmente dal momento che il preambolo ha un suo costo eragionevole incrementare la dimensione dei messaggi da inviare.

Protocolli basati su prenotazione Sono usati in reti con infrastruttura. L’idea consiste in unastazione slave che trasmette solo se viene interpellata dal master. L’ordine di trasmissione e deciso dalmaster, il quale puo utilizzare diverse tecniche come round-robin, random, techiche basate su prenotazioneo su contesa.Il protocollo prma usa la tecnica di condivisione tdm. Ogni pacchetto e suddiviso in tre parti: frame, prma

slot e preambolo. L’idea di base consiste nel fatto che l’accesso al canale avviene su scansioni regolaridi tempo, dove l’unita di misura e pari al tempo di uno slot. Quindi abbiamo la presenza di frame chesi ripetono periodicamente. Il primo slot di ogni frame e costituito da un preambolo che fornisce delleinformazioni sullo stato del frame, in questo modo le stazioni sono in grado di capire quali slot possonoessere utilizzati. Quindi se uno slot e prenotato per una stazione nessuno puo usarlo. Se la stazione percui e prenotato non lo usa, al preambolo successivo lo slot diventa libero. Se lo slot non e prenotato enessuno lo usa sara libero anche nel preambolo a seguire. Se lo slot non e prenotato ed esiste una stazioneche deve trasmettere, la stazione compete per lo slot e se vince allora ha diritto di trasmettere anche nelsuccessivo preambolo. Se lo slot non e prenotato ed esistono piu stazioni che devono trasmettere alloraabbiamo una collisione, quindi in questo caso si puo adottare una variante della contesa dove le stazionidecidono di trasmettere con una certa probabilita. Insomma, una stazione che ha conquistato uno slotha la garanzia che avra un suo slot in ogni preambolo. L’efficienza quindi aumenta all’aumentare dellaquantita dei dati. L’inefficienza, invece, e dovuta dal fatto che esistono slot potenzialmente inutilizzati.

25

Page 29: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Riassumendo il collision detection non funziona nei meccanismi a contesa. La prenotazione e adatta adun traffico in cui e garantita la disponibilita del canale. Infatti se abbiamo un traffico bulky (massiccio)conviene smaltirlo in maniera regolare nel tempo. Quindi i meccanismi a contesa sono piu adatti ad untraffico bursty.

Protocolli a condivisione di spazio Per aumentare il numero di utenti teoreticamente e sufficienteaumentare le partizioni della cella. Tuttavia la superficie di ogni partizione diminuisce rendendo difficilelo spostamento di un utente all’interno dell’area. Una soluzione a questo problema consiste nell’usarela tecnica di handoff. Tuttavia questa tecnica risulta costosa, di conseguenza al ridursi dello spazioaumentano gli handoff ed aumentano i costi. Bisogna scegliere il giusto tradeoff tra il partizionamentoed i costi di handoff.Per fare l’handoff un utente deve stare in una zona in cui e presenta una sovrapposizione del segnale di Handoff

due celle diverse. In questa zona avviene lo sgancio dal vecchio punto di accesso al nuovo. Nella seguentefigura si vede come allo scendere della qualita sale quella dell’altro.

Dopo che la decisione viene presa eseguiamo le seguenti operazioni:

• ho required: inizia la procedura di handoff, quindi informo le unita di gestione;

• ho request: se si hanno canali a disposizione, l’unita di gestione prova a contattare un nuovo puntodi accesso;

• Channel activation: informo il punto di accesso del nuovo canale.

3.3 Wireless LAN

In questo paragrafo tratteremo le wireless lan.A livello di collegamento bisogna specificare i protocolli usati dalla wlan. In particolare a livello datalinkbisogna definire la configurazione della rete (tipo di infrastruttura), il protocollo di accesso (mac ed ilprotocollo che controlla il canale (llc). Mentre a livello fisico (plcp/pmo) bisogna scegliere quale mezzofisico utilizzare, ad esempio ir o rf, e quanta banda utilizzare.

26

Page 30: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Nei seguenti sottoparagrafi del livello logico e delle relative problematiche. Cio che si vuole garantire e:

1. sicurezza:

(a) safe: non causare danni alla salute;

(b) security: protezione dati.

2. trasparenza ai livelli superiori;

3. interoperabilita;

4. facilita di utilizzo.

3.3.1 Protocollo IEEE802.11

Questo protocollo e stato proposto nel 1990. I progettisti hanno impostato il protocollo in modo tale chepossano garantire:

1. comunicazione asincrona: inizialmente fino a 2MBit con banda a 2.4GHz (senza necessita dipermessi), ora fino a 50MBit con bande diverse (sempre non regolarizzate).

2. garanzia sui tempi: supporta le trasmissioni con picchi temporali (voce) per garantire una qosaccettabile.

Il protocollo e realizzato tramite due schemi:

1. dcf che sta per distribuited coordination function (trasmissione best effort).

2. pcf che sta per point coordination function (trasmissione time bounded).

Inoltre al suo interno sono presenti politiche per il risparmio energetico, risolve il problema del terminalenascosto/esposto e supporta la mobilita dell’utente.

Tipologia dei nodi

DS Rappresenta l’insieme di nodi connessi ad un oggetto e definisce il sistema di distribuzione.

IBSS Rappresenta l’insieme di nodi connessi tra loro ma che non comunicano con l’esterno. Questipossono lavorare sia in una rete con infrastruttura che senza, ovviamente la seconda e la piu tipica.

ESS Rappresenta l’insieme di nodi che si connettono al resto del mondo. Formato da piu bss aventidei punti di accesso tra loro. Se questi nodi si trovano in una rete con infrastruttura allora e trasparentealla tipologia di connessione adottata (wireless o meno). Quindi il formato dei frame rimane lo stesso.

Mobilita dei nodi

La mobilita dei nodi puo essere intrabss o intrads (roaming). Ci accorgiamo che un nodo si sta spostandoquando questo esce dalla portata dell’ap attualmente utilizzato e si ascoltano altri segnali provenientida altri ap. Per fare cio, un nodo fa lo scanning dei canali (ascolta i segnali sulla frequenza di beaconoppure viene fatta una richiesta esplicita). Se sono stati trovati nuovi ap allora il nodo ne invia unarichiesta di collegamento. A questo punto se la risposta di riassociazione e positiva allora il nodo puopartecipare alla contesa del canale gestito dal nuovo ap. Se vince la contesa allora vengono aggiornatele informazioni di locazione relative al nodo, altrimenti si riprende l’operazione di scanning e si prova suun altro ap. Puo capitare che il sistema di distribuzione (ds) informa il vecchio ap per consentire uneventuale rilascio delle risorse. Naturalmente se il nuovo ap non fa parte del ds allora ci troviamo nelcaso di mobilita tra ess differenti, ovvero interds. In questo caso e richiesto l’intervento di altri schemidi gestione della mobilita, come ad esempio mobileip.

27

Page 31: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3.3.2 802.11: livello logico MAC

Il protocollo mac consente le seguenti operazioni: l’accesso al mezzo trasmissivo, la frammentazione deidati degli utenti e la sicurezza (crittografia). Sopra il livello mac i pacchetti saranno identici a quelli diuna qualunque rete 802.x.

Inoltre si puo fare il bridging verso altre reti tramite l’uso del livello llc. Questa funzionalita permette Bridging

l’estensione dello spazio di indirizzamento su piu lan, oltre a tradurre nel corretto formato i frame delledue lan differenti.

Per quanto riguarda l’accesso al mezzo possiamo usare dcf o pcf. Per il dcf possiamo usare: dcf

• due vie (Data/ack): se non viene ricevuto l’ack, il protocollo mac ritrasmette.

In questo modo viene ridotta la latenza rispetto agli interventi correttivi affidati ai protocolli dipiu alto livello. Lo scambio dei frame avviene secondo un meccanismo di contesa. Se si vince lacontesa si ha la garanzia che finche non arriva un ack nessun altro nodo occupa il canale.

Le perdite degli ack sono gestiti con dei timer, ovvero viene adottato il metodo di collisionavoidance.

• quattro vie (rts/cts/Data/ack): funziona come il protocollo maca, dove per prima cosa si accedealla contesa del preambolo e successivamente si accede al frame. In questo modo garantiamol’assenza del problema sul terminale nascosto/esposto.

La trasmissione dei dati con il dcf e affidabile e ci sono garanzie di equita nell’utilizzo del canale wireless.Usando invece pcf abbiamo garanzie sui tempi di attesa.Per quanto riguarda il concetto di sicurezza nelle reti wlan e stato adottato wep, tuttavia e facilmentebucabile.Sono stati proposti vari formati dei frame basati su reti wlan, quello quasi-standard e rappresentato Formato del

framedalla seguente figura.

28

Page 32: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Il campo frame control specifica il tipo di frame, e a seconda del tipo alcuni campi compaiono o meno.Descriviamone alcuni campi:

• versione: versione che si sta usando;

• to/from ds: indicano a seconda del valore il significato dei campi indirizzo come e elencato nellaseguente tabella.

0 0 rete ad-hoc0 1 ap parla con la stazione (terzo passo di indirizzamento)1 0 sta parla con ap (primo passo di indirizzamento)1 1 ap parla con un altro ap (secondo passo di indirizzamento

• More frgs: specifica se non ci sono altri frammenti.

• Power mgmt: specifica se e attivo il risparmio energetico.

• More Data: se l’ap ha ulteriori dati da mandare nel frame.

• wep: specifica se il frame e crittografato o meno.

• Order : se ai livelli superiori e richiesto l’ordine della sequenza.

Il campo Duration id del frame e sempre presente in quanto indica il tempo necessario a trasmettere ilframe per intero (comprensivo anche dei messaggi di ack di ritorno).Tuttavia il frame non sempre contiene tutti e quattro gli indirizzi. Il numero varia a seconda del tipo direte.Supponiamo di avere due bss connessi ad un ds. L’utente di un bbs (U1) vuole comunicare con uno Esempio

interdsdell’altro bbs (U5). I passi da fare in una comunicazione interds sono tre, dove ad ogni passo abbiamobisogno di tre indirizzi:

1. Inizialmente l’utente U1 invia un messaggio al suo ap con il frame avente l’indirizzo del mittente(U1), l’indirizzo logico del destinatario (U5) e l’indirizzo mac del destinatario (ap1).

2. A questo punto vi e la comunicazione tra ap dove il messaggio comprende l’indirizzo logico delmittente (ap1), l’indirizzo logico del destinatario (U5) e l’indirizzo fisico del destinatario (ap2).

3. Infine dal secondo ap verra mandato un messaggio al destinatario contenente i seguenti indiriz-zi: l’indirizzo logico del mittente (U1), l’indirizzo fisico del mittente (ap2) e l’indirizzo fisico deldestinatario (U5).

Il controllo di sequenza indica il numero della sequenza nel caso in cui il pacchetto sia frammentato. Laframmentazione dipende dallo stato del canale, quindi si tende ad usare la frammentazione se il canalee disturbato.I frame possono essere suddivisi nelle seguenti categorie: Categorie di

frame

frame dati contiene tutti i dati tranne, eventualmente, il quarto indirizzo. L’uso dei campi indirizzodipende dalla configurazione di rete (ibss o ess) e dal tipo di trasferimento, come si vede nellaseguente tabella.

Scenario to ds from ds address 1 address 2 address 3 address 4

ad-hoc 0 0 da sa bssid -from ap 0 1 da bssid sa -to ap 1 0 bssid sa da -ap to ap 1 1 ra ta da sa

29

Page 33: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

frame di controllo contiene i seguenti messaggi:

• ack: possiede un campo atomico che contiene solo l’indirizzo del destinatario. Chi ricevequesto messaggio conosce il mittente proprio per l’atomicita della comunicazione.

• rts

• cts: il campo ra e identico al campo ta del frame rts corrispondente.

Anche la comunicazione dei frame di tipo rts e cts e atomica, quindi non puo essere interrotta.

La comunicazione e basata su csma/ca dove:

1. Carrier Sensing (cs): una trasmissione non e abilitata alla comunicazione se il canale e occupato.Ci sono due modi per gestire il cs:

(a) fisico: ascolto a livello fisico;

(b) virtuale: basato su nav (network access vector). Ogni utente possiede un contatore (nav)che viene aggiornato in base al campo Duration id dei frame. Ovvero questo contatore e untimer interno che segnala in modo virtuale l’occupazione del canale.

Un canale e libero se non ha alcun segnale (cs fisico) ed il contatore nav e nullo (cs virtuale).

2. Collision Avoidance (ca): e la combinazione di due meccanismi: interframe spacing (ifs) di duratacostante o a durata variabile.

Il ca si basa su opportuni intervalli di attesa. Abbiamo ifs differenti per ottenere priorita differentiall’accesso del canale:

(a) difs (dcf interframe spacing): rappresenta l’intervallo per la connessione al canale in casosia libero.

Supponiamo che un utente sia pronto ad inviare un messaggio ed inizia ad ascoltare il canale Fisica

tramite cs. Se il canale e libero per un tempo difs, l’utente inizia ad inviare. Invece se ilcanale risulta occupato, la stazione deve attendere un tempo difs dopo la fine dell’occupazioneed attende anche per un tempo di backoff. Il tempo di backoff viene decrementato di 1 ad ognislot time in cui il canale e libero. Quindi la stazione trasmette quando il tempo di backoff enullo.

(b) pifs (priority interframe spacing.

30

Page 34: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

(c) sifs (short interframe spacing): rappresenta l’intervallo di tempo per l’ack.

Supponiamo che una stazione e in attesa per un tempo difs prima di inviare i dati. Il Scambio di dati

destinatario invia un ack se il pacchetto viene ricevuto correttamente (crc valido). In praticail destinatario attende un tempo sifs prima di inviare l’ack. Quindi sifs<difs assicural’atomicita. Inoltre bisogna notare che il timer difs tiene conto anche dell’ack. Se il mittentenon riceve l’ack allora vi e la ritrasmissione automatica raddoppiando il cw (contentionwindow).

Tramite il dcf viene garantita anche la fairness, ovvero se un’altra stazione occupa il canale durante Logica di fun-zionamentoil tempo di backoff di una stazione, allora il timer di backoff si blocca. Quando il canale si libera

di nuovo, la stazione non genera un nuovo intervallo di backoff, in questo modo viene fornita unamaggiore priorita ai messaggi piu vecchi.

Con questo approccio abbiamo un problema, ovvero il campo dati e lungo, quindi se una stazione non rts/cts

avverte collisioni (terminale nascosto) allora occupa il canale fino alla fine del frame. Di conseguenzaabbiamo un notevole spreco di banda. Usando invece uno schema rts/cts si ha un minore rischio dicollisioni ed un minore spreco di banda. In questo caso tutte le stazioni nel bss che ascoltano i framerts/cts aggiornano il loro contatore nav tramite il valore contenuto nel campo Duration id di questiframe. Ovviamente questo schema e vantaggioso solo se il campo contenente i dati e abbastanza grande,altrimenti si genera troppo overhead. La trasmissione risulta atomica fino alla ricezione dell’ack.

31

Page 35: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Se un frame deve essere frammentato, il protocollo deve garantirne la trasmissione in modo atomico. Frammentazione

Innanzitutto la frammentazione viene realizzata dal livello mac se il pacchetto dati inviato dal livellollc e troppo grande oppure se il tasso di errore nel canale e molto alto. Il comportamento di questoapproccio consiste nel fatto che il canale non viene rilasciato finche tutti i frammenti sono stati spediti(ack per ogni frammento). Puo capitare che si verifichino degli errori (ack non ricevuto), in questocaso la stazione compete di nuovo per il canale e ritrasmette l’ultimo frammento senza ack (reazionepiu veloce rispetto a tcp).

Fin ora abbiamo visto le funzionalita dcf di base. Esse forniscono la garanzia di equita, ma non cidanno nessuna garanzia sui tempi di attesa. Per assurdo infatti si puo attendere all’infinito. Quindi dcfgarantisce che il canale sara acquisito ma non si conosce quanto tempo si deve aspettare.Il protocollo pcf (point coordination function) e costruito sopra il dcf e sfrutta alcune delle sue ca- pcf

ratteristiche. Questo protocollo e utilizzabile solo nel caso di reti con infrastruttura in quanto si usa uncontrollore centralizzato (point coordinatior pc). L’ap che gestisce il bss organizza il tempo secondo unoschema preciso e ripetitivo (polling). Il tempo e suddiviso in intervalli, che a loro volta sono suddivisiin sottointervalli. In questo protocollo ogni stazione nel bss puo chiedere di essere aggiunta alla listadi polling. Il pc avvia periodicamente un contention free period (cfp), in questo modo si garantiscel’alternanza tra cfp e cp (contention period in modalita dcf).

In ogni ciclo si alterna una fase di pcf ed una dcf. L’ap ha il compito di regolare la proporzione ditempo pcf e la frequenza con cui si alternano gli intervalli. Quindi a seconda del tipo di comunicazioneviene scelta la corretta combinazione tra proporzione e frequenza. Per attuare questa operazione, l’apobbliga le altre stazioni ad un determinato comportamento tramite il frame beacon. Il frame beacon eun frame contenente tutte le informazioni necessarie e viene inviato all’inizio di ogni intervallo. In essoviene specificata anche la durata del pcf. Ogni stazione, nel periodo in cui e presente il frame beacon,non puo parlare, a meno che non venga direttamente contattata dal master (polling).Il coordinatore per prendere il canale invia un frame beacon avente una priorita piu alta rispetto alle altrestazioni solo se pifs<difs. Inoltre notiamo che pifs>sifs altrimenti l’atomicita non sarebbe garantita

32

Page 36: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

(in ogni caso il ritardo e al massimo della capacita massima di un frame). Il coordinatore spedisce i datialla stazione che ha intenzione di usare il canale, ovvero sono eseguite le seguenti operazioni:

1. una stazione selezionata da pc riceve il segnale di polling.

2. la stazione invia l’ack sia al controllore che alle altre stazioni presenti nel bss.

pc termina la fase di cfp inviando un frame di tipo CF end.

Le funzioni di gestione sono: Funzioni di ge-stione

1. Sincronizzazione orologio: Per ogni funzione di gestione e importante mantenere sincronizzati gliorologi interni. Viene realizzata in due modi:

(a) con infrastruttura: piu semplice. Periodicamente viene mandato un beacon con valore delsuo orologio. Viene spedito con meccanismo pcf. Anche in caso di collisioni l’invio avvienesempre all’istante teorico.

(b) senza infrastruttura: nessuno ha priorita. Sono tutti autorizzati a spedire il valore dell’orolo-gio. Tutte le stazioni entrano in competizione per trasmettere il proprio frame.

33

Page 37: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2. Risparmio di energia: Le stazioni si spengono in modalita “sleep” per un certo intervallo di tempo.Infatti un’interfaccia di rete attiva in stato idle consuma energia quasi quanto un’interfaccia chetrasferisce dati. Senza contare che eventuali nodi mittenti devono conservare in un loro bufferinterno tutti i frame che si trovano in modalita sleep.

Le stazioni che mettono in atto una politica di risparmio energetico devono riaccendersi in intervalliregolari, ovvero possiedono un timer. Questo timer serve a far svegliare le stazioni nell’istante incui un mittente puo annunciare la presenza di frame. Quindi la stazione che deve ricevere i framedeve rimanere sveglia finche il frame non viene trasmesso. Di conseguenza abbiamo bisogno di unafunzione di sincronizzazione chiamata timing synchronization function (tsf). Anche in questocaso distinguiamo due varianti:

(a) con infrastruttura: ad intervalli regolari l’ap trasmette un beacon contenente una mappachiamata traffic indication map. Questa mappa specifica quali stazioni devono ricevere deidati. A questo punto ogni stazione elencata nella mappa richiede i dati all’ap, secondo lamodalita pcf, inviando un frame di tipo PS poll. Se e settato il bit “More Data” nel frameche l’ap invia alla stazione allora la stazione continua a richiedere dati finche non sono esauriti.

Il beacon puo contenere anche una delivery traffic indication map (dtim) nel caso in cui tuttisi devono svegliare, ovvero viene usata per creare una comunicazione di tipo broadcast.

(b) senza infrastruttura: tutte le stazioni si sincronizzano tramite frame di beacon distribuiti. Inquesto caso ogni stazione costruisce un frame di beacon. Tutte le stazioni nell’ibss competonoper trasmettere il beacon in modalita dcf. La prima stazione che acquisisce il canale vincela contesa e quindi tutte le altre eliminano il loro frame di beacon ed aggiustano il loro timer.Ad intervalli regolari tutte le stazioni si devono svegliare e devono rimanere accese per uncerto intervallo atim (ad-hoc traffic indication map). Tale intervallo e una finestra riservataalla segnalazione della presenza di dati. In questa finestra si avvia la normale contesa, tuttisono autorizzati a mandare frame. Cio rende l’approccio poco scalabile poiche aumenta laprobabilita di collisione ed il ritardo di tramissione.

34

Page 38: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3. Sicurezza: basata sull’algoritmo wep (wired equivalent privacy). Questo algoritmo e basato sul-l’algoritmo rc4 prng che possiede una chiave simmetrica condivisa, ma lo standard non definiscecome scambiare la chiave. Quindi il livello mac mittente crittografa i dati, mentre quello riceventeli decritta e li invia al livello superiore.

L’autenticazione e a chiave condivisa. Ovvero una stazione prova la sua identita crittografando erestituendo un testo di prova. In questo modo viene autenticata la stazione presso l’ap, ma non evero il contrario.

Tra gli sviluppi abbiamo 802.11e il quale introduce la gestione di code basate su priorita. Ci sono codecon priorita piu alta. La garanzia di priorita del servizio e gestita giocando sull’intervallo ifs. Quindiuna classe A con priorita maggiore rispetto alla classe B avra un itf minore. E stata introdotta anchela possibilita di spedire piu pacchetti contemporaneamente. I problemi sono relativi alla coesistenza conaltri protocolli che usano le stesse frequenze (ad esempio forno a microonde).Invece in 802.11i abbiamo la sostituzione di wep in favore a wpa2.

3.4 HiperLAN

etsi (european telecommunications standardization institute) e uno standard europeo che permette ilmiglioramento delle lan e la loro interoperabilita con le reti fisse.La famiglia di reti hiperlan purtroppo non soddisfa tutti i requisiti come portata, banda e qos, oltre adavere dei forti vincoli commerciali.

35

Page 39: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3.5 Wireless WAN

Tratteremo questa parte secondo due aspetti:

• Livello mac: accesso ed uso del canale wireless;

• Livello piu alto: routing.

Le reti wireless wan sono realizzate usando un’infrastruttura di tipo cellulare. Sono nate per il supportoal traffico avente un alto trasferimento di dati. Questa infrastruttura e stata usata anche per supportarel’invio dei dati su scala geografica. Tuttavia non e esente da problematiche legate alla sua estendibilita,infatti non sono molto adatte per trasmettere informazioni di tipo dati.

Le wlan permettono una maggiore interoperabilita ed un maggiore tasso di trasmissione. Mentrele wwan forniscono una maggiore mobilita e copertura. Tuttavia il numero di utenti ed il consumo dienergia e simile per entrambe i tipi di rete.

3.5.1 GSM

E uno standard per supportare il traffico europeo. La sua architettura e la seguente:

Livello MAC rete di livello datalink che garantisce l’accesso al canale da parte degli utenti. Il livellosuperiore garantisce l’aggancio con nodi fissi. L’area geografica in cui si muovono i nodi mobili eripartita in celle. I nodi mobili sono definiti come ms. Ogni cella e coperta da una stazione base(antenna) bts. Piu bts sono coordinate da un bsc. Piu bsc fanno capo ad un msc.

Meccanismi di accesso La tecnica di condivisione usata e il circuit switching basato su tdma. Ladivisione e fissa in scala temporale, ovvero si dividono gli slot e si raggruppano in frame. Ogniframe e composto da 8 slot. Lo slot e calibrato sul tipo di informazione che trasporta (156bit).

Circuit Switching Si fa una fase di setup prima della connessione per vedere chi vuole utilizzare ilcanale. Se termina con successo mi trovo assegnato uno slot che ricorre nei frame consecutivi, finquando non si chiude la connessione. Questo slot puo rimanere anche inutilizzato. Le possibilitadi connessione sono di due tipi: full rate (uno slot per ogni frame) o half rate (uno slot ogni dueframe).

Handoff Dal momento che stiamo parlando di una rete cellulare, c’e anche la condivisione dello spaziocon conseguente meccanismo di handoff. L’handoff viene scatenato dal rilevamento della degrada-zione progressiva del segnale del canale in cui un ms e collegato, insieme all’aumento della qualitadel segnale di un canale il ms sta sentendo. Sono previsti quattro tipi di handoff:

Tipo 1 tra due celle gestite dallo stesso bts.

36

Page 40: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Tipo 2 tra due celle con bts diversi ma stesso bsc.

Tipo 3 tra due celle con bts e bsc diversi ma stesso msc.

Tipo 4 celle contigue ma con msc diversi. Questo caso e simile a quello delle wlan di bss diversi.Anche in questo caso bisogna usare meccanismi di routing.

L’estensione del gsm all’invio di dati sul canale vocale e stata la prima occasione per rilevare i suoi limiti.La prima soluzione banale e stata quella di codificare negli slot anche dei frammenti di dati. Ci sonopero problemi di inefficienza (posso inviare al massimo 20Kb per frame) ed economici dal momento chepago gli slot riservati anche se non vengono inviati i dati. Inoltre abbiamo altri problemi come:

• rigidita: spreco di risorse per via del circuit switching.

• basso tasso di trasmissione.

• modello di addebito basato su durata della connessione.

3.5.2 GPRS

gprs sta per general packet radio service. E un’estensione del gsm mirata soprattutto ad andareincontro alle esigenze di traffico dei dati, ovvero si appoggia su gsm per migliorare la trasmissione deidati minimizzando i costi aggiuntivi. L’obiettivo consiste quindi nel realizzare una rete packet switchingsfruttando l’architettura del gsm.In questo caso vengono usati tutti gli slot inutilizzati dal traffico vocale per la trasmissione dei dati.L’accesso avviene sempre meccanismi di contesa. Statisticamente la conversazione vocale ha fasi disilenzio durante i quali gli slot non sono occupati, per cui e improbabile che non si trovino slot dadedicare alla comunicazione dati. In ogni caso ci sono delle configurazioni che prevedono di riservarealcuni slot per il traffico dati. Il modello di addebito e basato sul volume di traffico, tasso di trasmissionevariabile, garanzia di profili di qos e sistemi wireless di terza generazione costruiti su questa tecnologia.Il modello di servizio prevede due fasi:

Fase 1 servizio pacchetti ptp (point-to-point):

• ptp connectionless network service (ptp-clns): servizio datagram.

• ptp connection oriented network service (ptp-cons): stabilisce una connessione a circuitovirtuale. In questo caso gprs mantiene il circuito virtuale anche in caso di handoff.

Fase 2 servizio ptm (point-to-multipoint).

La qos ha 4 classi di ritardo, 3 classi di affidabilita, 9 classi di throughput di picco e 19 di through-put medio. gprs alloca le risorse dinamicamente in modo da soddisfare le richieste di qos. Ci sonodelle garanzie di affidabilita sui ritardi. Tuttavia non sono dei ritardi simili a quelli di altre reti comequelle cablate. Il problema nasce quando interagiscono i due sistemi. Ad esempio usando tcp i ritardiaumentano notevolmente.L’architettura del gprs comprende la gran parte dei componenti usati nel gsm. Infatti gprs e una suaevoluzione incrementale e minimale. I nuovi componenti riguardano la parte sulla gestione della mobilita.

37

Page 41: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Bisogna anche dire che la coesistenza tra le due architetture e molto buona. In uno scenario in generale,si prevede la comunicazione packet switching anche in locale.

Per la comunicazione wireless e stato realizzato uno schema di accesso a contesa su canale wireless. Alivello mac abbiamo la comunicazione tra nodi di bsc differenti. Quindi il gprs ai livelli superiori e vistacome una rete di livello 23.

In particolare la comunicazione tra sgsn e la stazione mobile utilizza il protocollo sndcp che permetteil mapping delle caratteristiche del protocollo di rete sul sottostante livello datalink. Invece la comuni-cazione tra gsn (ggsn e/o sgsn) utilizza il protocollo gtp per fare il tunnelling dei pacchetti su diversereti. Questo protocollo, infatti, sfrutta ip+tcp/udp per la comunicazione sul backbone. Inoltre fornisceuna maggiore uniformita nella comunicazione tra nodi mobili appartenenti a differenti reti.

3.5.3 Wireless 3G

Tutto e nato per fornire un accesso ad Internet da qualunque luogo e con qualunque mezzo, in ogniistante. I progettisti del 3G hanno voluto una standardizzazione della comunicazione digitale e delle reti.L’evoluzione in questo senso ha creato:

3Si nota che il protocollo ip e usato a livello 2.

38

Page 42: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• gprs per garantire la connettivita Internet sui dispositivi mobili.

• wap per l’Internet Web browsing sui terminali mobili.

• bluetooth per fornire servizi su un’area ridotta (pan).

3.5.4 UMTS

Proposta in ambito europeo su richiesta imt2000 per definire un nuovo standard per il miglioramentodella trasmissione. Questa tecnologia garantisce dei livelli di qualita. Infatti rispetto alle tecnologie vistenei precedenti parargrafi, umts si differenzia per le capacita trasmissive e le velocita dei nodi mobili.umts e basato sulla rete utra (umts terrestrial radio access). La sua architettura e identica a quelladel gprs, cambia solo il segnale emesso dall’antenna. Infatti gli elementi di utran (utra network) sono:rnc (radio network controller), rns (radio network subsystem, Node b, cn (core network). Il node bpuo supportare le tecniche fdd o tdd (time division duplex) o entrambe. rnc invece e il responsabilesulle decisioni di handoff. Nella seguente figura vediamo l’integrazione di gsm, gprs e umts.

39

Page 43: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4 Gestione della mobilita

Durante la comunicazione in presenza di nodi mobili abbiamo un problema relativo alla loro localizza-zione.

In assenza di mobilita la localizzazione del destinatario e effettuata staticamente. La tecnica usata disolito e l’utilizzo di un id che incorpora le informazioni per la localizzazione (ad esempio l’uso di un ipo un numero di telefono).Nel caso di Internet il routing si basa sull’indirizzo ip dove il prefisso di rete determina la sottoretefisica. Un router utilizza la sua tabella di routing per instradare i pacchetti in ingresso verso l’appositainterfaccia d’uscita.

Il problema si verifica solo quando il nodo inizia a muoversi ed adottando la tecnica precedente non siamoin grado di rintracciarlo.

4.1 Algoritmi di Tracking

Nel caso di mobilita, l’id statico e solo l’identificativo del dispositivo ma non fornisce ulteriori informazionisulla sua localizzazione. Tali informazioni, tuttavia, devono prevedere un aggiornamento dinamico.Esistono due algoritmi di aggiornamento, detti algoritmi di tracking, che differiscono tra loro per imomenti in cui viene aggiornato il percorso. Le due famiglie conosciute sono:

40

Page 44: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• proattivi (espliciti, table-driven): mantengono aggiornate le informazioni a prescindere dalle esi-genze di comunicazione. Il sistema stesso si impegna nella localizzazione.

• reattivi (impliciti, on-demand): e la situazione complementare, ovvero finche non esiste l’esigenzadi comunicazione non si fa nulla.

4.1.1 Tracking Esplicito

L’algoritmo e attivato in modo controllato e rigoroso dove l’aggiornamento puo esserci periodicamente,per cambi di configurazione di rete o nel movimento del dispositivo. In generale si possono costruire inanticipo le informazioni per la localizzazione.Cio comporta il vantaggio che le informazioni riguardanti la localizzazione sono immediatamente dispo-nibili e quindi si ha una riduzione del ritardo di localizzazione. Tuttavia per applicare questa tipo ditracking abbiamo bisogno di grandi database che contengono le informazioni di localizzazione, possiamoavere dei ritardi negli aggiornamenti e c’e un notevole consumo di risorse di rete e di energia, ovvero epresente un overhead per il traffico di controllo.Le tecnologie che usano quest’algoritmo sono: mobileip, gsm/gprs, manet (dsdv, olsr), hawaii.

4.1.2 Tracking Implicito

Questo algoritmo e guidato dalla presenza effettiva del traffico. Viene attivato solo se effettivamentequalcuno vuole parlare. All’inizio si procede alla cieca (flooding) con un conseguente raffinamento fornitoda algoritmi per esclusione dei campi. L’utilizzo di una cache distribuita permette un miglioramentodell’efficienza di questo tipo di tracking. Una tecnica che riduce i costi e la cache lifetime cioe non siprocede alla cieca ma in base alle informazioni precedenti. Tuttavia si corre il rischio di avere informazioniobsolete oppure di avere un traffico di controllo oneroso a seconda delle tecniche di validazione della cacheutilizzate.Abbiamo quindi una potenziale riduzione del traffico di controllo con una conseguente riduzione del-l’utilizzazione della rete e consumo di energia. “Potenziale” in quanto vi e una riduzione del trafficoeffettivo solo se si verificano determinate condizioni, ad esempio se le esigenze di comunicazione sonopiccole rispetto alla quantita di nodi, in generale se le comunicazioni sono scarse. Tuttavia dobbiamotenere in conto la presenza di un maggiore ritardo della localizzazione.Le tecnologie che usano questo algoritmo sono: lan (learning bridges), manet (dsr, aodv).

4.1.3 Tracking Ibrido

Un compromesso tra i due e un tipo di tracking ibrido, che e basato su due concetti:

1. Localizzazione ibrida: si riduce la precisione dell’informazione raccolta con gli algoritmi espliciti.In questo caso sono usati i metodi espliciti con un livello di precisione piu grossolano. L’area vienesuddivisa e si mantengono le informazioni sulla presenza o meno del nodo nella sottoarea, senzasapere con precisione la locazione. L’esatta localizzazione avverra solo se effettivamente si ha lanecessita di contattare uno specifico nodo.

Questo approccio comporta una riduzione dei costi e richiede una localizzazione on-demand limi-tata.

Ad esempio mobileip puo usare un tracking proattivo a livello di rete ed una localizzazione reat- Esempi

tiva all’interno della sottorete oppure usa una binding cache aggiornata reattivamente. Invece ingsm/gprs e presente un tracking proattivo a livello di location area ed una localizzazione reattivaall’interno della location area.

2. Adattamento dinamico: la localizzazione statica definisce la ripartizione in maniera statica (adesempio nella rete cellulare le antenne sono fisse). C’e la proposta di un’altra soluzione cioe lepartizioni sono adattate dinamicamente e personalizzate per ogni nodo mobile.

41

Page 45: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.2 Reti con infrastruttura

Nel caso della mobilita, un cambio di sottorete fisica implica un cambio di indirizzo ip per avere unindirizzo topologicamente corretto oppure sono necessarie informazioni aggiuntive nella tabella di routing.Il problema e quello di cercare una soluzione che non cambi il routing ip alla base. Quindi l’obiettivo equello di lasciare intatta la struttura della localizzazione tradizionale.

4.2.1 Routing per nodo

La prima soluzione prevede l’arricchimento delle tabelle di routing usate dal router. L’idea consistenell’aggiungere sulla tabella di routing il percorso verso un nodo mobile. Per ogni interfaccia si specifical’elenco degli indirizzi ip raggiungibili tramite quest’interfaccia.

Il lato debole di un simile approccio e legato alla scalabilita. Infatti si obbliga i router a gestire delletabelle troppo grandi, infatti potrebbe esserci potenzialmente un elemento per ogni nodo mobile. Gliaggiornamenti delle tabelle, inoltre, contengono le informazioni relative a tutti i router, collegamenti enodi mobili coinvolti. Cio rende questi aggiornamenti molto frequenti, ovvero ogni volta che un nodosi muove su un link differente. In generale questi problemi di scalabilita sono ricollegabili al numero dinodi molto grande, numero di percorsi per nodo, frequenza di movimento di un nodo mobile.

4.2.2 Cambiare indirizzo IP

Nel momento in cui un nodo mobile si sposta, cambia la sua identita. Un’altra soluzione al problemaconsiste nel far cambiare l’indirizzo al nodo mobile in modo tale che possa adattarsi alla nuova rete.

Il protocollo dhcp permette il cambio di ip. E nato originariamente per altre esigenze, ovvero facilitare Protocollo dhcp

l’installazione di un nuovo nodo su una rete. Inoltre fornisce ai nodi tutte le informazioni necessarieall’installazione (indirizzo ip, dns, ecc...). Quindi consente l’integrazione automatica di un nodo in unaIntranet o Internet.Quando un nodo si collega alla rete parte un protocollo di scoperta realizzato a livello datalink. Vieneusato un modello client/server dove il client invia tramite un mac-broadcast una richiesta al server dhcp,tramite dhcp relay. Le richieste e le repliche devono essere inviate senza che il client sia un nodo Internet.

42

Page 46: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

In generale questo meccanismo puo essere applicato anche per sottoreti collegate tra di loro purche cisiano dei relay. Notiamo inoltre che ci possono essere piu server dhcp.Fornisce i seguenti messaggi:

DHCP DISCOVER il client richiede delle informazioni per configurarsi.

DHCP OFFER i vari server dhcp mandano le loro offerte al client.

DHCP REQUEST ha un suo timeout, se arrivano piu offerte le esamina e risponde.

DHCP PACK viene confermata la configurazione. Ogni nodo configurato ha un suo timeout. Se ilnodo non invia una richiesta di refresh, l’ip viene tolto.

Piu server possono essere configurati come server dhcp ma non vi e un coordinamento standardizzato.Gli indirizzi ip sono richiesti periodicamente in modo da semplificarne il protocollo rispetto a quello diinizializzazione visto nella figura precedente.Tuttavia con questo protocollo abbiamo dei problemi di sicurezza. Infatti potrebbe accadere che unserver malizioso finga di essere il dhcp. Il protocollo dhcp puo essere usato per risolvere il problemadella mobilita ma con dei limiti:

1. Traduzione dei nomi : cambio di indirizzo ip richiede la registrazione del nuovo indirizzo al serverdns. Infatti se l’identita del nodo cambia i relativi server dns devono essere informati. Deve esserelui ad avviare una comunicazione altrimenti non risulta piu raggiungibile. Un problema simile sirisolve solo se non e il client ad iniziare la comunicazione (possibile irraggiungibilita). Si potrebberisolvere questo problema utilizzando un nome di dominio immutabile, ovvero vengono aggiornatesolo le tabelle dei dns. Rimane comunque il problema che tipicamente un server dns non e moltotempestivo nella comunicazione, rischiando in ogni caso dei momenti di oscuramento finche il dnsnon viene aggiornato.

2. Operazioni tcp/udp: questi due protocolli assumono che l’indirizzo finale rimanga costante. Ilcambio di indirizzo rompe una connessione tcp/udp in corso. Quindi il cambio di indirizzo ip nonfunziona se voglio mantenere la raggiungibilita durante una sessione. Ovvero consente la mobilitama non la nomadicita (interruzione sessioni).

Si potrebbe gestire la mobilita dei nodi a livello datalink, tuttavia anche in questo caso abbiamo ungrande limite, ovvero bisogna avere tutti i nodi con lo stesso livello datalink. Purtroppo questo livello emolto eterogeneo, quindi e una buona soluzione su scala locale ma non su scala globale. Per la mobilita suscala globale viene adottato mobileip. Questa soluzione garantisce la raggiungibilita ed una connessioneaffidabile. E un prodotto completo ma ha poca diffusione.

43

Page 47: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.2.3 MobileIP

Questa tecnologia permette la gestione della mobilita dei nodi su Internet. Ogni nodo ha bisogno di dueindirizzi ip:

1. home address (ha): identificativo univoco del nodo (id del nodo) che appartiene alla home network,ovvero la rete associata all’home address.

2. temporary address (ta): identificativo di localizzazione del nodo.

Notiamo che su Internet, che e di per se distribuito, l’home address viene usato per localizzare la tabellache contiene le informazioni sulla localizzazione attuale del nodo. Quindi il protocollo ip usa un soloindirizzo per entrambe i casi.La comunicazione verso il nodo mobile avviene nel seguente modo: Comunicazione

• il nodo sorgente invia pacchetti verso l’home address;

• i pacchetti raggiungono la home network;

• i pacchetti devono essere reindirizzati per raggiungere il nodo di destinazione al suo attuale tem-porary address;

• i pacchetti vengono instradati verso la temporary network;

• il reindirizzamento viene “disfatto” per recuperare l’indirizzo originale.

Mentre la comunicazione verso un nodo fisso avviene nel seguente modo:

• il nodo sorgente invia pacchetti verso l’home address;

• i pacchetti raggiungono l’home network;

• i pacchetti raggiungono la destinazione.

Risulta evidente che per fornire un supporto ai nodi mobili bisogna mantenere l’associazione tra homeaddress e temporary address in un’apposita location directory (ld). Il sistema di localizzazione edistribuito dal momento che su ogni home network viene caricato un ld con le informazioni relative ainodi della sottorete. Nella home network deve esserci una funzione f che gestisce ld. ld deve essereaggiornata ogni volta che il nodo mobile si muove verso una nuova posizione. I messaggi di aggiornamentosono inviati ad ld. L’operazione di redirezione diventa quindi un’operazione remota.

Nella precedente figura c’e l’entita g che prende il pacchetto e lo converte nella forma originaria. Ildestinatario con uno schema del genere non si accorge di nulla. Le informazioni sulla collocazione delnodo mobile sono aggiornate indipendentemente dalla richiesta, quindi il suo comportamento e proattivo.Ogni volta che il nodo si sposta viene aggiornato la ld di ha.I requisiti per il mobileip sono: Requisiti

• trasparenza: i nodi mobili mantengono il loro indirizzo ip originario. Deve essere possibile lacontinuazione della comunicazione dopo l’interruzione del collegamento. Il punto di connessionealla rete fissa puo cambiare ma e trasparente al client.

• compatibilita: supporta gli stessi protocolli di secondo livello. In questo caso non si hanno deicambiamenti sui router, quindi i nodi mobili possono comunicare con i nodi fissi.

44

Page 48: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• sicurezza: autenticazione di tutti i messaggi di registrazione.

• efficienza e scalabilita: vengono aggiunti solo pochi messaggi. Inoltre deve fornire un supporto suscala mondiale.

La terminologia utilizzata per mobileip e la seguente: Terminologia

Mobile Node mn. E il nodo che puo cambiare il punto di connessione sulla rete fissa senza cambiareil suo home address.

Home Agent ha. Tipicamente e un router nella home network del nodo mobile che mantiene aggiornatala ld registrando la locazione attuale di mn e reindirizza (tunnelling) i pacchetti verso la rete attuale(coa).

Foreign Agent fa. Tipicamente e un router nella rete attuale del nodo mobile. Inoltra (reindi-rizzamento) verso mn i pacchetti ricevuti, quindi rappresenta il gateway di default per il nodomobile.

Care-Of Address coa. Indirizzo del punto di terminazione del tunnel verso mn. Puo essere associatoad un fa o direttamente ad mn. Dal punto di vista ip rappresenta il ta di mn ed esso puo esserescelto ad esempio tramite dhcp.

Correspondent Node cn. E il partner di comunicazione con mn. Potrebbe essere mobile, ma loassumiamo fisso.

Abbiamo visto come il dhcp risolva solo parzialmente il problema relativo alla gestione della mobilita in Trasferimentodei datiquanto consentiva solo di farsi parte promotrice di una nuova comunicazione. Supponiamo che cn vuole

spedire dei dati verso mn che normalmente risiede nella hn ma che al momento si trova su un’altra rete.Quindi cn conosce solo l’ha di mn.

Nella precedente figura abbiamo il seguente comportamento:

1. cn costruisce un messaggio ip con l’home address di mn.

2. ha intercetta il pacchetto riconoscendo il fatto che il nodo al quale e destinato non si trova nellasottorete.

A questo punto si hanno due scenari possibili:

(a) ha coincide con il router della home network. In questo caso ha instrada direttamente ilpacchetto verso il nodo mobile costruendo un tunnel verso coa. coa e rappresentato da fa,ovvero fa agisce come router di default.

(b) ha non e un router di quella sottorete, cio vuol dire che il destinatario si trova all’internodella sottorete. In questo caso il router della home network spedisce il pacchetto verso ha.

45

Page 49: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Il pacchetto viene catturato tramite il protocollo arp4 e deve essere spedito direttamentesull’indirizzo fisico. Se non si conosce l’indirizzo a livello datalink si manda una richiesta dibroadcast. In scenari normali (fissi) risponde solo il nodo interessato, ma in questo caso larisposta proviene da ha che svolge funzioni di proxy arp.

3. fa decapsula il pacchetto, rimuove gli header addizionali ed inoltra il pacchetto originale a mn. Ilpacchetto avra come indirizzo sorgente l’indirizzo di cn mentre l’indirizzo destinatario e quello dimn. In questo caso la mobilita non e visibile, infatti mn riceve il pacchetto con lo stesso mittentee destinatario che avrebbe avuto se fosse stato nella sua home network. Anche in questo caso cisono due scenari possibli:

(a) coa = fa: indirizzo nel caso iniziale e quello di fa (si delinea il caso precedentementedescritto).

(b) coa = mn: l’indirizzo temporaneo di cui e a conoscenza ha non e quello di fa ma direttamentequello di mn nella nuova locazione. In questo caso il tunnel finisce direttamente su mn. Questoapproccio sembrerebbe piu vantaggioso ma l’operazione dello spacchettamento dell’headerdeve essere implementata direttamente da mn, pertanto mn e a conoscenza del fatto di nontrovarsi nella sua home network (non e trasparente).

Normalmente per trasferire dei dati dal nodo mobile, supponiamo che il nodo cn sia un nodo fisso.Nel caso esso sia un nodo mobile dovremmo effettuare gli stessi passi elencati in precedenza. Ciaccorgiamo che il percorso sorgente-destinatario/destinatario-sorgente e un percorso triangolare.

In generale per effettuare l’operazione di trasferimento dei dati sono necessarie altre funzioni: Funzioni di ba-se del mobileip

1. Agent Discovery : scoperta ed indicizzazione degli agenti:

(a) ha e fa inviano periodicamente messaggi (advertisement) all’interno delle loro sottoreti fisiche.

(b) mn ascolta questi messaggi e rileva se si trova nella hn o nella fn. In assenza degli advertise-ment, mn puo mandare delle sollecitazioni in modo da scoprire se un agente e presente.

(c) mn puo rilevare un coa dal messaggio di advertisement di fa.

Il messaggio di advertisement viene inviato in multicast a tutti i nodi della sottorete (224.0.0.1)oppure e inviato in unicast ad un nodo che ha richiesto un sollecito. Tale messaggio possiede unttl (time-to-live) pari a 1.

Sia ha che fa segnalano la loro presenza nella rete in modo che il nodo mobile sia in grado di Agent Adverti-sementcapire se si trova nell’home network o meno. Tali messaggi sono realizzati tramite l’aggiunta di

una “estensione di mobilita” a messaggi di tipo icmp (internet control message protocol).

4E un protocollo di mapping tra indirizzi di livello datalink e network.

46

Page 50: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

I campi del protocollo base sono:

type tipo del messaggio icmp (9);

code 0 se l’agente gestisce anche il traffico da nodi non mobili, 16 se gestisce solo il traffico danodi mobili;

checksum controlla la correttezza dell’intero messaggio;

addresses numero di indirizzi pubblicizzati dal messaggio;

address size dimensione di ogni indirizzo pubblicizzato espressa con un numero a 32 bit;

lifetime tempo massimo, espresso in secondi, di validita degli indirizzi pubblicizzati;

router address i indirizzo ip del router i-esimo;

preference level i preferenza del router i-esimo rispetto agli altri presenti nella sottorete.

Mentre i campi dell’estensione sono:

type in questo caso il suo valore e pari a 16;

lenght 6 + 4N , dove N e il numero di coa pubblicizzati;

sequence number conteggio del numero di messaggi di advertisemet inviati dall’agente, a partiredalla sua inizializzazione;

registration lifetime durata, espressa in secondi, del tempo che l’agente accetta come richiestadi durata di una registrazione;

bit R fa richiede la registrazione piuttosto che l’uso di un coa “co-locato”;

B fa non accetta nuove registrazioni poiche e troppo occupato (busy);

H l’agente offre servizi di ha in questa sottorete;

F l’agente offre servizi di fa in questa sottorete;

M l’agente puo ricevere pacchetti con incapsulamento minimale;

G l’agente puo ricevere pacchetti con incapsulamento generico;

r ignorato;

T abilita il reverse tunnelling.

reserved spazio riservato per estensioni future, quindi ignorato dal ricevente;

COA i coa i-esimo fornito da questo agente, deve essercene almeno uno.

Si usa questo protocollo per motivi economici e per evitare possibili conflitti di configurazione connuovi protocolli. Sorge il problema tra le variabili di configurazione tra mobileip e le indicazionioriginali. Ad esempio il tempo di 3 secondi e accettabile per nodi fissi ma per nodi mobili abbiamotempi troppo lunghi.

2. Registration: tramite questa operazione un nodo mobile comunica il suo coa al suo ha. Laregistrazione puo avvenire tramite fa oppure, come replica diretta, ha invia un ack al fa o al mn.In questo modo viene aggiornato la ld.

Inoltre dobbiamo dire che l’operazione e resa sicura tramite autenticazione.

47

Page 51: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Quindi dopo che mn ha scoperto dove si trova, deve comunicare ad ha la sua posizione. In questomodo mn richiede ad ha il servizio di inoltro verso la fn, informa ha del suo coa, puo rinnovareun binding in ld, si avra una deregistrazione al momento di ritorno alla home. Notiamo che ilbinding, l’aggiornamento con mn a coa ha una durata limitata. Anche per la registrazione ci sonodue modalita (rappresentate nella seguente figura):

(a) fa agisce come intermediario. In questo caso mn vuole registrare il coa di fa. mn prendequesto indirizzo dal messaggio di advertisement di fa. Questo e il caso in cui il tunnel arrivafino a fa. Tuttavia potrebbe accadere che nodi mobili differenti hanno lo stesso coa.

(b) mn si registra direttamente con il suo ha. In questo caso mn ha ottenuto un indirizzo validodirettamente da dhcp, quindi il tunnel viene gestito da lui (coa co-locato).

In entrambe i casi, la procedura consiste in uno scambio di messaggi di richiesta e replica. Imessaggi scambiati usano udp per motivi di efficienza, per evitare cioe l’overhead tipico di tcp.E vantaggioso sopratutto nel caso di link con elevato tasso di errore. Pur appoggiandosi su udpl’inoltro dei messaggi rimane affidabile, in quanto l’affidabilita e gestita a livello di mobileip.

Per ottenere un coa si adottano due schemi:

(a) coa del fa: si ottiene tramite un messaggio di advertisement di fa. Infatti il coa e unindirizzo ip del fa. Di conseguenza il punto finale del tunnel e fa. In questo modo differentinodi mobili possono condividere lo stesso coa.

(b) coa co-locato: il nodo mobile ottiene in qualche modo un indirizzo ip locale tramite dhcp oimpostazioni prefissate. In questo caso il punto finale del tunnel e il nodo mobile stesso.

I campi per la richiesta di registrazione sono i seguenti: RegistrationRequest

type assume valore 1;

bit S e pari a 1 se il nodo mobile vuole che ha mantenga anche il binding attuale, ovvero quandoha riceve la richiesta non deve sovrascrivere il precedente coa ma lo affianca, ovvero sihanno due coa in ld. Cio e inefficiente ma evita altre inefficienze per la gestione perha. Viene usato infatti nel caso in cui mn sia in grado di capire che si sta muovendo tralocazioni contigue e potrebbe rispostarsi.

B e pari a 1 se il nodo mobile vuole ricevere broadcast ricevuti dall’ha nella home network.

D e pari a 1 se il nodo mobile e in grado di estrarre messaggi incapsulati inviati a coa (coaco-locato).

M viene usato per richiedere all’ha l’incapsulamento minimo dei pacchetti inviati nel tunnel.

G viene usato per richiedere l’incapsulamento gre.

T richiede ai nodi mobili di usare un reverse tunnelling sul collegamento dal nodo mobile acn.

r,x sono 2bit riservati, quindi ignorati.

lifetime durata, espressa in secondi, della registrazione. Questa non deve eccedere il valore pub-blicizzato da fa. Se questo valore viene posto a 0 allora si fa una richiesta di cancellazionedella registrazione.

48

Page 52: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

home address indirizzo ip del nodo mobile nella home network.

home agent indirizzo ip dell’ha del nodo mobile.

COA indirizzo ip del punto terminale del tunnel.

identification e un id a 64bit costruito dal nodo mobile. Questo associa le richieste di registra-zione a repliche di registrazione, oltre a proteggere contro attacchi di tipo reply i messaggi diregistrazione.

IP source address e pari all’indirizzo dell’interfaccia del nodo mobile.

destination address indirizzo ip di fa preso da un messaggio di advertisement, se la regi-strazione avviene tramite fa. Se l’indirizzo di fa e ignoto viene usato l’indirizzo multicast224.0.0.11 con ttl pari a 1 e l’indirizzo del livello datalink posto uguale a quello del-l’agente mobile. Infine se la registrazione e diretta con ha allora si usa l’indirizzo ip diquest’ultimo.

UDP source port e variabile, ovvero e assegnata dinamicamente dal sistema operativo.

destination port e sempre pari alla porta 434.

I seguenti campi invece sono relativi al caso in cui si sta mandando un messaggio di registration RegistrationReplayreplay:

type e pari a 3.

code indica l’esito della registrazione. Se la registrazione e andata a buon fine allora assumerail valore 0 se viene accettata, oppure 1 se e accettata ma la registrazione simultanea non esupportata. Invece se la registrazione viene negata da fa allora avra un codice compresotra 64-88. Mentre se la registrazione viene negata da ha allora avra un codice compreso tra128-136.

lifetime durata della validita del binding.

home address indirizzo ip del nodo mobile.

home agent indirizzo ip dell’ha del nodo mobile.

identification e un id a 64bit usato per l’autenticazione.

3. Tunnelling : realizzazione del tunnel tramite incapsulamento:

(a) ha deve inviare pacchetti a mn tramite un tunnel verso coa;

(b) il tunnel viene realizzato tramite incapsulamento ip-in-ip.

49

Page 53: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Questa funzione viene realizzata per l’inoltro di pacchetti da ha verso il coa del nodo mobile. Ingenerale il tunnel e definito come una conduttura virtuale per pacchetti dati tra un punto inizialeed un punto finale; i pacchetti che entrano nel tunnel ne escono invariati. Generalmente e unafunzione implementata ad un livello diverso.

Ci sono diversi meccanismi a supporto di questa tecnologia: L’incapsulazione rappresenta il mec- Incapsulazione

canismo per creare un tunnel. Puo essere usato in vari contesti, in questo caso e usato all’internodello stesso livello di protocollo di rete:

• ip-in-ip encapsulation: obbligatorio.

• minimal encapsulation: opzionale.

• generic record encapsulation (GRE): opzionale.

Il principio alla base e molto semplice. Si ha un messaggio originale con un proprio ip-header alquale viene aggiunto un ulteriore IP. Notiamo che non e detto che l’ip-header contenuto nel nuovopacchetto sia lo stesso del precedente.

Analizzeremo a seguire alcuni scenari che chiariranno la questione. Vediamo ora in dettaglio i varimeccanismi per l’incapsulamento:

(a) ip-in-ip: non apporta quasi nessuna modifica all’header originale se non quella del ttl decre-mentato di 1 (come nei router) per rendere invisibile al nodo mobile la distanza dalla home. Ilnodo in questione sa solo di non essere nella home ma non sa quanto sia distante. I vantaggiche si ottengono con questa tecnica sono messaggi di multicast o broadcast. Tuttavia il nodomobile “ignorante” potrebbe fare delle scelte sbagliate.

Diamo una descrizione dell’outer ip header:

version 4 per ipv4.

ihl lunghezza, espressa in byte, dell’outer header.

ds tipo di servizio.

lenght lunghezza dell’intero pacchetto incapsulato.

IP id, flags, fragment offset nessun significato per mobileip.

protocol type ip-in-ip.

source address indirizzo dell’incapsulatore (ha).

destination address indirizzo del decapsulatore (coa).

50

Page 54: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

(b) Minimal Encapsulation: riduce l’overhead di ip-in-ip evitando la ripetizione dei campi identici.Questo approccio e applicabile solo con pacchetti non frammentati. L’header originale diventaouter-header con dei combiamenti minimali:

• Il tipo di protocollo diventa 55.

• L’indirizzo sorgente invece con l’indirizzo ip dell’incapsulatore (ha).

• L’indirizzo di destinazione viene sostituito con l’indirizzo ip del decapsulatore (coa).

Mentre per quanto riguarda l’header interno abbiamo:

• Il protocollo copiato dall’header originale.

• Se il campo S e pari a 1 allora e presente l’indirizzo sorgente originale di cn.

• L’indirizzo del destinatario viene copiato dall’header originale (mn

• L’indirizzo sorgente se presente viene copiato dall’header originale.

(c) gre: e stato introdotto a prescindere dalle necessita legate alla mobilita. L’obiettivo principaleera quello di permettere la comunicazione anche tra reti utilizzando protocolli differenti. Euno schema generale per incapsulare pacchetti e non solo ip datagram.

gre opera con le seguenti azioni:

• l’header di gre viene aggiunto come prefisso dell’header originario;

• l’outer header viene aggiunto come ulteriore prefisso;

• il protocollo associato ad outer header realizza il tunnel.

Dell’header gre ne esistono due versioni:

i. una prima semplificata, in cui gre contiene poche informazioni e cioe a quale stack diprotocolli appartiene il messaggio originale.

51

Page 55: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

ii. oltre alle informazioni contenute nella versione semplificata, vengono aggiunte altre infor-mazioni, quasi tutte opzionali.

In questo caso l’header gre possiede i seguenti bit addizionali:

C se e 1 il checksum e presente.

R se e 1 il source routing e presente. Viene adottato per una tipologia di routing nonstandard, quindi e alternativo al normale ip in cui il cammino viene deciso passopasso. Infatti contiene il cammino esplicito. Esiste il source routing stretto e quellolasco.

K se e 1 la key e presente.

S se e 1 il sequence number e presente, ovvero se il protocollo originale richiede ordina-mento dei pacchetti.

s se e 1 viene utilizzato il source routing stretto, dove il suo offset dira quanto grande eil campo routing mentre in routing si avra la lista dei router disponibili.

recursion numero di possibili incapsulamenti aggiuntivi. Ovvero viene usato per limitarel’incapsulamento.

reserved sono bit ignorati dal ricevente del messaggio.

version viene posta a 0.

protocol type tipo di protocollo originale.

checksum viene fatto in base alla combinazione dell’header gre e del pacchetto origi-nario.

offset utilizzato per definire il formato del campo routing.

key la chiave viene inserita dall’incapsulatore per supportare i meccanismi di autentica-zione. Tuttavia gre non specifica secondo quale procedura bisogna incapsulare questachiave.

sequence number fornito dall’incapsulatore. Questo numero consente al decapsula-tore il riordino dei pacchetti ricevuti. Cio e utile se un protocollo che richiede latrasmissione ordinata viene incapsulato in uno che non la garantisce.

routing informazioni per il source routing stretto.

header originale invariato.

Abbiamo visto come il mobileip sia una tecnica che si basa su algoritmi proattivi, con un tipo di comu- Smoot handoff

nicazione triangolare. Il mobileip si basa su un’architettura sostanzialmente distribuita, infatti ogni apgestisce porzioni di rete e tutti i nodi mobili ad esso registrati. Il routing triangolare ha pero una seriedi svantaggi:

52

Page 56: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

1. puo dar luogo a situazioni di paradossale inefficienza (se due nodi mobili vicini ma i rispettivi hasono molto lontani, paradossalmente dovro contattarli).

2. periodo di oscuramento: questo periodo e il periodo che va da quando abbandono il vecchio fa aquando non completo la nuova procedura di registrazione. Infatti il tempo per questa operazionenon e trascurabile.

Ponendoci come obiettivo quello dell’eliminazione della triangolazione, otteniamo, tramite lo smooth SmoothHandoffhandoff, una maggiore garanzia sul numero di pacchetti persi durante la transazione tra una rete e

l’altra. Il procedimento di base e il seguente:

• cn invia pacchetti all’home address del nodo mobile.

• ha inoltra i pacchetti al coa attuale ed informa cn del coa del nodo mobile.

• cn aggiorna la sua binding cache.

• I pacchetti futuri vengono inviati tramite un tunnel diretto da cn al nodo mobile.

La procedura in caso di un ulteriore spostamento del nodo mobile e:

• Il nodo mobile richiede la registrazione al nuovo fa.

• Il nuovo fa informa il vecchio fa. Cio e piu veloce del tempo di oscuramento.

• Il vecchio fa risponde con un ack.

• cn manda i dati al vecchio fa. Che a sua volta li redirige al nuovo fa e quest’ultimo li spedisce alnodo mobile.

• Opzionalmente il vecchio fa manda un warning a cn, nel quale informa che il nodo mobile hacambiato locazione.

• Di conseguenza cn manda una richiesta di aggiornamento.

Si nota che gli elementi della cache di cn vengono creati/aggiornati se l’informazione e autenticatae ricevuta da ha o fa.

Si puo adoperare una variante, ovvero cn potrebbe chiedere l’aggiornamento al vecchio fa o adha.

Tramite questo approccio si ha una comunicazione piu efficiente ed una riduzione della perdita dipacchetti. In generale si sono introtti elementi di reattivita in un modello proattivo: la cache vieneaggiornata solo se cn vuole parlare con mn.

Qualunque nodo puo gestire una binding cache, infatti questa contiene i coa di uno o piu nodi mobili.Inoltre gli elementi della cache sono creati o aggiornati solo se l’informazione autenticata viene ricevutada ha o fa. Mentre vengono eliminati dopo un tempo finito. Ovviamente la cache possiede una propriapolitica di rimpiazzamento, come ad esempio lru.Tuttavia l’autenticazione e uno dei problemi principali di questa tecnica. Senza contare il fatto che epresente un effetto collaterale facendo uno smoot handoff durante il cambio di fa, ovvero:

• I pacchetti in transito durante il cambio potrebbero perdersi.

• Il nuovo fa informa il vecchio fa sulla nuova locazione del nodo mobile per evitare la perdita dipacchetti, quindi il vecchio fa e costretto ad inoltrare i pacchetti arrivati per conto del nodo mobile.

• Questa informazione consente anche al vecchio di fa di rilasciare le risorse assegnate al nodo mobile.

I messaggi utilizzati per l’ottimizzazione del routing, ed il conseguente smooth handoff, possono esseredi quattro tipi: binding request, binding update, binding ack e binding warning.

53

Page 57: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Cio rende il cn piu oneroso nel consumo delle risorse dato che ci sono nodi mobili e c’e il costo dellagestione della cache.I firewall guardano tutto il contenuto dei pacchetti che attraversano una rete. Firewall

Si delineano due possibili scenari quando il nodo mobile invia pacchetti con il suo home address comesource address, infatti i firewall spesso accettano solo indirizzi topologicamente corretti:

1. Supponiamo di essere nel punto del firewall (F2) della precedente immagine. mn invia i pacchetti.F2 vede il campo del mittente e si accorge che non appartiene alla rete. In realta un simile contestonon rappresenta una vera minaccia alla sicurezza dal momento che non sta cercando di entrarequalcosa ma sta uscendo. Questo comportamento impedisce al nodo mobile di comunicare con glialtri usando il suo home address come source address. Per questioni di galateo comunque questipacchetti sono considerati pericolosi da parte del firewall.

Un firewall nel foreign domain filtra i pacchetti che vengono dall’interno con source address esterno.

2. Supponiamo di essere nel punto del firewall (F1) della precedente immagine. mn vuole parlare connodi nella sua home domain. F1 vede arrivare dall’esterno qualcuno che fa finta di essere della suarete e lo filtra. In questo modo il firewall previene che nodi esterni possano spacciarsi per nodiinterni. Quindi impedisce al nodo mobile di comunicare con il suo home domain.

Un firewall nell’home domain filtra i pacchetti che vengono dall’esterno con source address interno.

La soluzione ai problemi dovuti alla presenza di firewall nella rete consiste nell’utilizzo di un reversetunnelling. Ovvero il nodo mobile invia i pacchetti al fa. fa lo incapsula (indirizzo mittente della rete difa) e lo manda ad ha che lo decapsula. Ora l’indirizzo mittente che esce appartiene alla home network.Notiamo che con questo approccio i pacchetti sono topologicamente corretti. Inoltre vengono risolti iproblemi del multicast e di ttl.Tuttavia il reverse tunnelling non risolve alcuni problemi con il firewall, ovvero il tunnel inverso potrebbeessere usato impropriamente per aggirare i meccanismi di sicurezza (tunnel hijacking). Senza contareil fatto che il cammino seguito dai pacchetti e inefficiente poiche i pacchetti vengono inoltrati a cnattraverso un tunnel che passa per ha (doppio routing triangolare). Quindi questo approccio funzionaanche se e un po “pesante”.

54

Page 58: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Il nat e la tecnica che ammortizza l’esaurimento degli indirizzi ip. Gli indirizzi ip dei nodi di una ipv6

sottorete sono validi solo su scala locale. Il problema nasce dal fatto che non si ha piu un indirizzo ipche identifica univocamente il nodo. A tal proposito si ossono usare indirizzi di tipo ipv6 che possiedono128bit. Questo tipo di indirizzo consente un ridotto overhead amministrativo tramite autoconfigurazionedegli indirizzi o neighbour discovery. Possiede una ragionevole sicurezza poiche supporta l’autenticazione,privacy e distribuzione delle chiavi. Oltre ad essere adatto in ambienti mobili.Sviluppando mobileip con ipv6 vengono semplificati notevolmente i protocolli:

• La sicurezza e integrata nel protocollo, quindi l’autenticazione della registrazione e inclusa.

• coa puo essere assegnato tramite configurazione (dhcpv6). Quindi ogni nodo e dotato di capacitadi autoconfigurazione degli indirizzi.

• Non vi e piu la necessita di avere un fa separato, infatti tutti i router mandano un messaggio dirouter advertisement che puo essere usato al posto dell’agent advertisement (ha continua invecead essere necessario).

• mn puo notificare direttamente il suo coa. In questo caso l’invio tramite ha non e necessario,infatti abbiamo ottimizzazione automatica del routing.

• Viene supportato il soft handover, cioe senza perdita di pacchetti tra sottoreti:

– mn invia il suo coa al vecchio router.

– Il vecchio router incapsula tutti i pacchetti entranti destinati a mn e li inoltra al nuovo coa.

– L’autenticazione e garantita.

In base a quanto detto mobileip possiede ancora dei problemi, infatti per quanto riguarda la sicurezza: Problemi conmobileip

• Autenticazione con fa e problematica, in genere fa appartiene ad un’organizzazione differente.

• Non e stato standardizzato nessun protocollo sulla gestione e distribuzione delle chiavi.

• Restrizioni sui brevetti e le esportazioni.

Ricordiamo che i requisiti della sicurezza sono:

• Integrita: modifica dei dati tra mittente e destinatario deve essere rilevabile dal destinatario.

• Autenticazione: indirizzo del mittente deve essere realmente quello.

• Confidenzialita: solo mittente e destinatario possono leggere i dati.

• Non ripudio: il mittente non puo negare di aver inviato i dati.

• Analisi del traffico: non dovrebbe essere possibile la creazione di profili utente.

55

Page 59: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• protezione contro replay.

L’architettura della sicurezza in ip consiste in due o piu entita che devono negoziare i meccanismi disicurezza per realizzare un’associazione di sicurezza. Sono stati pertanto definiti due header:

• Authentication-Header : garantisce l’integrita e sicurezza dei pacchetti ip. Anche il non ripudio puoessere garantito, se si usa uno schema di crittografia asimmetrica.

• Encapsulation Security Payload : protegge la confidenzialita nella comunicazione tra partner.

A tal proposito viene usata la mobile security association per le registrazioni, infatti vengono passati deiparametri per mn, ha e fa. Esistono comunque delle estensioni dell’architettura della sicurezza di ipcome l’autenticazione estesa delle registrazioni e prevenzione del replay.

Per quanto riguarda la distribuzione delle chiavi, ha ha il compito di distribuire le chiavi di sessione. Il Distribuzionedelle chiavifa possiede un’associazione di sicurezza con ha. Il nodo mobile registra presso l’home agent un nuovo

binding (coa) e l’home agent risponde con una nuova chiave di sessione per il nodo mobile ed il foreignagent.

Tipicamente in mobileip si adatta male ai firewall, pertanto sono necessarie configurazioni speciali, quali Altri problemi

il reverse tunnelling. Inoltre, garantire la qualita di servizio, per pacchetti invisibili (incapsulati) e moltoproblematica, infatti l’utilizzo del tunnelling si adatta male al qos.E stato anche pensato un meccanismo di supporto alla micromobilita (caso del paradosso tra vicini). Micro-Mobilita

L’idea e infatti quella di applicare tali meccanismi anche su Internet:

• handoff locale efficiente all’interno di un dominio straniero senza coinvolgere ha.

• riduce il traffico di controllo;

• necessario sopratutto in caso di route optimization.

In questo modo riduco i tempi di latenza in cui il nodo non e raggiungibile. La micromobilita purtroppointroduce dei problemi di inefficienza dovuti sia al traffico inutile che causa l’oscuramento temporaneo deinodi. Alla base della soluzione ci sono i meccanismi di sincronizzazione delle reti cellulari. Ad esempiocellularip (cip gateway), hawaii.In generale bisogna guardare la sicurezza, efficienza, scalabilita, trasparenza e maneggevolezza.

56

Page 60: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.2.4 Cellular IP

In cip (cellular ip) possiamo sfruttare le seguenti operazioni:

• I nodi cip mantengono informazioni di routing (soft state) per ogni nodo mobile.

• Abbiamo la possibilita di avere informazioni multiple per uno stesso nodo mobile.

• Le informazioni sul routing sono aggiornate in base ai pacchetti inviati dal nodo mobile.

Il cip gateway agisce come mobileip tunnel endpoint e gestisce la registrazione iniziale. Per quantoriguarda la sicurezza tutti i nodi cip condividono una chiave di rete. Ogni nodo mobile possiede unapropria chiave generata tramite md5, sfruttando la combinazione della chiave di rete ed il suo indirizzoip. Inoltre il nodo mobile ottiene una chiave al momento della registrazione.

Questo approccio permette l’autoconfigurazione dei nodi e se viene integrato il cip gateway nel firewallallora le funzionalita della mobilita saranno facilitate. Tuttavia e inefficienze sul forward dei pacchetti supercorsi multipli e sono necessarie delle modifiche sul nodo mobile (non trasparenza). Inoltre dato chele tabelle di routing possono essere cambiate in base ai messaggi di un nodo mobile allora se i messaggivengono spoofati le tabelle di routing conterranno dei dati non corretti (manca la sicurezza).

4.2.5 HAWAII

In una rete hawaii abbiamo le seguenti operazioni:

• Il nodo mobile ottiene un coa co-locato (vedi punto 1 della figura), e viene registrato tramite ha(vedi punto 2 della figura).

• Per l’operazione di handoff, il nodo mobile mantiene il coa, la nuova base station risponde allerichieste di registrazione (vedi punto 3 della figura) ed aggiorna la tabella di routing (vedi punto 4della figura).

• Il nodo mobile vede la base station come un foreign agent.

57

Page 61: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Tramite questo approccio il meccanismo di challenge/response e obbligatorio e non c’e bisogno dimodificare i nodi mobili. Ma data la presenza del coa co-locato non possoamo avere ip privati.

4.3 HMIPv6

hmipv6 sta per hierarchical mobile ipv6. Questa rete supporta le seguenti operazioni:

• La rete contiene un punto di ancoraggio chiamato map, dove viene mappato il regional coa (rcoa)con il link coa (lcoa).

• Durante l’handoff il nodo mobile informa solo map, in questo modo ottiene un nuovo lcoa econtinua a mantenere rcoa.

• ha viene contattato solo se cambia map.

Quindi abbiamo un routing diretto dove le connessioni con cn sono condivise. Tuttavia dobbiamointrodurre un nuovo elemento nell’infrastruttura ed abbiamo la necessita di un’autenticazione forte perpoter prevenire attacchi di tipo ddos.

4.4 Reti senza infrastruttura

Trattiamo ora il caso della gestione della mobilita in reti senza infrastruttura. La differenza sostanzialesta nel fatto che in reti con infrastruttura, idealmente, ogni nodo e alla portata dell’altro. Nelle retisenza infrastruttura non e detto che tutti i nodi siano tra loro visibili (single hop). Le motivazioni sono,ad esempio, legate al problema relativo alle aree remote, a meeting occasionali, aree disastrate, ecc...senza contare inoltre che comunque una rete con infrastruttura presuppone dei costi aggiuntivi per il suocablaggio.Gli svantaggi sono: Proprieta delle

reti ad-hoc

58

Page 62: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• Le operazioni hanno vincoli di bandwidth:

– link wireless hanno tipicamente minore capacita;

– la congestione e una regola piu che un’eccezione.

• Le operazioni hanno vincoli sull’energia:

– il risparmio energetico puo essere un criterio alla base della progettazione;

– alcuni o tutti i nodi sono alimentati da batterie.

• Limitata sicurezza fisica, ovvero vi e una maggiore probabilita di intercettazione.

Mentre i vantaggi sono:

• in un contesto simile le soluzioni alla raggiungibilita sono robuste;

• la distribuzione fornisce robustezza contro i fallimenti dei singoli nodi.

Mentre nel caso delle reti con infrastruttura assumevamo la presenza di router fissi e nodi mobili, in uncontesto del genere abbiamo router e nodi mobili.

Il routing nelle reti ad-hoc e fortemente influenzato dalla dinamicita della rete in termini di topologia e Routing

qualita di movimento e dalla presenza di link asimmetrici (in un verso o nell’altro le caratteristiche diconnessione sono differenti). I problemi del routing sono legati al fatto che i parametri sono noti in modoimpreciso (traffico, capacita del link), che questi e la topologia della rete possono variare frequentemen-te, all’interferenza tra i nodi trasmittenti, alla necessita di considerare e garantire un certo risparmioenergetico nonche alla necessita di gestire link a bassa capacita.

Tra gli algoritmi di routing tradizionali troviamo:

• Distance Vector (dv): e un algoritmo sostanzialmente distribuito. Ogni router possiede informa-zioni sui nodi che riesce a raggiungere. Le caratteristiche sono:

– Uno scambio periodico di messaggi con tutti i vicini fisici con informazioni su chi puo essereraggiunto e a quale distanza.

– Selezione del cammino piu breve tra quelli disponibili.

59

Page 63: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Tale approccio genera dei possibili problemi:

– I cambiamenti ad un nodo si propagano lentamente.

– Sono necessarie strategie per evitare il problema del conteggio all’infinito.

– Potenziali regioni irraggiungibili.

– Potenziale presenza di cicli.

• Link State (ls): i router scambiano informazioni sullo stato di tutta la rete. Tra quelli verra poiselezionato il cammino minimo. Le caratteristiche sono:

– Notifica periodica di tutti i router sullo stato corrente di tutti i link fisici.

– Ogni router ha un quadro completo della rete.

Un esempio di routing tradizionale applicabile in reti ad-hoc e quello utilizzato da arpa, ovvero il dv-routing. Dove lo scambio delle tabelle di routing avviene ogni 7.5sec, con l’informazione anche sullaqualita dei link. L’aggiornamento delle tabelle avviene anche al ricevimento dei pacchetti. Mentre iproblemi di routing sono risolti tramite un flooding limitato.Gli algoritmi tradizionali presentano dei problemi se applicati al routing per le reti ad-hoc:

• dv possiede un tasso di convergenza lento verso un nuovo stato stabile della rete (ad esempio rip).

• ls risulta non funzionale dato che vengono scambiati troppi dati oppure non e in grado di gestirecollegamenti asimmetrici (ad esempio ospf).

Nel caso degli algoritmi basati su reti ad-hoc possiamo:

• basarci su informazioni a livello datalink, che contengono informazioni sulla connettivita e sullaqualita dei collegamenti.

• basarci sul fatto che tutti i nodi possono essere router.

• evitare la tecnica di routing attraverso l’hop count.

Gli approcci al routing ad-hoc dipendono da alcune considerazioni preliminari. La struttura della retepuo essere:

• non gerarchica: le decisioni prese tra tutti i nodi.

• gerarchica: impone una scelta gerarchica sull’insieme dei nodi. Tale scelta viene fatta da algoritmidi clustering o dall’individuazione del cluster head.

Le modalita di definizione del routing sono:

• reattiva:

– costruisce informazioni di routing on-demand;

– potenziale riduzione dell’utilizzazione del link e del consumo energetico.

– maggiore ritardo nella determinazione di un cammino.

• proattiva:

– costruisce in anticipo le informazioni per il routing;

– riduzione del ritardo per la scoperta del cammino.

Sulla base di quanto detto, le decisioni progettuali sono da prendere in base ai seguenti obiettivi:

1. Operazioni distribuite: ovvero quelle ovvie ed essenziali;

2. Evitare cicli : in questo modo si evitano i casi peggiori. Sono pertanto preferibili approcci esplicitirispetto a quelli basati su ttl.

3. Sicurezza: si deve impedire la modifica o il danneggiamento delle operazioni del protocollo.

60

Page 64: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4. Modalita sleep: i nodi devono poter entrare in modalita sleep se non ricevono e non trasmettonoed il routing deve tollerare questo meccanismo minimizzandone gli effetti negativi.

5. Supporto per link unidirezionali : gli algoritmi di routing tradizionali assumono tipicamente deicollegamenti bidirezionali. Cio puo non essere vero in ambiente wireless.

Le metriche di prestazione sono suddivise in:

1. metriche esterne:

• throughput e ritardo end-to-end: misura dell’efficacia del routing;

• tempo di acquisizione di un cammino: importante sopratutto per algoritmi reattivi.

• percentuale di pacchetti ritrasmessi fuori ordine: influenza dei protocolli di livello piu altocome il tcp.

2. metriche interne (efficienza):

• Rapporto tra il numero medio di bit trasmessi ed il numero medio di bit dati che hannoraggiunto la destinazione (flooding).

• Rapporto tra il numero medio di bit di controllo trasmessi ed il numero medio di bit dati chehanno raggiunto la destinazione.

• Rapporto tra il numero medio di bit di controllo e dati trasmessi ed il numero medio di datiche hanno raggiunto la destinazione.

I fattori da tenere sotto controllo che influenzano le prestazioni sono:

1. la dimensione della rete;

2. la connettivita della rete (numero medio di collegamenti per nodo);

3. tasso di cambio della topologia;

4. capacita del link (tasso effettivo depurato dagli effetti di perdita, codifica, overhead per accessimultipli, ecc...);

5. frazione di link unidirezionali;

6. struttura del traffico (destinazioni uniformi e non uniformi - usando o meno i cluster, trafficobursty/non bursty);

7. frazione e frequenza dei nodi sleep.

Nella seguente figura e rappresentata la tassonomia dei protocolli di routing per reti ad-hoc. Si pu‘onotare che dsr e in realta ibrido.

61

Page 65: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.4.1 DSDV

dsdv sta per destination sequenced distance vector e rappresenta l’estensione del dv-routing.Il dv-routing e basato su scambi periodici di informazione tra vicini. I cambiamenti ad un nodo sipropagano lentamente attraverso la rete, quindi sono necessarie strategie per evitare questo problema(split-horizon, poisoned reverse). Questo approccio possiede dei problemi, ovvero potrebbero esserci delleregioni irraggiungibili oppure e possibile la presenza di cicli all’interno della rete.dsdv estende dv-routing aggiungendo:

• Numeri di sequenza: inclusi in ogni aggiornamento inviato. Questi consentono di applicare gliaggiornamenti nell’ordine corretto. Tuttavia sorge il problema che questi aggiornamenti possonopropagarsi su piu cammini. Questo problema nasce dall’avere brutte reazioni ai cambi di topolo-gia classica. Infatti se i cambi sono troppo rapidi le informazioni di aggiornamento rischiano disovrapporsi.

Ad esempio X riceve informazioni da Y relative al cammino verso Z.

Chiamiamo S(X) ed S(Y ) il numero di sequenza per il nodo Z memorizzato su X, ed il numero disequenza per il nodo Z inviato da Y ad X all’interno della sua tabella di routing, rispettivamente.X esegue i seguenti passi se:

– S(X) > S(Y ): X ignora l’informazione ricevuta da Y ;

– S(X) = S(Y ) ed il costo del cammino attraverso Y e minore: X pone Y come prossimo nodonel cammino verso Z.

– S(X) < S(Y ): X pone Y come prossimo nodo nel cammino verso Z e S(X) = S(Y ).

• Damping: rappresenta i cambiamenti della topologia di rete che possono essere di breve durata enon dovrebbero destabilizzare il routing. Gli aggiornamenti che cambiano la topologia memorizzatain un nodo sono mantenuti fin quando non diventano stabili. In altre parole, il nodo attende finquando la topologia non si stabilizza.

• Triggered updates: avvengono quando si cambia la topologia. Questi sono inoltre cambiati perio-dicamente.

Possiamo dire che dsdv e proattivo e non gerarchico, benche possa essere usato anche nel caso di routinggerarchico. I vantaggi sono: l’assenza di cicli, bassa richiesta di memoria (come i Distance Vector),convergenza rapida (grazie ai triggered updates). Gli svantaggi consistono nelle informazioni di routingche consumano banda ed energia.

4.4.2 OLSR

olsr sta per optimized link state routing. Con questa tecnica l’overhead della diffusione ai vicini(flooding) di informazioni sullo stato dei link viene ridotto diminuendo il numero di nodi che inoltranol’informazione. L’informazione proveniente da un nodo X viene trasmessa in broadcast solo ai nodiappartenenti al suo multipoint relay set. Il multipoint relay di X e rappresentato da ogni nodo “im-mediatamente vicino” (distanza pari ad 1 hop) di X tale che ogni vicino di X che si trova a distanza2-hop da X e un vicino immediato di un multipoint relay di X. In questo modo ogni nodo trasmetteperiodicamente la sua lista di vicini immediati, in modo che tutti i nodi siano in grado di determinare iloro vicini a distanza 2-hop, per scegliere i loro multipoint relays. Il multipoint relay set di X, invece, eun sottoinsieme arbitrario di tutti i multipoint relay di X, tale che ogni vicino 2-hop di X e a distanza1-hop da un nodo del sottoinsieme.

62

Page 66: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Nella precedente figura i nodi C ed E sono multipoint relay del nodo A. I soli vicini 2-hop di A sono inodi G ed H. Solo C ed E inoltrano in broadcast l’informazione proveniente da A ai vicini.Il passo successivo consiste nei nodi C ed E che inoltrano l’informazione ricevuta da A. Mentre i nodiA ed H diventano i multipoint relay del nodo E.Solo H inoltra l’informazione ricevuta da E, infatti A la aveva gia ricevuta dato che e la sorgente. I nodiE e K diventano i multipoint relays del nodo H, ma solo K inoltrera questa informazione dato che E

l’aveva gia inoltrata.Ricapitolando oslr diffonde l’informazione sullo stato dei collegamenti solo attraverso i multipoint relay.Quindi l’informazione di stato diffusa da un nodo riguarda solo i suoi multipoint relay. Ovviamente icammini usati da olsr includono solo multipoint relay come nodi intermedi. olsr e proattivo ed ebasato su informazioni link-state.

4.4.3 DSR

dsr sta per dynamic source routing. E un Distance Vector reattivo e non gerarchico (anche se losupporta). Questo approccio suddivide il routing in due parti:

1. route discovery : avviene nel momento in cui un nodo manifesta la sua volonta di comunicare conun altro. Nello schema classico del Distance Vector, ogni nodo possiede una tabella, mentre nel dsrsi usa il route discovery per trovare la strada. In generale, un nodo tenta di scoprire un camminoverso una data destinazione solo se:

• Il nodo ha traffico per quella destinazione.

• Il nodo non e gia a conoscenza di un cammino.

Inoltre:

• Non sono previste le tradizionali tabelle di routing nei nodi intermedi.

• Non vi e un aggiornamento periodico.

• Nessun messaggio sullo stato del link.

In generale, infatti, le informazioni di routing sono inglobate in un messaggio. Ovvero ognimessaggio possiede informazioni interne con indicazioni per arrivare a destinazione.

Il messaggio viene inviato in broadcast contenente un indirizzo di destinazione ed un id univoco.Se un nodo riceve il pacchetto ci sono tre possibli scenari:

(a) Se il nodo ricevente scopre che il pacchetto lo aveva gia ricevuto prima (tramite l’id) ignoroil pacchetto.

(b) Se il nodo ricevente e il destinatario e si riconosce come tale (riconosce l’indirizzo) restituisceil pacchetto al mittente (invertendo il cammino che e stato raccolto nel pacchetto).

(c) Se non si verifica nessuno degli scenari precedenti, il nodo prende il pacchetto, viene aggiuntoil suo indirizzo e lo reinoltra in broadcast.

Con un meccanismo del genere il pacchetto possiede una lista dei nodi attraversati. Il mittentepertanto riceve il pacchetto di ritorno con il cammino attuale (lista di indirizzi). Per ottimizzarequesto meccanismo di scoperta possiamo ipotizzare un diametro massimo (se possibile), oppurefare del caching di liste di indirizzi dove se un nodo vede passare un pacchetto con una lista diindirizzi interessanti puo decidere di metterlo nella sua cache.

63

Page 67: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2. route maintenance: prevede l’uso di una conoscenza pregressa (occorrera capire se e ancora validaoppure no). Un nodo controlla un cammino che e in uso, se sono stati rilevati dei problemi con ilcammino selezionato, o si usa un cammino alternativo o se ne crea uno nuovo.

Ovvero dopo l’invio di un pacchetto:

• si aspetta che arrivi un ack di livello datalink, se applicabile;

• si ascolta il mezzo trasmissivo per rilevare se altre stazioni inviano il pacchetto, se possibile;

• si richiede un ack esplicito.

Se l’informazione e negativa, se una stazione ad esempio incontra problemi, puo informare ilmittente e cercare localmente un nuovo cammino.

Le strutture dati utilizzate da dsr sono:

1. route cache: per ogni nodo e prevista una cache di percorsi. Questa contiene zero o piu camminiverso una destinazione specificata. Le operazioni sono: inserisci, ottieni, elimina cammino.

2. route request table: contiene informazioni sui messaggi route request originati o inoltrati dal nodo.

3. due buffer (code): entrambe i buffer sono gestiti da un timeout:

(a) send buffer : messaggi da inviare. Rappresenta la coda di pacchetti in attesa di trasmissioneperche il cammino non e ancora noto. I pacchetti vengono rimossi dalla coda dopo l’invio oallo sparire del timeout.

(b) retransmission buffer : coda di pacchetti inviati in attesa dell’ack. I pacchetti sono rimossidalla coda dopo l’ack o dopo il superamento del numero massimo di ritrasmissioni.

Con questo approccio abbiamo i seguenti vantaggi:

• assenza di cicli;

• bassa richiesta di memoria;

• riduzione dell’informazione di routing inviata, con conseguente risparmio della banda;

• riduzione del numero di trasmissioni sulle informazioni di routing, con conseguente risparmio dienergia;

• funzionamento con collegamenti asimmetrici.

Gli svantaggi sono:

• Puo operare male se ci sono cambi frequenti di topologia (l’estrazione di cammini dai pacchettipassanti non funziona).

• Potenziali problemi di scalabilita se il numero di destinazioni cresce.

• Non supporta un vero multicasting ma un flooding controllato.

In generale il risparmio si ha se il dinamismo della rete e la frequenza di interazione non superano unacerta soglia, in caso contrario non e conveniente.

4.4.4 Routing gerarchico

I protocolli appena visti (dsdv e dsr) assumono che ogni nodo sia coinvolto in egual misura nellacomunicazione. Nel caso di molti nodi, pero puo essere conveniente dare una struttura gerarchica altutto.Si possono utilizzare dei cluster per ottenere una maggiore scalabilita. I cluster sono utilizzati general- Cluster

mente per ottenere una gerarchia. In questo modo il routing globale viene effettuato in base ai clustermentre quello locale verso i nodi del cluster. Quindi il numero di nodi da attraversare viene ridotto.A tal proposito viene definito un nodo speciale, chiamato cluster-head, per ogni cluster. Questo nodoe responsabile del routing da e verso gli altri cluster. Puo essere un nodo speciale oppure un nodoindividuato tramite algoritmi di clustering. Gli algoritmi utilizzati sono:

64

Page 68: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

1. Clustering: per la divisione in cluster. Ad esempio basati sulla vicinanza fisica o sulla visibilita.

2. Identificazione del cluster: puo far parte del clustering.

3. Routing: applicato ad ogni livello della gerarchia.

Alcuni criteri di clustering sono:

• Localita: si cerca di massimizzare la connettivita. Puo avere come obiettivo la connettivitacompleta nel cluster.

• Affinita: localizza il traffico e minimizza il traffico tra cluster.

• Efficienza energetica: la combinazione tra affinita e localita.

• Dimensione: numero di nodi.

• Considerazioni relative il leader. Ad esempio si vuole avere la garanzia che ogni cluster contengaun nodo speciale.

4.4.5 Metriche di routing: LRI

Gli esempi precedenti usano la lunghezza del cammino come metrica. In realta questa metrica e semplice(numero di hop) ma non e una garanzia in uno scenario di mobilia. Una metrica efficace e il leastinterference routing (lri). In generale questa metrica prende in considerazione il numero minimo diinterferenze. L’interferenza ad un nodo e proporzionale al numero di altri nodi che possono ascoltare unasua trasmissione. Si assume che il costo di un link e minore se una trasmissione ha minori probabilitadi interferire con altre trasmissioni da parte di altri nodi. Si basa pertanto su informazioni locali. Inaltre parole, si conta quanti nodi vengono disturbati da una comunicazione che passa per quel cammino.Consideriamo, infatti, che se si hanno due cammini possibili ed uno inibisce meno di un altro, il through-put totale cresce dal momento che crescono i messaggi paralleli possibili. In teoria ci sono altre metricheche possono essere utilizzate. La metrica lri rimane comunque semplice perche richiede informazioni suivicini immediati.

Nella precedente immagine, i percorsi trattegiati sono migliori rispetto ai rispettivi a linea continuausando la metrica lir. La comunicazione rossa e la seguente:

• linea continua: vengono disturbati 6 nodi (N1, N2, S2, N5, N6, R2).

• linea trattegiata: vengono disturbati solo due nodi (N3, N4).

Ci accorgiamo come la scelta della linea rossa tratteggiata permetta l’instaurazione del parallelo dellacomunicazione blu.

65

Page 69: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.5 Reti cellulari

Generalmente le reti wan si appoggiano alle infrastrutture delle reti centralizzate. L’idea di base consistenella localizzazione di un nodo. Per prima cosa si vuole determinare l’identita della cella in cui si trova(ap della cella). La coppia id-nodo+id-ap e l’informazione per raggiungere in maniera univoca il nodoche si sta cercando. Per ottenere tali informazioni andiamo a comunicare con i seguenti elementi:

• l’hlr contiene il record [msid,vlrcur]. Ogni record e unico. L’hlr contiene in se tanti records perquanti utenti ha con tutte le loro informazioni statiche e le informazioni dinamiche (vlr sotto lacui giurisdizione si trova il nodo mobile).

• Il vlr contiene record [msid, lacur]. Dopo aver contattato hlr occorrera contattare vlr che contie-ne le informazioni su come localizzare un nodo. Contiene l’identificativo della cella, un’informazionegrossolana di dove si trova un nodo mobile.

I requisiti per la mobilita in reti wwan sono: la trasparenza all’utente, il mantenimento della confiden-zialita, minimizzazione del carico del sistema per messaggi di controllo e scalabilita.

4.5.1 Architettura del GSM

Il routing viene applicato in transizione di tipo 4 e a volte di tipo 3.

I componenti che fanno parte di questa architettura sono i seguenti:

MSC controlla una o piu bsc, punto di switch verso altre reti (isdn, pstn), controllo di chiamate,addebiti.

HLR e il nodo base dei dati della gerarchia di cui i vlr sono foglie.

VLR contengono la replica di informazioni parziali di hlr. Questi elementi sono associati gli msc.vlr e responsabile di informare l’hlr dei cambiamenti relativi alle mobile station sotto la suagiurisdizione. Il cambiamento di vlr e dei relativi servizi e detto roaming.

Per ogni msc esiste un vlr in maniera univoca. In generale vlr ed hlr sono delle basi di datiaccedute molto frequentemente:

• la lettura dei dati utente avviene ad ogni chiamata, ovvero i dati del chiamante per l’au-tenticazione ed i dati del chiamato per informazioni sulla localizzazione e lo stato dellaconnessione.

• la modifica dei dati dell’utente per segnalare l’accensione/spegnimento del cellulare, la con-nessione o la modifica della locazione da parte dell’utente.

• l’architettura db per migliorare prestazioni/affidabilita, ovvero garantisce replicazione/parti-zionamento.

Notiamo che l’hrl e concettualmente un database unico, in realta e distribuito e replicato.

66

Page 70: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.5.2 Architettura del GPRS

Ricordiamo che il gprs e un’ingegnerizzazione del gsm in modo tale che si possa adattare al traffico dati.Usa una gerarchia a due livelli:

• sgsn: interfaccia tra backbone e sottostistema wireless. Richiede indirizzi utente al registro gprs.Gestisce informazioni sulla locazione dei cellulari ed inoltre e in grado di gestire uno o piu bsc (inqualche modo analogo di fa in mobileip).

• ggsn: gateway tra rete dati a pacchetto esterna e la rete gprs. Questo gestisce il routing per gliutenti gprs, quindi converte anche gli indirizzi. Ha il compito di instradare i pacchetti verso sgsnutilizzando il backbone gprs (basato su ip). Questo elemento rappresenta la porta d’accesso deltraffico, ovvero tramite il quale i pacchetti vanno dalla rete interna a quella esterna. E l’analogodell’hlr in gsm. Contiene informazioni statiche e dinamiche. E un oggetto di livello datalink.

Notiamo che tipicamente in ra e contenuto il la. Quindi ra e un suo sottoinsieme.

4.5.3 Operazioni: GSM/GPRS

La gestione della localizzazione in gsm/gprs si articola in due funzioni:

1. tracking : usata per mantenere traccia della locazione corrente di una mobile station. Questafunzione e proattiva, ovvero ogni volta che la mobile station cambia viene aggiornata.

Data una suddivisione finche il nodo si muova nella sua location area, le informazioni non vengonoaggiornate. Il movimento nella la genera degli handoff di tipo 1-2-3 (purche il 3 non esca da la),infatti se vado in un’altra la con un msc differente si ha un handoff di tipo 3, ma si aggiornacomunque il vlr. Aggiorniamo l’hlr se si ha un handoff di tipo 4, cioe se entro in una la contiguaa quella in cui mi trovo ma con vlr differente.

Dopo aver acceso la mobile station, questa determina la location area attuale (segnale inviatoperiodicamente in broadcast). La mobile station invia la coppia [msid, lacur] al vlr opportuno.vlr invia a sua volta la coppia [msid,vlr] all’hlr, fin quando la mobile station e attiva. Le seguentioperazioni vengono fatte quando la mobile station e accesa:

• Se ms cambia la allora ms invia la coppia [msid, lanew] all’opportuno vlr.

• Se si cambia vlr allora il nuovo vlr invia la coppia [msid,vlrnew] all’hlr, in questo modovi e la rimozione del record [msid,vlrold] esplicita oppure implicita tramite timeout.

Se la ms viene spenta allora viene inserito il record [msid, Non−Raggiungibile] nel vlrcur.

Per garantire la sicurezza esiste una chiave per accedere all’hlr che corrisponde all’identita del nodomobile. Se si identifica ms viene mandata un’identita temporanea, comunicata al vlr. Occorrequindi evitare che la chiave viaggi sul canale wireless. A tal proposito viene usato uno schemaproattivo per mantenere le informazioni aggiornate.

67

Page 71: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

2. locating : determina la locazione attuale “esatta” della mobile station per stabilire una connessio-ne/comunicazione. Questa funzione e reattiva, ovvero si attiva se qualcuno vuole parlare con ilnodo mobile.

Nel momento in cui si vuole stabilire una comunicazione si deve capire univocamente qual’e la cellain cui si trova la mobile station.

msc-s interroga l’hlr per ottenere, dato msc-did il record [ms-did,vlr-d]. L’hrl interroga a suavolta vlr-d per reperire [ms-did, la-d]. Se viene trovato ms-d allora ritorna cellid altrimenti ilterminale non e raggiungibile.

In altre parole, attraverso il numero di telefono viene contattato l’hlr da cui ricavo il vlr che hala giurisdizione della mobile station di interesse. msc connesso al vlr cerca la location area delnodo. Se il nodo e acceso risponde e viene restituita la risposta al nodo chiamante. Notiamo chela comunicazione della ir/raggiungibilita del nodo dipende se questo e stato spento (msc sa che espento ed evita la ricerca) oppure no. Nel secondo caso infatti viene effettuata la ricerca e richiededel tempo fino al termine del timeout. Il caso limite e quando abbiamo una la con una sola cella,in questo caso non viene fatto il locating.

I parametri che influenzano le prestazioni di questi due algoritmi sono: Parametri diprestazione

1. dimensione della location area.

2. tipo della location area: come vengono ripartite le celle, ovvero sono definite dal sistema (statica)oppure definite dalle mobile station (dinamica).

Mentre gli indici di prestazione (costo) sono: Indici di presta-zione

1. Traffico generato: se la cresce la frequenza di transizioni decresce, di conseguenza descresce iltraffico sui livelli piu alti.

2. Consumo di energia per mobile station: se la aumenta allora diminuisce il consumo energetico, diconseguenza diminuisce il numero di messaggi da inviare per gli aggiornamenti.

3. Ritardo di localizzazione: se la decresce allora il ritardo di localizzazione decresce.

Nella realta la ripartizione di la e statica. Esistono pero degli studi concettuali che suggeriscono schemidinamici. La ripartizione statica e definita dal sistema. Questa prevede la suddivisione statica delle cellein porzioni contigue. Il rischio e quello di un eccessivo traffico di tracking per le mobile station che simuovono vicino ai bordi. Ho insomma potenzialmente molto traffico sul confine.

68

Page 72: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Per quanto riguarda la ripartizione dinamica l’idea e che ad ogni nodo e associata una propria la chegli viene costruita intorno e viene registrata nel sistema finche il nodo non si sposta. Nel caso in cuiil nodo esca dalla sua la dinamica viene ricostruita una nuova area. Questo approccio pero puo daredei problemi, cioe puo esserci un potenziale ritardo nella localizzazione. Per risolvere questo problemae possibile aggiornare la man mano che la mobile station si avvicina ai bordi. Studi tecnici definisconoche questo schema in media genera un traffico minore. In generale:

• Ogni ms ha la sua la che si modifica dinamicamente in relazione agli spostamenti della ms.

• la e centrata intorno alla cella in cui la mobile station notifica la sua posizione.

• Tempi di aggiornamento si possono basare su:

– tempo: ogni t secondi;

– spostamento: ogni m cambi di cella;

– distanza: quando la cella attuale e a distanza d dalla cella da cui e stata fatta l’ultima notifica.

4.5.4 GPRS Architettura del protocollo di comunicazione

Abbiamo visto in precedenza come la rete cellulare gsm e circuit switching. La prima evoluzione delgsm e il gprs e poi a seguire l’umts che fornisce una maggiore efficienza di trasmissione dei dati conun’architettura sostanzialmente identica.In gprs la gestione della localizzazione non si discosta molto da un database gerarchico. Rispetto algsm cambiano le sigle e la tipologia di traffico. Ovvero non si hanno piu dei circuiti (dei canali dedicati),ma sostanzialmente la concezione e identica. gprs possiede una gerarchia a due livelli (ggsn-sgsn).sgsn comunica con la ra (routing area). Il passaggio da una ra all’altra di un ms e un’informazionepropagata al ggsn. La filosofia e quindi simile a quella gsm.

69

Page 73: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Per quanto riguarda la comunicazione tra gsn (ggsn e/o sgsn) possiamo dire che viene utilizzato ilprotocollo gtp. Questo inoltra i pacchetti dati aggiungendo opportune informazioni di routing tramiteil backbone gprs (tunneling). gtp sfrutta tcp/udp+ip per la comunicazione sul backbone.La comunicazione sgsn-ms utilizza sndcp, ovvero viene fatto un mapping delle caratteristiche delprotocollo di rete sottostante a livello datalink.La rete protocollare di Internet e invisibile. Infatti il cammino sottostante e realizzato dal tunnel. L’in- Relazione con

la rete Internetterazione tra ms e bbs occupa la comunicazione wireless. sgsn usa o tcp o udp in base al protocollodi routing usato a livello end-to-end. ipx25 assume che i pacchetti che arrivano siano disponibili (comu-nicazione affidabile). L’indirizzo ip per il tunnel e privato al ggsn che si occupera di togliere l’headeraggiuntivo.

Nella precedente figura e rappresentato lo stack dei protocolli utilizzati in gprs. Tra i piu importantitroviamo: gtp (gprs tunnelling protocol), sndcp (subnetwork dependent convergence protocol), bssgp(bss gprs protocol) e rlc (radio link protocol).La tecnica usata per la richiesta di accesso ad una rete gprs e basata su un protocollo a contesa di tiposlotted aloha.Il modo di interazione tra le entita ggsn e sgsn e basata sul protocollo ip. Infatti vengono creati dei gprs vs gsm &

mobileiptunnel come nel mobileip. Ma a differenza di mobileip che e distribuito, il gprs ha una risoluzione di tipocentralizzata. Inoltre nei sistemi 3G i due sistemi voce e dati saranno integrati, ovvero tutto e basato supacket switching.Consideriamo il seguente scenario. I nodi mobili sono visti come dei client. In generale nella linea Routing

telefonica ms non e identificato dall’indirizzo ip ma dal numero di telefono. Il primo ggsn dal numerodi telefono e in grado di risalire ai componenti da contattare. Infatti dal numero di telefono si conosceil sgsn-d. Fisicamente lo stesso nodo svolge le funzioni di msc ed sgsn. La tendenza evolutiva e quelladi trattare tutto come gprs.

Come si vede nella precedente figura il routing del gprs e basato su incapsulamento e tunnelling:

1. sgsn-s incapsula il pacchetto da ms-s e lo invia al ggsn appropriato (ggsn-s).

2. ggsn-s esamina l’indirizzo ed invia il pacchetto al ggsn appropriato (ggsn-d) attraverso una retedati.

70

Page 74: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

3. ggsn-d controlla la destinazione e determina l’sgsn appropriato (sgsn-d).

4. sgsn-d riceve il pacchetto e lo invia alla ms-d.

4.6 TCP in reti mobili

Abbiamo un problema nell’utilizzo del protocollo tcp, infatti fa deduzioni sbagliate in reti wireless mobili.Infatti su una rete mobile i problemi nascono da un problema implicito di inefficienza. La comunicazioneattraverso tcp rimane comunque affidabile ma vi e una degradazione notevole delle prestazioni.Tipicamente il protocollo tcp in reti fisse crea un canale di trasporto affidabile tra client e server.Questo protocollo e stream oriented e non transaction oriented. E “network friendly”, ovvero gestiscela congestione e lo slowdown. Prima di avviare una sessione si ha una fase di setup. In una rete fissa iltempo di setup risulta trascurabile. Nel mondo mobile un simile ritardo puo creare notevoli problemi,infatti in gprs la sola fase di setup puo durare anche un secondo. Quindi tcp regola il traffico inInternet e garantisce un uso equo delle risorse basandosi sul monitoraggio dello stato della connessionecontrollando la perdita di pacchetti.Le caratteristiche del tcp sono: Caratteristiche

del tcp

• progettato tipicamente per: sistemi finali fissi e reti fisse di tipo wired.

• attivita di ricerca: prestazioni, controllo di congestione e ritrasmissione efficiente.

• controllo della congestione:

– perdita dei pacchetti in reti fisse tipicamente dovuta a situazioni (temporanee) di sovraccarico.

– i router devono scartare i pacchetti se i buffer diventano sovraccarichi.

– tcp riconosce situazioni di congestione indirettamente tramite ack mancanti.

– usa l’algoritmo di slow start come reazione.

Tramite l’algoritmo di slow start si cerca di prevenire la congestione del tcp e funziona nel seguente Slow Start

modo:

1. il mittente calcola una congestion window (cw) per un destinatario;

2. inizia con una cw di dimensione 1;

3. incrementa esponenzialmente il cw fino a raggiungere un valore di congestion treshold (ct). Dalı in poi si ha una decrescita lineare.

4. ack mancanti causano la riduzione della ct a meta della cw attuale.

5. cw riparte da 1.

Il meccanismo di tcp chiamato fast retrasmit/fast recovery migliora il rilevamento della perdita di un Fast Retrasmit/ Fast Recoverypacchetto. La perdita di un pacchetto puo essere infatti rilevata tramite:

• scadenza del timeout di ricezione dell’ack;

71

Page 75: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• ack duplicati: due ack distinti ma uguali. Ovvero viene riconosciuto il numero di pacchetto comelo stesso. Ad esempio supponiamo che si sta inviando una sequenza di pacchetti 100, 101, e 102.100 arriva ed il mittente riceve l’ack con il numero del pacchetto successivo che si aspetta (101).Il pacchetto 101 si perde. Il destinatario riceve 102 ma manda ancora l’ack con il numero delpacchetto che si aspetta 101. Quindi il mittente vede arrivare due ack con lo stesso numero.

In generale abbiamo visto come un pacchetto perso viene tradotto come qualcosa di serio. L’ack dupli-cato indica la presenza di un problema temporaneo, una congestione comunque superata dal momentoche il pacchetto successivo e arrivato. L’uso degli ack duplicati permette la discriminazione tra problemipersistenti e problemi transitori. Se il problema e transitorio allora si usa un approccio piu rapido (fastretrasmit, fast recovery). L’algoritmo di questo meccanismo e il seguente:

1. tcp invia un ack solo dopo la ricezione di un pacchetto.

2. se un mittente riceve ack duplicati (dupack) per lo stesso pacchetto allora tcp nota che e presenteun “buco” nei pacchetti ricevuti dal destinatario.

3. la ricezione di dupack indica che, comunque, tutti i pacchetti prima del buco sono stati ricevutied anche i pacchetti successivi.

4. la perdita non e dovuta ad una congestione e si puo dunque continuare con il cw attuale, ovveronon si usa lo slow start.

4.6.1 Problemi TCP in ambiente mobile

Abbiamo visto come il tcp assume la presenza di congestione nel caso di pacchetti mancanti. Questo etipicamente sbagliato in reti wireless/mobili dove spesso i pacchetti vengono persi per:

• alto tasso di errori di trasmissione del collegamento wireless;

• elevata probabilita di disconnessioni causate dalla mobilita, come l’handoff, zone non coperte, picchidi traffico per sovraffollamento.

Le prestazioni di tcp non modificato degradano considerevolmente in uno scenario di questo tipo. L’atti-vazione dei meccanismi di controllo sulla congestione causano un decremento del throughput, un aumentodel ritardo e le perdite multiple causano la creazione di burst. Il problema nasce dal fatto che tcp nonpuo essere modificato radicalmente, la base installata su rete fissa e troppo grande, ed il tcp deve ri-manere compatibile nell’ambiente mobile. Si nota quindi come nel nodo mobile cadono le assunzioni dibase del tcp.Le contromisure adottate sono:

1. uso di un protocollo diverso: come era stato pensato inizialmente nel caso di wap. Abbiamo vistopero come una simile soluzione non e praticabile dal momento che tcp e ovunque e si rischierebbedi relegare ad una nicchia la nuova tecnologia.

2. Adattamento del tcp al nuovo contesto: questo segue due filosofie:

(a) trasparente al mittente: si nasconde al mittente la perdita dovuta a congestioni. In questomodo non sono richieste modifiche sul mittente. Un link con alti tassi di perdita appare comeun collegamento di alta qualita ma con bassa banda. In questo modo la maggior parte delleperdite viste dal mittente vengono attribuite alla congestione.

Ad esempio: airmail, i-tcp, tcp snooping.

Il mittente ha l’impressione di lavorare con un destinatario con basso tasso di trasmissione.

(b) non trasparenti al mittente: si avverte il mittente di perdite dovute alla congestione, ovvero ilmittente evita di attivare meccanismi del controllo sulla congestione quando vengono rilevatedelle perdite.

In questo caso e il mittente che si adatta ai comportamenti differenti della rete.

Ad esempio eln.

72

Page 76: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Le soluzioni proposte per questi problemi sono basate su tre filosofie (come si vede nella precedentefigura):

1. Split connection: la connessione e spezzata in due parti. Si immagina che ci sia un’entita interme-dia. Nel primo tratto wired viene usato il tcp standard, nel secondo tratto wireless abbiamo unprotocollo di rete ad-hoc. In altre parole la connessione tcp termina al punto di accesso fisso /mobile. Nasconde al mittente il collegamento wireless. Quindi il mittente non e consapevole delleperdite non dovute alla congestione. La connessione e separata ed affidabile tra il punto di accessoed il nodo mobile.

La connessione wireless e realizzata tramite: tcp avanzato (con ack negativi o selettivi) o srp suudp. Gli studi sull’impatto non mostrano alcuna differenza tra l’uso srp o tcp. In questo modo siisola il tcp normale dai problemi wireless, ma si viene a perdere la semantica end-to-end propriadel protocollo tcp. Se il mittente riceve l’ack non e detto che il destinatario abbia ricevuto ilpacchetto al momento che l’ack arriva all’intermediario:

(a) il timeout del mittente tcp sul link wireless spesso puo scadere bloccando il mittente originario.

(b) Overhead: i pacchetti attraversano due volte il protocollo tcp nel punto di accesso fisso /mobile.

(c) Handoff complicato e lento per le necessita di mantenere sul punto di accesso l’informazionedi stato per ogni connessione.

(d) La semantica end-to-end e violata, ovvero gli ack dal punto di accesso possono raggiungereil mittente (fn) anche prima che i pacchetti raggiungano mn.

(e) Non si possono usare i meccanismi di sicurezza del tcp.

2. End-to-End : Risolve il problema di Split connection della perdita della semantica propria delprotocollo tcp, ovvero la connessione rimane unica.

Prevede due modi per gestire le perdite:

• Uso appropriato del fast retrasmission.

73

Page 77: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

• Uso di sack (selective acknowledge) per consentire al mittente di reagire a perdite multiplein una cw senza attendere la scadenza di un grande timeout.

I sack permettono di specificare quali pacchetti sono andati persi.

• Il mittente e avvertito di perdite non causate da congestione tramite meccanismi eln.

3. Link Layer : Viene realizzata una semantica end-to-end. Nella sezione critica si fanno interveni-re meccanismi aggiuntivi a livello datalink per rimediare al “volo”. Se mi accorgo di problemiritrasmetto. Mi baso sempre sul fatto che Lwired > Lwireless.

Questo meccanismo si colloca tra le due classi viste in precedenza. Nasconde a tcp le perditecausate dal link wireless tramite:

• ritrasmissioni locali in risposta ai messaggi arq/cdma/tdma.

• forward error connection (fec).

I protocolli ll operano indipendentemente dai protocolli di livello piu alto. Non si deve mantenereun’informazione di stato per ogni connessione. Vi sono pero le seguenti problematiche:

(a) effetti negativi su tcp:

• ritrasmissioni concorrenti in ll e tcp interagiscono e riducono il throughput.

• tcp dupack causano fast retrasmit anche per pacchetti ritrasmessi localmente da ll.

• inoltro non in ordine a causa di fast retrasmit di tcp non necessario.

(b) necessita di protocolli ll.

4.6.2 Indirect TCP (I-TCP)

Usa la modalita split connection. I nodi sulla parte fissa della rete non notano le caratteristiche della partewireless. Per connessioni wired si usa il protocollo tcp standard. Mentre per connessioni wireless si usaun protocollo tcp ottimizzato per nodi mobili. L’ottimizzazione si basa sulla mappatura tcp su mobileip.I fa svolgono non solo il ruolo di fa ma anche di gestori tra le due parti di connessione. Questo elementoha il compito di raccogliere i pacchetti nel buffer e reinstradarli al nodo mobile. Quindi se il nodo mobilesi sposta e la comunicazione passa per un nodo differente, fa1, deve spedire i pacchetti immagazzinati afa2 altrimenti andrebbero persi. Devo pertanto spostare il socket ed il buffer. L’overhead che ne derivanon e banale. I vantaggi di questo approccio consistono in:

1. nessun cambio sulla rete fissa, nessun cambio dei nodi, tutte le ottimizzazioni attualmente usateda tcp continuano a lavorare.

2. gli errori di trasmissione tra link wireless non si propagano nella rete fissa.

3. semplice da controllare, ovvero il tcp mobile viene usato su un solo segmento di rete (one hop) (adesempio tra fa e mn).

4. e possibile utilizzare il fast retrasmit, se il ritardo (breve) sul segmento wireless e noto.

Tuttavia possiede i seguenti svantaggi:

1. perdita della semantica end-to-end;

2. maggiore latenza dovuta al buffering dei dati su fa ed inoltro al nuovo fa.

74

Page 78: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.6.3 Snooping TCP

Utilizza la modalita Link-Layer. Estensione trasparente di tcp all’interno di fa. La comunicazionerimane comunque end-to-end, ma vengono aggiunti dei meccanismi per evitare l’uso a sproposito deimeccanismi di gestione della congestione tcp, ovvero e mappato su mobileip. fa cerca di vedere chetipo di traffico passa (in ambo i sensi). Nel caso in cui rilevi degli ack duplicati ed il mittente non sia ingrado di fare il fast retrasmit, fa puo filtrare il dupack buttandolo e riviandogli i pacchetti mancanti.Deve quindi mantenere un buffer come nel caso i-tcp con la differenza che non deve mandare o riceveredegli ack ma mantiene le informazioni per una maggiore sicurezza. In questo contesto la transizione delnodo da fa1 a fa2 non prevede la ritrasmissione del buffer, pertanto aumenta l’efficienza.

Le caratteristiche di questa estensione del tcp sono le seguenti:

1. buffering dei pacchetti inviati a mn;

2. ritrasmissione locale: i pacchetti che sono persi sul collegamento wireless (in ambo le direzioni)vengono ritrasmessi da mn o fa.

3. snoop: fa sbircia nel flusso di pacchetti e riconosce gli ack che e eventualmente in grado di filtrare.

4. il tcp cambia solo all’interno di fa.

Per trasferire i dati verso il nodo mobile, fa conserva in un buffer i dati finche non riceve un ack da mn;inoltre fa rileva la perdita di pacchetti tramite dupack o scadenza del timeout. In questo modo c’e lapossibilita di ritrasmettere rapidamente in maniera trasparente sulla rete fissa. Invece per il trasferimentodei dati dal nodo mobile, fa rileva la perdita di pacchetti sul collegamento wireless tramite i numeri disequenza e lo comunica direttamente a mn tramite nack. A questo punto mn puo ritrasmettere i daticon un ritardo molto piccolo. Per quanto riguarda il livello mac bisgna aggiungere meccanismi similia quelli di tcp, inoltre bisogna ricordare che a questo livello gia si e in grado di rilevare i pacchettiduplicati per ritrasmissione e scartarli. i-tcp necessita sia del vecchio fa che di quello nuovo, mentre inquesto caso fa non fa nulla di “necessario” se non migliorare le prestazioni. Quindi non si impone unuso massiccio della varianza. Inoltre usando questa tecnica si:

• preserva la semantica end-to-end, ovvero un crash di fa non ha alcun effetto sulla rete.

• le modifiche sono concentrate su fa, quindi non e richiesta nessuna modifica per cn.

• Non abbiamo la trasmissione di dati tra fa ( risulta come un timeout sul client).

• fa puo anche non usare il protocollo di snoop.

75

Page 79: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Tuttavia presenta anche degli svantaggi quando ci sono meccanismi di crittografia. Infatti fa non e ingrado di decodificare i pacchetti, pertanto lo snooping tcp funziona solo nella comunicazione in chiaro:

• snoop tcp non isola il link wireless quanto i-tcp, se fa deve ritardare l’invio dei dati sul canalewireless verso mn allora il timeout di cn potrebbe scadere.

• la presenza di un nack tra fa ed mn assume che mn sia in grado di gestirli.

• la crittografia come abbiamo gia detto non permette la decodifica dei pacchetti.

4.6.4 MobileTCP

Usa la modalita split connection. La collocazione e in realta incerta in quanto garantisce l’end-to-end.Bisogna quindi introdurre un’entita intermedia. Tuttavia questo approccio non ha uno status in mobileip,ma si focalizza su una particolare categoria di problemi. Infatti i pacchetti possono essere persi su uncanale disturbato (alto ber) oppure su un canale non disponibile. Questo approccio offre una specialegestione delle connessioni lunghe e/o frequenti. Usa anche la suddivisione della connessione come ini-tcp:

• rete fissa: tcp non modificato fino ad un supervisory host (sh).

• rete wireless: tcp ottimizzato da sh a mn. Non viene usato lo slow start. Si ha quindi la necessitadi avere un bandwidth manager per l’uso equo della banda. Infatti sh:

– controlla piu ap, gestisce routing e connessioni verso mn.

– non effettua caching e ritrasmissione (se un pacchetto viene perso sul canale wireless deveessere ritrasmesso dal mittente originario, garantendo cosı la semantica end-to-end).

– controlla tutti i pacchetti e se rileva disconnessioni:

∗ pone a 0 la cw del mittente;

∗ il mittente va in persistent mode;

∗ il vecchio o il nuovo sh riapre la finestra quando avviene la riconnessione.

L’idea alla base consiste nella sua attivazione quando l’entita intermedia scopre una disconnessione inatto, non rilevando piu ack da mn. In questo caso azzera la cw del mittente che viene pertanto congelato.Cosı facendo non scatta lo slow start. Quando si riapre la connessione, la comunicazione viene ripristinatacon il mittente che riprendera da dove interrotto.Questo e quindi un meccanismo valido nel caso di disconnessioni abbastanza lunghe. Ma se abbiamo unalto tasso di perdita di pacchetti non e conveniente. Cio porta ai seguenti vantaggi:

1. conserva la semantica end-to-end (sh non invia ack di sua iniziativa, ma inoltra solo quelliprovenienti da mn).

2. nel caso di disconnessione evita le ritrasmissioni inutili, slow start ed perdita della connessione.

3. non ha bisogno di un buffer di dati poiche nel passaggio tra shold ed shnew i pacchetti persi vengonoritrasmessi automaticamente dal mittente.

Gli svantaggi invece sono:

1. perdite dovute ad errori che si propagano sul link wireless e di conseguenza sulla rete fissa, infatti,a differenza di i-tcp, sh non e un proxy;

2. il tcp modificato sulla parte wireless comporta modifiche anche su mn.

76

Page 80: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

4.6.5 Fast Retrasmit/Fast Recovery

Funziona in modalita end-to-end. Bisogna considerare che un cambio di fa (handoff) da spesso luogoa perdita di pacchetti. Il tcp standard reagisce con lo slow start anche se non c’e congestione. Conquesto approccio quando mn passa da fa1 a fa2, mn manda ack duplicati. Se il mittente adotta frritrasmette i pacchetti verso fa2, inoltre il tcp su mn e forzato a continuare a trasmettere con la stessacw senza andare in slow start. In questo modo si riesce ad evitare di dover aspettare il timeout. Iltutto nell’ipotesi che i tempi d trasmissione degli ack duplicati siano inferiori al timeout. Cosı tramitesemplici cambiamenti si da luogo a miglioramenti significativi. Porta tuttavia uno svantaggio, ovvero unulteriore miscelamento tra mobileip e tcp, non fornendo la trasparenza con il client.

4.6.6 Selective Retransmission (SACK)

Lavora in modalita end-to-end. In questo caso non si mascherano le perdite di pacchetti (go-back-nretransmission), ma le rendiamo visibili. Ovvero vengono indicati i buchi nella sequenza. Quindi se ilmittente sa gestire i sack puo spedire solo quello che serve. Cio garantisce un’ottima efficienza, macomplica il software lato destinatario oltre ad adottare un buffer piu grande.

4.6.7 Transaction Oriented TCP

Questo approccio va un po fuori dalla politica di adattamento. Infatti presuppone una modifica deltcp. E nata per rendere piu efficienti le interazioni di un certo tipo, in particolare quando lo scambio diinformazioni e breve in relazione alla fase di setup (three-way-handshake per setup e rilascio). In realta eun protocollo diverso perche le fasi di setup, trasferimento e rilascio vengono combinate (da 7 pacchetti,minimo a 3). In altre parole si combina la fase di setup e rilascio con i dati dell’utente. Cio generaefficienza ma la modifica al tcp non affronta comunque i problemi intrinsechi alla mobilita.

4.6.8 Confronto tra i diversi approcci

Approccio Meccanismo Vantaggi Svantaggi

i-tcp spezza una connessione isolamento del link perdita della semanticatcp in due connessioni wireless, semplice tcp, alta latenza per handoff

Snooping tcp “sbircia dati ed ack, trasparente per problemi con crittografia,ritrasmissione locale connessioni end-to-end cattivo isolamento del

possibile integrazione link wirelesscon mac

m-tcp suddivide in due una conserva la semantica cattivo isolamento delconnessione tcp, end-to-end, gestisce link wireless, overhead“soffoca” il mittente sconnessioni frequenti per gestione bandatramite cw e abbastanza lunghe

Fast retransmit/ evita slow-start dopo semplice ed efficace livelli mescolati,Fast recovery handoff non trasparenteTransmission/ congela lo stato di tcp indipendente da modifiche necessarie intime-out freezing al momento della contenuto e crittografia, tcp, dipende dal livello

sconnessione, lo funziona anche con macriesuma alla riconnessione interruzioni molto lunghe

Selective ritrasmette solo dati molto efficiente software piu complessoRetransmission mancanti al destinatario, necessario

buffer maggioreTransaction combina setup/rilascio efficiente per certe richiede cambi in tcp,oriented tcp con trasmissione dei dati applicazioni non trasparente

Problemi affrontati sono riassunti nella seguente tabella:

77

Page 81: SISTEMIINFORMATICIMOBILI - vinx.tuxfamily.orgvinx.tuxfamily.org/tutorial/appunti-sim.pdf · Indice 1 Introduzione 1 1.1 Da dove veniamo . . . . . . . . . . . . . . . . . . . .

Indirect m-tcp Snooping Fast Retransmit/ Selectivetcp tcp Fast Recovery Retrasmission

High ber � �

Bursty error �

Handoff � � � �

Long �

disconnectionsFrequent �

disconnectionsBandwidth �

Cell Size �

Power scarcity �

Serial timeouts � �

Packet sizevariationsEnd-to-end tcp � � � �

semanticsCompatibilty � � �

4.6.9 Miglioramenti a TCP per reti cellulari

Bisogna adattare l’attuale versione di tcp in modo tale che si adatti a convivere con bassi tassi di datie comunicazioni asimmetriche. Si potrebbero adottare i seguenti suggerimenti:

• grande sending window iniziale;

• grande mtu;

• sack;

• notifica esplicita della congestione;

• nessuna compressione dell’header.

Gia in uso su i-mode su foma e wap2.0. Notiamo che la larghezza di banda massima e calcolata secondola seguente formula:

bw ≤0.93mss

rtt√p

dove mss indica la dimensione massima del segemento, mentre p indica la probabilita di perdita.Si potrebbe introdurre pep che sta per performance enhancing proxies. pep e un’entita intermedia che pep

gestisce al meglio le due parti (fissa e mobile) del canale. In esso confluiscono piu idee su quelle viste.Inoltre bisogna considerare una notevole contraddizione tra i vari documenti ietf che trattano questaentita. Le sue caratteristiche sono le seguenti:

1. transport layer: ritrasmissione locale ed ack.

2. livello applicativo: content filtering, compression, picture downscaling, Internet/wap gateway.

Gli svantaggi di pep sono quelli di non garantire la modalita end-to-end e non garantisce la sicurezza.

78