Archivi per la categoria ‘Tecnologia’

Reti personali: WiFi vs Bluetooth

Venerdì, 19 Settembre 2008

Si sa, WiFi è per la connessione di rete, Bluetooth per le periferiche. Reti locali (WLAN) da una parte e reti personali (PAN) dall’altra. WiFi è supportato da tutti i PC portatili, Bluetooth da telefonini e periferiche wireless.

Ma se un PC ha già la scheda WiFi, potrebbe usarla anche per comunicare con le proprie periferiche? Gli ostacoli sono due:

  1. la stessa scheda di rete non puo’ essere usata contemporaneamente per la connessione di rete e per comunicare in modo diretto con mouse, tastiera e auricolare
  2. le schede WiFi consumano troppo per essere installate su periferiche ultraportatili

A superare entrambi gli ostacoli ci ha pensato Ozmo Devices. La soluzione al primo problema è un nuovo driver che permette di usare la stessa scheda di rete WiFi per entrambi gli scopi, la soluzione al secondo problema è il dynamic power management. Il risultato, detto low-power WiFi PAN, è stato presentato in agosto all’Intel Developer Forum.

I primi prodotti saranno disponibili nel 2009. Avranno successo? Dalla loro ci sono’ la compatibilità con gli standard WiFi già supportati dai PC in commercio e la maggior disponibilità di banda rispetto a Bluetooth. Contro c’è la diffusione di periferiche Bluetooth (si stima siano miliardi quelle già in uso). Nel frattempo anche Intel sta lavorando nella stessa direzione.

Riferimenti:

Routing in Costa Azzurra

Giovedì, 28 Agosto 2008

Approfitto della splendida ambientazione scelta dagli organizzatori di SENSORCOMM-08 per caricare sul blog un video un po’ più accattivante del solito. In realtà non è solo un pretesto, ma un’antcipazione: dopo la piscina il video inquadra il computer su cui gira la simulazione di un nuovo algoritmo di routing a cui stiamo lavorando e di cui tornero’ a parlare piu’ avanti. L’idea su cui si basa sarà presentata domani al convegno ed è descritta sugli atti di cui riporto un estratto.

Riflessi sullo schermo insieme a me (da sinistra), si vedono Andrea e Saverio. C’è anche Lele, ma non compare perchè è rimasto a presidiare l’ufficio mobile che abbiamo allestito vicino ad una presa elettrica ai tavoli di Le Ciel, Le Soleil e la Mer. L’alimentazione elettrica non è ancora wireless malgrado gli sforzi del MIT

Per completezza di informazione, l’ambiente di simulazione che compare nel video è OMNeT++.

Riferimenti:

Gli strati di Internet

Domenica, 24 Agosto 2008

Abbiamo già parlato del modello ISO/OSI e dei vantaggi della stratificazione e dell’incapsulamento. Internet non adotta il modello OSI, ma è comunque basata su un modello a strati, comunemente detto TCP/IP. Le ragioni per cui Internet usa un diverso modello di riferimento sono innazitutto storiche: Internet è nata prima che venisse formalizzato il modello OSI e sarebbe quindi più corretto dire che è l’OSI a non modellizzare adeguatamente il TCP/IP.

Dal punto di vista pratico ci sono due differenze principali tra ISO/OSI e TCP/IP. La prima è che OSI è un modello di riferimento astratto, mentre il secondo è un’architettura di rete orientata ai protocolli. E’ emblematico che il modello prenda il nome proprio dai suoi protocolli principali: Transmission Control Protocol (TCP) a livello trasporto, e Internet Protocol (IP) a livello rete o internetworking.

La seconda differenza è che Internet ha un numero minore di strati. Volendo allineare gli strati ISO/OSI con gli strati TCP/IP si nota l’accorpamento del livello fisico e data link in un unico livello (detto semplicemente link, o anche host to network), e l’assenza dei livelli sessione e presentazione. L’accorpamento dei primi due livelli è dovuta al fondamentale disinteresse del modello TCP/IP verso tutto cio’ che sta sotto al livello di rete, a cui si richiede di offrire un canale adeguato alla trasmissione di pacchetti IP senza porre vincoli all’eventuale ulteriore stratificazone dei protocolli che lo implementano. I livelli 5 e 6 sono invece assenti perchè ritenuti inessenziali.

La numerazione degli strati comunemente adottata è comunque quella del modello OSI, cosicchè i protocolli di rete sono detti “di livello 3″, quelli di trasporto “di livello 4″, quelli applicazione “di livello 7″ (piu’ raramente di livello 5) e quelli link “di livello 2″ (fatte salve le eventuali sotto-stratificazioni proprie dei protocolli adottati).

Il ruolo dei 4 livelli dello stack TCP/IP puo’ essere sommariamente descritto con riferimento alla comunicazione tra due computer (host) collegati ad una rete i cui nodi intermedi sono detti router. I due host non sono direttamente connessi, e per comunicare devono inviarsi dati lungo cammini che attraversano uno o più router. Chiamiamo A l’host che trasmette e B l’host che spedisce. La rete composta dai soli router è detta subnet.

L’applicazione che gira su A produce i dati e li invia a B lungo un canale virtuale creato dai protocolli di livello inferiore. L’applicazione che gira su B riceve i dati.

Il protocollo di trasporto che gira su A suddivide i dati in pacchetti adatti alla trasmissione in internet e li affida al livello inferiore, mentre quello che gira su B riceve i pacchetti e li riassembla.

