La porta cambia quando una connessione TCP viene accettata da un server?

Quando un client si connette a un server tramite TCP, viene creato un nuovo socket per il stream TCP. La connessione rimane sulla stessa porta della connessione o viene modificata in un’altra porta?

Il nuovo socket è un concetto a livello di applicazione introdotto perché ogni connessione stabilita ha bisogno di un descrittore di file univoco (distinto anche dal descrittore del file di ascolto), che esegue il mapping, ma non è uguale a, di una sessione TCP. La sessione stessa viene identificata dalla combinazione di indirizzo di origine e di destinazione e porta. La porta di origine (client) viene in genere scelta a caso, mentre la porta di destinazione (server) è la porta di ascolto. Nessuna porta aggiuntiva è assegnata.

Il socket associato al nuovo descrittore restituito da accept sul server utilizzerà la stessa porta sul lato server della connessione come socket originale (assumendo le definizioni “normali” in cui il client avvia la connessione). Il nuovo socket avrà un numero di porta client diverso (la porta remota dal punto di vista del server).