Torna alla pagina di Protocolli avanzati di rete
:: Protocolli avanzati di rete - Appunti del 28 Aprile ::
Alcune immagini di questa pagina sono prese dalle slide del prof Damiani
Ripassone
Consideriamo la figura a destra, in cui abbiamo tre nodi di una rete wireless: A e C possono comunicare con B, ma non tra di loro. Vogliamo applicare un protocollo a contesa e limitare il numero di collisioni, cosa dobbiamo fare?
Dobbiamo utilizzare la coppia di segnali "Request to send
" e "Clear to send
", che fanno sì che la comunicazione dell'invio di un frame arrivi a tutto lo spazio di trasmissione del nostro MAC wireless; notare che su cavo tutto ciò è automaticamente garantito dal fatto stesso che le stazioni sono fisicamente attaccate sulla fibra. Vediamo come funzionano.
Se A vuole comunicare con B, gli manda prima una Request to Send
. C è fuori dalla portata di A e non vede la sua richiesta di mandare un frame, ma vedrà la Clear to Send
rilasciata da B e si asterrà dal trasmettere. Una volta che il frame è arrivato a destinazione viene rilasciato un ack, ed è proprio questa caratteristica connection oriented che mi dà conferma del buon esito della trasmissione.
La coppia di segnali Request to send e Clear to send non impediscono dunque che avvengano collisioni, semplicemente garantiscono che i frame o la loro richiesta arrivino a tutti i dispositivi che si trovano nel range del nostro MAC wireless.
L'ack è necessario perché nel wireless il rapporto segnale/rumore non è sempre sufficiente a garantire la riuscita della comunicazione a livello 1, e a livello 2 avremo bisogno di sapere se il frame è effettivamente arrivato o no. Nota bene: non è prevista ritrasmissione in caso di mancata ricezione dell'ack.
Ricapitolando, come migliorare la comunicazione wireless?
- se ci sono primari che disturbano la banda, la soluzione sono le tecniche di spread spectrum
- utilizzando il filtro di Viterbi e modulazioni opportune
- per gestire a livello MAC i frame che non arrivano o arrivano sbagliati, usiamo l'ack esplicito a livello 2
I primi due punti limitiamo la probabilità di errore su singolo bit (BER).
Nota di folklore: perché su ethernet non si usano ack? Perché la probabilità di errore su singolo bit è praticamente nulla, circa 10-12, quindi non vale la pena prendersi il disturbo.
Il livello 2 delle reti wireless non fa solo collision detection (quella che caratterizza i protocolli a contesa), ma anche collision avoidance. Quest'ultima ha un buon comportamento con reti a traffico pesante (infatti ha una greyful degradation), ma diventa meno efficiente su traffico leggero: l'esatto contrario della collision detection.
Le reti wireless sono generalmente un ibrido tra queste due soluzioni, quindi avremo bisogno di un arbitrato che decida quando fare una e quando fare l'altra. Come realizzarlo? Un semplice protocollo (inventato su due piedi) potrebbe prevedere la ripartizione del tempo: faccio per un po' detection e per un po' avoidance, misurando periodicamente il numero di collisioni così da poter ritoccare gli intervalli di tempo da dedicare ad ogni strategia. E' evidente che per poter implementare un arbitrato del genere bisogna fornire alle schede preposte metriche opportune e l'intelligenza per operarle. Il numero di collisioni non sono l'unica metrica possibile, un'altra è il costo energetico di ogni trasmissione. Facciamo un esempio: se non abbiamo abbastanza batteria non partecipiamo nemmeno nel protocollo a contesa, perché sprecheremmo tempo e carica senza garanzia di ottenere alcunché. Il protocollo Bluetooth è uno di quelli che fa valutazioni di questo tipo.
Concludiamo il "ripassone" osservando che quasi tutti i protocolli wireless di rete locale sono multifase, e per ciascuna fase il MAC si comporta in modo diverso; questa caratteristica garantisce alta flessibilità.
Architettura di rete wireless
Una rete wireless si inserisce nei primi tre livelli ISO/OSI. In particolare le MAN/LAN wireless nei primi due (fisico e datalink), mentre le WAN wireless anche nel livello di rete.
Una scheda di rete wireless dovrà fare fondamentalmente quattro cose:
- modulare il segnale, traducendolo dalla banda base a una forma analogica opportuna
- amplificare il segnale, aumentandone cioè la potenza
- verificare la presenza di errori o collisioni
- sincronizzare il segnale, andando a rilevare la portante
Consideriamo adesso l'antenna. Se propaga il segnale in tutte le direzioni si dice che è omnidirezionale, e data P la potenza irradiata ed r la distanza a cui si trova l'antenna ricevente, la potenza ricevuta è pari a: P / r2 . Ok, questo era il caso più teorico e semplice possibile, ma che succede se l'antenna è direzionale? La potenza ricevuta diventa pari a: (P / r2) * g(σ,Φ), dove σ è l'angolo di rotazione e Φ è l'angolo di inclinazione. Per alcune geometrie d'antenna è particolarmente semplice calcolare la g(σ,Φ), ad esempio in una sfera (in cui vale sempre 1) o in un cilindro.
Il vantaggio di avere un'antenna direzionale è che avrò maggior guadagno (cioè grado di amplificazione) su lunga distanza.
Quali sono i principali problemi legati alle reti wireless? In primo luogo la gestione della batteria, dato che la maggior parte dei dispositivi che la utilizzano sono mobili, e in secondo luogo il garantire l'interoperabilità di sistema, per cui l'unica strada possibile sono le standardizzazioni. Altro problema da non sottovalutare è quello della sicurezza, dato che con il wireless sono possibili due tipi di attacco: passivo (registrazione di onde radio da parte di terzi) o attivo (immissione di onde radio su reti di terzi). La rete fissa ha una sicurezza fisica molto più elevata, dato che posso accedervi solo se sono fisicamente allacciato alla rete; certo, tutto questo è vero a patto che la mia rete locale non sia collegata ad una WAN.
Continuiamo coi problemi: l'installazione. L'irradiazione del segnale non dipende solo dalla forma dell'antenna, ma è anche ostacolata dagli oggetti che si frappongono nella zona coperta, quindi dipende fortemente dalla topologia dell'ambiente. Ciò si traduce nell'impossibilità di poter garantire segnali equipotenziali su tutto un ambiente senza intervenire sulla forma delle antenne o (soprattutto) senza piazzarne più di una.
Concludiamo con la domanda: dato che stiamo parlando di banda delle microonde, e che io nel microonde scaldo e potenzialmente carbonizzo, ci sono rischi per la salute? Di quest'entità OVVIAMENTE NO, ma nemmeno effetti collaterali mooolto più ridotti sono riconducibili senza ombra di dubbio a reti oscillanti. Quindi la risposta è che non abbiamo prova che facciano male, e anche se lo facessero ne farebbero molto meno dei cellulari. Tiè.
Protocolli 802.11
Il protocollo 802.11 è uno standard della IEEE, e rappresenta un'estensione dello standard ethernet applicato alle connessioni wireless. Grazie ad esso è garantita l'interoperabilità tra diversi dispositivi e sono permesse sia comunicazioni peer-to-peer che asimmetriche di tipo master-slave (o client-server, o ricevitore-trasmettitore, ..).
La rete peer-to-peer non è la più diffusa dal momento che è la versione solo contesa, in cui tutti i nodi sono omogenei tra loro. L'altra configurazione prevede invece un master che faccia da arbitrato al protocollo, e questo dispositivo è chiamato access point. L'algoritmo che gira dentro quest'ultimo non è lo stesso dei peer, quindi non ho nodi tutti omogenei, quindi pur supportando i collegamenti punto-punto non è in generale un protocollo peer-to-peer, bensì ibrido. Vedi lo schema seguente:
Due osservazioni sullo schema sopra riportato:
- l'access point può benissimo avere un'interfaccia ethernet (anzi, nella maggior parte dei casi ce l'ha) a cui può allacciarsi una rete cablata
- esistono dei punti di estensione che fanno da ripetitore del segnale, e che devono essere legati in qualche modo a quello di accesso. Il protocollo 802.11 dovrà parlare anche di questo tipo di collegamento punto-punto
Torna alla pagina di Protocolli avanzati di rete