Reti_di_computer - Io, Informatico

Transcript

Reti_di_computer - Io, Informatico
www.tesseract.it
Io, Informatico
Un Viaggio consapevole tra Informatica e Computer
Capitolo 10
Comunicare: Reti di Computer
Carlo A. Mazzone
Tutti i diritti sono riservati. Nessuna parte di questa pubblicazione può essere riprodotta,
memorizzata in sistemi di archivio, o trasmessa in qualsiasi forma o mezzo, elettronico, meccanico,
fotocopia, registrazione o altri senza la preventiva autorizzazione dell'autore.
1 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Premessa
Capitolo 10 - Comunicare: Reti di Computer
Premessa
Se scrivo: www.tesseract.it la maggior parte dei lettori riesce quasi immediatamente a visualizzare
nella propria mente qualcosa che ha a che fare con un computer e più in particolare con Internet.
Chiunque negli ultimi anni abbia, almeno una volta, letto un giornale o seguito anche distrattamente
la televisione interpreta il prefisso www come sinonimo di internet. Oggi gli utenti che fanno uso di
questa “rete” per lavoro, svago (o spessissimo semplicemente per scaricare musica o film) sono un
numero enorme.
Finita l’era pionieristica in cui configurare una connessione di accesso remoto richiedeva complicati
passaggi e difficoltose configurazioni di modem e quant’altro necessario al collegamento, ormai,
quasi tutti i possessori di PC riescono a “navigare” quasi senza alcuno sforzo.
E’ questa una cosa sicuramente positiva anche se entro certi limiti l’eccessiva facilità di accesso alla
rete mette la rete stessa in “balia” di utenti inconsapevoli degli attuali problemi legati alla sicurezza
propria e a quella degli altri utenti.
Cerco di spiegarmi meglio: se, come molti fanno, è possibile paragonare la rete ad una grande
autostrada (informatica) è normale immaginarsi che per immettersi su tale autostrada, oltre che
pagare il pedaggio consistente nelle tariffe dei vari fornitori di accesso, si debba avere un minimo di
conoscenza di “guida”. Ciò è ovvio per evitare di danneggiare se stessi e gli altri. E’ forse
superfluo, in quanto abbastanza scontato, ricordare che il riferimento è a virus, intrusioni non
autorizzare relative ai propri dati sensibili ed a quant’altro legato alla sicurezza dei propri dati
personali.
Alla base di qualsiasi comportamento corretto in qualsiasi ambiente c’è sempre, ovviamente, la
conoscenza dell’ambiente stesso. Se non si riesce a distinguere con precisione un fungo da un altro
sarebbe abbastanza azzardato testarne la bontà mangiandoli direttamente senza chiedere lumi ad un
esperto. Se non conosco la provenienza di un file che mi è stato inviato sarebbe abbastanza
azzardato aprirlo senza chiedere lumi ad un antivirus aggiornato.
E’ ovvio che quest’ultimo paragone è relativo a chi vuole usare il PC come un semplice strumento
al quale demandare una serie di compiti (leggere una mail, visitare questo o quel sito). E’ altrettanto
ovvio per il lettore che questo testo vuole essere di ausilio anche per coloro che vogliono capire
meglio lo strumento stesso eventualmente modificandolo per renderlo più utile o anche più
interessante.
Ovvietà per ovvietà ciò richiede una conoscenza più dettagliata dello strumento e dell’ambiente in
cui lo strumento vive.
Premesso quanto c’era da premettere chi vuole mi segua nelle pagine che seguono.
2 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
E’ nella sua indole: la macchina vuole comunicare
E’ nella sua indole: la macchina vuole comunicare
Sin dai primi calcolatori elettronici c’è stato un
anelito di richiesta di comunicazione da parte
della macchina. All’inizio essa (o ella?)
cercava di rendere la comunicazione con il suo
operatore sempre più semplice; da iniziali
caricamenti di informazioni organizzati in
pacchi di schede perforate la macchina ha
successivamente “preferito” l’utilizzo di
sistemi più agili e comunicazioni più dirette.
ENIAC (Electronic Numerical Integrator And Calculator)
1946 uno dei primi computer della storia
Man mano che cresceva si è resa conto di poter
soddisfare più utenti contemporaneamente. Per
realizzare questo obiettivo aveva bisogno di far
si che tali utenti si connettessero al fine di
rendere disponibili le proprie capacità.
All’inizio la comunicazione avveniva attraverso semplici terminali che inviavano comandi e
leggevano i risultati restituiti. Man mano che si abbassavano i costi di produzione, tali terminali
diventavano delle unità indipendenti con proprie capacità di elaborazione che, oltre a sfruttare le
risorse della macchina centrale, potevano contribuire alla risoluzione di dati problemi.
Differenti utenti utilizzano un unico elaboratore
centrale
Nasceva la computazione distribuita e con essa le reti come le conosciamo oggi.
LAN, MAN, WAN: tutti insieme appassionatamente
La nozione di rete di computer dovrebbe essere nota a tutti: due o più macchine con possibilità di
dialogo reciproco. Per meglio classificare tali interconnessioni si fa riferimento a delle sigle che ne
descrivono l’ampiezza geografica.
Per LAN (Local Area Network) si intende una interconnessione di macchine in un limite di spazio
abbastanza contenuto come può essere una stanza, un appartamento o al più un edificio.
Quando questa interconnessione valica tali confini ci si riferisce ad essa con il termine MAN
(Metropolitan Area Network).
3 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
LAN, MAN, WAN: tutti insieme appassionatamente
Superato anche tale limite il termine utilizzato è WAN (Wide Area Network).
L’interconnessione può essere realizzata sia in senso strettamente fisico con una serie di cavi
elettrici a collegare le varie stazioni della rete (detti comunemente anche host) sia con connessioni
non fisiche come dispositivi radio. In ogni caso le varie macchine (e quindi i relativi operatori)
posso tra loro dialogare.
Come per ogni dialogo è necessario che ci si metta d’accordo su un linguaggio comune da
utilizzarsi al fine di rendere comprensibile lo scambio di informazioni. L’insieme dei linguaggi
utilizzati in tali contesti prende il nome di “protocolli”.
PAN e SAN: ci siamo anche noi
Il mondo informatico si muove a grande velocità: non si fa in tempo a digerire una serie di acronimi
che immediatamente nascono nuove esigenze, nuovi sistemi e quindi nuovi acronimi. Alla famiglia
di topologie di rete si sono aggiunte due nuove organizzazioni: PAN e SAN.
PAN, letteralmente Private Area Network, è una rete che utilizza la tecnologia wireless (senza fili)
per connettere un PC ad un dispositivo mobile. L'esempio più calzante è quello dei dispositivi
Bluetooth.
SAN, letteralmente Storage Area Network, è data dall'interconnessione di grandi array di dischi
(più dischi tra loro collegati per aumentare capacità di memorizzazione e possibilità di recupero dati
in caso di problemi hardware) con uno o più server. Generalmente tali interconnessioni sono
realizzate in fibre ottiche.
Tipologie di comunicazione: reti peer-to-peer e client-server
Nella comunicazione che avviene tra differenti macchine i ruoli giocano un fattore fondamentale. In
generale, si distinguono due situazioni principali.
La prima è quella in cui le diverse macchine coinvolte non hanno livelli di importanza diversi; tutte
sono alla pari e per tale motivo tale tipologia prende il nome di peer-to-peer.
Nel secondo caso si parla invece di rapporto cliente – servitore (client – server).
Il client è la macchina (ma più in generale lo specifico software su di essa presente) che richiede
uno specifico servizio ad un'altra macchina. Tale servizio, a puro titolo di esempio, può essere la
visualizzazione di una pagina web, lo scaricamento di un file musicale o l'invio di un messaggio di
posta elettronica.
Il server è la macchina (ma più in generale lo specifico software su di essa presente) che risponde
alle richieste effettuate dal client. Ad esempio, lo specifico server può fornire pagine web, rendere
disponibili file da scaricare o permettere il giusto instradamento al destinatario di un messaggio di
posta elettronica.
E' abbastanza ovvia la considerazione che su di una stessa macchina client possano essere presenti
più software di tipo client. Ad esempio, è più che normale possedere un programma per visualizzare
4 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Tipologie di comunicazione: reti peer-to-peer e client-server
pagina web (normalmente chiamato browser1 web) così come un programma per l'invio di posta
elettronica.
D'altra parte, su di una stessa macchina, possono essere presenti differenti software di tipo server.
Ad esempio, un software per erogare pagine web, così come un software per la gestione della posta
elettronica. Incidentalmente, faccio notare come i software di tipo server prendano spesso il nome
generico di “servizi” (services) o anche “demoni” (daemons).
Chiudo questa breve carrellata relativa al mondo client-server con una ulteriore considerazione; se i
termini client e server si riferiscono al software, è più che normale osservare come su di una stessa
macchina possano essere presenti contemporaneamente sia software di tipo client che software di
tipo server. D'altra parte, tuttavia, i software di tipo server devono essere ospitati su macchine con
una configurazione hardware di una certa potenza. Infatti, i server devono essere attivi 24 ore su 24
e soddisfare richieste anche contemporanee di differenti client. Ciò motiva il fatto che, in specifici
contesti, il termine server si riferisca direttamente a macchine hardware con peculiari caratteristiche
relativamente a potenza di calcolo, quantità di memoria, velocità e capacità dei dischi e resistenza ai
guasti.
Browser è un termine generico traducibile in italiano come “sfogliatore”. Si parla di browser web così come di
browser per i file quando si ha a che fare con utilità del tipo “Gestione risorse” in Windows.
1
5 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Da che parte? Simplex, Half-Duplex e Full-Duplex
Da che parte? Simplex, Half-Duplex e Full-Duplex
Uno degli aspetti fondamentali della comunicazione tra due enti è quello della direzione in cui si
realizza lo scambio di dati. Per semplificare, si può verificare che l'invio (trasmissione) dei dati
possa avvenire in una solo direzione (simplex) o in entrambe le direzioni (duplex). Si seguito,
supposta la presenza di due enti che vogliano comunicare, diciamo A e B, vi dettaglio i tre casi
possibili:
Simplex: La comunicazione può avvenire in una sola direzione, ad esempio da A verso B, ma non
viceversa. E' una situazione più comune di quanto non si possa immaginare; per farsene un'idea è
sufficiente pensare a dispositivi tipo i televisori, oppure quanto avviene con alcuni sistemi di
comunicazione Internet via satellite.
Half-duplex: La comunicazione può avvenire tanto da A verso B che da B verso A. Tuttavia ciò
non può verificarsi in contemporanea.
Full-duplex: banalmente, ultima possibilità, la comunicazione è bidirezionale e può essere anche
contemporanea: si riceve mentre si trasmette.
6 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Verso chi? Unicast, Broadcast, Multicast
Verso chi? Unicast, Broadcast, Multicast
Il tipo più semplice di comunicazione è rappresentato dalla
situazione per cui un host comunica in via esclusiva con un
altro host. Si parla in questo caso di comunicazione unicast
o, analogamente, punto-punto (end-to-end) .
Trasmissione unicast
Il caso opposto si ha quando un messaggio prodotto da
un host viene inviato a tutti gli altri host presenti nella
rete: si parla in questo caso di comunicazione di tipo
broadcast. Una analogia relativa a questo contesto può
essere immediatamente riscontrata in una trasmissione
di tipo televisivo: una singola sorgente invia lo stesso
messaggio a tutti i dispositivi capaci di interpretarlo.
Trasmissione broadcast
Esiste infine una situazione posta a metà strada tra le
due precedenti: multicast. In questa tipologia di
comunicazione il messaggio inviato dalla sorgente
viene indirizzato ad un sottoinsieme degli host
presenti in rete.
Trasmissione multicast
7 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Topologie fisiche
Topologie fisiche
E' intuitivo che la topologia non si riferisca allo studio di qualche tipo di roditore, bensì
all'organizzazione, in questo caso fisica, della rete, ovvero a come i vari host vengano fisicamente
collegati tra di essi. Da questo punto di vista si distinguono le seguenti organizzazioni:
•
•
•
•
bus
anello
stella
stella estesa
Bus
Nella topologia a bus tutte le singole macchine sono collegate mediante l'uso di un singolo cavo.
Configurazione fisica a bus
Tale metodologia comporta come naturale conseguenza che l'eventuale rottura del cavo implichi
l'impossibilità di comunicare per tutte le stazioni della rete. D'altra parte, la rottura di una singola
macchina non comporta problemi alle restanti stazioni; infatti, i singoli host non hanno
responsabilità relative alla comunicazione generale sull'intera rete. I punti finali del cavo devono
essere dotati di appositi terminatori per chiudere fisicamente il bus.
Anello - ring
Nella configurazione ad anello ogni stazione viene collegata a quella adiacente formando un vero e
proprio anello, in inglese ring.
In realtà, l'anello è una rappresentazione più logica che
fisica. Le macchine sono collegate tra di loro
attraverso appositi apparati noti con il termine di
MAU (Unità di accesso al messo fisico) che, in caso di
problemi ad una stazione, sono in grado di isolare
quest'ultima dalla rete al fine di impedire un blocco
totale della rete. L'ultima stazione si richiude sulla
prima formando l'anello fisico. In tale configurazione,
contrariamente a quanto accade nel caso del bus, le
stazioni svolgono un ruolo attivo rigenerando il
segnale di comunicazione.
Configurazione fisica ad anello
8 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Topologie fisiche
Stella
Nella configurazione a stella tutte le macchine sono
collegate ad un unico apparato che funge da controllore
delle comunicazioni. Tale apparato prende il nome di HUB
o SWITCH a seconda dei controlli che effettua sulle
comunicazioni in transito tra le macchine.
Configurazione fisica a stella
Stella estesa
La configurazione a stella estesa viene realizzata mediante l'interconnessione di differenti reti a
stella utilizzando hub oppure switch.
Configurazione fisica a stella estesa
9 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Topologie logiche
Topologie logiche
Vale la pena a questo punto della discussione fare qualche precisazione. Le prime due
organizzazioni che vi ho presentato, quella a bus e quella ad anello, hanno effettivamente fatto il
loro tempo. In generale, infatti, le moderne reti prevedono organizzazioni, variamente connesse,
organizzate a stella. Un'altra considerazione è relativa al fatto che la configurazione fisica di una
rete ne definisce solo un aspetto. Infatti, è fondamentale guardare all'aspetto logico, ovvero a come e
con quali regole avvengono gli scambi di messaggi sulla rete
Dal punto di vista logico si distinguono fondamentalmente due metodi diversi di accesso al canale
trasmissivo:
•
•
metodi token-passing
metodi a contesa
Ebbene, anche a tale proposito è bene fare fare una precisazione “storica”: il primo metodo, token
passing è ormai pressoché superato ed in uso solo in contesti molto particolari come ad esempio
quelli relativi a grosse organizzazione di solito di tipo bancario.
Accesso token-passing
Il metodo di accesso a token (letteralmente gettone), utilizzato di norma in organizzazioni fisiche ad
anello, prevede che una sola stazione per volta possa trasmettere sul canale in un dato momento.
Tale “privilegio” è concesso alle stazioni che si impossessano del token, uno speciale pacchetto di
dati che circola all'interno della rete per indicare che essa risulta in quel momento libera.
Quando una stazione ha necessità di trasmettere dei dati deve verificare che il token sia disponibile
sulla rete e rimuoverlo dalla rete stessa onde acquisire il diritto di trasmissione ed evitare al
contempo interferenze da parte di altre stazioni.
Una volta conclusa la trasmissione la stazione reinserisce il token in rete.
Accesso a contesa
Lo standard più diffuso nelle tipologie di accesso a contesa è sicuramente il CSMA-CD (CarrierSense Multiple Access with Collision Detection). Tale metodologia prevede che tutte le
comunicazioni avvengano sul medesimo canale. Il protocollo di comunicazione gestisce un
controllo in caso di contemporaneità delle trasmissioni (collisioni).
L'implementazione più utilizzata e standardizzata di tale tecnologia va sotto il nome di Ethernet.
Uno degli aspetti che più interessa in questo contesto è quello relativo all'indirizzo assegnato alle
singole schede di rete. Infatti, per comunicare sulla rete ogni scheda deve possedere un proprio
indirizzo (detto appunto indirizzo ethernet) che va normalmente anche sotto il nome di indirizzo
MAC (MAC address) dove MAC sta per Media Access Control. Altri appellativi sono: indirizzo
hardware o anche indirizzo fisico. Si tratta di un identificativo composto da 48 bit (6 byte)
universalmente diverso per ogni singola scheda di rete prodotta. Un tipico indirizzo fisico è
qualcosa del tipo: 00-06-7b-03-d8-0e. Come potete notare i sei byte vengono scritti in esadecimale,
due cifre esadecimali per ogni byte in quanto una singola cifra in base sedici rappresenta quattro bit.
10 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
“Sporchiamoci le mani” e realizziamo una rete reale
“Sporchiamoci le mani” e realizziamo una rete reale
Dopo tutte queste belle “chiacchiere” teoriche può essere utile, in linea con lo spirito di “Io,
Informatico” vedere come parte delle cose che abbiamo detto possano essere utilizzate per
realizzare una semplice rete locale.
Il primo aspetto riguarda il fatto che le macchine coinvolte
nella rete debbano possedere una scheda di rete. Per
semplicità ci rifacciamo al caso che tale scheda, ovvero
l'hardware che ci permette di comunicare all'esterno della
nostra macchina sia una scheda standard e non del tipo
senza fili (wireless). Una scheda di rete prende
normalmente il nome tecnico di NIC (Network Interface
Controller o anche network Interface Card).
Sebbene negli anni scorsi si siano usati vari tipi di
connettori,
attualmente
quelli
utilizzati
sono
Una tipica scheda di rete
essenzialmente quelli del tipo noto come RJ45. Gli altri,
ormai obsoleti, erano di tipo coassiale (simili al cavo antenna TV tradizionale) e venivano usati
prevalentemente in topologie a bus. Come già detto, invece, la topologia attuale prevede un
collegamento di tipo a stella. In realtà, prima di arrivare al collegamento a stella si può pensare di
collegare direttamente due sole macchine attraverso un unico
cavo che da una scheda di rete vada a collegarsi all'altra
scheda di rete presente nella seconda macchina. Il cavo per i
connettori RJ45 prevede otto fili colorati differentemente gli
uni dagli altri. I cavi possono essere acquistati già completi ed
assemblati oppure è possibile acquistare i singoli connettori e
procedere all'assemblaggio manuale sul cavo servendosi di
un'apposita pinza e seguendo un ben preciso schema per
quanto riguarda le connessioni da realizzare per i singoli fili
che compongono il cavo. Esistono due tipi di cavo: uno detto
flat in cui i singoli fili sono assegnati in maniera identica sui Un cavo di tipo RJ45
due connettori. Un altro, detto cavo cross, che consente di connettere tra di essi due dispositivi
senza usare hub o switch intermedi. Nella figura sono mostrati i due tipi di collegamento.
Cavo flat
Cavo cross
11 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
“Sporchiamoci le mani” e realizziamo una rete reale
Intuitivamente questo tipo di collegamento diretto è utile in casi abbastanza specifici in cui c'è la
necessità di scaricare grandi quantità di dati da una macchina ad un'altra. L'ovvio problema è infatti
dovuto al fatto che avendo occupati entrambi i connettori delle due schede di rete le macchine
risultano isolate su di una rete chiusa su se stessa.
Connessione diretta pc-pc tramite un singolo cavo di rete
Un sistema sicuramente più elastico, evoluto e funzionale prevede l'utilizzo di un dispositivo che
raccolga i cavi delle varie macchine e ne consenta così l'interconnessione. Il più semplice di questi
apparati è noto con il termine di HUB. Un hub dispone di un certo numero di porte al quale
collegare tali cavi.
Una rete a stella realizzata tramite hub
L'hub è uno strumento “passivo”, nel senso che si limita a collegare tra loro le varie macchine. Un
messaggio inviato da una macchina ad un'altra sarà “visibile” a tutte le macchine collegate all'hub.
Di norma, ovviamente, solo la macchina destinataria del messaggio si preoccuperà di recuperarlo
dalla rete.
Una evoluzione dell'hub è rappresentato dallo switch, un dispositivo estremamente simile all'hub
anche esteriormente ma con una grossa differenza: lo switch è un dispositivo attivo ed
“intelligente”. Esso è in grado di filtrare il traffico individuando il destinatario dei pacchetti. Solo
l'effettivo destinatario riceverà il pacchetto ad esso destinato ottimizzando così l'intero traffico.
Ovviamente i messaggi di tipo broadcast verranno inviati dal dispositivo verso tutte le macchine
collegate.
12 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Standard: ovvero mettiamoci d’accordo
Standard: ovvero mettiamoci d’accordo
Per mettere su una qualsiasi forma di comunicazione dobbiamo concordare una serie di fatti e
convenzioni che ci permetteranno di inviare informazioni al destinatario. Tali informazioni
dovranno essere interpretate dal destinatario dal quale dovremo di norma ricevere analoghe
informazioni di risposta per le quali dovremo ricostruire il significato che il mittente intendeva per
esse quando le ha spedite.
Lo standard OSI
Il logo dell'ISO
Nel campo delle reti un impulso fondamentale verso la
standardizzazione delle comunicazioni si è avuta grazie ad uno
standard proposto dall’ente noto come ISO (International
Organization for Standardization1) .
In realtà i formalismi di tale standard sono stati rispettati solo in parte per quanto riguarda le
implementazioni reali. Hanno comunque consentito di superare molti dei problemi legati al fatto
che ogni casa produttrice di hardware e software di comunicazione creava un proprio prodotto
compatibile solo con i propri.
Tale standard è noto con il termine di OSI (Open System Interconnection) ed è formalmente
organizzato in sette livelli ad ognuno dei quali è demandata una serie di funzionalità ben precisa.
La suddivisione per livelli delle varie funzionalità necessarie per la trasmissione dei dati assicura
innumerevoli vantaggi; tra tutti la possibilità di “modularizzare” e semplificare l'intero processo. Per
meglio comprendere gli aspetti positivi di una tale organizzazione è utile fare riferimento ai
differenti livelli “logici” che si possono individuare in una classica comunicazione tra esseri umani.
Il primo livello (il più “elevato”) lo possiamo identificare nell'ideazione e nel pensiero. E' appunto
in tale livello che partoriamo la conoscenza o, se volete, che prendiamo coscienza della realtà che ci
circonda.
Il secondo livello può essere individuato nel contesto del linguaggio. E' ovvio, infatti, che per poter
veicolare i concetti creati dalla nostra mente è necessario che questi vengano organizzati in una data
forma attraverso uno specifico linguaggio. Si realizza così un passaggio dal livello superiore (del
pensiero) a questo livello del linguaggio. La cosa interessante da notare è che non si è vincolati ad
1
ISO non è un acronimo ma deriva dalla parola greca isos che significa uguale ed in questo caso standard.
13 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Lo standard OSI
un unico linguaggio. E' banale infatti considerare che lo
stesso concetto può essere espresso in differenti lingue come
ad esempio quelle naturali: l'italiano, l'inglese, il cinese o
anche il klingoniano1.
Worf: uno dei più noti abitanti del pianeta
Klingon
Questa osservazione ci introduce al concetto di protocollo,
ovvero un insieme ben definito di regole al quale attenersi
per realizzare la comunicazione. In questo contesto, quindi,
un protocollo del livello del linguaggio può essere quello
della lingua italiana, un altro quello della lingua inglese e
così via.
Veniamo ora al terzo livello (ed ultimo) della nostra
rappresentazione: il livello del mezzo fisico. La necessità di tale livello risulta ovvia nel momento
in cui riflettiamo sul fatto che non è sufficiente organizzare il pensiero attraverso un dato linguaggio
ma che questo deve effettivamente e fisicamente essere trasferito verso la destinazione. Tale
trasferimento può avvenire sia tramite emissione di suoni (la nostra voce) sia in forma scritta (ad
esempio utilizzando fogli di carta ed una penna). Queste due diverse forme potrebbero quindi
rappresentare due differenti protocolli del livello fisico. Credo allora che a questo punto il quadro
della situazione dovrebbe risultare abbastanza chiaro: in questo ultimo livello possiamo far ricadere
tutti quei dispositivi e relative specifiche di utilizzo che consentono la trasmissione fisica dei dati,
dai fogli di carta, alle penne e matite, così come il nostro apparato vocale.
Ma siamo a metà dell'opera! Una volta posta la nostra comunicazione nel mezzo fisico questa dovrà
raggiungere la destinazione. Quest'ultima preleverà dal mezzo fisico (dal canale) i dati e con gli
strumenti propri del livello fisico presente nella destinazione. Nel caso del “protocollo voce” userà
l'apparato uditivo mentre nel caso in cui il mezzo fisico sia un foglio di carta la destinazione userà il
proprio apparato visico (gli occhi). Il frutto di tale elaborazione giungerà al secondo livello (quello
del linguaggio) che provvederà ad interpretare lo specifico protocollo (lingua inglese, italiana, …)
per trasferire poi il tutto al terzo livello per la comprensione del messaggio originario.
Compreso a questo punto il meccanismo generale dell'organizzazione in livelli vi presento in
dettaglio gli aspetti relativi agli specifici livelli dell'OSI.
I livelli del sistema ISO/OSI sono sette:
La pila di livelli ISO/OSI
1
Il klingoniano è la lingua dei Klingon, una specie extraterrestre umanoide della saga fantascientifica Star Trek.
14 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Lo standard OSI
Livello 7 – Applicazione
Il livello applicazione è il più alto tra i sette. Il nome però non deve trarre in inganno: esso non
contiene le applicazioni utente bensì le interfacce tra le applicazioni utente ed i servizi della rete.
Supponendo ad esempio che un programma per la gestione della posta elettronica (per citarne uno
estremamente conosciuto “Outlook Express”) debba prelevare una e-mail da un certo server di posta
esso genera una richiesta ad un servizio specifico del livello 7 il quale a sua volta inizializza una
sessione di comunicazione per ottenere i dati richiesti.
Protocolli tipici del livello applicazione sono:
•
•
•
•
•
HTTP (Hypertext Transfer Protocol): interconnessioni con siti web
FTP (File Transfer Protocol): trasferimento dati tra due host
NNTP (Network News Transfer Protocol): gestione NewsGroup
Telnet: controllo remoto
SMTP (Simple Mail Transfer Protocol), POP3, IMAP: gestione messaggi di posta
elettronica
Livello 6 – Presentazione
Il livello di presentazione è responsabile della codifica dei dati. In generale, sistemi diversi
utilizzano modalità di codifica dei dati differenti come ad esempio ASCII, EBCDIC oppure
Unicode. Tale livello ha quindi il compito di uniformare la rappresentazione di tali dati.
Oltre a questi compiti il livello presentazione si occupa di altre due funzionalità di estrema
importanza:
-
cifratura dei dati indispensabile nei casi di comunicazioni riservate (come le transazioni
economiche)
compressione dei dati al fine di massimizzare il flusso di informazioni trasferite
Livello 5 – Sessione
Il livello di sessione si preoccupa di gestire il flusso di dati tra due sistemi durante una specifica
sessione di comunicazione. Ad esempio esso determina se la comunicazione è monodirezionale
(simplex) oppure bidirezionale (duplex). In realtà le funzionalità di tale livello solo abbastanza in
disuso in quanto le applicazioni attuali reali tendono ad inglobare tali compiti nei livelli di trasporto.
In generale in tale livello sono inglobate anche funzioni relative alla sicurezza per garantire che ad
esempio due host siano autorizzati a dialogare tra loro.
Protocolli tipici del livello applicazione sono:
•
•
•
NFS (Network File System)
RPC (Remote Procedure Call)
X Window
15 - Io, Informatico – Carlo A. Mazzone – versione 20091114A
Lo standard OSI
Livello 4 – Trasporto
Il livello di trasporto è responsabile della integrità della trasmissione tra i due punti terminali della
comunicazione. Esso è capace di attuare tale controllo anche oltre i limiti della rete locale riuscendo
a determinare ad esempio pacchetti di dati scartati dai router (i nodi che si occupano di instradare i
pacchetti da una rete ad un’altra) e quindi a ritrasmetterli.
Protocolli tipici del livello applicazione sono:
•
•
TCP (Transmission Control Protocol)
UDP (User Datagram Protocol)
Livello 3 – Rete
IL livello di rete è responsabile dell’individuazione del percorso tra l’origine e la destinazione della
comunicazione.
Protocolli tipici del livello applicazione sono:
•
•
IP (Internet Protocol): instradamento dei dati
ICMP (Interne Control Message Protocol): gestione degli errori e controllo dei messaggi
Livello 2 – Collegamento Dati
Il livello di collegamento dati è di fondamentale importanza in quanto si occupa della validazione
dei dati trasmessi tra la sorgente e la destinazione. Sul lato del trasmittente il protocollo del livello
in questione si preoccupa di “impacchettare” i dati in appositi contenitori detti frame (in italiano
trame). Un frame è una struttura propria del livello di collegamento dati e contiene informazioni
sufficienti a far si che la destinazione possa ricevere i dati stessi.
Livello 1 – Fisico
Il livello fisico ha la responsabilità di gestire il vero e proprio flusso di bit occupandosi quindi della
conversione tra bit e segnali.
16 - Io, Informatico – Carlo A. Mazzone – versione 20091114A