Le porte nel protocollo TCP vengono utilizzate per identificare univocamente i servizi di rete che utilizzano TCP. Le porte sono numeri compresi tra 0 e 65535 e sono suddivise in tre categorie: le porte note, le porte registrate e le porte dinamiche.
Le porte note corrispondono ai numeri delle porte predefinite da TCP per i servizi di rete più comuni, ad esempio la porta 80 per il protocollo HTTP utilizzato per accedere ai siti web.
Le porte registrate sono quelle riservate per un uso specifico ma non assegnate a un servizio di rete specifico, ad esempio la porta 1024 utilizzata comunemente da applicazioni che utilizzano il protocollo RPC (Remote Procedure Call).
Le porte dinamiche sono quelle utilizzate temporaneamente da un’applicazione per stabilire una connessione TCP.
Quando un client richiede una connessione a un server TCP, la richiesta include una porta sorgente che identifica il processo di rete del client, e una porta destinazione che identifica il processo di rete del server. La porta sorgente viene scelta casualmente dal sistema del client, mentre la porta destinazione corrisponde alla porta predefinita per il servizio di rete richiesto.
Una volta stabilita la connessione TCP, i dati vengono inviati tramite la porta scelta dal server come porta sorgente e dalla porta scelta dal client come porta destinazione. In questo modo, il protocollo TCP garantisce l’identificazione corretta del servizio di rete da parte dei client e dei server.