autonomous system to control traffic flow using multiple BGP path attributes. BGP allows a provider to fully use all its bandwidth by manipulating these path attributes.
Content 6.1 BGP Concepts and Terminology 6.1.7 Path-Vector Functionality Internal routing protocols announce a list of networks and the metrics to get to each network. In contrast, BGP routers exchange network reachability information, called path vectors, made up of path attributes. The path-vector information includes a list of the full path of BGP autonomous system numbers (hop by hop) necessary to reach a destination network and the networks that are reachable at the end of the path. Other attributes include the IP address to get to the next autonomous system (the next-hop attribute) and an indication of how the networks at the end of the path were introduced into BGP (the origin code attribute). This autonomous system path information is useful to construct a graph of autonomous systems based on the information exchanged between BGP neighbors. BGP views the whole internetwork as a graph, or tree, of autonomous systems. The connection between any two systems forms a path. The collection of path information is expressed as a sequence of autonomous system numbers called the AS path. This sequence forms a route to reach a specific destination. The AS path is always loop-free. A router running BGP does not accept a routing update that already includes the router autonomous system number in the path list, because the update has already passed through its autonomous system, and accepting it again would result in a routing loop.
Content 6.1 BGP Concepts and Terminology 6.1.8 BGP Routing Policies BGP allows routing-policy decisions at the autonomous system level to be enforced. These policies can be implemented for all networks owned by an autonomous system, for a certain CIDR block of network numbers (prefixes), or for individual networks or subnetworks.BGP specifies that a BGP router can advertise to neighboring autonomous systems only those routes that it uses itself. This rule reflects the hop-by-hop routing paradigm that the Internet generally uses. The hop-by-hop routing paradigm does not support all possible policies. For example, you cannot influence how a neighboring autonomous system routes traffic, but you can influence how your traffic gets to a neighboring autonomous system. BGP does support any policy that conforms to the hop-by-hop routing paradigm. Because the Internet currently uses the hop-by-hop routing paradigm only, and because BGP can support any policy that conforms to that paradigm, BGP is highly applicable as an inter-autonomous-system routing protocol. For example, in Figure , the following paths are possible for AS 64512 to reach networks in AS 64700 through AS 64520: AS 64512 does not see all these possibilities. AS 64520 advertises to AS 64512 only its best path, 64520 64600 64700, in the same way that IGPs announce only their best least-cost routes. This path is the only path through AS 64520 that AS 64512 sees. All packets that are destined for 64700 through 64520 take this path. Even though other paths exist, AS 64512 can only use what AS 64520 advertises for the networks in AS 64700. The AS path that is advertised, 64520 64600 64700, is the AS-by-AS (hop-by-hop) path that AS 64520 uses to reach the networks in AS 64700. AS 64520 will not announce another path, such as 64520 64540 64600 64700, because it did not choose that as the best path based on the BGP routing policy in AS 64520. AS 64512 does not learn of the second-best path or any other paths from AS 64520, unless the best path of AS 64520 becomes unavailable. Even if AS 64512 were aware of another path through AS 64520 and wanted to use it, AS 64520 would not route packets along that other path because AS 64520 selected 64520 64600 64700 as its best path, and all AS 64520 routers use that path as a matter of BGP policy. BGP does not let one autonomous system send traffic to a neighboring autonomous system, intending that the traffic take a different route from that taken by traffic originating in the neighboring autonomous system. To reach the networks in AS 64700, AS 64512 can choose to use AS 64520 or it can choose to go through the path that AS 64530 is advertising. AS 64512 selects the best path to take based on its own BGP routing policies.
Content 6.1 BGP Concepts and Terminology 6.1.9 Features of BGP BGP is used by ISPs so that they can communicate and exchange packets. The ISPs have multiple connections to each other and agreements to exchange updates. BGP implements the agreements between two or more autonomous systems. Improper controlling and filtering of BGP updates can potentially allow an outside autonomous system to affect the traffic flow to your autonomous system. It is important to know how BGP operates and how to configure it properly to prevent this from occurring. For example, if you are a customer connected to ISP-A and ISP-B (for redundancy), you want to implement a routing policy to ensure that ISP-A does not send traffic to ISP-B via your autonomous system. You do not want to waste valuable resources and bandwidth within your autonomous system to route traffic for your ISPs, but you do want to be able to receive traffic destined to your autonomous system through each ISP. BGP is not always an appropriate solution to interconnect autonomous systems. For example, if only one exit path from the autonomous system exists, a default route is the most appropriate solution. In this case, BGP would unnecessarily use router CPU resources and memory. If the routing policy that you implement in an autonomous system is consistent with the policy in the ISP autonomous system, it is not necessary or desirable to configure BGP in that autonomous system. BGP is categorized as an advanced distance vector protocol, but it is actually a path-vector protocol. BGP is very different from standard distance vector protocols, such as RIP. BGP uses TCP as its transport protocol, which provides connection-oriented reliable delivery. BGP assumes that its communication is reliable; therefore, it does not have to implement retransmission or error recovery mechanisms. BGP uses TCP port 179. Two routers using BGP form a TCP connection with one another and exchange messages to open and confirm the connection parameters. These two BGP routers are called peer routers, or neighbors. After the connection is made, BGP peers exchange full routing tables. However, since the connection is reliable, BGP peers subsequently send only changes (incremental or triggered updates) after that. Reliable links do not require periodic routing updates; therefore, routers use triggered updates instead. BGP sends keepalive messages, similar to the hello messages sent by OSPF, IS-IS, and EIGRP. BGP is the only IP routing protocol to use TCP as its transport layer. OSPF and EIGRP reside directly above the IP layer, and RIPv1 and RIPv2 use User Datagram Protocol (UDP) for their transport layer. OSPF and EIGRP have their own internal function to ensure that update packets are explicitly acknowledged. These protocols use a one-for-one window, so for multiple packets, the next packet cannot be sent until an acknowledgment from the first update packet is received. This process can be very inefficient and cause latency issues if thousands of update packets must be exchanged over relatively slow serial links. However, OSPF and EIGRP rarely have thousands of update packets to send. EIGRP can hold more than 100 networks in one EIGRP update packet, so 100 EIGRP update packets can hold up to 10,000 networks, and most organizations do not have 10,000 subnets in the enterprise. BGP, on the other hand, has more than 170,000 networks (and growing) on the Internet to advertise, and it uses TCP to handle the acknowledgment function. TCP uses a dynamic window, which allows 65,576 bytes to be outstanding