Tecnologia di Internet
 
Struttura di una rete di computer
Internet come rete di computer
Internet è una rete mondiale che collega decine di milioni di computer, la maggior parte dei quali sono personal computer (Unix, Windows, Macintosh). In Internet vengono chiamati tutti hosts.

Tradizionalmente il termine host era riservato ai mainframe e ai minicomputer, ma con Internet il termine è stato esteso anche alle workstation e ai personal computer. Gli host sono le macchine il cui scopo è eseguire programmi utente (applicazioni).

Gli host comunicano tra di loro mediante collegamenti fatti di mezzi fisici diversi: cavi coassiali, doppino di rame, fibre ottiche. Gli host non sono collegati tra loro direttamente, con un singolo collegamento, ma tramite elementi di comunicazione noti come router.

Il protocollo generale di Internet è TCP/IP, in realtà una famiglia di vari protocolli di rete. La tecnologia di comunicazione è la commutazione a pacchetto.

Introduzione ai protocolli e al modello OSI
Affinché due computer possano comunicare tra di loro è necessario stabilire una metodologia comune, un protocollo di comunicazione. In realtà sono necessari diversi protocolli di comunicazione, da quelli che si occupano di piccoli particolari (trasmettere una sequenza di bit) a quelli che riguardano azioni più complesse (trasferire un file).

Per chiarire la questione usiamo una analogia tra comunicazione tra due computer e comunicazione tra due scienziati di paesi diversi.

Un esempio per analogia
L’esempio è tratto da libro di A. S. Tanenbaum Computer Networks. Due biologi, uno in Svezia e uno in India, devono comunicare tra di loro. Poiché non hanno un linguaggio in comune, ambedue assumono un interprete, ognuno dei quali contatta a sua volta un tecnico delle trasmissioni.

Lo scienziato svedese vuole comunicare allo scienziato indiano il suo affetto per i conigli. Per far questo passa un messaggio (in svedese) al suo interprete, che lo traduce in “I like rabbits”. L’interprete dà il messaggio al suo tecnico che lo trasmette mediante telegrafo. Quando il messaggio arriva, viene tradotto in indonesiano e passato al biologo indiano.

Modello esemplificativo a livelli della comunicazione tra due biologi che non parlano la stessa lingua: le comunicazioni virtuali sono punteggiate, quella effettiva è continua.
I due biologi comunicano tra di loro, ma solo virtualmente; e così fanno i due interpreti; i due tecnici invece comunicano fisicamente tra di loro. La comunicazione virtuale tra i due biologi avviene in realtà scendendo attraverso le interfacce svedesi fino al livello più basso e risalendo a quello più alto dalla parte indiana. Ruoli importanti svolgono i protocolli di livello e le interfacce tra livelli.
Tutte le comunicazioni tra livelli (a parte quello più basso) sono virtuali: in realtà hanno luogo attraverso il livello più basso.
Questa tecnica di modellazione “a livelli” consente di esporre un processo di comunicazione nei suoi diversi gradi di dettaglio e di complessità. Per quanto riguarda la comunicazione tra computer, cioè le reti, il metodo a livelli è stato standardizzato dall’ISO (International Standard Office). Nello schema di riferimento standard dell’ISO è (quasi sempre) possibile collocare i vari protocolli di ogni tipo di rete, consentendo così confronti e considerazioni generali; inoltre lo schema può essere assunto come base per la creazione di nuovi tipi di rete.
Lo standard OSI
Lo schema, chiamato OSI (Open System Interconnection), è organizzato in sette livelli, ognuno dei quali presuppone quello inferiore; il livello più basso è quello della comunicazione fisica, che in una rete si realizza con segnali elettrici. I sette livelli sono i seguenti:
  • Applicazione (application layer): fornisce i servizi d’utente (SMTP, HTTP, FTP, IMAP).
  • Presentazione (presentation layer): fornisce codice e sintassi per la comunicazione tra piattaforme; non è presente in Internet.
  • Sessione (session layer): decide quando iniziare e terminare una sessione di comunicazione tra due computer; anche questo livello non è presente in Internet.
  • Trasporto (transport layer): si occupa del trasferimento tra due macchine; gestisce il flusso di controllo dei dati e assicura che i dati vengano trasmessi e ricevuti tra i due computer; i programmi di questo livello sono eseguiti sui computer.
  • Rete (network layer): si occupa di routing tra macchine; cioè stabilisce, mantiene e termina connessioni logiche e/o fisiche; indirizza il percorso da una rete all’altra; gestisce l’ordine di trasmissione e ricezione dei pacchetti, si preoccupa di quale strada seguire; controlla le congestioni.
  • Link (data-link layer): si occupa di trasferimento tra macchine adiacenti, cioè organizzazione delle sequenze di bit in sequenze più complesse per il loro trasferimento fisico su una linea di trasmissione; normalmente implementato in hardware, in particolare nell’interfaccia di rete; specifica anche la manipolazione della conferma di avvenuta ricezione, e qui ci sono le routine di base per il controllo degli errori.
  • Fisico (physical layer): si occupa di trasmissione attraverso un cavo di rete di sequenze di bit (segnali elettrici) tra macchine adiacenti; tipiche questioni: quanti volt usare per rappresentare un 1 e quanti per uno 0, quanti microsecondi occupa un bit, se la trasmissione può procedere simultaneamente sulle due direzioni; questo livello definisce anche la tipologia della rete (bus, ring, star).

