Internet è una WAN che si estende in tutto il globo ed è la più grande rete di computer esistente. Con `internetworking' ci si riferisce alla connessione di reti separate per costruirne una più grande, quindi `Internet' è la connessione di un vasto numero di sottoreti.
Ora diamo un'occhiata alla lista precedente e chiediamoci: quali sono la dimensione, i dettagli fisici e i protocolli di Internet ?
La dimensione come visto prima è globale.
I dettagli fisici sono vari, in quanto le sottoreti sono connesse in genere in modo diverso e hanno differente topologia e natura fisica. Tentativi di creare una mappa utile sono sempre falliti miseramente.
I protocolli usati da ciascun collegamento sono spesso differenti, tutti i protocolli di livello link visti finora sono usati, oltre a molti altri ancora.
La domanda che allora ci si pone è come possa ogni nodo di Internet dialogare con gli altri, se ciascuno usa un differente protocollo di livello link.
La risposta è piuttosto semplice, è necessario un ulteriore protocollo che controlli come viaggiano i dati attraverso la rete. Il protocollo di livello link descrive come arrivare da un nodo all'altro se sono connessi direttamente, il protocollo di rete ci dice invece come arrivare da una rete ad un'altra, passando se necessario attraverso altri collegamenti.
Il protocollo di rete di Internet è l'Internet Protocol (versione 4) o `IP' e non è l'unico protocollo esistente (AppleTalk della Apple, IPX della Novell, DECNet della Digital, NetBEUI della Microsoft sono altri) ma è in assoluto il più utilizzato. Esiste anche una nuova versione di IP chiamata IPv6, ma non è ancora così comune.
Perciò per spedire un messaggio da un capo all'altro del globo, il tuo computer facendo uso del protocollo di rete, lo invierà prima di tutto al tuo modem, che utilizzerà un protocollo di livello link per farlo arrivare al modem collegato in dialup, il quale generalmente farà parte di un terminal server (sostanzialmente un gruppo di modem). A sua volta questo lo spedirà ad un nodo presente nella rete del tuo ISP, il quale lo rispedirà ad un nodo più grande, che lo rispedirà ad un altro nodo ... e così via. Un nodo che collega due o più reti è detto `router', ed avrà una interfaccia per ogni rete.
Definiremo il successivo insieme di protocolli `protocol stack' (pila di protocolli), in genere è rappresentata in questo modo:
[ Applicazione: Visualizza porno ] [ Applicazione: Invia porno ]
| ^
v |
[ TCP: Gestisce la ritrasmissione ] [ TCP: Gestisce la ritrasmissione ]
| ^
v |
[ IP: Gestisce l'instradamento ] [ IP: Gestisce l'instradamento]
| ^
v |
[ Link: Gestisce il singolo salto] [ Link: Gestisce il singolo salto]
| |
+------------------------------------------+
Nel diagramma possiamo vedere come Netscape (l'applicazione in alto a sinistra) recupera una pagina web dal server web (l'applicazione in alto a destra). A questo scopo usa il `Transmission Control Protocol' o `TCP': oltre il 90% del traffico internet, tra cui Web ed Email, oggi usa TCP.
Netscape invia una richiesta di connessione TCP al server web remoto, ciò è gestito dal livello TCP, che poi la passa al livello IP, il quale cerca di capire verso quale direzione deve essere inviata, quindi la passa al livello link, che la trasmetterà all'altro estremo del collegamento.
All'altro estremo il livello link la passerà al livello rete, che controllerà se è destinata a questo host (se no, potrebbe passarla giù di nuovo verso il livello link, per inviarla verso un nodo successivo), quindi la passerà al livello TCP, che a sua volta la consegnerà al server.
Perciò avremo le seguenti fasi: