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?
iptables
ip-routing
Simon Farshid
fuente
fuente
Respuestas:
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).
fuente
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.0
o::
, 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.
fuente
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:
fuente
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.
fuente
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.
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).
fuente