8.7 The Routing Process
8.7.2 Routes received from peers
BGP receives routes from external or internal peers. Depending on what is configured in the input policy engines, some or all of these routes will make it into the router BGP table.

Input Policy Engine

This engine handles route filtering and attribute manipulation. Filtering is done based on parameters such as the IP prefix, the AS path, and attribute information.

The network administrator can use the input policy engine to manipulate the path attributes and influence BGP's decision process, which affects what routes it will actually use to reach a certain destination. If, for example, the network administrator chooses to filter a certain network coming from a peer, it is an indication to BGP that it should not reach that network via that peer. Or, if a network administrator gives a certain route a better local preference than some other path to the same destination (this attribute is discussed later), it is an indication that BGP should prefer this route over the other available routes.

The Decision Process

BGP goes through a decision process to decide which routes it wants to use to reach a certain destination. The decision process is based on the routes that made it into the router after the input policy engine was applied and is performed on the routes in the BGP routing table. The decision process looks at all the available routes for the same destination, compares the different attributes associated with each route, and chooses one best route. The decision process is discussed later in this chapter.

Routes Used by the Router

The best routes, as identified by the decision process, are candidates to be advertised to other peers. These routes are also presented to the routing engine to be placed in the IP routing table (not all routes presented to the routing engine will be placed in the routing table, since multiple protocols may present he same prefix for installation, and the router must choose between them).

In addition to routes passed on from other peers, the router (if configured to do so) originates updates about the networks inside its AS. This is how an AS injects its routes into the outside world.

Output Policy Engine

This is the same engine as the input policy engine, applied on the output side. Routes used by the router (the best routes) in addition to routes that the router generates locally are given to this engine for processing. The engine might apply filters and might change some of the attributes (such as AS_path or metric) before sending the update.

The output policy engine also differentiates between internal and external peers; for example, routes learned from internal peers cannot be passed on to internal peers.

Routes Advertised to Peers

The routes advertised to peers are routes that made it through the output engine, and they are advertised to the BGP peers, internal or external.