¿Cómo sabe un paquete IP qué puerta de enlace tomar?

11

Supongamos que existen dos puertas de enlace en la misma red. Si entiendo correctamente, la tabla de enrutamiento IP en la computadora del remitente decide qué paquetes se enrutan a través de qué puerta de enlace.

Las tablas de enrutamiento IP contienen la dirección IP de la puerta de enlace.

¿Cómo se usa esta dirección IP de la puerta de enlace al enviar paquetes IP?

Simon Farshid
fuente
1
El paquete no "sabe", el enrutador decide a qué puerta de enlace enviarlo, a través de cualquier enlace que exista entre el enrutador y la puerta de enlace elegida. (Como señalan las respuestas, ethernet es una capa 2 bien conocida y común para el tráfico IP.)
Peter Cordes

Respuestas:

14

TL; DR: la dirección de la puerta de enlace solo se almacena en una trama Ethernet que contiene ese paquete TCP / IP

El tráfico del servidor-> conmutador-> enrutador, así como el tráfico del servidor-> conmutador-> del servidor, es donde el direccionamiento IP en realidad no juega ningún papel significativo. Es el mundo del protocolo subyacente, probablemente Ethernet. Entonces es un mundo que se ejecuta en direccionamiento MAC.

Por lo tanto, solo necesita resolver la confusión de que una puerta de enlace predeterminada es una dirección IP. Es una especie de ... al inicio ... pero ese parámetro de IP de la puerta de enlace solo es necesario para hacer una cosa, es preguntar: ¿quién tiene 192.168.1.1 por aquí? La respuesta es que la puerta de enlace es MAC 88: 99: aa: bb: cc: dd: ee: ff. (Esa es la consulta / respuesta ARP, el traductor entre los dos mundos). El paquete va a ese MAC en el nivel de Ethernet, a pesar de que puede tener un destino diferente en el nivel de IP.

Por lo tanto, el paquete se marca para ir a una puerta de enlace elegida codificándolo en el campo "MAC de destino" de la trama de Ethernet. El campo determina qué puerta de enlace en esa red lo obtendrá, si hay varias puertas de enlace. (El "marco" es una cápsula subyacente que contiene el paquete o parte del paquete).

kubanczyk
fuente
2
Iría más allá y diría que es la única respuesta aquí que realmente responde la pregunta.
Peter Green
3
Además, esto no es solo una puerta de enlace predeterminada, sino que se aplica a la dirección del "siguiente salto" para cualquier entrada en la tabla de enrutamiento.
Peter Green
2
Por supuesto, se utilizan otros protocolos de capa 1/2 además de ethernet. Los protocolos LAN IEEE tienen direcciones MAC, pero otros protocolos usan algo o nada más.
Ron Maupin
6

El encabezado del datagrama IP solo contiene información de la dirección del origen y el destino. Según el destino, el enrutador debe saber dónde reenviar el paquete a continuación, y esta información se almacena en la tabla de enrutamiento.

Podría haber información de ruta estática para la dirección o su subred y la puerta de enlace predeterminada se usa para el resto. Este suele ser el caso en la red local: puede haber enrutamiento estático a otras redes locales y puerta de enlace predeterminada para el resto, es decir, Internet. En el caso de varias puertas de enlace predeterminadas, es decir, rutas hacia 0.0.0.0o ::, la activa se elige por su valor de preferencia o métrico .

Las cosas se vuelven más complicadas cuando hay varias rutas entre los destinos, como las hay entre los ISP en el nivel de Internet. Existen varios métodos para compartir la información entre los enrutadores: Protocolo de información de enrutamiento (RIP), Abrir primero la ruta más corta (OSPF) y el Protocolo de puerta de enlace fronterizo (BGP). Independientemente de cómo se comparta esta información, la tabla de enrutamiento conoce el próximo salto y el paquete IP solo conoce su destino final.

Esa Jokinen
fuente
1
También vale la pena mencionar el enrutamiento basado en políticas, donde se pueden seleccionar diferentes tablas de enrutamiento en función de diversos criterios, como el origen de IP o la marca de firewall.
Bratchley
No olvides explicar que la coincidencia de prefijo más larga tiene prioridad sobre todo lo demás cuando hay dos coincidencias posibles.
Ron Maupin
La pregunta no es acerca de cómo el enrutador reenvía el paquete, sino cómo el remitente lo envía al enrutador correcto en primer lugar.
Barmar
@Barmar: La versión original de esta pregunta podría haber sido interpretada de dos maneras, y esto respondió a la otra. El proceso de elegir el enrutador basado en la tabla de enrutamiento es el mismo en la máquina de origen. Por lo tanto, todavía encuentro útil esta respuesta mientras que la otra baja una capa. Se complementan entre sí.
Esa Jokinen
Acabo de revisar el historial de edición. No veo una diferencia relevante en la versión original. La pregunta es cómo llega el paquete al enrutador que se determina a partir de la tabla de enrutamiento.
Barmar
2

