Prima di tutto, una "porta" è solo un numero. Tutto ciò che una "connessione a una porta" rappresenta realmente è un pacchetto che ha quel numero specificato nel suo campo di intestazione "porta di destinazione".
Ora ci sono due risposte alla domanda, una per i protocolli stateful e una per i protocolli senza stato.
Per un protocollo stateless (ad es. UDP), non vi sono problemi perché "connessioni" non esistono: più persone possono inviare pacchetti alla stessa porta e i loro pacchetti arriveranno in qualsiasi sequenza. Nessuno è mai nello stato "connesso".
Per un protocollo di stato (come TCP), una connessione è identificata da una tupla di 4 elementi costituita da porte di origine e di destinazione e indirizzi IP di origine e di destinazione. Quindi, se due macchine diverse si connettono alla stessa porta su una terza macchina, ci sono due connessioni distinte perché gli IP di origine differiscono. Se la stessa macchina (o due dietro NAT o che condividono lo stesso indirizzo IP) si collega due volte a un unico terminale remoto, le connessioni sono differenziate dalla porta sorgente (che è generalmente una porta casuale con numero elevato).
Semplicemente, se mi collego due volte allo stesso server Web dal mio client, le due connessioni avranno diverse porte di origine dalle mie porte di prospettiva e di destinazione dai server web. Quindi non c'è ambiguità, anche se entrambe le connessioni hanno gli stessi indirizzi IP di origine e destinazione.
Le porte sono un modo per multiplexare gli indirizzi IP in modo che le diverse applicazioni possano ascoltare sullo stesso indirizzo IP/coppia di protocolli. A meno che un'applicazione non definisca il proprio protocollo di livello superiore, non c'è modo di multiplexare una porta. Se due connessioni che utilizzano lo stesso protocollo hanno identici IP di origine e destinazione e identiche porte di origine e destinazione, devono avere la stessa connessione.
fonte
2016-10-18 19:36:33
Persone, andiamo. Solo perché si tratta di un protocollo di rete non significa che appartiene a serverfault! –
Sì, lo fa davvero. – Will
Più probabilmente superuser.com, nella mia mente ... –