Internet

Forse il termine più abusato di fine millennio (continua anche nel nuovo millennio: entriamo in internet, andiamo in internet, cercalo in internet...). Cerchiamo di mettere a fuoco qualche concetto.

Il concetto di "trasmissione dati" risale almeno al 1875 (codice Baudot), ma per molti anni dopo l'invenzione del transistor (1948), debbono venire risolti i problemi legati al funzionamento di un computer, prima di poter pensare di collegarne più di uno assieme. Il primo sistema di LAN (Local Area Network) disponibile commercialmente (Datapoint ARC) appare nel 1977. L'idea è ovviamente quella di espandere il canale di comunicazione dati della CPU, attraverso collegamenti a distanza, in modo da poter interagire con il funzionamento di un'altra CPU, mettendo in comune dati e programmi. Il metodo utilizzato per il trasporto fisico dei dati avanza di pari passo con la tecnologia elettronica (e, più recentemente ottica), e le scelte tecnologiche legate al trasporto fisico dei dati, al protocollo di accesso al trasporto, ed al protocollo di comunicazione prendono rapidamente vie di sviluppo diverse, portando a soluzioni svariate. Non ci occupiamo qui dei problemi della trasmissione dati a questo livello. Questo però era il quadro della situazione nei primi anni '80:

Da sempre interessato ai problemi della logistica, il Department of Defense degli Stati Uniti aveva avviato, già dal 1973, un programma di sviluppo di metodi per la trasmissione dei dati non segreti che potesse sfruttare qualunque mezzo e protocollo di comunicazione disponibile. Come ottenere questo risultato? Implementando un livello di astrazione più alto di quello fisico, legato ad una particolare tecnologia di LAN. Questi alcuni dei problemi da risolvere, al puro livello dell'infrastruttura (senza pensare alle applicazioni):

Il risultato è stata la definizione di un protocollo di trasmissione di pacchetti di dati, di uso generale, che è stato chiamato IP (Internet Protocol):

 0                   1                   2                   3               
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1             
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|Version|  IHL  |Type of Service|          Total Length         |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|         Identification        |Flags|      Fragment Offset    |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|  Time to Live |    Protocol   |         Header Checksum       |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|                       Source Address                          |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|                    Destination Address                        |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
|                    Options                    |    Padding    |            
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+            
                                                                               
                 Example Internet Datagram Header                            

Il modello di sviluppo "aperto" di questi standard è in parte responsabile del loro successo. I documenti che definiscono tutti gli standard del protocollo IP e dei protocolli collegati si chiamano RFC (Requests For Comments) e possono essere consultati ad esempio nel sito http://sunsite.cnlab-switch.ch/cgi-bin/search/standard/nph-findstd.