Routing and Forwarding
Reenvío de Paquetes
Objetivo: Comprender el proceso de reenvío de paquetes en capa 3, incluyendo la inspección de encabezados y la toma de decisiones basada en la tabla de enrutamiento.
Función de Routing: Recibir el paquete, desencapsularlo de su encabezado de capa 2, revisar la cabecera de capa 3 (IP) para determinar el destino, y tomar una decisión de reenvío basada en esta información.
Encapsulación: Se modifica la capa 2 en cada salto para adaptarse al medio de transmisión del siguiente segmento de la red. La capa 3 permanece intacta.
Identificación del Destino:
El destino debe coincidir con la dirección IP del siguiente salto (gateway) para asegurar que el paquete se dirija correctamente hacia su destino final.
Revisión de la tabla ARP para mapear la dirección IP del siguiente salto a su correspondiente dirección MAC.
Consulta ARP si no se encuentra la dirección MAC en la tabla ARP. El router envía una solicitud ARP para resolver la dirección MAC asociada con la dirección IP del siguiente salto.
No se consulta ARP en casos de broadcast o multicast, ya que estos son enviados a todas las direcciones o a un grupo específico y no requieren una dirección MAC individual.
ARP: Un dispositivo pregunta "¿Quién tiene esta IP?", enviando una solicitud broadcast a todos los dispositivos en la red local. El dueño de la IP responde directamente al solicitante con su dirección MAC.
Enrutamiento Estático y Dinámico
El router debe determinar la mejor ruta para reenviar el paquete, considerando factores como la disponibilidad del enlace, el costo y la congestión.
La tabla de rutas es clave para la toma de decisiones, almacenando información sobre las redes conocidas y cómo llegar a ellas. Esta tabla puede ser construida manualmente (estáticamente) o automáticamente (dinámicamente).
La mejor ruta es la que tiene mayor coincidencia de bits entre la dirección de destino y la entrada en la tabla de rutas, lo que permite una búsqueda más precisa del destino.
Métrica y Distancia Administrativa:
Son criterios de decisión adicionales utilizados para determinar la mejor ruta, pero la coincidencia de bits es siempre el primer criterio.
Primero se elige la mayor coincidencia de bits, luego se consideran la métrica y la distancia administrativa para desempatar entre rutas candidatas.
Ejemplo de selección de ruta:
Destino: 10.0.0.2
Opción 1: 10.0.0.0/8 (8 bits coincidentes)
Opción 2: 10.0.0.0/16 (16 bits coincidentes)
Opción 3: 10.0.0.0/24 (24 bits coincidentes)
Opción 4: 10.10.0.0/16 (No coinciden los bits)
La mejor opción es la 3 porque tiene la mayor coincidencia de bits, lo que indica que la red de destino está más específicamente definida.
Funciones Después de Elegir la Ruta:
Reenviar el paquete a una red directamente conectada, lo que implica encapsular el paquete con la dirección MAC del dispositivo destino.
Reenviar el paquete a un router de siguiente salto, si el destino no está en una red directamente conectada.
Descartar el paquete si no hay coincidencia en la tabla de rutas o si el TTL (Time To Live) ha expirado, evitando así bucles infinitos.
Encapsulación: Se vuelve a encapsular el paquete según el protocolo de la interfaz de salida, ajustando los encabezados de capa 2 para el siguiente salto.
Tipos de Entradas en la Tabla de Rutas
Redes directamente conectadas, que son automáticamente añadidas a la tabla de rutas cuando una interfaz se configura con una dirección IP.
Redes remotas, que son aprendidas a través de protocolos de enrutamiento dinámico o configuradas manualmente mediante rutas estáticas.
Ruta por defecto, utilizada para enviar tráfico a destinos desconocidos o a la Internet.
Códigos para identificar la naturaleza de la ruta:
C: Red directamente conectada.
L: IP directamente conectada a una interfaz local (máscara /32), representando la dirección IP específica en una interfaz.
R: RIP.
D: EIGRP.
O: OSPF.
S: Ruta estática.
Distancia Administrativa:
Criterio de desempate si coinciden los bits, utilizado para seleccionar la ruta preferida entre múltiples rutas al mismo destino aprendidas de diferentes fuentes.
Indica la confiabilidad de la fuente de la ruta (valores más bajos son preferidos). Cuanto menor sea el valor, más confiable es la ruta.
Directamente conectada: 0
Estática: 1 (configurable)
RIP: 120
OSPF: 110
EIGRP: 90 (internas), 170 (externas)
BGP: 20 (internas), 200 (externas)
Métrica:
Criterio de desempate si coinciden los bits y la distancia administrativa, utilizado para seleccionar la mejor ruta basada en el costo o la distancia.
Depende del protocolo (número de saltos, ancho de banda, retardo, carga, confiabilidad, costo). Cada protocolo de enrutamiento utiliza sus propios criterios para calcular la métrica.
Completando la Tabla de Rutas
Las direcciones IP de las interfaces se incluyen automáticamente como directamente conectadas, lo que permite al router comunicarse directamente con los dispositivos en esas redes.
Ejemplo de configuración de un router:
Interfaces configuradas: 192.168.1.1/24 y 192.168.12.1/24
El router construye la tabla de rutas, añadiendo estas redes directamente conectadas.
La tabla de rutas muestra las redes directamente conectadas y las interfaces asociadas, permitiendo al router saber a qué interfaz enviar el tráfico destinado a esas redes.
Ejemplo de conectividad:
Un PC conectado al router puede hacer ping a las interfaces del router, verificando la conectividad básica.
Si el router no conoce la ruta de retorno, el ping fallará, lo que indica que la tabla de enrutamiento del PC o del router no está completa.
Rutas Estáticas
Se pueden agregar rutas estáticas para alcanzar redes remotas, proporcionando una forma manual de configurar la tabla de enrutamiento.
Ejemplo:
ip route 192.168.1.0 255.255.255.0 192.168.12.2. Este comando indica al router que para alcanzar la red 192.168.1.0/24, debe enviar el tráfico al siguiente salto con dirección IP 192.168.12.2.Siempre evaluar la ida y la vuelta al hacer pruebas de conectividad, asegurando que tanto el origen como el destino tengan rutas para comunicarse entre sí.
Si existen 2 rutas con la misma coincidencia de bits, se utiliza la distancia administrativa como criterio de desempate, prefiriendo la ruta con la distancia administrativa más baja.
Si coinciden bits, distancia administrativa y métrica, se utilizan ambos caminos, lo que permite el balanceo de carga.
Ejemplo de rutas con diferentes distancias administrativas:
Una ruta con distancia 1 y otra con distancia 2.
Se prefiere la ruta con distancia 1, ya que se considera más confiable.
La ruta con distancia 2 se utiliza como respaldo si la primera falla, proporcionando redundancia.
Mayor Coincidencia de Bits:
Siempre es el primer criterio para elegir la ruta. Una coincidencia más específica indica una ruta más precisa.
Ejemplo: Una ruta con máscara /30 tiene prioridad sobre una ruta con máscara /24 si hay mayor coincidencia de bits, ya que la ruta /30 define una subred más específica.
Ruta por Defecto
Se utiliza para enviar tráfico a destinos desconocidos, actuando como una "última opción" para el enrutamiento.
Comando:
ip route 0.0.0.0 0.0.0.0 [gateway]. Este comando configura una ruta que envía todo el tráfico no coincidente con otras rutas específicas al gateway especificado.El router debe encapsular el paquete con una MAC de origen y una MAC de destino, asegurando que el paquete pueda ser transmitido a través del medio físico.
Interfaces Punto a Punto vs. Multipunto:
Interfaz de salida vs. siguiente salto. En interfaces punto a punto, el siguiente salto es implícito, mientras que en interfaces multipunto, se debe especificar explícitamente.
Las interfaces punto a punto no necesitan ARP, ya que la dirección del otro extremo es conocida.
Las interfaces multipunto (Ethernet) necesitan ARP para descubrir la dirección MAC del siguiente salto.
Gateway:
Necesario en tecnologías multiacceso como Ethernet, donde múltiples dispositivos comparten el mismo medio.
Protocolos de Enrutamiento Dinámico
IGP (Interior Gateway Protocols):
RIP, EIGRP, OSPF. Estos protocolos se utilizan dentro de un sistema autónomo.
EGP (Exterior Gateway Protocol):
BGP. Este protocolo se utiliza para el enrutamiento entre diferentes sistemas autónomos.
IGP:
Utilizados dentro de la misma organización para intercambiar información de enrutamiento y mantener las tablas de enrutamiento actualizadas.
Vector Distancia: RIP, EIGRP. Estos protocolos comparten información de enrutamiento basada en la distancia (número de saltos) y la dirección.
Estado de Enlace: OSPF, IS-IS. Estos protocolos construyen un mapa completo de la red y toman decisiones de enrutamiento basadas en el estado de los enlaces.
EGP:
Utilizado entre diferentes organizaciones para intercambiar información de enrutamiento y coordinar el enrutamiento a través de la Internet.
BGP (Vector de Ruta). Este protocolo utiliza políticas de enrutamiento basadas en atributos de ruta para tomar decisiones.
Ejemplo de uso:
Empresa con sistema autónomo utilizando EIGRP para el enrutamiento interno.
ISP utilizando OSPF para gestionar su red.
BGP para comunicarse entre la empresa y el ISP, permitiendo el intercambio de tráfico.
Ruta por defecto si solo hay una salida a Internet, simplificando la configuración del enrutamiento.
La métrica es el número de saltos (máximo 15), limitando el tamaño de la red.
RIPv1 no soporta VLSM, lo que dificulta la gestión eficiente de las direcciones IP.
RIPv2 y RIPng soportan VLSM, permitiendo una asignación más eficiente de las direcciones IP.
RIPv1 usa broadcast, RIPv2 y RIPng usan multicast, reduciendo el tráfico innecesario en la red.
RIPv1 no soporta autenticación, RIPv2 sí, mejorando la seguridad del enrutamiento.
Protocolo RIP
Vector Distancia: Los routers comparten información con sus vecinos, anunciando las redes que conocen y la distancia para llegar a ellas.
Técnicas para evitar loops:
Horizonte Dividido (Split Horizon):
Split Horizon: Un router no anuncia una ruta de vuelta al vecino del que la aprendió, evitando así el enrutamiento en bucle.
Envenenamiento en Reversa (Poison Reverse):
Poison Reverse: Un router anuncia una ruta como inalcanzable (métrica infinita) al vecino del que la aprendió, previniendo loops al informar rápidamente sobre rutas caídas.
Envenenamiento de Ruta (Route Poisoning):
Route Poisoning: Cuando una ruta falla, se anuncia inmediatamente con una métrica infinita para eliminarla rápidamente de las tablas de enrutamiento vecinas, evitando que se cree un bucle basado en información desactualizada. Este proceso acelera la convergencia de la red.