reverse-path forwarding
≈ 3 min read
Names in other languages
- Englishreverse-path forwarding
- FrançaisReverse Path Forwarding
- Italianoreverse path forwarding
- 日本語Reverse path forwarding
- NederlandsReverse path forwarding
- 简体中文逆向转发
- 繁體中文逆向轉發
- 中文逆向轉發
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing. In standard unicast IP routing, the router forwards the packet away from the source to make progress along the distribution tree and prevent routing loops. In contrast, the router's multicast forwarding state runs more logically by organizing tables based on the reverse path, from the receiver back to the root of the distribution tree at the source of the multicast. This approach is known as reverse-path forwarding.
Reverse-path forwarding (RPF) is a technique used in modern routers for the purposes of ensuring loop-free forwarding of multicast packets in multicast routing and to help prevent IP address spoofing in unicast routing. In standard unicast IP routing, the router forwards the packet away from the source to make progress along the distribution tree and prevent routing loops. In contrast, the router's multicast forwarding state runs more logically by organizing tables based on the reverse path, from the receiver back to the root of the distribution tree at the source of the multicast. This approach is known as reverse-path forwarding. ===Strict mode=== In strict mode, each incoming packet is tested against the FIB and, if the incoming interface is not the best reverse path, the packet check will fail. By default, failed packets are discarded. ===Feasible mode=== In feasible mode, the FIB maintains alternate routes to a given IP address. If the incoming interface matches any of the routes associated with the IP address, then the packet is forwarded. Otherwise, the packet is dropped. ===Loose mode=== In loose mode, each incoming packet's source address is tested against the FIB. The packet is dropped only if the source address is not reachable via any interface on that router. == Filtering vs. forwarding == RPF is often interpreted as reverse-path filtering, particularly when it comes to unicast routing. This is an understandable alternate interpretation of the acronym in that when RPF is used with unicast routing as in RFC 3704, traffic is either permitted or denied based upon the RPF check passing or failing. The thought being that traffic is denied if it fails the RPF check and is therefore filtered. While uRPF is used as an ingress filtering mechanism, it is affected by reverse-path forwarding. Reverse path filters are typically used to disable asymmetric routing where an IP application has a different incoming and outgoing routing path. Its intent is to prevent a packet entering one interface from leaving via the other interfaces. Reverse-path Filtering is a feature of the Linux Kernel. ==Notes== ==References==
Text derived from https://en.wikipedia.org/w/index.php?oldid=1367200994 under CC BY-SA 4.0; modifications have been made.