Il Protocollo TCP/IP

Le Socket TCP

Tutte le funzionalità del protocollo TCP sono svolte da un elemento fondamentale che rappresenta il "cervello" del protocollo: la Socket TCP. Una Socket TCP, in inglese "presa di corrente", è il mezzo attraverso il quale un pacchetto di destinazione viene dotato di tutte le informazioni necessarie per partire alla volta dell'host destinatario, oltre che il principale responsabile nello stabilire la connessione tra due host e mantenere la sessione per poi rigenerare la connessione all'invio di ulteriori pacchetti. Insomma quando due host comunicano tra loro, in realtà sono proprio le loro Socket a comunicare.

Ogni Socket Client, identificata con l'identificativo della connessione TCP a cui appartiene, è quindi accoppiata con una Socket Server e la loro comunicazione avviene attraverso la procedura descritta in figura:


Si può notare che la Socket Server viene creata solo quando una Scoket Client vuole stabilire una connessione. Ad esempio, impostando sulla barra degli indirizzi il sito www.comefunziona.net state richiedendo una Socket Server dal sito di www.comefunziona.net. Una volta stabilita la connessione, tra Client e Server, può avvenire la comunicazione. La connessione si chiude quando una delle due Socket viene eliminata (che corrisponde alla chiusura di una scheda in Google Chrome, per intenderci) mentre se i due host, dopo un certo intervallo di tempo, non si inviano reciprocamente pacchetti, le due Socket vengono sospese, il che identifica la chiusura di una sessione (e non di una connessione). Vi proponiamo uno shot del codice che contiene una Socket Client allo scopo di mostrarvi la linea cerchiata in rosso. Che cosa notate? 



Il termine hostname indica l'indirizzi IP di destinazione mentre il numero 6789 che si trova al suo fianco rappresenta il numero di Porta TCP di destinazione.