La risposta breve è no, non è questo il limite.
Un campo Porta TCP è 2x byte e contiene una quantità di 65536. Questo numero limita la quantità di indirizzi che un server può avere. Ma questo non limita il numero di client a ~ 64k. Ogni pacchetto TCP ha due campi Porta uno per la destinazione e uno per l'origine (oltre a due indirizzi IP).
Una determinata connessione TCP è una tupla di origine e destinazione, ciascuna con indirizzo IP e numero di porta. La destinazione (lato server) rimane fissa, ma l'indirizzo di origine (lato client) può variare sia sulla porta che sull'indirizzo IP.
Prendere in considerazione:
- Server IP - 100.0.0.1 (fisso)
- Porta server - 80 (fissa)
- IP client - 0.0.0.0 - 255.255.255.255 (intervallo a 32 bit)
- Porta client - 0 - 65535 (intervallo a 16 bit)
Sì, un client (o ufficio) con un singolo indirizzo IP, può connettersi al tuo server solo 65535 volte contemporaneamente, ma se quel client (o ufficio) avesse più indirizzi IPv4, potrebbe collegarne molti di più.
In genere, ci sono milioni di indirizzi IP in uso su molti dispositivi client e se dovessero utilizzare una sola porta di origine per connettersi alla porta del singolo server, allora si può già vedere il potenziale per andare oltre il numero 65536.
Il limite matematico teorico del protocollo IP / TCP è 2 ^ 32 * 2 ^ 16. Praticamente il numero di indirizzi IP è inferiore: è necessario sottrarre alcuni blocchi IP riservati. Inoltre, in pratica, il numero di porte sul lato client è inferiore perché un tipico computer client eseguirà più applicazioni che si connettono ad altri server riducendo il pool di porte TCP, ma questo pool viene raramente utilizzato - una volta che una sessione TCP ha terminato il numero di porta è di nuovo disponibile in piscina.
Nota: per IPv6, la quantità di indirizzi IP aumenta, ma il campo Porta per TCP rimane della stessa dimensione.