Che cosa banale, sto preparando un corso da tenere il mese prossimo. I moduli sono diversi e gli argomenti stabiliti non possono essere modificati.
Il primo argomento è quello del titolo: "Internet lavora con TCP/IP"; l’hanno scritto in inglese forse per fare scena.
Per quanto sia banale un argomento del genere ad un addetto ai lavori, tante cose non sono scontate. A ragione di ciò sto sviluppando il modulo in tanti argomenti per poi preparare delle slides da visualizzare durante la lezione.
Prima di ogni altra cosa, per comprendere bene le dinamiche del TCP/IP occorre definire gli attori che prendono parte a questa dinamica.
Una comunicazione TCP avviamente tra due sorgenti indentificabili come client e server. In condizioni normali, un client contatta un server che poi risponderà al client.
Chi sono i client? Il client è qualsiasi dispositivo in grado di fare una richiesta TCP/IP. Un client è sicuramente un computer collegato ad internet o ad una intranet (mentre non lo è un computer non collegato). Un client è anche un cellulare, uno smartphone, le moderne console di gioco; ma anche i moderni frigoriferi che sono in grado di fare ordinazioni in internet. In realtà il concetto di client è molto esteso, perché potenzialmente qualsiasi apparecchia può essere un client.
Il concetto di server, invece, è più ristretto. Sebbene esistano vari tipi di server (server application, server database, server services, ecc.), questi non sono altro che specializzazioni del concetto primitivo di server. Il compito del server è quello di servire determinate informazioni su richiesta da parte di un client. Queste informazioni vengono fatte viaggiare da un punto all’altro tramite il TCP/IP ed, in base al tipo di informazione richiesta, tramite altri protocolli di comunicazione (HTTP, FTP, POP, ecc.).
Definiti questi due attori, adesso è possibile addentrarci in discorsi leggermente più profondi. Ad esempio, quando noi apriamo un sito (banalmente digitando un indirizzo web nel nostro browser), come fa il nostro client (il browser) a sapere in quale parte del pianeta è posizionato il server?
In rete esistono degli enormi archivi di locazioni. Questi archivi sono paragonabili agli elenchi telefonici. Quando noi digitiamo un indirizzo web, questo indirizzo viene comunicato a questi archivi, che vengono chiamati server Domain Name System. In gergo si dice che il DNS ha risolto un host. L’host è il nostro indirizzo web; l’azione della risoluzione consiste nel tradurre il nostro host in un indirizzo IP. Con l’indirizzo IP saremo in grado di raggiungere la locazione della risorsa richiesta.
Per capire meglio il funzionamento basta pensare alla rubrica telefonica di un telefono cellulare. Lo scopo della rubrica è quello di aiutare il proprietario del cellulare a ricordare i numeri. Una cosa è ricordare la persona che si vuole chiamare (quindi il nome e cognome), tutt’altra cosa è ricordare un numero. Perciò, quando dobbiamo raggiungere telefonicamente un nostro conoscente, noi selezioniamo dalla rubrica il nome che vogliamo chiamare. Il telefono traduce quell’azione in una chiamata verso un numero.
I server DNS ci permetteno di utilizzare un nome mnemonico piuttosto che cifre impersonali per raggiungere una risorsa.
Abbiamo in qualche modo accennato alla dinamica di una comunicazione TCP/IP. Per renderla chiara paragoneremo questa comunicazione ad un gioco: il ping-pong.
Un regola implicita del gioco è che un concorrente non può lanciare la pallina all’altro se questi non l’ha prima lanciata a sua volta. Ovviamente, visto che si gioca con un’unica pallina, come fa un concorrente a lanciarla se prima non la riceve?
Anche nel caso del TCP/IP ci troviamo di fronte alla stessa limitazione. Se un client non effettua una richiesta verso un server, il server non potrà in nessun modo inviare informazioni ad un client. Per cui una comunicazione dev’essere avviata da un client e la destinazione dev’essere un server in grado di soddisfare la nostra richiesta.
Bene, direi che per sommi capi queste possano essere le argomentazioni. Adesso devo arricchirle di esempi, animazioni e immagini e poi mettere giù delle slides.