Il modello OSI descrive come dovrebbe svolgersi la comunicazione dei dati tra due computer. L’intero processo di comunicazione è diviso nei sette livelli. Il livello n del computer A parla con il livello n del computer B. Le regole e le convenzioni usate in questa conversazione sono collettivamente indicate come il “protocollo di livello n”.

Il protocollo specifica il modo in cui due programmi software che girano su macchine diverse possono a vicenda trovarsi, accordarsi e trasferire dati, fornendo anche gli strumenti per assicurare che ogni dato venga trasferito nella sequenza corretta e senza errori.

In realtà i dati non vengono trasferiti dal livello n del computer A al livello n del computer B (eccetto che al livello fisico). Invece, ogni livello demanda i dettagli della comunicazione al livello inferiore, al quale passa i dati e le informazioni di controllo, fino a raggiungere il livello più basso, dove avviene la effettiva comunicazione fisica, contrapposta alla comunicazione virtuale degli altri livelli.

Tra i vari livelli esiste una interfaccia che definisce le operazioni primitive e i servizi che il livello inferiore offre a quello superiore. Ogni livello esegue una parte del lavoro e non potrebbe esistere da solo.

Il modello di riferimento standard OSI per le reti di computer; comunicazione tra un computer A e un computer B
Internet nello standard OSI
Quando si progetta un tipo di rete, non necessariamente si devono includere tutti i livelli. Se ne sceglieranno alcuni e si progetteranno le interfacce tra i livelli. Nulla è specificato sulla implementazione (hardware o software) dei vari livelli, ma generalmente quelli bassi sono hardware, quelli alti software e la divisione cade al livello 3 o 4.

Ecco una parziale lista dei protocolli di rete sui personal computer e la loro (approssimata) assegnazione ai livelli OSI.

Livello OSI AppleTalk NetBEUI Internet
Applicazione AT Filing Protocol SMTP, FTP, HTTP, IMAP, TELNET
Presentazione AppleShare SMB, CIFS
Sessione AT Session Protocol, NBP NetBIOS
Trasporto AppleTalk NetBEUI, IPX TCP, UDP
Rete DDP IP, ICMP, IGMP, routing
Link ALAP MAC PPP
Fisico LocalTalk, Ethernet, ISDN TokenRing Ethernet, ISDN
Riferimenti su Internet
Bibliografia
  • James F. Kurose e Keith W. Ross Computer Networking Addison Wesley 2000
    (moderno libro sulle reti, basato su Internet)
  • Andrew A. Tanenbaum Computer Networks Prentice Hall 1981
    (classico titolo sulle reti, datato ma sempre valido)
   
Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 27 febbraio 2001