Policy-based routing

In computer networking, policy-based routing (PBR) is a technique used to make routing decisions based on policies set by the network administrator.

When a router receives a packet it normally decides where to forward it based on the destination address in the packet, which is then used to look up an entry in a routing table. However, in some cases, there may be a need to forward the packet based on other criteria. For example, a network administrator might want to forward a packet based on the source address, not the destination address.[lower-alpha 1] This permits routing of packets originating from different sources to different networks even when the destinations are the same and can be useful when interconnecting several private networks.

Policy-based routing may also be based on the size of the packet, the protocol of the payload, or other information available in a packet header or payload.

In the Cisco IOS, PBR is implemented using route maps.[1] Linux supports multiple routing tables since version 2.2.[2] FreeBSD supports PBR using either IPFW, IPFilter or OpenBSD's PF.

Examples

PBR can be used to redirect traffic to a proxy server by using a PBR-aware L3-switch (router). In such deployment, specific source traffic (e.g. HTTP, FTP) can be redirected to a cache engine. This is known as virtual inline deployment.

Notes

  1. Routing based on source address should not be confused with source routing.
gollark: Websockets are perfect and without flaw, except that you generally need a somewhat complex library for them, even though most things ship with HTTP clients.
gollark: Which reminds me, maybe I ought to add a long polling mode.
gollark: If I had done that, would I say so instead of merely basking in the knowledge that those devices were, hypothetically, part of the PotatOS Computing Network™ and able to do arbitrary computation/networking tasks as required (via SPUDNET)?
gollark: But yes, I totally didn't* remotely install potatOS in place of the firmware on all your network accessible devices.
gollark: Oh yes, SPUDNET-py.

References


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.