Routing – How does exactly reverse-path broadcast work

broadcastrouting

I am not sure if I can ask this question on this website, since this is my first question here and I am not familiar with the kind of questions that can be asked here, but it is about a routing algorithm.

I was reading about the link-state routing algorithm, and in particular I was reading about the reverse-path broadcast, where it says:

  1. Every router forwards a broadcast packet to every adjacent router, except the one where it received the packet.

  2. A router u accepts a broadcast packet p originating at router s only if p arrives on the link that is on the direct (unicast) path from u to s.

My problem is related to the second point: I don't understand what a unicast path from u to s would be. Could you please explain it to me?

I am also not understanding why the second point would solve the problems of having cycles in the network.

Best Answer

My problem is related to the second point: I don't understand what a unicast path from u to s would be. Could you please explain it to me?

Unicast reverse path usually means:

  1. Record the input interface I for the packet
  2. Take the packet IP source address A1
  3. Look up nexthop for address A1 in the unicast routing table
  4. Check the nexthop's output interface matches the input interface I

I am also not understanding why the second point would solve the problems of having cycles in the network.

Unicast reverse path checking relies on correct UNICAST routing tables. Correct unicast routing tables are loop-free. Unicast routing tables provide a loop-free topology from every router towards the broadcast source address (A1). Unicast reverse path checking ensures broadcast packets only will be accepted within the loop-free topology rooted at A1.

See also: Reverse path forwarding