|This article does not cite any references or sources. (October 2006)|
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 BGP on the global Internet, where it is used for a variety of reasons.
Types of filtering 
There are two times when a filter can be naturally applied: when learning routes from a neighbour, and when announcing routes to a neighbour.
Input filtering 
In input filtering, a filter is applied to routes as they are learned from a neighbour. A route that has been filtered out is discarded straight away, and hence not considered for inclusion into the local routing database.
Output filtering 
In output filtering, a filter is applied to routes before they are announced to a neighbour. A route that has been filtered out is never learned by a neighbour, and hence not considered for inclusion in the remote route database.
Reasons to filter 
Economic reasons 
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 
An ISP will typically perform input filtering on routes learned from a customer to restrict them to the addresses actually 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 
In some cases, routers have insufficient amounts of main memory to hold the full global BGP table. A simple work-around is to perform input filtering, thus limiting the local route database to a subset of the global table. This can be done by filtering on prefix length (eliminating all routes for prefixes longer than a given value), on AS count, or on some combination of the two; security is the most important point for this.
This practice is not recommended, as it can cause suboptimal routing or even communication failures with small networks, and frustrate the traffic-engineering efforts of one's peers.
See also 
|This Internet-related article is a stub. You can help Wikipedia by expanding it.|
|This article related to telecommunications is a stub. You can help Wikipedia by expanding it.|