Depende.
Todo el tráfico de Internet se basa en dos protocolos de transporte: TCP y UDP.
- UDP (User Datagram Protocol) es como un SMS: rápido, barato y corto. El tráfico UDP es unidireccional, le envía un olvido. Es muy útil cuando las aplicaciones necesitan velocidad de comunicación más que confiabilidad, como juegos FPS o intercambio de archivos P2P. Si se necesita una comunicación bidireccional, la aplicación es responsable de administrar el puerto entrante (generalmente aleatorio, pero no siempre), tiene que decirle al otro lado en qué puerto escuchará los paquetes UDP cuando comience a comunicarse y esperar El mensaje no se pierde.
- TCP (Transfer Control Protocol) es como hacer una llamada: marca un número (ip + número de puerto), espera a que el otro lado responda (recibe un acuse de recibo, también conocido como paquete de reconocimiento ) y saluda, luego puedes comenzar a transmitir y recibir datos. TCP siempre es bidireccional, sus datos provienen de un puerto aleatorio (generalmente), que se incluye en la configuración de conexión original. Este protocolo tiene mucha más sobrecarga que UDP, pero es útil cuando necesita confiabilidad en la transmisión, especialmente en solicitudes cliente-servidor como páginas web.
Para resumir: en TCP, sus datos vuelven al mismo puerto desde el que salió la solicitud. En UDP, debe informar al otro lado en qué puerto escuchará.
- ¿Qué pasó con el final de IPv4, que se suponía que tendría lugar hace más de un año?
- ¿Cómo podemos calcular fácilmente la próxima ip de una subred compleja?
- ¿Qué significa el sistema abierto en un modelo OSI?
- Si un cliente solo puede hablar TCP y un servidor solo puede hablar UDP, ¿será posible o no la comunicación entre ellos?
- ¿Cuál es la diferencia entre una dirección IP pública y una dirección IP privada?
En el caso de la comunicación bidireccional UDP, también debe informar a cualquier firewall o enrutador que esté detrás para abrir o reenviar el puerto en el que espera tráfico entrante, la mayoría descarta los paquetes UDP entrantes a la mayoría de los puertos de forma predeterminada. Esto generalmente se maneja automáticamente usando UPnP, o se puede hacer manualmente si tiene acceso de administrador. Lo mismo debe hacerse para TCP si espera que el otro lado inicie la conexión, como el puerto 80 para servidores web.