¿Cómo el algoritmo de reenvío y poda de ruta inversa crea un árbol de multidifusión basado en la fuente?

El reenvío de ruta inversa (RPF) se utiliza en combinación con un protocolo de enrutamiento de multidifusión para construir un árbol de ruta más corta sin bucles.

En el reenvío de IP de unidifusión normal, el enrutador lee la dirección de destino del paquete y lo busca en la tabla de reenvío para decidir desde qué puerto enviar el paquete. En el reenvío de IP de multidifusión, la dirección de destino corresponde a un grupo de puertos en el enrutador.

Si se produce un cambio de topología en la red, las tablas de enrutamiento en los diferentes enrutadores se desviarán entre sí durante un breve período de tiempo, hasta que el protocolo de enrutamiento las sincronice nuevamente. Con un paquete de unidifusión, este no es un gran problema, ya que un paquete mal encaminado puede dar la vuelta en un bucle hasta que el campo TTL llegue a cero. Después de un tiempo, el protocolo de enrutamiento volverá a converger y se eliminará el bucle.

El gran problema viene con la multidifusión, ya que incluso un bucle transitorio hará que los paquetes se repliquen a una velocidad muy alta. Esto es análogo a una tormenta de difusión en la capa 2. Una buena solución es implementar una verificación de Reenvío de ruta inversa. Con RPF, el enrutador mira la dirección SOURCE del paquete y verifica que haya una entrada en la tabla de enrutamiento que corresponda a la dirección SOURCE en la dirección de la que proviene el paquete (exactamente lo contrario del comportamiento de reenvío normal). Una comprobación RPF asegurará que los paquetes mal enrutados nunca se reenvíen, ya que no ingresarán al enrutador en el puerto correcto.

Entonces, con un protocolo de enrutamiento de multidifusión que construye el árbol de la ruta más corta y evita bucles a largo plazo, RPF es una excelente manera de suprimir bucles transitorios.