Mi entendimiento de la conexión TCP es que un PUERTO fuente permanece exclusivo para una conexión, sin importar cuál sea el destino, por lo que el número de conexiones desde el puerto local 12345, por ejemplo, nunca puede exceder 1.
Recientemente leí que una conexión TCP se identifica por
TCP permite el uso compartido de puertos fuente entre múltiples procesos, pero cada proceso requiere un puerto libre al que enlazarse para su conexión
así que fui a validar ese "uso compartido de puertos entre procesos": esto debe significar que el mismo puerto fuente se puede usar para conectarse a destinos diferentes.
Sin embargo, al experimentar esto, probé estos dos comandos:
nc -v -p 12345 google.com 80
lo cual funciona bien (-v para verboso, y -p para especificar el puerto fuente como 12345, para mi propósito de aprendizaje)
Ahora, al ejecutar simultáneamente este comando en otra terminal
nc -v -p 12345 github.com 80
falla con este mensaje de error:
nc: connectx to github.com port 80 (tcp) failed: Address already in use
la razón por la que especifiqué el mismo puerto fuente con -p es para validar que un puerto fuente se puede compartir. No hay necesidad práctica para esto, en un escenario del mundo real ni siquiera me preocuparía por el puerto fuente. De acuerdo con esto, ¿es verdad que un puerto fuente se usará sólo una vez?