Il protocollo di internetworking che gira su A prende ogni pacchetto di dati e decide a quale router inoltrarlo per poterlo alla fine consegnare a B. Il protocollo che gira su B riceve i pacchetti, ne verifica la correttezza e li passa allo strato di trasporto. I protocolli di internetworking che girano sui router intermedi ricevono i pacchetti, ne verificano la correttezza e decidono a quale altro router inviarli per raggiungere la destinazione. In pratica il livello internetworking ha due funzioni principali: routing (o instradamento) e verifica di integrità.

I protocolli di link si incaricano di gestire il collegamento diretto tra nodi adiacenti della rete, garantendo per quanto possibile la corretta trasmissione dei pacchetti. Come già detto il modello TCP/IP è prevalentemente focalizzato sui livelli internet e trasporto, e affida il livello link (o host to network) a qualsiasi protocollo in grado di garantire il collegamento degli host alla rete e l’inivio di pacchetti IP. Tipicamente i protocolli che realizzano lo strato link sono ulteriormente tratificati in due o più livelli: data link logico, MAC, fisico.

Riferimenti:

Astrazione e incapsulamento: la rete a strati

Lunedì, 14 Luglio 2008

Il modello di riferimento delle architetture di rete è il modello ISO/OSI. OSI sta per Open Systems Interconnection, ed è il modello standard, mentre ISO sta per International Ogranization for Standardization, ed è l’organizzazione che lo ha emanato. Il modello è stato formalizzato nell’83, come esito dei lavori di un comitato istituito nel 1977, ed è a tutt’oggi un riferimento prezioso, benchè ad esso non siano direttamente ispirate le reti che comunemente utilizziamo, Internet compresa.

Il maggior merito del modello ISO/OSI è quello di aver introdotto alcuni concetti fondamentali dell’architettura delle reti legati alla stratificazione dei servizi. Il modello identifica 7 strati (o livelli) che nascondono il mezzo fisico che mette in comunicazione due computer (host). Ogni livello svolge determinate funzioni e offre servizi al livello superiore, creando un canale virtuale sempre più astratto e affidabile. Il componente (hardware o software) che implementa un determinato livello comunica con il componente di livello omologo dell’altro host (detto peer) utilizzando un protocollo comune e avvalendosi del canale virtuale di livello inferiore, di cui conosce solo l’interfaccia.

Modello ISO OSI

Il modello specifica i servizi svolti da ogni livello e la loro interfaccia, ma non specifica i protocolli che i peer devono utilizzare per comunicare tra loro, nè il modo in cui i protocolli devono essere implementati sugli host.

Come funziona il modello a strati?

I dati da trasmettere sono una sequenza di bit che l’utente affida ad un’applicazione di rete (web browser, mailer, ftp, …) che implementa un protocollo di livello “applicazione” per gestire la comunicazione. Lo strato applicazione incapsula i dati in un pachetto a cui aggiunge l’indirizzo di destinazione e dei bit di controllo (specifici del protocollo di livello applicazione) che verranno inetrpretati dal suo strato omologo (peer) sul computer di destinazione. Il pacchetto cosi’ formato è passato allo strato inferiore, che lo incapsula a sua volta in un pacchetto a cui aggiunge bit di controllo propri del suo protocollo (detti header se aggiunti in testa, tail se aggiunti in coda) e destinati al suo omologo.

In pratica è come se ogni strato inserisse il messaggio in una busta via via più grande, con la finestrella trasparente per mostrare l’indirizzo, o con l’indirizzo trascritto sopra. Sulla busta srive informazioni di controllo utili alla gestione della comunicazione e indipendenti dal contenuto e la passa allo strato inferiore, che si comporta allo stesso modo. Arrivati al livello più basso la busta viene finalmente inoltrata e recapitata al destinatario specificato nell’indirizzo (eventualmente passando attarverso nodi di smistamento intermedi, router). Sul computer di destinazione la busta attraversa gli strati dal basso verso l’alto. Ogni strato legge le informazioni di controllo scritte sulla busta e si comporta di conseguenza, quindi apre la busta e consegna il contenuto (una busta più piccola) allo strato superiore. L’ultimo strato consegna i dati all’utente. Questa descrizione è semplicistica, ma per le considerazioni che seguono puo’ bastare.

Quali sono i punti di forza del modello?

1. La stratificazione dei servizi di rete (ogni livello gestisce uno specifico aspetto della comunicazione)

2. L’astrazione (ad ogni livello sono nascosti tutti i dettagli implementativi di livello inferiore, fino ad arrivare al livello più alto, “applicazione”, dove il canale è completamente astratto)

3. La standardizzazione dell’interfaccia tra i livelli (se si rispettano gli standard all’interfaccia l’implementazione di ogni livello può essere modificata in modo indipendente dagli altri)

4. L’indipendenza dai protocolli tra peer (il modello OSI è un’architettura di riferimento indipendente dai protocolli, che non sono altro che accordi tra i peer necessari per implementare i servizi di rete di un determinato strato)

5. L’incapsulamento dei dati (tutto ciò che uno strato prende in consegna dai livelli superiori è detto payload e viene gestito a scatola chiusa)

Queste caratteristiche, oltre ad essere essenziali per lo sviluppo di una rete globale e delle applicazioni che ci girano sopra, hanno molto a che fare con il principio di neutralità.

Riferimenti:

  • In rete si trova anche l’articolo del 1980 con cui Hubber Zimmermann ha presentato i risultati prodotti dal gruppo di lavoro OSI sotto la sua direzione.