Si envío datos a un servidor en Internet en algún puerto (como 80), ¿qué puerto devolverá los datos?

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á.

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.

Cuando el cliente solicita (p. Ej., Página http) algo de un servidor … la solicitud primero pasa a través de la capa de transporte de los clientes … durante el cual adjunta un puerto aleatorio a los segmentos (> 1024). (Digamos 2048) Eso es … solicita a través de un puerto no … y en el lado del servidor, la solicitud se envía en el puerto no 80 ahora el servidor lo reconoce y envía la página web a través del puerto no 80 … ahora es la parte importante ..
Observe que el tcp es la conexión todavía está allí … por lo que el cliente recibe la página web en el mismo puerto ( en este caso 2048) a través del cual realizó una solicitud …

Cuando se inicia una conexión TCP, se configuran los puertos de origen y de destino. El puerto de destino será el puerto 80 si está accediendo a un sitio web que ejecuta un servidor web, el puerto de origen se selecciona aleatoriamente de los puertos sin privilegios en la máquina emisora ​​y se envía dentro del encabezado TCP.

Para una mayor comprensión, consulte la URL a continuación, le ayudará

Número de puerto TCP de origen y destino – Sección 1

Para la computadora del usuario (su) es un número de puerto aleatorio. Pero este número de puerto aleatorio está fijado para toda la información de recepción y envío de su computadora. Entonces, si envía información desde el puerto 80, también recibirá en el puerto 80.

Para la computadora servidor su puerto 80 fijo.

Cuando envíe datos a un puerto como 80, su aplicación que envíe los datos creará un socket, a menos que se especifique que será un puerto aleatorio (XXXX) que será el puerto de origen y el puerto de destino será 80.

Entonces, en el caso de la respuesta, el puerto de origen será 80 y el puerto de destino será XXXX.

Sobre los mismos puertos de la conexión establecida.

Parece que no entiende cómo se hace la conexión. Cualquier conexión TCP se realiza desde una IP de origen Y un puerto de origen a una IP de destino y un puerto de destino. No cambian durante la vida útil de la conexión.

More Interesting

Si cambio la implementación de TCP en mi sistema operativo para obtener una asignación injusta de ancho de banda, ¿qué sucederá?

¿Puedo agregar un programa de socket a mi aplicación de Android?

¿Qué es la partición del espacio de direcciones y por qué es necesario?

¿Se puede rastrear un teléfono usando una dirección MAC o IP?

¿Qué es el software de cambio de IP? ¿Puedo cambiar mi dirección IP y ubicación por uno de ellos?

¿Puede un paquete ser descartado por una interfaz después de que se muestra en tcpdump -I ?

¿Se pueden disfrazar los paquetes TCP / UDP?

¿Por qué HTTP, FTP, SMTP y POP3 se ejecutan sobre TCP en lugar de sobre UDP?

¿Cuál es la diferencia entre la red definida por software y el sistema de gestión de elementos / sistema de gestión de red?

¿Cuál es la diferencia entre la dirección IP y la dirección MAC, y cómo se usan?

Al enviar un paquete a través del TCP. ¿El cuerpo TCP alcanza unos pocos milisegundos de retraso después del encabezado TCP? ¿Alguien podría explicar por qué esto podría estar sucediendo?

Para la transmisión del sistema de archivos, ¿hay alguna manera de 'mantener una conexión abierta', como con TCP, o la transferencia de datos relativamente sin estado es lo suficientemente rápida?

¿Por qué la dirección IP generada por el enrutador comienza con 192?

¿Por qué el modelo OSI tiene 7 capas, ni más ni menos?

En la comunicación de datos y las redes, usamos ipv4 para el direccionamiento, pero ¿por qué tenemos que avanzar hacia IPv6 si NAT puede convertir todas las IP privadas en IP públicas?