-->

Forwarding

El Forwarding (o reenvío de paquetes) es el proceso fundamental realizado a nivel de Capa 3 (Red) por el cual un dispositivo intermedio (como un router o un switch multicapa) recibe un paquete de datos por una interfaz de entrada y lo conmuta hacia la interfaz de salida adecuada para que continúe su camino hacia el destino.

Es importante no confundir Forwarding con Routing: mientras que el routing (enrutamiento) es el proceso en segundo plano mediante el cual los protocolos determinan y construyen las mejores rutas globales, el forwarding es la acción inmediata y en tiempo real de tomar un paquete físico e hilar su salto individual basándose en la información de la tabla de reenvío.

¿Cómo funciona el proceso de Forwarding?

Cada vez que un paquete IP entra por una interfaz de un router, se ejecutan de forma secuencial los siguientes pasos:

  • 1. Desencapsulación de Capa 2: El router recibe la trama Ethernet, verifica la suma de comprobación (FCS) y elimina la cabecera de Capa 2 para extraer el paquete IP.
  • 2. Búsqueda en la tabla (FIB): Lee la dirección IP de destino de la cabecera de Capa 3 y busca en su tabla de reenvío (FIB - Forwarding Information Base) la coincidencia de prefijo más específica (Longest Prefix Match).
  • 3. Decremento del TTL / Hop Limit: Resta 1 al campo TTL (en IPv4) o Hop Limit (en IPv6). Si llega a 0, el paquete se descarta y se envía un mensaje de error ICMP al origen.
  • 4. Reencapsulación y salida: Consulta la tabla ARP/NDP para obtener la MAC del siguiente salto (Next Hop), construye una nueva cabecera de Capa 2 y envía la trama por la interfaz de salida seleccionada.

Arquitecturas y mecanismos de Forwarding en routers

Mecanismo Descripción y Funcionamiento Rendimiento / Velocidad
Process Switching Cada paquete interrumpe a la CPU principal del router para consultar la tabla de rutas. Es el mecanismo más antiguo. Muy lento (Alto consumo de CPU).
Fast Switching El primer paquete pasa por CPU; el resto de paquetes del mismo flujo usan una memoria caché rápida de reenvío. Intermedio (Caché bajo demanda).
CEF (Cisco Express Forwarding) Crea estructuras de datos optimizadas en hardware (FIB y Tabla de Adyacencia) precalculadas en memoria ASIC. Extremadamente rápido (Estándar actual).

Routing vs. Forwarding

Característica Routing (Plano de Control) Forwarding (Plano de Datos)
Objetivo Descubrir la topología global y calcular las mejores rutas. Mover paquetes individuales de una interfaz a otra.
Escala de tiempo Segundos / Minutos (Proceso periódico o por eventos). Nanosegundos / Microsegundos (Por paquete enviado).
Estructura clave Tabla de Enrutamiento (RIB - Routing Information Base). Tabla de Reenvío (FIB - Forwarding Information Base).

Características principales:

  • Pertenece directamente al **Plano de Datos** (Data Plane) de los dispositivos de red.
  • Se ejecuta por cada paquete individual que atraviesa el equipo.
  • Aplica la regla de coincidencia del prefijo más largo (Longest Prefix Match).
  • Requiere modificar las cabeceras de Capa 2 (cambian las MAC de origen y destino en cada salto) y decrementar el TTL de Capa 3.
  • En equipos modernos de alta gama se realiza 100% por hardware mediante circuitos integrados de aplicación específica (**ASIC**).

Analogía: Piensa en un centro logístico de correos. El Routing es la directiva estratégica que decide las rutas de reparto entre ciudades. El Forwarding es el operario de la cinta transportadora que lee el código postal de una caja individual y la deposita inmediatamente en el camión de salida correspondiente.

Actividad práctica

Objetivo:

Analizar la tabla de reenvío/enrutamiento en tu propio sistema operativo e identificar la decisión de forwarding para una IP específica.

