back to top

Socket (reti): cosa sono e come funzionano

Da un punto di vista lessicale, la parola socket è di natura anglosassone e può essere tradotta in italiano come "presa". Volendo semplificare al massimo possiamo dire che attraverso un socket "qualcosa si connette a qualcos’altro" al fine di trasmettere e/o ricevere dati, siano essi componenti fisici o logici.

Cos’è un socket?

Con il termine socket, in informatica, si fa riferimento a diversi concetti a seconda che ci si riferisca al mondo dell’hardware o del software:

  • hardware: il socket è l’alloggiamento, presente sulla scheda madre, in cui viene posizionato il processore e che contiene i contatti elettrici per gestire lo scambio di dati tra quest’ultimo e la scheda madre;
  • software: un socket è un oggetto software che consente lo scambio di dati tra host remoti (tramite una rete) o tra processi locali.

Socket e Reti

In questa sede approfondiremo il secondo concetto di socket in riferimento alle Reti ed, in particolare, ad Internet.

Definizione di socket

Col termine "socket" si identifica il punto terminale di una connessione a doppio senso tra due programmi (server – client) che si scambiano dati attraverso una rete come, ad esempio, una LAN o Internet.

In quest’ambito il socket è definibile in questo modo:

socket = indirizzo IP + porta

Attraverso l’indirizzo IP un terminale riesce a contattare un altro terminale e attraverso l’indicazione della porta riesce a "selezionare" il servizio di suo interesse (su quel terminale, infatti, possono "girare" diversi servizi come, ad esempio, server web, un server ftp, un server mail e così via).

Un esempio di socket

Volendo fare un esempio si supponga che un client contatti un server remoto per visualizzare una data pagina web. Per stabilire la connessione il client dovrà risolvere l’hostname in un indirizzo IP (si veda, a tal proposito, questo articolo sui DNS) e dovrà stabilire con quest’ultimo una connessione su una ben specifica porta (che nel caso di HTTP è la 80 e di HTTPS la 443). Per stabilire questa connessione, quindi, il client dovrà utilizzare un socket composto, appunto, dall’IP e dalla porta. Ad esempio:

123.123.123.123:80

Concludendo possiamo dire che:

  • nella logica client-server tipica delle Reti e di Internet, il socket è dato dall’indirizzo IP e dalla porta;
  • l’indirizzo IP consente di identificare uno specifico nodo della Rete;
  • la porta consente di selezionare uno specifico processo all’interno del nodo.

Attraverso il socket, client e server sono in grado di "parlarsi" e di scambiare dati a due vie, ricevendo e trasmettendo dati entrambi.

Pubblicitร 
Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

Mbps, Megabit, Gigabit, Megabyte e Gigabyte: che differenza c’รจ?

Quando si parla di connessioni Internet e velocitร  di...

Handshake: cos’è e come funziona il processo di handshaking nella comunicazione di Rete

Con il termine Handshake (letteralmente "stretta di mano") si...

DNS_PROBE_FINISHED_NXDOMAIN: cos’è e come risolvere questo errore di Chrome

DNS_PROBE_FINISHED_NXDOMAIN è un messaggio di errore tipico del browser...

DNS Google 8.8.8.8 – come funzionano e perché usarli

Il DNS primario 8.8.8.8 e il DNS secondario 8.8.4.4...

Traceroute: cos’è, come funziona e come eseguirlo su Windows, Linux e Mac

I sistemi informatici comunicano attraverso lo scambio di pacchetti...

192.168.1.1: come accedere alla pagina del router

Prima di affrontare l'argomento di questo articolo - cos'è...
Pubblicitร