| |
|
|
 |
|
Tecnologia di Internet |
| |
   |
 |
|
| Reti a commutazione di pacchetto |
|
|
 |
|
|
|
Commutazione di pacchetto |
|
|
 |
|
Livello OSI di riferimento: fisico
|
|
Internet è basata su tre principali idee, che la caratterizzano. Queste idee sono
- Il modello client/server
- Linsieme dei protocolli TCP/IP (livelli OSI trasporto e rete)
- La commutazione di pacchetto (livello OSI fisico)
La commutazione di pacchetto (packet switching) è lidea chiave che permette a Internet di funzionare anche in condizioni avverse, cioè di essere robusta (che in informatica, significa poco vulnerabile agli errori), garantendo, per esempio, che ogni e-mail spedita arrivi a destinazione integra, senza omissioni.
L'idea della rete a commutazione di pacchetto è di Leonard Kleinrock e risale allinizio degli anni 60.
Il traffico da computer a computer ha caratteristiche diverse dalla conversazione telefonica. Quando due persone parlano tra loro il colloquio avviene in maniera continua, e non è normale che ci siano vuoti di comunicazione di parecchi minuti. Nel caso dei computer questi vuoti sono la regola: dopo aver spedito un insieme di dati ci può essere silenzio per i prossimi 30 minuti. Il traffico umano richiede luso continuo di un canale a banda stretta mentre il traffico tra computer richiede luso intermittente di una canale a banda larga e ad alta affidabilità.
Gli impianti telefonici, progettati per il traffico umano, sono basati sulla tecnologia a commutazione di circuito (circuit switching). Quando si fa una telefonata il circuito di commutazione cerca una connessione fisica dal telefono del chiamante a quello del ricevente. Nei primi giorni della telefonia, questa connessione veniva fatta a mano dalle centraliniste con un cavetto tra le prese di ingresso e uscita. La commutazione di circuito richiede che ci sia un collegamento tra i due estremi prima che possa essere trasmesso il segnale.
Nella commutazione di pacchetto (packet switching) non si realizza un circuito fisico tra trasmettitore e ricevitore. Invece, quando il trasmettitore ha un blocco di dati da spedire, lo divide in blocchi più piccoli (pacchetti) che vengono trasmessi indipendentemente, uno alla volta, alla destinazione.
|
|
 |
|
|
|
Pacchetto |
|
|
 |
|
Livello OSI di riferimento: link.
|
|
Ogni pacchetto potrebbe essere di 1 Kbyte (= 1024 byte), cioè circa mille caratteri. Un messaggio viene quindi diviso in centinaia o migliaia di singoli pacchetti.
Ogni pacchetto viene completato con una testata (header) che contiene la seguenti informazioni
- Mittente: lindirizzo IP del computer che spedisce il pacchetto
- Destinatario: lindirizzo IP del computer a cui il pacchetto viene spedito.
- Lunghezza: la lunghezza del pacchetto in byte.
- Numero: il numero totale di pacchetti nel messaggio completo.
- Sequenza: il numero di sequenza del pacchetto nella lista dei pacchetti del messaggio.
Queste informazioni consentono a un router di ricevere il pacchetto e di trasferirlo verso la destinazione.Non appena il pacchetto arriva a destinazione, il computer può leggere il suo header per sapere di quanti pacchetti è composto lintero messaggio. Questo gli consente di determinare quali pacchetti sono stati persi e chiedere la ritrasmissione dei pacchetti mancanti. Alla fine tutti i pacchetti vengono recuperati.
Per aumentare laffidabilità, ogni header di pacchetto contiene anche un codice di correzione errori (error correction code). Si tratta di un numero che rappresenta una combinazione matematica degli altri dati del pacchetto: qualcosa d simile alla prova del nove. Se anche un singolo bit viene, per errore, modificato in un router o in una connessione di rete, il codice di correzione calcolato non corrisponde a quello memorizzato nellheader del pacchetto. In tal caso il pacchetto viene scartato e ne viene chiesta la ritrasmissione.
|
|
 |
|
|
|
Router |
|
|
 |
