Específicamente, esto sucede cuando:
* Un host está enviando paquetes a un destino dentro de una subred directamente accesible a través de un enrutador: El host podría haber aprendido esta ruta menos óptima a través de un método diferente (por ejemplo, configuración estática, un anuncio de enrutamiento previo o incluso una entrada de caché de vecinos obsoletos).
* El enrutador tiene una mejor ruta: El enrutador posee una ruta más eficiente a la subred de destino (posiblemente debido a su conexión con un enlace diferente y más rápido).
* El enrutador observa el host que envía tráfico a un enlace directamente accesible a través del enrutador en sí: El enrutador intercepta el tráfico saliente y se da cuenta de que el anfitrión no necesita pasar por él. Está enviando paquetes a un vecino a través del enrutador donde podría tener un camino mucho más corto enviándolo directamente.
El enrutador solo envía un mensaje de redirección si observa que el host envía tráfico y conoce una ruta mejor. No escanea ni sondea de manera proactiva para el enrutamiento subóptimo. La clave es la * observación * del enrutador del tráfico del anfitrión y la posesión del enrutador de un camino más eficiente. El mensaje de redirección solo sugiere una mejor ruta; El anfitrión es libre de aceptarlo o ignorarlo (aunque aceptar suele ser mejor para el rendimiento).