¿Cómo sabe el enrutador a qué dispositivo enviar paquetes? [duplicar]


15

Mi pregunta no se refiere a cómo se mueve a través de Internet, sino cómo se mueve a través del enrutador a un determinado dispositivo. Todos los dispositivos conectados a un enrutador en una red doméstica tienen la misma IP externa. Digamos que el dispositivo A está cargando una página y los paquetes se envían desde una fuente externa al enrutador porque los paquetes conocen la IP externa del dispositivo A y pueden llegar al enrutador. Pero ahora, ¿cómo llega al dispositivo A? ¿Cómo sabe el enrutador enviarlo al dispositivo A en lugar del dispositivo B?

Creo que esto involucra a NAT, pero solo estoy buscando una explicación lógica de lo que NAT hace para lograr esto.


No puedo darle una respuesta muy específica, pero el enrutador realiza un seguimiento de dónde va una solicitud y quién la envió. Cuando la fuente externa responde, el enrutador simplemente verifica qué dispositivo intentó contactar con la fuente externa inicialmente y reenvía la respuesta a ese dispositivo. Si necesita más información, busque en NAT.
Jack Humphries

Esta pregunta pertenece a
Superuser.com

Respuestas:


11

Cuando inicia una conexión a un sitio externo, el enrutador está usando un número de puerto de origen diferente cada vez ... luego usa ese número de puerto de origen (que es donde regresan los datos) como la clave para buscar en qué máquina su red interna de donde vino la solicitud. Esto se llama Traducción de direcciones de PUERTO (en oposición a la Traducción de direcciones de red, que es cuando tiene múltiples direcciones de red disponibles para su enrutador).


1
esto explicaría cosas como las conexiones TCP, pero algunas aplicaciones no tienen conexión. ¿Qué pasa con los paquetes UDP? ¿Qué sucede si está alojando un servidor en 1 dispositivo, incluso si usa TCP para la conexión? No podrá inicializar una conexión sin que el enrutador sepa en qué dispositivo está el servidor.

1
Para las conexiones UDP, generalmente debe predefinir un puerto en su enrutador que se pueda usar para enrutar a un dispositivo específico. Esta es la característica de "reenvío de puertos" de los enrutadores, y se puede usar para paquetes UDP entrantes (ya sea en respuesta a un mensaje saliente o un paquete entrante nuevo), así como para paquetes TCP entrantes (por ejemplo, aquellos iniciados por un cliente remoto de tu propia PC.)
Michael Bray

1

Normalmente, todos los dispositivos de la red doméstica tienen una dirección interna diferente (dirección privada, siempre 192.168.0.1 ~ 192.168.0.255).

Cuando se envía un paquete desde la red doméstica (digamos Dispositivo A: 192.168.0.123), cuando pasa a través del enrutador, el enrutador traducirá la dirección privada a la dirección externa del enrutador (supongamos que es 140.191.2.5), y el enrutador también registrará esto mapeo en su NAT.

Cuando vuelve la respuesta, el enrutador asigna el NAT y encuentra que la fuente original es el Dispositivo A.

entonces el dispositivo A eventualmente recibe el paquete.

Esto es solo un concepto, para más detalles, consulte wiki: NAT.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.