Numerosi programmi TCP/IP possono essere eseguiti simultaneamente su internet (ad esempio aprendo più browser simultaneamente oppure navigare su pagine HTML mentre scaricate un file in FTP).
Ogni programma TCP/IP lavora con un protocollo, tuttavia il computer deve poter distinguere le differenti sorgenti di dati. Per facilitare questo processo, ognuna di queste applicazioni si vede attribuire un indirizzo unico sul terminale, codificato a 16 bit: una porta (la combinazione indirizzo IP + porta è allora un indirizzo unico, ed è detta socket).
L'indirizzo IP serve quindi ad identificare in modo unico un computer sulla rete mentre il numero di porta indica l'applicazione alla quale i dati sono destinati. In questo modo, quando un computer riceve delle informazioni destinate a una porta, i dati sono inviati verso l'applicazione corrispondente. Se si tratta di una richiesta a destinazione dell'applicazione, l'applicazione è detta applicazione server. Se si tratta di una risposta, si parla allora di applicazione client.
Il processo che consiste nel poter far transitare su una connessione delle informazioni provenienti da diverse applicazioni viene detta il multiplazione. Allo stesso modo il fatto di mettere in parallelo (quindi ripartire sulle diverse applicazioni) il flusso di dati viene detto il demultiplazione:
Queste operazioni sono realizzate grazie alla porta, cioè un numero associato ad una tipologia di applicazioni che, combinato ad un indirizzo IP, permette di determinare un'applicazione che gira un terminale dato in modo univoco.
Esistono migliaia di porte (queste sono codificate a 16 bit, vi sono dunque 65536 possibilità) ed è perché si è elaborata un'assegnazione standard dell'IANA (Internet Assigned Numbers Authority), per aiutare la configurazione delle reti.
Le porte da 0 a 1023 sono le «porte riconosciute» o riservate («Well Known Ports»). Esse sono, in maniera generale, riservate ai processi di sistema (daemon) o ai programmi eseguiti da utenti privilegiati. Un amministratore di rete può tuttavia legare dei servizi alle porte di sua scelta.
Le porte da 1024 a 49151 sono dette «porte registrate» («Registered Ports»).
Le porte da 49152 a 655535 sono le «porte dinamiche e/o private» («Dynamic and/or Private Ports»).
Ecco alcune porte riconosciute più spesso usate:
Porta | Servizio o Applicazione |
---|---|
21 | FTP |
23 | Telnet |
25 | SMTP |
53 | Domain Name System |
63 | Whois |
70 | Gopher |
79 | Finger |
80 | HTTP |
110 | POP3 |
119 | NNTP |
Così, un server (un computer che si contatta e che propone dei servizi come FTP, Telnet, ecc.) ha dei numeri di porte fisse ai quali l'amministratore di rete ha associato dei servizi. Così, le porte di un server sono generalmente comprese fra 0 e 1023 (intervallo di valori associati a servizi conosciuti).
Dal lato client, la porta è scelta casualmente dal sistema operativo fra quelle disponibili. Così, le porte del client non saranno mai comprese fra 0 e 1023 dato che questo intervallo di valori rappresenta le porte conosciute.
Numero di porte assegnate dall'IANA (Internet Assigned Numbers Authority).
Foto: © Pixabay.