Cosa sono i socket? Telnet è un programma che permette di accedere in modo remoto ad un computer.Se io dal computer dell’università voglio accedere al computer di casa mia, come faccio con telnet? Il mio computer a casa è già disposto come client telnet?

Si tratta di due comande collegate fra loro e per la risposta inizierò dalla seconda.

telnet è un classico programma che tradizionalmente fa parte
delle applicazioni di base per l’uso della rete.

Il suo scopo principale consiste nell’aprire una comunicazione via rete
con un server remoto utilizzando il protocollo TCP/IP. Quando la comunicazione
con il programma server è attivata, tutti i caratteri digitati sulla
tastiera vengono trasmessi al server, e contemporaneamente tutti i caratteri
inviati dal server vengono visualizzati sullo schermo locale.

L’uso più comune di telnet consiste nell’attivare una sessione
interattiva con un computer remoto che si comporta esattamente come una
sessione interattiva lanciata da un terminale locale.
Naturalmente tutto ciò ha senso per i sistemi operativi
multiutente ed è limitato ad interazioni basate sullo
scambio di caratteri (tipicamente sistemi Unix, VM/CMS, OpenVMS, ecc.).

Per attivare un collegamento occorre, ovviamente, che i due computer
possano comunicare attraverso una rete che supporti il protocollo TCP/IP.
Sul computer cliente deve essere disponibile il programma telnet, e
sull’altro deve essere disponibile ed attivo un adeguato programma server.
Nel caso citato nella domanda (collegamento verso un computer domestico)
la connessione è possibile se il computer domestico è dotato
di un sistema operativo multiutente e che consenta sessioni di login (ad
esempio Linux o anche Mac con sistema OS X). Tutti i sistemi operativi di questo tipo sono solitamente
dotati del server necessario, spesso chiamato telnetd. I sistemi
operativi della famiglia Windows invece non consentono modalità interattive
di questo tipo né di tipo locale né di tipo remoto e
quindi non dispongono del relativo programma server (possono invece essere
utilizzati come clienti dato che sono dotati del programma telnet).

Inoltre, come
già visto sopra, è necessario che il computer server sia
collegato alla rete in modo stabile e con indirizzo IP di tipo statico,
e questo richiede solitamente contratti di tipo adeguato con il fornitore
di servizi telefonici e di rete.

Si chiama socket una classica libreria di sottoprogrammi che
consente di crere applicazioni che utilizzano la rete. Per riallacciarmi
alla prima domanda, il programma telnet e la grande maggioranza
dei programmi di rete vengono implementati utilizzando la libreria
socket. Il nome deriva dal fatto che ogni volta che in un programma
si voglia aprire una connessione di rete, o attivare un server che
accetti connessioni dalla rete, la prima azione consiste nel creare una
socket (in inglese indica la presa di corrente o il connettore
per dati) mediante una chiamata al sottoprogramma corrispondente.