Subscribe by Email

Saturday, August 17, 2013

What is reverse path forwarding?

- RPF or reverse path forwarding is a common technique used for ensuring that the multicast packets are forwarded without any loops in the modern routers in multicast routing. 
- This technique is also used for the prevention of the IP address spoofing during the unicast routing.
- Multicast RPF or just RPF is not used alone. 
- Rather, it is used along with some multicast routing protocol. 
- There are various multicast routing protocols such as the PIM – SM, PIM – DM, MSDP and so on. 
- This is for ensuring that no loops are formed in forwarding the multicast packets. 
- Source address is used for deciding whether the traffic has to be forwarded or not in multicast routing. 
- On the other hand in unicast routing, this depends up on the destination address instead of source address. 
- This it achieves either through utilization of either the unicast routing table of the router or a multicast routing table that has been dedicated to the purpose. 
As and when a packet comes to the interface of the router, it searches in the networks list for the networks that can be reached through this interface. 
- This is nothing but the reverse path checking of the multicast packet.  
- If the appropriate routing entry is found for the multicast packet’s source IP address, it is said to pass the RPF check. 
- After this the packet is sent to all the participating interfaces in that particular multicast group.  
- If the packet fails at this RPF check, the packet is simply dropped. 
- Because of this, the packet forwarding has to be decided depending up on its reverse path. 
- Otherwise, the forward path can be used as usual. 
- Only those packets are forwarded by the RPF routers which pass this RPF check. 
- Passing this RPF check means breaking any loop that might otherwise exist. 
This is of critical importance in the multicast topologies that are redundant. 
This is so because it is possible for the same packet to come again and again to the same router through a number of multiple interfaces. 
- The RPF check is an integral part of the decision concerning forwarding of the packets. 
- Consider a router forwarding a packet from first interface to the second interface and also from second interface to the first one. 
- Thus, the same packet is received by the two packets, thus creating a common routing loop. 
- This loop will keep on forwarding the packets until the expiry of their TTLs. 
Even if the TTL expiry is considered, the best thing to do is to avoid the routing loops because they are a main cause of the temporary network degradation.

RPF check has the following underlying assumptions:
  1. The given unicast routing table is converged as well as correct.
  2. There is symmetry between the path that goes from sender to router and the path that comes back from the router to the sender.
- RPF check uses the unicast routing table as the fallback. 
- Therefore, if the first assumption is not satisfied, the check will fail. 
- But in case the second assumption is false, the multicast traffic is rejected by the RPF check save the traffic on the shortest path that exists between the sender and the router. 
- This results in a multicast tree that is non–optimal.
- The reverse path forwarding will not work if there are uni-directional links present in the network.

Unicast RPF: 
- This type of the reverse path forwarding is based up on the concept that the interface which does not originate traffic must not accept it. 
- It is good for the organizations to not allow private address propagation on their network until and unless they are continuously using it. 

No comments:

Facebook activity