Jump to content

Route filtering

From Wikipedia, the free encyclopedia

In the context of network routing, route filtering is the process by which certain routes are not considered for inclusion in the local route database or not advertised to one's neighbours. Route filtering is particularly important for the Border Gateway Protocol on the global Internet, where it is used for various reasons. One way of doing route filtering with external resources in practice is using Routing Policy Specification Language in combination with Internet Routing Registry databases.

Types of filtering

[edit]

A filter can be naturally applied at two times: when learning routes from a neighbour and announcing routes to a neighbour.

Input filtering

[edit]

In input filtering, routes are filtered as they are learned from a neighbour. A route that has been filtered out is discarded immediately and hence not considered for inclusion into the local routing database.

Output filtering

[edit]

In output filtering, a filter is applied to routes before they are announced to a neighbour. A route filtered out is never learned by a neighbour, and hence not considered for inclusion in the remote route database.

Reasons to filter

[edit]

Economic reasons

[edit]

When a site is multihomed, announcing non-local routes to a neighbour different from the one it was learned from amounts to advertising the willingness to serve for transit, which is undesirable unless suitable agreements are in place. Applying output filtering on these routes avoids this issue.

Security reasons

[edit]

An ISP will typically perform input filtering on routes learned from a customer to restrict them to the addresses assigned to that customer. Doing so makes address hijacking more difficult.

Similarly, an ISP will perform input filtering on routes learned from other ISPs to protect its customers from address hijacking.

Technical reasons

[edit]

In some cases, routers have insufficient main memory to hold the full global BGP table. A simple workaround is to perform input filtering, thus limiting the local route database to a subset of the global table.[1] This can be done by filtering on prefix length (eliminating all routes for prefixes longer than a given value), AS count, or combining the two; security is the most important point.

However, this practice is not recommended, as it can cause suboptimal routing[2] or even communication failures with small networks[citation needed], and frustrate the traffic-engineering efforts of one's peers.

See also

[edit]

References

[edit]
  1. ^ Santos, Omar (May 12, 2014). "The Size of the Internet Global Routing Table and Its Potential Side Effects". Cisco Systems. Retrieved 10 April 2015. [T]he Internet routing table growth could cause Ternary Content Addressable Memory (TCAM) resource exhaustion for some networking products.... Route filtering and the use of a default route can also be used to decrease the number of routes in an affected device.
  2. ^ Lagerholm, Stephan. "IPv4 / IPv6 and TCAM memory". The IPv4 Depletion Site. Retrieved 10 April 2015. An option that service providers can consider is to filter smaller routes. ... What is likely to happen is providers will start filtering deaggregates where a covering prefix exists, at least for some time until this problem is resolved. This might create a suboptimal path for packets resulting in an increased latency.