Reenvío de ruta inversa


Reenvío Reverse-path (FPR) es una técnica utilizada en los modernos routers a los efectos de garantizar el reenvío libre de bucles de multidifusión paquetes en el enrutamiento de multidifusión y para ayudar a prevenir dirección IP spoofing en unicast enrutamiento. [1]

En el enrutamiento IP de unidifusión estándar, el enrutador reenvía el paquete fuera de la fuente para avanzar a lo largo del árbol de distribución y evitar bucles de enrutamiento. Por el contrario, el estado de reenvío de multidifusión del enrutador se ejecuta de manera más lógica al organizar tablas basadas en la ruta inversa, desde el receptor hasta la raíz del árbol de distribución en el origen de la multidifusión. Este enfoque se conoce como reenvío de ruta inversa.

El RPF de multidifusión, normalmente denominado simplemente RPF, se utiliza junto con un protocolo de enrutamiento de multidifusión como el Protocolo de descubrimiento de origen de multidifusión o el Protocolo de multidifusión independiente para garantizar el reenvío sin bucles de paquetes de multidifusión. En el enrutamiento de multidifusión, la decisión de reenviar el tráfico se basa en la dirección de origen y no en la dirección de destino como en el enrutamiento de unidifusión. Para ello, utiliza una tabla de enrutamiento de multidifusión dedicada o, alternativamente, la tabla de enrutamiento de unidifusión del enrutador.

Cuando un paquete de multidifusión ingresa a la interfaz de un enrutador, el enrutador busca la lista de redes que son accesibles a través de esa interfaz (es decir, verifica las rutas por las cuales el paquete podría haber llegado). Si el enrutador encuentra una entrada de enrutamiento coincidente para la dirección IP de origen del paquete de multidifusión, la verificación RPF pasa y el paquete se reenvía a todas las demás interfaces que participan en ese grupo de multidifusión. Si la comprobación de RPF falla, el paquete se descarta. Como resultado, el reenvío del paquete se decide basándose en la ruta inversa del paquete en lugar de la ruta directa. Al reenviar solo los paquetes que ingresan a la interfaz que también contiene la entrada de enrutamiento para la fuente del paquete, se evitan los bucles.

Esto es de vital importancia en topologías de multidifusión redundantes. Debido a que el mismo paquete de multidifusión podría llegar al mismo enrutador a través de múltiples interfaces, la verificación RPF es integral en la decisión de reenviar paquetes o no. Si el enrutador reenvió todos los paquetes que vienen en la interfaz A a la interfaz B y también reenvió todos los paquetes que vienen en la interfaz B a la interfaz A y ambas interfaces reciben el mismo paquete, esto creará un bucle de enrutamiento donde los paquetes se reenviarán en ambas direcciones hasta sus TTL de IP expiran. Es mejor evitar los bucles de enrutamiento, ya que consumen recursos de red innecesariamente.

Si la primera suposición es falsa, la comprobación de RPF fallará porque depende de la tabla de enrutamiento de unidifusión del enrutador como alternativa. Si la segunda suposición es falsa, la verificación RPF rechazaría el tráfico de multidifusión en todo el camino, excepto en el más corto, desde el remitente hasta el enrutador, lo que conduciría a un árbol de multidifusión no óptimo. En los casos en que los enlaces son unidireccionales, el enfoque de ruta inversa puede fallar por completo.