
|
Reti di Calcolatori
Una rete
di calcolatori è un sistema che permette la condivisione
d’informazioni e
risorse
(sia hardware
che software)
tra diversi calcolatori.
Il sistema fornisce un servizio di trasferimento d’informazioni a
una popolazione d’utenti distribuiti su un'area in parte ampia.
Le
reti di calcolatori generano traffico di tipo fortemente impulsivo, a
differenza del telefono,
e per questo ha dato origine, e usano tuttora, la tecnologia della commutazione
di pacchetto.
Commutazione Di Pacchetto
La commutazione
di pacchetto
è una tecnica di accesso
multiplo a ripartizione nel tempo,
utilizzata per condividere un canale di comunicazione tra più
stazioni in modo non deterministico, utilizzata generalmente per
realizzare reti
di calcolatori.
Si distingue dalla commutazione
di circuito,
che è tipicamente usata nelle comunicazioni telefoniche.
Tali
tecniche non comportano l'attivazione di una linea di comunicazione
dedicata fra un elaboratore ed un altro, ma consentono lo svolgimento
simultaneo di più comunicazioni fra computer, massimizzando così
l'utilizzazione dei mezzi trasmissivi impiegati.
Rete
/ Mainframe
La
costruzione di reti di calcolatori può essere fatta risalire alla
necessità di condividere le risorse di calcolatori potenti e molto
costosi (mainframe).
La tecnologia delle reti, e in seguito l'emergere dei computer
personali a basso costo, ha permesso rivoluzionari sviluppi
nell'organizzazione delle risorse di calcolo.
Si
possono indicare almeno tre punti di forza di una rete di calcolatori
rispetto al mainframe
tradizionale:
Tuttavia
una rete ha alcuni punti deboli rispetto ad un mainframe:
-
Scarsa sicurezza: un malintenzionato può avere accesso
più facilmente ad una rete di computer che ad un mainframe: al limite
gli basta poter accedere fisicamente ai cablaggi della rete. Inoltre,
una volta che un worm abbia infettato un sistema della rete, questo si
propaga rapidamente a tutti gli altri e l'opera di disinfezione è molto
lunga, difficile e non offre certezze di essere completa;
-
alti costi di manutenzione: con il passare del tempo e
degli aggiornamenti, e con l'aggiunta di nuove funzioni e servizi, la
struttura di rete tende ad espandersi e a diventare sempre più
complessa, e i computer che ne fanno parte sono sempre più eterogenei,
rendendo la manutenzione sempre più costosa in termini di ore
lavorative. Oltre un certo limite di grandezza della rete (circa 50
computer) diventa necessario eseguire gli aggiornamenti hardware e
software su interi gruppi di computer invece che su singole macchine,
vanificando in parte il vantaggio dei bassi costi dell'hardware.
Tipi
di reti
Esiste
una grande varietà di tecnologie di rete e di modelli organizzativi,
che possono essere classificati secondo diversi aspetti:
CLASSIFICAZIONE
SULLA BASE DEL’ESTENSIONE GEOGRAFICA
Secondo
l’estensione geografica, si distinguono diversi tipi di reti:
-
Si parla di rete personale o PAN (Personal Area Network)
se la rete si estende intorno all'utilizzatore con un’estensione
d’alcuni metri
-
Si parla di rete locale o LAN (Local Area Network) se la
rete si estende all'interno di un edificio o di un comprensorio, con
un’estensione entro alcuni chilometri
-
Si parla di rete senza fili o WLAN (Wireless Local Area
Network), se la rete locale è basata su una tecnologia in radio
frequenza (RF), permettendo la mobilità all'interno dell'area di
copertura, solitamente intorno al centinaio di metri all'aperto
-
Si parla di rete universitaria o CAN (Campus Area
Network),
intendendo la rete interna ad un campus universitario, o ad un insieme
d’edifici adiacenti, separati tipicamente da terreno di proprietà dello
stesso ente, che possono essere collegati con cavi propri senza
presentare ricorso ai servizi d’operatori di telecomunicazioni. Tale
condizione facilita la realizzazione di una rete d’interconnessione ad
alte prestazioni ed a costi contenuti.
-
Si parla di rete metropolitana o MAN (Metropolitane Area
Network) se la rete si estende all'interno di una città
-
Si parla di rete geografica o WAN (Wide Area Network) se
la rete si estende oltre i limiti indicati precedentemente.
CLASSIFICAZIONE
IN BASE
AL CANALE TRASMISSIVO
Reti
Locali
Le
reti locali vengono realizzate tipicamente utilizzando un sistema di
cablaggio
strutturato con cavi UTP
in categoria 5 o superiore, che serve uno o più edifici utilizzati
tipicamente da una stessa entità organizzativa, che realizza e
gestisce la propria rete, eventualmente con la cooperazione di
aziende specializzate.
In
molti casi, il cablaggio è complimentato o sostituito da una
copertura wireless.
Le
LAN
vengono realizzate soprattutto con la tecnologia Ethernet, e
supportano velocità di 10/100 Mega bit/s, o anche 1 Giga bit/s, su
cavi in rame dalle caratteristiche adeguate (CAT5 o superiore), o su
fibra ottica.
Reti
pubbliche - Distribuzione
Le
reti pubbliche sono gestite da operatori del settore, e offrono
servizi di telecomunicazione a privati ed aziende in una logica di
mercato.
Per
poter offrire servizi al pubblico, è necessario disporre di
un’infrastruttura di distribuzione che raggiunga l'intera
popolazione.
Per
ragioni storiche, la gran parte delle reti pubbliche è basate sul
doppino
telefonico
(dette anche POTS,
Plain
Old
Telephone
System).
Questa tecnologia era stata studiata per supportare il servizio di
telefonia analogica, ma data gli alti investimenti che sarebbero
necessari per sostituirla è stata adattata al trasporto di dati
mediante diverse tecnologie:
-
I modem per codificare segnali digitali sopra le comuni
linee telefoniche analogiche. Il grande vantaggio di questa tecnologia
è che non richiede modifiche alla rete distributiva esistente. Sono
necessari due modem ai due capi di una connessione telefonica attiva
per stabilire una connessione. Molti fornitori di servizio offrono un
servizio di connettività Internet via modem mediante batterie di modem
centralizzate. La velocità è limitata a circa 56 Kbit/s, con l'adozione
di modem client e server che supportano la versione V92 dei protocolli
di comunicazione per modem. Questo protocollo incorpora funzioni di
compressione del flusso di bit trasmesso, quindi la velocità effettiva
dipende dal fattore di compressione dei dati trasmessi.
-
Le reti ISDN trasmettendo dati e voce su due canali
telefonici in tecnologia digitale. Mediante appositi adattatori, è
possibile inviare direttamente dati digitali. La tecnologia ISDN è
ormai molto diffusa nei paesi sviluppati. Usandola per la trasmissione
di dati, arrivano ad una velocità massima di 128kBit/s, senza
compressione, sfruttando in pratica due connessioni dial-up in
parallelo, possibili solo con determinati provider. La velocità su un
singolo canale è invece limitata a 64kBit/s. Ci sarebbe un terzo canale
untilizzato per il segnale ma non per la comunicazione con una capacità
di 16Kbit/s (Esso non viene mai utilizzato per i dati).
Utilizzando
modem analogici o ISDN, è possibile stabilire una connessione dati
diretta tra due qualsiasi utenze della rete telefonica o ISDN
rispettivamente.
-
La tecnologia ADSL (Asymmetric Digital Subscriber Line)
utilizza una porzione della banda trasmissiva disponibile sul doppino
telefonico dalla sede dell'utente alla centrale telefonica più vicina
per inviare dati digitali. È necessaria l'installazione di nuovi
apparati di commutazione nelle centrali telefoniche, chiamati DSLAM, e
l'utilizzo di filtri negli impianti telefonici domestici per separare
le frequenze utilizzate per la trasmissione dati da quelle per la
comunicazione vocale. La loro diffusione sul territorio è limitata dai
costi, che la rendono conveniente solo nelle aree maggiormente
sviluppate. Durante la connessione tramite ADSL è possibile continuare
a utilizzare il telefono in quanto le frequenze della voce e dei dati
non si sovrappongono. Questa tecnologia è inoltre chiamata Asimmetric
in quanto le velocità di download e di upload non sono uguali: in
Italia sono tipicamente pari a 4 Mbit/s in download e 512 Kbit/s in
upload, ma per certi abbonamenti la velocità di download può arrivare
anche a 12 Mbit/s, o anche 24 Mbit/s, usando tecnologie di punta come
ADSL2+ e reti di distribuzione in fibra ottica di ottima qualità. Il
doppino di rame presenta l'inconveniente di attenuare i segnali, e non
permette il funzionamento di questa tecnologia per distanze superiori
ai 5 km circa. In alcuni casi è anche possibile un'ulteriore riduzione
della distanza massima dovuta a interferenze esterne che aumentano la
probabilità d'errore. Un'altra limitazione importante è data
dall'interferenza "interna", che si verfica quando molte utenze
telefoniche sullo stesso cavo di distribuzione utilizzano il servizio
ADSL. Questo fa si che non si possa attivare il servizio ADSL su più di
circa il 50% delle linee di un cavo di distribuzione.
ADSL
è l'ultimo sviluppo sull'infrastruttura esistente di doppino
telefonico.
Per
superare queste velocità, l'infrastruttura di distribuzione basata
sul doppino dovrà essere sostituita da supporti fisici più
performanti.
Tra
i candidati a sostituire il doppino per la distribuzione domestica
dei servizi di telecomunicazioni, si possono citare:
-
Le fibre ottiche:
-
Le infrastrutture della TV via cavo (diffusa soprattutto
negli USA)
-
Il trasporto di dati sulla rete elettrica o nelle
condutture del gas.
-
Le reti wireless
-
Le reti satellitari (che però sono tipicamente
unidirezionali, dal satellite alla casa dell'utente, mentre il canale
di ritorno deve essere realizzato con altre tecnologie, spesso su
doppino telefonico.
Reti
di trasporto
Capacità
ancora superiori sono necessarie per trasportare il traffico
aggregato tra le centrali di un operatore di telecomunicazioni.
Con
tecnologie più costose, tipicamente utilizzate dai providers
(gestori), si raggiungono velocità di 40 Giga bit/s per il singolo
link su fibra ottica.
Su
una singola fibra è poi possibile inviare molteplici segnali
attraverso una tecnica di multiplazione chiamata (Dense) Wave
Division Multiplexing (WDM), o Multiplazione di Lunghezza d'Onda, che
invia segnali ottici differenti a diverse lunghezze d'onda (in gergo,
colori).
Il numero di segnali indipendenti trasportabile va dai 4 o 16 dei
relativamente economici impianti (Coarse) WDM alle centinaia degli
impianti DWDM più avanzati.
CLASSIFICAZIONE
IN BASE ALLA LORO TOPOLOGIA
Esistono
due topologie principali, in base alla tecnologia assunta come norma
per il trasferimento dei dati: reti
punto a punto
e reti
broadcast.
Le
reti punto
a punto
(point-to-point)
consistono in un insieme di collegamenti tra coppie di elaboratori,
che formano grafi
di vario tipo (stella, anello, albero, grafo completo, anelli secanti
ecc.). Per passare da una sorgente ad una destinazione,
l'informazione deve attraversare diversi elaboratori intermedi. I
protocolli di routing gestiscono le strade che i dati devono seguire
per arrivare correttamente a destinazione. Il routing è l'insieme
delle problematiche relative al corretto ed efficace instradamento
sulla rete dei dati.
Le
reti broadcast
invece sono formate da un unico mezzo fisico condiviso da più
elaboratori, dove i messaggi inviati da un elaboratore vengono
ricevuti da tutti gli altri. All'interno del messaggio vi è una
parte relativa all'indirizzo del destinatario, in modo che tutte le
altre macchine in ascolto possano scartare il messaggio in arrivo.
Alcune reti prevedono indirizzi speciali di tipo broadcast
e multicast.
Il broadcast permette di inviare messaggi a tutte le stazioni
collegate al mezzo fisico, mentre il multicast permette di farlo solo
ad un gruppo di stazioni, ma non a tutte. Un esempio di una tale rete
è la comunissima Ethernet.