Tareas:

  1. Abre la consola de comandos (CMD en Windows o Terminal en Linux).
  2. Ejecuta el comando para visualizar la tabla de enrutamiento/reenvío de tu host:
    • En Windows: route print
    • En Linux: ip route
  3. Identifica la regla de reenvío por defecto (0.0.0.0/0 o default) y la IP del *Next Hop* (puerta de enlace).
  4. Simula la decisión de forwarding: si tu equipo quiere enviar un paquete a la IP de Internet 8.8.8.8, ¿con qué regla de tu tabla coincide y por qué interfaz saldrá?
  5. (Opcional en Linux) Utiliza el comando ip route get 8.8.8.8 para ver exactamente la decisión instantánea de forwarding que tomaría el kernel de Linux.

Preguntas de reflexión:

  1. ¿En qué se diferencian el Plano de Control (Control Plane) y el Plano de Datos (Data Plane) en un router?
  2. ¿Qué le ocurre a las direcciones MAC de origen y destino de una trama Ethernet cuando un router realiza el forwarding de un paquete entre dos redes distintas?
  3. ¿Por qué es necesario decrementar en 1 el campo TTL (o Hop Limit) durante el proceso de forwarding?
  4. Si la tabla de reenvío tiene dos reglas que coinciden con un paquete de destino: 10.0.0.0/16 y 10.0.1.0/24, ¿cuál elegirá el router para realizar el forwarding y por qué?
  5. ¿Qué tecnología desarrollada por Cisco permite realizar el forwarding de paquetes a nivel de hardware sin saturar la CPU del router?
Haz clic aquí para ver las soluciones y explicaciones

1. ¿En qué se diferencian el Plano de Control (Control Plane) y el Plano de Datos (Data Plane) en un router?

El Plano de Control es la "mente" del router encargada de ejecutar protocolos de enrutamiento (como OSPF o BGP) para construir la tabla de rutas (RIB). El Plano de Datos (donde reside el Forwarding) es el mecanismo de conmutación rápido que toma la decisión y conmuta los paquetes físicos individualmente entre las interfaces utilizando la tabla de reenvío (FIB).


2. ¿Qué le ocurre a las direcciones MAC de origen y destino de una trama Ethernet cuando un router realiza el forwarding de un paquete entre dos redes distintas?

Se reescriben por completo. La MAC de origen pasa a ser la dirección física de la interfaz de salida del router, y la MAC de destino pasa a ser la del siguiente salto (el siguiente router o el host final). Las direcciones IP de origen y destino del paquete interior se mantienen intactas.


3. ¿Por qué es necesario decrementar en 1 el campo TTL (o Hop Limit) durante el proceso de forwarding?

Para **evitar bucles de enrutamiento infinitos** en la red. Si existiera un bucle de rutas por una mala configuración, el campo TTL se iría reduciendo en cada salto hasta llegar a 0, momento en el cual el paquete se descarta de forma segura evitando la saturación del tráfico.


4. Si la tabla de reenvío tiene dos reglas que coinciden con un paquete de destino: 10.0.0.0/16 y 10.0.1.0/24, ¿cuál elegirá el router para realizar el forwarding y por qué?

Elegirá la ruta 10.0.1.0/24. Los routers aplican siempre el principio de **coincidencia de prefijo más largo** (Longest Prefix Match), seleccionando la ruta que tenga la máscara de subred más específica (en este caso, 24 bits frente a 16 bits).


5. ¿Qué tecnología desarrollada por Cisco permite realizar el forwarding de paquetes a nivel de hardware sin saturar la CPU del router?

CEF (Cisco Express Forwarding). Esta tecnología descarga las decisiones de reenvío a estructuras de datos precalculadas en memorias especializadas por hardware (ASIC/TCAM), logrando conmutar el tráfico a la máxima velocidad del medio físico (wire-speed).