|
Livello OSI di riferimento: rete.
|
|
Le comunicazioni su Internet sono controllate da apparecchiature di instradamento dette router. Questa apparecchiature sono posizionate nei punti di incrocio di due reti e a loro è affidato il compito di trasmettere i dati a una rete o allaltra secondo la loro destinazione finale. Per fare questo utilizzano sofisticati protocolli di instradamento, che consentono di far avanzare i pacchetti anche in condizioni sfavorevoli.
I routers infatti decidono la strada da seguire per far avanzare il pacchetto, in modo tale da evitare connessioni cadute o inaffidabili. Questa comunicazione avviene ad alta velocità e ciò consente di trasmettere affidabilmente e velocemente messaggi anche attraverso reti parzialmente danneggiate.
|
|
 |
|
| La trasmissione di un messaggio (suddiviso in quattro pacchetti) da un computer (a sinistra) a un altro (a destra). Ogni cerchio è un router che, allarrivo di un pacchetto, decide la strada lungo la quale farlo proseguire |
|
 |
|
 |
|
|
|
Quando un computer comunica con un altro computer, mette lindirizzo del destinatario dellheader di ogni pacchetto e lo spedisce al router più vicino che utilizza un algoritmo di instradamento per trasmettere il pacchetto al computer di destinazione.
In pratica tutti i pacchetti di un messaggio vengono spediti sequenzialmente lunga la strada ritenuta più affidabile.
|
|
 |
|
|
|
Dorsali |
|
|
 |
|
|
Il segmento principale della rete è il backbone (dorsale). Esistono dei national/international backbone providers (BBN/GTE, Sprint, AT&T, IBM, UUNet) interconnect (peer) with each other privately, or at public Network Access Point (NAPs). regional ISPs connect into NBPs local ISP, company connect into regional ISPs.
|
|
 |
|
| Dorsali internazionali, nazionali, regionali, locali |
|
 |
|
 |
|
|
|
Indirizzamento dei router
|
|
|
 |
|
|
The subnet is part of the network identified by the network number, but only those hosts that are on the same subnet can communicate without a router. Members of different subnets will not see each others local broadcasts, and they will need to go through a router to communicate, even though they may be on the same network.
La commutazione di pacchetto e gli indirizzi IP determinano una infrastruttura che gli algoritmi di routing possono usare per trasmettere pacchetti da un computer allaltro.
Un router è tipicamente connesso a reti diverse. Una società avrà diversi routers che collegano le varie sottoreti locali e un router che collega la rete interna a Internet.
Ad ogni router viene assegnato un indirizzo IP e una maschera di sottorete che determina lintervallo di indirizzi che il router controlla. Ecco un esempio.
|
|
 |
|
| Un esempio di suddivisione di reti mediante route |
|
 |
|
 |
|
|
|
Al top cè la dorsale (backbone) che collega tutti i computer e i router del mondo. Collegato alla dorsale cè un router il cui indirizzo e maschera di sottorete sono
11001101.10010100.00000011.00000001
205.158.3.1
11111111.11111111.11111111.00000000
255.255.255.0
Gli indirizzi di rete e di broadcast sono
11001101.10010100.00000011.00000000
205.158.3.0
11001101.10010100.00000011.11111111
205.158.3.255
il che significa che il router controlla i 254 indirizzi della sottorete 205.158.3.0, da 205.158.3.1 (router stesso) a 205.158.3.254..
Un livello più sotto cè un altro router con indirizzo e maschera di sottorete
11001101.10010100.00000011.00010001
205.158.3.17
11111111.11111111.11111111.11110000
255.255.255.240
Lindirizzo della sottorete a cui appartiene questo router, e lindirizzo di broadcast sono
11001101.10010100.00000011.00010000
205.158.3.16
11001101.10010100.00000011.00011111
205.158.3.31
e quindi in questa sottorete ci possono essere le 14 macchine i cui indirizzi vanno da 205.158.3.17 (router stesso) a 205.158.3.30.
Quando il computer 205.158.3.20 vuole mettersi in contatto con
- il computer 205.158.3.21, lo trova allinterno della propria sottorete e il contatto è immediato
- il computer 205.158.3.36, non lo trova nella propria sottorete e allora si rivolge al router 205.158.3.17 che trasferisce la richiesta al router 205.158.3.33, il quale provvede a contattare il computer 205.158.3.36
- il computer 205.158.15.1, non lo trova nella propria sottorete né nelle reti al suo stesso livello e quindi si rivolge al router 205.158.3.1 che lo cerca in unaltra rete
|
|
 |
|
| |
|
   |
|
|