Una posibilidad es que la red esté configurada con un protocolo de redundancia de primer salto (FRHP), como VRRP o HSRP. El FHRP tiene una dirección de puerta de enlace virtual que usan los hosts, y el tráfico enviado a la dirección virtual es recogido por uno de los enrutadores físicos, que luego reenvía el tráfico. Si el enrutador primario falla, un enrutador secundario puede determinar eso y hacerse cargo de reenviar los paquetes.


En cualquier caso, los paquetes no determinan la ruta que toman. Cada paquete se reenvía individualmente e independientemente de cualquier otro paquete, en función de la información en la tabla de enrutamiento de un enrutador, y los paquetes al mismo destino desde la misma fuente pueden tomar diferentes rutas si cambia una tabla de enrutamiento.

Los enrutadores aprenden rutas de tres maneras:

  1. Redes conectadas directamente
  2. Rutas configuradas estáticamente
  3. A través de un protocolo de enrutamiento dinámico
Ron Maupin
fuente
2

Respuesta corta y simple: no se codifica en el paquete, o es la dirección de destino de Ethernet dependiendo de cómo se mire. La pila IP / Ethernet analiza qué puerta de enlace maneja la dirección IP de destino, envía una solicitud ARP para que la dirección IP de la puerta de enlace obtenga su dirección MAC, luego envía el paquete a la dirección MAC de la puerta de enlace. La puerta de enlace reenvía el paquete y vuelve a hacer lo mismo. Esto supone una red Ethernet.

Creo que respondí lo que estás preguntando. Una vez me pregunté lo mismo. Su pregunta también se puede interpretar como cómo un host, dada una tabla de enrutamiento particular, decide a qué puerta de enlace enviar un paquete saliente.

Alex Cannon
fuente
0

Por supuesto, un detalle que se analiza es si una ruta coincide. Si envío a 192.0.2.55/24 y hay una ruta disponible para el tráfico a 10.55.0.0/16, esa ruta se ignora porque no se aplica.

El siguiente criterio que generalmente se observa es que las rutas más específicas tengan prioridad sobre las rutas más generales. Por ruta "específica", me refiero a subredes más pequeñas. En otras palabras, números más grandes cuando se usa la notación / CIDR y máscaras de subred más grandes cuando se usa la notación de "máscara de subred". En otras palabras, redes de destino con menos direcciones posibles.

Por lo tanto, una "puerta de enlace predeterminada", también conocida como la "puerta de enlace de último recurso", generalmente especifica un destino para todo el tráfico a la red 0.0.0.0/0. Cualquier ruta para una red más pequeña será "más específica" que eso y tendrá prioridad. Entonces, 192.0.2.0/24 tendrá más prioridad.

En tercer lugar, las rutas suelen tener otro campo llamado "métrico" o, a veces, un nombre diferente como "prioridad". Si tiene varias redes que son del mismo tamaño, esto puede tener un impacto.

Estos valores "métricos" pueden ser algo que se genera automáticamente (por ejemplo, de esa manera se usa una red de mayor velocidad para más tráfico), pero se puede ajustar manualmente.

¿Dónde está codificada la información sobre la puerta de enlace codificada dentro de los paquetes IP enviados?

Los paquetes IP no incluyen ninguna información sobre el enrutamiento, excepto para especificar la dirección IP de destino. Los detalles de enrutamiento están determinados por el equipo que maneja el enrutamiento en el camino, y dichos detalles generalmente no se colocan en un paquete IP. (Por lo tanto, el equipo no busca ese detalle, ya que no está allí. Dado que el equipo no busca dicha información, sería inútil tratar de incluir dicha información).

La página 11 del RFC 791 muestra una tabla de estilo "ASCII ART" de la información que está en un paquete IP. Después de esa tabla, ese documento muestra detalles (por ejemplo, la sección "Opciones" se describe en la página 15).

TOOGAM
fuente