Le
moderne reti broadcast sono realizzate con una topologia fisica a
stella
(point-to-point), in cui tutti gli elaboratori sono connessi ad un
punto di concentrazione, dove un apparato attivo (switch
o hub)
crea l'illusione che siano tutti connessi allo stesso mezzo fisico.
Talvolta si usa definire questi apparati centrostella,
appunto perché si trovano al centro della rete a stella.
Le
reti di calcolatori si basano su una multiplazione
dinamica a commutazione di pacchetto, a differenza delle reti
telefoniche che invece utilizzano una multiplazione statica a
commutazione di circuito. Tra le reti a commutazione di pacchetto
però è fondamentale operare una distinzione tra:
Nelle
reti
con connessione,
i percorsi che il pacchetto seguirà attraverso la rete sono
prestabiliti e sono sempre gli stessi (si veda la vicinanza, sotto
questo punto di vista, alle reti a commutazione di circuito), e si
basano su un canale, stavolta non fisico (come nelle reti
telefoniche) ma "virtuale". Per comprendere meglio il
concetto di canale virtuale si pensi a due elaboratori A e B che
devono comunicare tra loro. A e B all'interno della rete non sono
collegati tra loro, quindi è necessario che i pacchetti attraversino
degli elaboratori intermedi. Prima dell'effettivo scambio dei dati
però tra A e B viene creato un
percorso prestabilito
chiamato canale virtuale.
Esempi particolarmente calzanti di reti orientate alla connessione
sono le reti a commutazione di cella ATM
o le reti Frame
Relay
e Frame
Relay SE
(Switch). I vantaggi di una rete siffatta stanno ovviamente nella
qualità del servizio.
Nelle
reti
a commutazione senza connessione(o
datagram),
i percorsi che i pacchetti tenderanno a seguire non sono (e non
possono) essere prestabiliti a priori, ma dipendono da una serie di
fattori. Un esempio classico di rete a commutazione di pacchetto
senza connessione è l'IP. Come sappiamo nelle reti TCP/IP il TCP
dell'elaboratore A si collega direttamente al corrispondente servizio
dell'elaboratore B. Quindi a livello di trasporto c'è connessione e
quindi controllo sulla qualità del servizio e sulla congestione
della rete. Cosa che non accade a livello network. Il router
dell'elaboratore A affida i pacchetti al router successivo indicato
nella sua tabella di routing. Dopodiché, si disinteressa totalmente
dell'ulteriore percorso che il pacchetto dovrà seguire all'interno
della rete. Questo potrebbe sembrare un male, ma così non è,
proprio per via di questa divisione di compiti tra il layer di
trasporto e quello network.
Sezione
di una rete
In
ogni rete di grandi dimensioni (WAN), è individuabile una sezione
di accesso
e una sezione
di trasporto.
La sezione
di accesso
ha lo scopo di consentire l'accesso alla rete da parte dell'utente, e
quindi di solito rappresenta una sede di risorse indivise
(Si pensi ai collegamenti ADSL commerciali: La porzione di cavo che
ci collega alla centrale è un doppino telefonico, utilizzato
esclusivamente dall'abbonato). La sezione di accesso altresì
comprende tutti quegli strumenti idonei a consentire l'accesso alla
rete. Quindi possiamo distinguere vari tipi di accesso:
"Residenziale" (Classica linea a 56Kbit/s, linea
ISDN/ADSL), "Business" (Rete Locale dell'azienda e Gateway
o Proxy che consente l'accesso all'esterno), "Mobile" (si
pensi ad esempio al GSM, che consente un acesso basato su una rete a
radiofrequenza con copertura "cellulare"), o "Wireless".
La sezione
di trasporto
è quella che ha il compito di trasferire l'informazione tra vari
nodi di accesso, utilizzando se è necessario anche nodi di transito.
È sede quindi di risorse condivise
sia di trasporto dati che di elaborazione. Dal punto di vista
strutturale, una rete di trasporto è costruita quasi esclusivamente
attraverso fibre ottiche (es. Backbone).
L'importanza
degli standard
Gli
standard
de
iure
e de
facto
aiutano a gestire le reti aziendali multiprotocollo. I più
importanti enti
di standardizzazione
per le reti di computer sono: CCITT,
ITU,
ISO,
ANSI
e IEEE.
Di
particolare impatto è l'OSI
(Open
System
Interconnection),
un progetto ISO risalente alla fine degli anni
'70,
che si propone come modello di riferimento per le reti. Esso presenta
un approccio a 7 livelli (layers),
con una serie di protocolli
che si inseriscono ai vari livelli. I livelli 1 (Livello
fisico)
e 2 (Livello
Data Link)
sono ormai standard, mentre per gli altri 5 ci sono protocolli
che esistono da tempo e gli standard faticano ad imporsi.
Principali
componenti di una rete
Computer
Blue
Gene,
macchina di grandi dimensioni, con potenze di calcolo dell'ordine del
Petaflops,
in un centro di ricerca (High
Energy Accelerator Research Organization, KEK)
Un
computer,
dal latino
computare
(calcolare) attraverso l'inglese,
to
compute
(calcolare), anche detto calcolatore,
elaboratore,
oppure ordinatore,
è un dispositivo fisico che implementa il funzionamento di una
macchina
di Turing.
Questa
definizione, sebbene rigorosa, non dice molto su quello che in
pratica un computer è o può fare: eseguire operazioni logiche, come
calcoli numerici. Dalla nascita della struttura più elementare, in
seguito si sono sviluppati molti tipi diversi di computer, costruiti
e specializzati per vari compiti. Essi vanno da macchine che
riempiono intere sale, capaci di qualunque tipo di elaborazione, a
circuiti
integrati
grandi pochi millimetri che controllano minirobot
e orologi
da polso.
Ma a prescindere da quanto siano grandi e da che cosa facciano,
possiedono tutti quattro cose: (almeno) una unità centrale di
elaborazione o CPU,
(almeno) una memoria,
e almeno un dispositivo
di ingresso/uscita,
nonchè un canale
perchè possano dialogare tra loro[1],
in accordo all'architettura
di von Neumann.
Pacchetti
In
una rete a commutazione di pacchetto (PBN, Packet
Based Network)
l'informazione da trasmettere viene suddivisa in pacchetti
di dimensione abbastanza piccola; ad ognuno di essi viene aggiunta
un'intestazione che contiene tutta l'informazione necessaria affinché
il pacchetto possa venire inoltrato alla sua destinazione finale e
sulla sua posizione all'interno dell'informazione che viene
trasferita. I pacchetti vengono inviati individualmente attraverso la
rete e vengono poi riassemblati nella loro forma originale quando
arrivano sul computer di destinazione.
L'intera
capacità trasmissiva disponibile viene impegnata per la trasmissione
di ciascun pacchetto. Se vi sono più pacchetti da trasmettere
contemporaneamente, questi vengono memorizzati in una coda,
subendo un ritardo
di accodamento
e rischiando di essere scartati in caso di esaurimento della memoria
disponibile per la coda.
Commutatori
Quando
un nodo intermedio detto commutatore
di pacchetto,
generalmente un router
o uno switch,
riceve un pacchetto, esso decide quale è il percorso migliore che il
pacchetto può prendere per raggiungere la sua destinazione. Questa
strada può cambiare da pacchetto a pacchetto dipendentemente dalle
condizioni della rete, per cui pacchetti appartenenti ad uno stesso
messaggio possono intraprendere anche percorsi distinti.
Ritardi
Un
pacchetto che attraversa una rete subisce un ritardo, legato in parte
alle caratteristiche del percorso ed in parte allo stato di carico
della rete.
Le
componenti del ritardo sono:
-
ritardo di elaborazione
- il tempo necessario a ciascun commutatore per processare il
pacchetto. Se un commutatore agisce a diversi livelli, ciascun livello
aggiungerà una sua componente di ritardo.
-
analizzare l'intestazione del pacchetto e determinare il
relativo instradamento
-
controllo degli errori a livello di bit nel pacchetto,
tipicamente attraverso uno o più algoritmi di checksum
-
ritardo di trasmissione
- il tempo necessario per trasmettere il pacchetto alla velocità della
linea di trasmissione. È dato dal rapporto tra lunghezza del pacchetto
e velocità della linea.
-
Molti commutatori utilizzano la tecnica store and
forward,
ovvero ricevono tutto il pacchetto, lo elaborano, e poi lo accodano per
la ritrasmissione. Pertanto il ritardo di trasmissione dei commutatori
attraversati devono essere sommati tra loro.
-
In alcuni casi si usa invece la tecnica cut-through, per
cui il commutatore, appena ha ricevuto informazioni sufficienti ad
instradare il pacchetto, inizia a trasmetterlo sulla porta in uscita,
se questa non è già impegnata. In questo caso, quando il pacchetto
trova la porta di uscita libera, il ritardo di trasmissione non si
accumula.
-
ritardo di propagazione
- il tempo necessario al segnale fisico per propagarsi lungo una linea
di trasmissione. Nei mezzi trasmissivi come rame o fibra ottica, i
segnali si propagano ad una frazione della velocità della luce nello
specifico mezzo trasmissivo, indicativamente 200.000 km/s. Quindi
il ritardo di trasmissione è stimabile grossolanamente in 5 μs/km.
-
ritardo di coda
(queuing delay), dovuto al fatto che i pacchetti in uscita non sempre
vengono trasmessi immediatamente. Infatti la linea in uscita può essere
occupata da altri pacchetti in corso di trasmissione. In questo caso,
il pacchetto viene salvato in una memoria temporanea del commutatore
detta coda, per venir trasmesso appena possibile. Il tempo atteso dal
pacchetto nella coda è appunto detto ritardo di coda, e non è possibile
stabilire a priori quanto ritardo di coda un pacchetto subirà. Il
ritardo di coda può essere però caratterizzato statisticamente, e di
questo si occupa la teoria delle code.
-
Se vengono applicate tecniche di qualità di servizio,
alcune classi di pacchetti otterranno un trattamento preferenziale alla
coda in uscita, per cui avranno diverse distribuzioni del ritardo di
coda.
È
anche possibile che i pacchetti inviati tra due stessi host in
momenti diversi subiscano ritardi differenti. La variazione del
ritardo subito dai pacchetti è detta jitter.
Perdita
di pacchetti
La
perdita di pacchetti può avvenire in diverse occasioni. Un pacchetto
può perdersi in quanto viene ricevuto con un errore e quindi
scartato, oppure quando il buffer di un commutatore, sia nelle porte
di ingresso che in quelle di uscita, risulta saturo e quindi si trova
costretto a scartarlo.
Per
questa ragione, una rete a pacchetto non può generalmente garantire
che tutti i pacchetti inviati arrivino a destinazione.
TCP
risolve questo problema rinviando i pacchetti persi (i pacchetti per
i quali non riceve un ACK positivo).
Commutazione
di pacchetto e commutazione di circuito
In
una rete a commutazione
di circuito
la capacità del canale trasmissivo è interamente dedicata ad una
specifica comunicazione. In una rete di questo tipo (ad esempio,
quella telefonica), si stabilisce dunque una connessione diretta tra
sorgente e ricevente al momento di inizio della comunicazione (ad
esempio quando inizia la chiamata telefonica). Invece la commutazione
di pacchetto si rivela molto più efficiente nonostante la maggior
quantità di dati inviata, in quanto i canali fisici sono utilizzati
solo per il tempo strettamente necessario. Inoltre, poiché ogni
pacchetto porta con sé la sua identificazione, una rete può
trasportare nello stesso tempo pacchetti provenienti da sorgenti
differenti.
La
commutazione di pacchetto permette quindi a più utenti di inviare
informazioni attraverso la rete in modo efficiente e simultaneo,
risparmiando tempo e costi mediante la condivisione di uno stesso
canale trasmissivo (cavo elettrico, etere, fibra ottica ecc.).
Storicamente
la commutazione di pacchetto poneva qualche problema nel caso fosse
necessaria una disponibilità garantita di banda o nelle trasmissioni
real
time:
si pensi a una trasmissione video, dove le immagini arrivano con un
flusso costante. Al giorno d'oggi è però possibile aggiungere una
"priorità" ai pacchetti per garantire che un numero
sufficiente di essi venga inviato, a scapito di altri pacchetti che
non abbiano un'urgenza specifica - ad esempio, un file da trasferire.
La
commutazione di pacchetto è uno dei possibili metodi di
multiplazione,
ovvero è una tecnica per suddividere la capacità trasmissiva di un
canale tra diversi utilizzatori. Vedi anche Multiplazione.
Time
Division Multiple Access
L'accesso
multiplo a ripartizione nel tempo,
più conosciuto come Time
Division Multiple Access
(corrispondente termine di lingua
inglese),
acronimo
TDMA,
è una tecnica
di multiplazione
numerica in cui la condivisione del canale
è realizzata mediante ripartizione del tempo di accesso allo stesso
da parte degli utenti.
Vi
sono due tipi di multiplazione a divisione di tempo:
-
multiplexing a divisione di tempo sincrono (STDM), noto
anche come multiplexing a divisione di tempo quantizzato, prevede che
ogni dispositivo abbia a disposizione un'identica porzione di tempo e
che questi ne vengano in possesso attraverso uno schema di tipo round
robin (vedi ad esempio scheduler). Quando si dice semplicemente
multiplexing a divisione di tempo (TDM), si intende normalmente questa
tecnica. Vedi Time Division Multiplexing.
-
multiplexing statistico, simile a STDM, con la
differenza che ai dispositivi che non devono trasmettere dati non viene
assegnato il controllo del canale di trasmissione, vedi commutazione di
pacchetto.
Mainframe
UNIX
di fascia alta, molti produttori promuovono le tecnologie di
virtualizzazione, in qualche maniera cercando di fare propri i
capisaldi di progettazione del mainframe. Utilizzando il sistema
operativo z/OS,
è possibile gestire in maniera efficiente e con garanzie di
protezione e isolamento carichi di lavoro diversi utilizzando
sofisticate tecnologie di Workload Management. Inoltre, i mainframe
possono incrementare la propria capacità elaborativa in maniera
dinamica e granulare. I mainframe hanno anche caratteristiche uniche
di esecuzione priva di errori. I server System z9 eseguono ogni
istruzione due volte, comparano i risultati, e, in caso di
discordanza determinano la presenza di una malfunzione ed attivano in
modo automatico unità elaborative di riserva. Questa caratteristica,
che si trova anche nei sistemi HP NonStop, è nota come
lock-stepping,
poiché entrambi i processori fanno i loro passi (ovvero le
istruzioni) insieme.
Storia
Molti
produttori fabbricarono i computer mainframe a partire dalla fine
degli anni 50 fino agli anni 70. A quell'epoca erano conosciuti come
"IBM e i sette nani": Burroughs, Control Data, General
Electric, Honeywell, NCR, RCA, e UNIVAC. Il dominio di IBM crebbe
dalla serie 700/7000 e successivamente lo sviluppo della serie in
architettura S/360. Quest'ultima architettura ha continuato ad
evolversi negli attuali mainframe zSeries/z9 che, assieme con gli
allora mainframe Burroughs e ora i mainframe Unisys basati su MCP,
sono tra le poche architetture mainframe che ancora esistono. Detto
ciò, sebbene essi possano ancora fare girare il codice System/360 a
24 bit, i server CMOS a 64-bit zSeries and System z9 hanno quasi
niente fisicamente in comune con i vecchi sistemi. Il più grandi
degli ultimi concorrenti dell'IBM era anche spesso soprannominato "Il
BUNCH" dalle loro iniziali (Burroughs, UNIVAC, NCR, CDC,
Honeywell). Produttori di rilievo al di fuori degli Stati Uniti
furono Siemens e Telefunken in Germania, ICL nel Regno Unito, e
Fujitsu, Hitachi, e NEC in Giappone. L'Unione Sovietica e i paesi del
patto di Varsavia fabbricarono copie simili ai mainframe IBM durante
la Guerra Fredda.
La
domanda in contrazione e la dura competizione causò una scossa nel
mercato nei primi anni 80 - RCA vendette a UNIVAC anche GE uscì;
Honeywell fu comprata da Bull; UNIVAC divenne una divisione di Sperry
che successivamente si fuse con Burroughs per formare la Unisys
Corporation nel 1986. Nel 1991, AT&T per un breve periodo
possedettero NCR. Durante lo stesso periodo, le aziende trovarono che
i server basati su progettazione microcomputerizzata potevano essere
impiegati a una frazione del prezzo di acquisizione e offrire agli
utenti locali un maggior controllo sui loro sistemi date le politiche
e le pratiche IT a quel tempo. I terminali usati per interagire con i
sistemi mainframe furono gradualmente rimpiazzati dai personal
computer. Conseguentemente, la domanda crollò e le nuove
installazione di mainframe furono limitate soprattutto alle macchine
per servizi finanziari e governativi. Nei primi anni 1990, c'era un
consenso tra gli analisti di industria che quello del mainframe era
un mercato morente in quanto le piattaforme mainframe furono
incrementalmente rimpiazzate da reti di personal computer.
Quella
tendenza iniziò ad invertirsi alla fine degli anni 90 poiché le
aziende trovarono nuovi usi per i loro mainframe esistenti. Anche la
crescita dell'e-business fortemente aumentò il numero di transazione
di back-end processate dal software mainframe e il throughput dei
database. Un altro fattore del crescente uso del mainframe è lo
sviluppo del sistema operativo Linux, che può essere eseguito su
molti sistemi mainframe, tipicamente in macchine virtuali. Linux
consente agli utenti di avvantaggiarsi del software open source
combinato con la RAS dell'hardware mainframe. La rapida espansione e
lo sviluppo dei mercati emergenti, in particolare la Cina, sta
spingendo maggiori investimenti sui mainframe per risolvere problemi
computazionali estremamente difficili, per esempio fornire database
unificati e in grado di processare un alto volume di transazioni per
un miliardo di consumatori in vari settori d'industria (bancario,
assicurativo, governativo etc.).
Mainframes
e supercomputer
La
distinzione tra supercomputer
e mainframe non è semplicissima, tuttavia i supercomputer
generalmente si focalizzano su problemi che sono limitati dalla
velocità di calcolo, mentre i mainframe si focalizzano su problemi
che sono limitati dall'input/output e l'affidabilità, differenze e
somiglianze includono:
-
Entrambi i tipi di sistemi offrono la possibilità di
calcolo parallelo. I supercomputer tipicamente la espongono al
programmatore in maniera complessa, mentre i mainframe tipicamente la
usano per eseguire molteplici task. Un risultato di questa differenza è
che aggiungendo processori al mainframe spesso accelera l'intero carico
di lavoro in modo trasparente.
-
I supercomputer sono ottimizzati per elaborazioni
complesse che richiedono soprattutto grandi quantità di memoria, mentre
i mainframe sono ottimizzati per elaborazioni relativamente più
semplici che implicano però l'accesso rapido a grosse quantità di dati
-
I supercomputer sono spesso costruiti ad hoc per
elaborazioni particolari I mainframe invece vengono utilizzati per
un'ampia gamma di elaborazioni. Di conseguenza, la maggior parte dei
supercomputer vengono assemblati per esigenze specifiche e usi
particolari, mentre i mainframe tipicamente formano una parte della
linea di modelli di un produttore.
-
I mainframe tendono ad avere un numero di processori di
servizio che assistono i processori principali (per il supporto
crittografico, la gestione dell'I/O, il monitoraggio, la gestione della
memoria, etc.) cosicché il numero effettivo dei processori presenti è
molto maggiore di quanto uno possa immaginare. Il design dei
supercomputer tende a non includere così tanti processori di servizio
poiché essi non aggiungono in modo apprezzabile potenza di calcolo
grezza.
Prestazioni
La
potenza elaborativa dei mainframe è storicamente misurata in MIPS
(milioni di istruzioni per secondo). Oggigiorno l'unità, nonostante
le origini del nome, non è più legata strettamente al numero di
istruzioni eseguite dalla CPU ma è un'unità di misura relativa
della potenza elaborativa delle macchine, ottenuta a seguito di
benchmark con carichi di lavoro predeterminati in un ambiente non
limitato da vincoli infrastrutturali. Il più piccolo mainframe
System z9 IBM oggi ha la potenza di 26 MIPS e il più grande 17,801
MIPS. La tecnologia IBM del Parallel Sysplex può aggregare in
cluster fino a 32 di questi sistemi, facendoli apparire come una
singola piattaforma elaborativa di circa 221,248 MIPS. Tra gli
addetti del settore, si sa da tanto tempo che la misura dei MIPS,
intesa semplicemente come il numero di istruzioni al secondo in
milioni, è misura fuorviante nel dimensionamento delle macchine e
spesso scherzosamente definita come Meaningless Indicator of
Processor Speed o Meaningless Information on Performance for
Salespeople. Le complesse architetture CPU dei moderni mainframe
hanno ridotto la rilevanza dei valori in MIPS come numero effettivo
di istruzioni eseguite al secondo. Allo stesso modo, i moderni design
di sistema con prestazioni bilanciate si focalizzano sia sulla
potenza della CPU sia sulla capacità di I/O, e le capacità di
virtualizzazione rendono le misure comparative anche più difficili.
L'IBM pubblica da molti anni un insieme di rapporti di prestazioni
chiamato LSPR (Large System Performance Reference) che tengono in
conto diversi tipi di carichi di lavoro e costituiscono una misura
più rappresentativa delle prestazioni di un sistema. Questi dati non
sono disponibili per sistemi di altra architettura. Un termine di
paragone attuale per la misurazione delle prestazioni di
supercomputer ma anche mainframe sono i Flops
(floating point operation per second), un indicatore del numero di
operazioni in virgola mobile che una CPU riesce a calcolare in un
secondo. I Flops sono applicabili anche ai pc commerciali, ma il
valore di essi è così basso da perdere di significato, e comunque
non utile per determinare la potenza di un computer per un uso
domestico/professionale. Alla data di novembre 2008 il più potente
supercomputer ha un valore di Flops che supera 1 milione di GFlops.
Sicurezza e vulnerabilità
delle
reti
La
sicurezza
delle reti
è una problematica che nasce nel momento in cui si hanno più
computer interconnessi fra loro: essi, infatti, offrono diverse
vulnerabilità sfruttabili, più o meno facilmente, da terzi per
intromettersi nel sistema ed intercettarne i dati. Un'importante
aggravante deriva dal fatto che internet
è nata come rete didattica in un ambiente universitario e le sue
regole non prevedono metodi di sicurezza impliciti alla propria
struttura: le difese devono essere messe in atto sulle macchine
stesse o creando strutture di rete particolari. I principali punti
deboli, ed i relativi attacchi, che minano alla sicurezza delle reti
sono:
Numero
di sequenza
L'attacco
al numero di sequenza viene utilizzato per avere accesso al sistema
ed intercettare informazioni importanti, quali login,
password
e dati riservati, che il sistema stesso trasmette al server.
Poiché, durante una comunicazione tra computer attraverso una rete
TCP,
ad ogni pacchetto viene allegato un indirizzo
IP
ed un numero di sequenza (ossia un numero univoco), l'hacker
dovrà in primo luogo mettersi in ascolto dei pacchetti internet e
determinare l'indirizzo IP del server, e solo successivamente sarà
in grado di controllare i numeri di sequenza dei pacchetti stessi.
Questa operazione di monitoraggio ha lo scopo di permettere di
prevedere quale sarà il prossimo numero di sequenza generato e
dunque di insinuarsi fra il server e l'utente attraverso l'invio di
un proprio pacchetto contrassegnato da tale numero. L'hacker, a
questo punto, è in grado di intercettare le trasmissioni con
l'utente poiché, conoscendo l'indirizzo IP del server, può generare
pacchetti con numeri di senquenza e indirizzi IP corretti. Tale
tipologia di violazione viene spesso effettuato in vista di un
ulteriore attacco ad un altro server della rete.
Dirottamento
del protocollo TCP (o TCP hijack)
Per
i server connessi a internet, il dirottamento del protocollo
TCP
è la minaccia più grave, poiché consente all'hacker di entrare in
un sistema
operativo
diverso dal proprio. Con questo procedimento, infatti, si possono
aggirare host anche muniti di elevati livelli
di sicurezza,
proprio perché permette di aggirare i sistemi di password
monouso.
Contrariamente all'attacco al numero di sequenza, qui l'hacker
ottiene l'accesso costringendo la rete ad accogliere come fidato il
proprio indirizzo IP.
Altri
tipi di minacce alla sicurezza delle reti sono le backdoor,
che permettono all’hacker di entrare nuovamente e facilmente in un
sistema che ha già violato, e i worm,
che possono essere considerati i virus
del sistema Internet.
Firewall
In
Informatica,
nell'ambito delle reti
di computer,
un firewall
(termine inglese dal significato originario di parete
refrattaria,
muro
tagliafuoco,
muro
ignifugo;
in italiano anche parafuoco
o parafiamma)
è un componente passivo di difesa perimetrale che può anche
svolgere funzioni di collegamento tra due o più tronconi di rete.
Usualmente la rete viene divisa in due sottoreti: una, detta esterna,
comprende l'intera Internet
mentre l'altra interna, detta LAN (Local Area Network), comprende una
sezione più o meno grande di un insieme di computer locali. In
alcuni casi è possibile che si crei l'esigenza di creare una terza
sottorete detta DMZ
(o zona demilitarizzata) atta a contenere quei sistemi che devono
essere isolati dalla rete interna ma devono comunque essere protetti
dal firewall.
Una
prima definizione chiusa di firewall è la seguente:
Apparato
di rete hardware o software che filtra tutti i pacchetti entranti ed
uscenti, da e verso una rete o un computer, applicando regole che
contribuiscono alla sicurezza della stessa.
In
realtà un firewall può essere realizzato con un normale computer
(con almeno due schede di rete e software apposito), può essere una
funzione inclusa in un router
o può essere un apparato specializzato. Esistono inoltre i
cosiddetti "firewall personali", che sono programmi
installati sui normali calcolatori, che filtrano solamente i
pacchetti che entrano ed escono da quel calcolatore; in tal caso
viene utilizzata una sola scheda di rete.
La
funzionalità principale in sostanza è quella di creare un filtro
sulle connessioni entranti ed uscenti, in questo modo il dispositivo
innalza il livello di sicurezza della rete e permette sia agli utenti
interni che a quelli esterni di operare nel massimo della sicurezza.
Il firewall agisce sui pacchetti in transito da e per la zona interna
potendo eseguire su di essi operazioni di:
-
controllo
-
modifica
-
monitoraggio
Questo
grazie alla sua capacità di "aprire" il pacchetto
IP
per leggere le informazioni presenti sul suo header,
e in alcuni casi anche di effettuare verifiche sul contenuto del
pacchetto.
Personal
Firewall o Firewall Software
Oltre
al firewall a protezione perimetrale ne esiste un secondo tipo,
definito "Personal
Firewall",
che si installa direttamente sui sistemi da proteggere (per questo
motivo è chiamato anche Firewall Software).
In tal caso, un buon firewall effettua anche un controllo di tutti i
programmi che tentano di accedere ad Internet presenti sul computer
nel quale è installato, consentendo all'utente di impostare delle
regole che possano concedere o negare l'accesso ad Internet da parte
dei programmi stessi, questo per prevenire la possibilità che un
programma malevolo possa connettere il computer all'esterno
pregiudicandone la sicurezza.
Il
principio di funzionamento differisce rispetto a quello del firewall
perimetrale in quanto, in quest'ultimo, le regole che definiscono i
flussi di traffico permessi vengono impostate in base all'indirizzo
IP sorgente, quello di destinazione e la porta attraverso la quale
viene erogato il servizio, mentre nel personal firewall all'utente è
sufficiente esprimere il consenso affinché una determinata
applicazione possa interagire con il mondo esterno attraverso il
protocollo IP.
Da
sottolineare che l'aggiornamento di un firewall è importante ma non
è così vitale come invece lo è l'aggiornamento di un antivirus,
in quanto le operazioni che il firewall deve compiere sono
sostanzialmente sempre le stesse. È invece importante creare delle
regole che siano corrette per decidere quali programmi devono poter
accedere alla rete esterna e quali invece non devono.
Tipologie
Tipologie
di firewall, in ordine crescente di complessità:
-
Il più semplice è il packet filter, che si limita a
valutare gli header di ciascun pacchetto, decidendo quali far passare e
quali no sulla base delle regole configurate. Ciascun pacchetto viene
valutato solamente sulla base delle regole configurate, e per questo un
firewall di questo tipo è detto anche stateless. Alcuni packet filter,
analizzando i flag dell'header TCP, sono in grado di discriminare un
pacchetto appartenente ad una "connessione TCP stabilita (established)"
rispetto a quelli che iniziano una nuova connessione, ma non sono in
grado di riconoscere un pacchetto malevolo che finga di appartenere ad
una connessione TCP stabilita. Molti router posseggono una funzione di
packet filter.
-
Un firewall di tipo stateful inspection, tiene traccia
di alcune relazioni tra i pacchetti che lo attraversano, ad esempio
ricostruisce lo stato delle connessioni TCP. Questo permette ad esempio
di riconoscere pacchetti TCP malevoli che non fanno parte di alcuna
connessione. Spesso questo tipo di firewall sono in grado anche di
analizzare i protocolli che aprono più connessioni (ad esempio FTP),
inserendo nel payload dei pacchetti informazioni di livello rete e
trasporto, permettendo così di gestire in modo puntuale protocolli di
questo tipo.
-
I firewall di tipo deep inspection effettuano controlli
fino al livello 7 della pila ISO/OSI, ovvero valutano anche il
contenuto applicativo dei pacchetti, ad esempio riconoscendo e
bloccando i dati appartenenti a virus o worm noti in una sessione HTTP
o SMTP.
-
I cosiddetti Application Layer Firewall sono apparati
che intercettano le connessioni a livello applicativo. A questa
categoria appartengono i proxy. In tali casi, la configurazione della
rete privata non consente connessioni dirette verso l'esterno, ma il
proxy è connesso sia alla rete privata che alla rete pubblica, e
permette alcune connessioni in modo selettivo, e solo per i protocolli
che supporta.
La
sintassi della configurazione di un firewall in molti casi è basata
su un meccanismo di lista
di controllo degli accessi
(ACL), che possono essere statiche (quindi modificabili solo tramite
configurazione esplicita) o dinamiche (cioè che possono variare in
base allo stato interno del sistema, come ad esempio nel Port
knocking).
Una
funzione spesso associata al firewall è quella di NAT
(traduzione degli indirizzi di rete), che può contribuire a rendere
inaccessibili i calcolatori sulla rete interna.
Molti
firewall possono registrare tutte le operazioni fatte (logging),
effettuare registrazioni più o meno selettive (ad esempio,
registrare solo i pacchetti che violano una certa regola, non
registrare più di N pacchetti al secondo), e tenere statistiche di
quali regole sono state più violate.
La
registrazione integrale dell'attività di un firewall può facilmente
assumere dimensioni ingestibili, per cui spesso si usa il logging
solo temporaneamente per diagnosticare problemi, o comunque in modo
selettivo (logging dei soli pacchetti rifiutati o solo di alcune
regole). Tuttavia, l'analisi dei log di un firewall (o anche dei
contatori delle varie regole) può permettere di individuare in tempo
reale tentativi di intrusione.
Talvolta
ad un firewall è associata anche la funzione rilevamento
delle intrusioni (IDS),
un sistema basato su euristiche che analizza il traffico e tenta di
riconoscere possibili attacchi alla sicurezza della rete, e può
anche scatenare reazioni automatiche da parte del firewall (Intrusion
prevention system).
Vulnerabilità
Una
delle vulnerabilità più conosciute di un firewall di fascia media è
l'HTTP
tunneling,
che consente di bypassare le restrizioni Internet utilizzando
comunicazioni HTTP
solitamente concesse dai firewall. Altra tipica vulnerabilità è la
dll
injection,
ovvero una tecnica utilizzata da molti trojan,
che sovrascrive il codice maligno all'interno di librerie di sistema
utilizzate da programmi considerati sicuri.
L'informazione riesce ad uscire dal computer in quanto il firewall,
che di solito controlla i processi e non le librerie, crede che
l'invio ad Internet lo stia eseguendo un programma da lui ritenuto
sicuro, ma che di fatto utilizza la libreria contaminata. Alcuni
firewall hanno anche il controllo sulla variazione delle librerie in
memoria ma è difficile capire quando le variazioni sono state fatte
da virus.
Nella
tecnologia delle reti
informatiche
un router,
voce inglese, in italiano è letteralmente l'instradatore,
è un dispositivo
di rete
che si occupa di instradare pacchetti
lavorando al livello 3 (rete)
del modello OSI.
La
caratteristica fondamentale dei router è che la funzione di
instradamento
è basata sugli indirizzi di livello 3 (rete) del modello OSI
(corrispondente al livello IP
dello stack
TCP/IP),
a differenza dello switch
che instrada sulla base degli indirizzi di livello 2 (collegamento)
"MAC". Gli elementi della tabella di instradamento (o
Routing
Table)
non sono quindi singoli calcolatori ma intere reti, ovvero
sottoinsiemi anche molto ampi dello spazio di indirizzamento. Questo
è fondamentale per la scalabilità
delle reti, in quanto permette di gestire reti anche molto grandi
facendo crescere le tabelle di instradamento in modo meno che lineare
rispetto al numero di host .
In
generale i router necessitano di essere configurati, non essendo
dispositivi plug
and play.
A seconda della tipologia del router, per essere configurato esso
fornisce un'interfaccia basata su web (accessibile digitando
l'indirizzo del gateway nel browser) o attraverso un'apposita console
a linea di comando su porta seriale (è il caso dei router CISCO, con
sistema operativo IOS)
Per
garantire la massima affidabilità e lo sfruttamento ottimale dei
collegamenti in caso di reti complesse costituite da molte sottoreti
diverse e variamente interconnesse, i router possono costruire le
loro tabelle di instradamento in modo dinamico, scambiandosi
periodicamente informazioni su come raggiungere le varie reti che
collegano l'un l'altro.
Per
fare questo sono stati messi a punto dei protocolli
di routing
appositi, come OSPF,
RIP
e BGP,
attraverso i quali i router si scambiano informazioni sulle reti
raggiungibili.
Un
router può interconnettere reti di livello 2 eterogenee, come ad
esempio una LAN
ethernet
con un collegamento geografico in tecnologia Frame
Relay
o ATM.
Inoltre, rispetto ad un bridge, un router blocca le tempeste
broadcast.
Molti router destinati al mercato domestico incorporano la
funzionalità di access
point
per reti
wireless
Wi-Fi.
Alcuni
router possiedono anche un firewall
incorporato, poiché il punto di ingresso/uscita di una rete verso
l'esterno è ovviamente il luogo migliore dove effettuare controlli
sui pacchetti in transito.
I
router possono essere normali computer che fanno girare un software
apposito (gateway),
o - sempre più spesso - apparati specializzati, dedicati a questo
solo scopo. I router di fascia più alta sono basati su architetture
hardware specializzate per ottenere prestazioni wire
speed,
letteralmente alla velocità della linea. Un router wire speed può
inoltrare pacchetti alla massima velocità delle linee cui è
collegato.
I
Router di fascia media ed alta hanno normalmente una costruzione
modulare, che permette di aggiungere interfacce verso reti di tipo
diverso secondo la necessità.
Protocollo
di rete
Nell'ambito
delle telecomunicazioni,
due o più macchine o host
(computer,
telefono,
stampante,
ecc...) possono comunicare tra loro rispettando norme che sono dette
protocolli
di rete.
L'aderenza ai protocolli garantisce che due software
in esecuzione su diverse macchine possano comunicare correttamente,
anche se sono stati realizzati indipendentemente.
Servizio
con e senza connessione
Quando
un client
e un server
iniziano a comunicare si possono scambiare pacchetti di controllo
prima di spedire i dati reali.
Queste
procedure dette di handshaking
preparano le due componenti alla comunicazione. Tali procedure sono
alla base, ad esempio, del TCP.
Tuttavia
possono anche esserci servizi che inviano direttamente i dati come
nel caso dell'UDP.
La
maggior parte delle applicazioni, tuttavia, ha bisogno di inviare i
dati in maniera sicura e affidabile per cui l'handshake
serve proprio a questo compito. Si comprende come la connessione con
TCP, ad esempio, sia più sicura ma anche più lenta perché scambia
non solo dati reali, ma anche dati di servizio.
I
livelli
Ciascun
protocollo regola normalmente solo una parte degli aspetti di una
comunicazione. I diversi protocolli sono organizzati con un sistema
detto "a livelli" :
a ciascun livello viene usato uno specifico protocollo.
La
divisione in livelli è fatta in modo tale che ciascuno di essi
utilizzi i servizi offerti dal livello inferiore, e fornisca servizi
più "ricchi" a quello superiore. I diversi livelli in un
host comunicano tra loro tramite le interfacce
(figura
2)
chiamate SAP
(Service Access Point).
Ogni livello parla solo con quello immediatamente superiore e con
quello immediatamente inferiore. I protocolli regolano invece la
comunicazione tra due entità dello stesso livello, che serve a
fornire servizi al livello superiore.
I
vari livelli sono organizzati in pile di protocolli (figura
1).
Le pile di protocolli sono un modo flessibile per combinare
componenti per realizzare un servizio.
Un
esempio reale di una organizzazione a livelli protocollari, classico
nelle trattazioni inerenti le reti di calcolatori, è quello del
percorso di una valigia in un viaggio aereo partendo dalla casa di
origine all'hotel di destinazione. Il primo livello che notiamo è
quello della preparazione della valigia: il turista prende i vestiti
e ve li ripone per poi chiuderla, come ciò viene fatto è definito
dal protocollo del primo livello. Il secondo livello è quello
dell'addetta alle valigie all'aeroporto di partenza, il turista le
consegna la valigia (passaggio dal primo al secondo livello) e
l'addetta attacca alla valigia le informazioni relative al volo e
alla destinazione. Qui notiamo l'aspetto fondamentale
dell'organizzazione a livelli protocollari, cioè che per l'addetta
non è necessario conoscere come i vestiti sono stati riposti nella
valigia, altresì non è necessario per il viaggiatore conoscere le
operazioni che deve effettuare l'addetta, egli infatti otterrà ciò
che vuole (avere i vestiti all'hotel d'arrivo), senza che ciò
influisca affatto su come gli altri protocolli debbano lavorare, a
patto che lo facciano correttamente.
La
struttura serve ad adempiere ad alcuni compiti:
-
controllo dell'errore;
-
controllo del flusso;
-
frammentazione e riassemblaggio;
-
multiplexing, in modo che sessioni dello strato più alto
possano condividere una singola connessione dello strato più basso;
-
instaurazione della connessione.
Tale
architettura presenta vantaggi concettuali e strutturali anche se
alcuni si sono opposti in maniera decisa in quanto uno strato spesso
duplica le funzionalità di un altro strato in maniera ripetitiva.
Ad
esempio, il servizio di ADSL
viene fornito con diverse modalità, le più comuni sono chiamate PPP
over ATM
(ovvero il protocollo Point to Point usa i servizi forniti dal
protocollo ATM) e PPP over Ethernet.
Il
livello più basso (1) è detto "livello fisico" e si
occupa di gestire la trasmissione dei segnali attraverso il mezzo di
trasporto (cavo, fibra
ottica,
infrarossi, ecc...). Il livello più elevato è chiamato "livello
applicativo" ed è quello che permette all'utente di creare il
messaggio da comunicare.
La
divisione in livelli è piuttosto rigida a livello di specifica
dei protocolli, mentre nell'implementazione
spesso diversi livelli vengono implementati insieme in uno stesso
modulo software.
Non
è detto che due macchine che comunicano usino la stessa pila di
protocolli. Ad esempio, se vi connettete ad internet
attraverso un modem
voi appoggiate il livello di rete IP
su una connessione PPP, mentre il server a cui vi collegate
probabilmente appoggia la rete IP
su una connessione ethernet.
In
una rete
a pacchetto
ciascun livello della "pila protocollare" aggiunge ai
pacchetti
un’intestazione, attraverso un’operazione detta incapsulamento
(<<“imbustamento”>>).
Il termine si applica anche ad alcune reti a commutazione
di circuito,
come SDH,
dove l'incapsulamento è un circuito dedicato a trasmettere
informazioni di controllo.
L'ISO
L'International
Organisation for Standardisation
(ISO)
nel 1979
ha stabilito il protocollo Open
Systems Interconnection
(OSI), con l'intenzione di creare uno standard per le
telecomunicazioni da usare nelle reti di tutto il mondo. All'atto
pratico però, lo standard de
facto
che viene comunemente usato nella maggior parte delle reti, è il
TCP/IP,
definito nella RFC
1155.
Le differenze fondamentali dei due standard sono semplici: il primo è
stato definito a tavolino da un'organizzazione super
partes,
mentre il secondo è opera di chi costruì materialmente le prime
reti, sviluppandolo sul campo. Inoltre, lo standard ISO/OSI assegna
un determinato compito ad ogni livello, mentre il TCP/IP è più
"elastico" e permette di sviluppare protocolli che svolgono
più di un compito-base.
Elenco
di protocolli di rete secondo ISO/OSI
Nella
seguente suddivisione, si segue lo standard ISO/OSI.
Tale classificazione ha ormai solo un valore concettuale, ed infatti
i protocolli elencati sono usati principalmente in combinazione con
la suite TCP/IP.
Bisogna
anche osservare che IP, per la sua natura di protocollo di
inter-networking, utilizza protocolli che hanno le caratteristiche di
un protocollo di rete, come ATM o frame relay, per realizzare la
funzione corrispondente al livello di collegamento. Quindi IP, come
viaggia su ethernet, può viaggiare su ATM o frame-relay. Proprio per
questo motivo Internet è detta "rete delle reti".
-
Livello 4: trasporto
-
TCP e UDP (usati su IP)
-
SPX (usato su IPX)
-
NetBIOS
-
Livello 7: applicazione
-
Protocolli di servizio:
-
Dynamic Host Configuration Protocol - (DHCP)
-
Domain Name System - (DNS)
-
Network Time Protocol - (NTP)
-
Simple Network Management Protocol - (SNMP)
-
Lightweight Directory Access Protocol - (LDAP)
-
Protocolli di accesso a terminali remoti:
-
Telnet
-
Secure shell - (SSH)
-
Protocolli usati per realizzare il servizio di posta
elettronica e newsgroup:
-
Simple Mail Transfer Protocol (SMTP)
-
Post Office Protocol (POP)
-
Internet Message Access Protocol (IMAP)
-
Network News Transfer Protocol (NNTP)
-
Protocolli di trasferimento file:
-
File Transfer Protocol - (FTP)
-
Hyper Text Transfer Protocol - (HTTP)
-
Internet Relay Chat - (IRC)
-
Gnutella
Implementazione
I
livelli visti precedentemente sono una suddivisione concettuale, ma
la loro implementazione non è uniforme. Infatti il livello fisico e
quello di collegamento di solito sono presenti sulla scheda di
interfaccia della rete, mentre il livello di rete ha
un'implementazione mista hardware-software, e i livelli superiori
sono normalmente implementati in software (anche se alcune schede di
rete possono prendersi carico di alcune operazioni di competenza di
TCP).
Il livello di trasporto è normalmente implementato all'interno del
sistema
operativo
in spazio kernel, mentre il livello applicativo è implementato da
processi
in spazio utente.
Inoltre,
osservando un pacchetto
(reti)
in transito (ad esempio, con uno sniffer),
è possibile vedere che il pacchetto inizia con gli header dei
livelli più bassi, fino al livello di trasporto. Il carico utile del
livello di trasporto è organizzato dal livello applicazioni.
Talvolta sono presenti anche dei "trailer", ovvero altre
intestazioni di servizio poste in fondo al pacchetto. Questi si
trovano in ordine inverso, ovvero si incontrano prima i trailer di
livello superiore.
|