![]() |
IP Routing: BGP Configuration Guide, Cisco IOS XE Release 2
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Configuring Internal BGP Features
![]() |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Contents
Configuring Internal BGP FeaturesLast Updated: November 2, 2011
This document describes how to configure internal Border Gateway Protocol (BGP) features. BGP is an interdomain routing protocol that is designed to provide loop-free routing between organizations. Finding Feature InformationYour software release may not support all the features documented in this module. For the latest feature information and caveats, see the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the Feature Information Table at the end of this document. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required. Information About Internal BGP Features
BGP Routing Domain ConfederationOne way to reduce the internal BGP (iBGP) mesh is to divide an autonomous system into multiple subautonomous systems and group them into a single confederation. To the outside world, the confederation looks like a single autonomous system. Each autonomous system is fully meshed within itself, and has a few connections to other autonomous systems in the same confederation. Even though the peers in different autonomous systems have external BGP (eBGP) sessions, they exchange routing information as if they were iBGP peers. Specifically, the next hop, Multi_Exit_Discriminator (MED) attribute, and local preference information is preserved. This feature allows the you to retain a single Interior Gateway Protocol (IGP) for all of the autonomous systems. To configure a BGP confederation, you must specify a confederation identifier. To the outside world, the group of autonomous systems will look like a single autonomous system with the confederation identifier as the autonomous system number. BGP Route ReflectorBGP requires that all iBGP speakers be fully meshed. However, this requirement does not scale well when there are many iBGP speakers. Instead of configuring a confederation, another way to reduce the iBGP mesh is to configure a route reflector. The figure below illustrates a simple iBGP configuration with three iBGP speakers (Routers A, B, and C). Without route reflectors, when Router A receives a route from an external neighbor, it must advertise it to both routers B and C. Routers B and C do not readvertise the iBGP learned route to other iBGP speakers because the routers do not pass on routes learned from internal neighbors to other internal neighbors, thus preventing a routing information loop. With route reflectors, all iBGP speakers need not be fully meshed because there is a method to pass learned routes to neighbors. In this model, an iBGP peer is configured to be a route reflector responsible for passing iBGP learned routes to a set of iBGP neighbors. In the figure below, Router B is configured as a route reflector. When the route reflector receives routes advertised from Router A, it advertises them to Router C, and vice versa. This scheme eliminates the need for the iBGP session between Routers A and C. The internal peers of the route reflector are divided into two groups: client peers and all the other routers in the autonomous system (nonclient peers). A route reflector reflects routes between these two groups. The route reflector and its client peers form a cluster. The nonclient peers must be fully meshed with each other, but the client peers need not be fully meshed. The clients in the cluster do not communicate with iBGP speakers outside their cluster. The figure below illustrates a more complex route reflector scheme. Router A is the route reflector in a cluster with routers B, C, and D. Routers E, F, and G are fully meshed, nonclient routers. When the route reflector receives an advertised route, depending on the neighbor, it takes the following actions:
Along with route reflector-aware BGP speakers, it is possible to have BGP speakers that do not understand the concept of route reflectors. They can be members of either client or nonclient groups allowing an easy and gradual migration from the old BGP model to the route reflector model. Initially, you could create a single cluster with a route reflector and a few clients. All the other iBGP speakers could be nonclient peers to the route reflector and then more clusters could be created gradually. An autonomous system can have multiple route reflectors. A route reflector treats other route reflectors just like other iBGP speakers. A route reflector can be configured to have other route reflectors in a client group or nonclient group. In a simple configuration, the backbone could be divided into many clusters. Each route reflector would be configured with other route reflectors as nonclient peers (thus, all the route reflectors will be fully meshed). The clients are configured to maintain iBGP sessions with only the route reflector in their cluster. Usually a cluster of clients will have a single route reflector. In that case, the cluster is identified by the router ID of the route reflector. To increase redundancy and avoid a single point of failure, a cluster might have more than one route reflector. In this case, all route reflectors in the cluster must be configured with the 4-byte cluster ID so that a route reflector can recognize updates from route reflectors in the same cluster. All the route reflectors serving a cluster should be fully meshed and all of them should have identical sets of client and nonclient peers. Route Reflector Mechanisms to Avoid Routing LoopsAs the iBGP learned routes are reflected, routing information may loop. The route reflector model has the following mechanisms to avoid routing loops:
BGP Outbound Route Map on Route Reflector to Set IP Next Hop for iBGP PeerThe BGP Outbound Route Map on Route Reflector to Set IP Next Hop feature allows a route reflector to modify the next hop attribute for a reflected route. The use of set clauses in outbound route maps can modify attributes and possibly create routing loops. To avoid this behavior, most set clauses of outbound route maps are ignored for routes reflected to iBGP peers. The only set clause of an outbound route map on a route reflector (RR) that is acted upon is the set ip next-hop clause. The set ip next-hop clause is applied to reflected routes. Configuring an RR with an outbound route map allows a network administrator to modify the next hop attribute for a reflected route. By configuring a route map with the set ip next-hop clause, the administrator puts the RR into the forwarding path, and can configure iBGP multipath load sharing to achieve load balancing. That is, the RR can distribute outgoing packets among multiple egress points. See the "Configuring iBGP Multipath Load Sharing" module. BGP VPLS Autodiscovery Support on Route ReflectorIn Cisco IOS XE Release 2.5, BGP VPLS Autodiscovery Support on Route Reflector was introduced. On the ASR1000, BGP Route Reflector was enhanced to be able to reflect BGP VPLS prefixes without having VPLS explicitly configured on the route reflector. The route reflector reflects the VPLS prefixes to other provider edge (PE) routers so that the PEs do not need to have a full mesh of BGP sessions. The network administrator configures only the BGP VPLS address family on the route reflector. For an example of a route reflector configuration that can reflect VPLS prefixes, see the Example BGP VPLS Autodiscovery Support on Route Reflector. BGP Route DampeningRoute dampening is a BGP feature designed to minimize the propagation of flapping routes across an internetwork. A route is considered to be flapping when its availability alternates repeatedly. For example, consider a network with three BGP autonomous systems: autonomous system 1, autonomous system 2, and autonomous system 3. Suppose the route to network A in autonomous system 1 flaps (it becomes unavailable). Under circumstances without route dampening, the eBGP neighbor of autonomous system 1 to autonomous system 2 sends a withdraw message to autonomous system 2. The border router in autonomous system 2, in turn, propagates the withdraw message to autonomous system 3. When the route to network A reappears, autonomous system 1 sends an advertisement message to autonomous system 2, which sends it to autonomous system 3. If the route to network A repeatedly becomes unavailable, then available, many withdrawal and advertisement messages are sent. This is a problem in an internetwork connected to the Internet because a route flap in the Internet backbone usually involves many routes. Route Dampening Minimizes Route FlappingThe route dampening feature minimizes the flapping problem as follows. Suppose again that the route to network A flaps. The router in autonomous system 2 (where route dampening is enabled) assigns network A a penalty of 1000 and moves it to history state. The router in autonomous system 2 continues to advertise the status of the route to neighbors. The penalties are cumulative. When the route flaps so often that the penalty exceeds a configurable suppress limit, the router stops advertising the route to network A, regardless of how many times it flaps. Thus, the route is dampened. The penalty placed on network A is decayed until the reuse limit is reached, upon which the route is once again advertised. At half of the reuse limit, the dampening information for the route to network A is removed. BGP Route Dampening TermsThe following terms are used when describing route dampening:
The routes external to an autonomous system learned via iBGP are not dampened. This policy prevent the iBGP peers from having a higher penalty for routes external to the autonomous system. How To Configure Internal BGP FeaturesFor information on configuring features that apply to multiple IP routing protocols (such as redistributing routing information), see the "Configuring IP Routing Protocol-Independent Features" module.
Configuring a Routing Domain ConfederationTo configure a BGP confederation, you must specify a confederation identifier. To the outside world, the group of autonomous systems will look like a single autonomous system with the confederation identifier as the autonomous system number. To configure a BGP confederation identifier, use the following command in router configuration mode:
In order to treat the neighbors from other autonomous systems within the confederation as special eBGP peers, use the following command in router configuration mode:
For an alternative way to reduce the iBGP mesh, see "Configuring a Route Reflector." Configuring a Route ReflectorTo configure a route reflector and its clients, use the following command in router configuration mode:
If the cluster has more than one route reflector, configure the cluster ID by using the following command in router configuration mode: Use the show ip bgp command to display the originator ID and the cluster-list attributes. By default, the clients of a route reflector are not required to be fully meshed and the routes from a client are reflected to other clients. However, if the clients are fully meshed, the route reflector need not reflect routes to clients. To disable client-to-client route reflection, use the no bgp client-to-client reflection command in router configuration mode: Configuring a Route Reflector Using a Route Map to Set Next Hop for iBGP PeerPerform this task on an RR to set a next hop for an iBGP peer. One reason to perform this task is when you want to make the RR the next hop for routes, so that you can configure iBGP load sharing. Create a route map that sets the next hop to be the RR's address, which will be advertised to the RR clients. The route map is applied only to outbound routes from the router to which the route map is applied. This task configures the RR (Router 2) in the scenario illustrated in the figure below. In this case, Router 1 is the iBGP peer whose routes' next hop is being set. Without a route map, outbound routes from Router 1 would go to next hop Router 3. Instead, setting the next hop to the RR's address will cause routes from Router 1 to go to the RR, and thus allow the RR to perform load balancing among Routers 3, 4, and 5. DETAILED STEPS Adjusting BGP TimersBGP uses certain timers to control periodic activities such as the sending of keepalive messages and the interval after not receiving a keepalive message after which the Cisco IOS XE software declares a peer dead. By default, the keepalive timer is 60 seconds, and the hold-time timer is 180 seconds.You can adjust these timers. When a connection is started, BGP will negotiate the hold time with the neighbor. The smaller of the two hold times will be chosen. The keepalive timer is then set based on the negotiated hold time and the configured keepalive time. To adjust BGP timers for all neighbors, use the following command in router configuration mode:
To adjust BGP keepalive and hold-time timers for a specific neighbor, use the following command in router configuration mode:
To clear the timers for a BGP neighbor or peer group, use the no form of the neighbor timers command. Configuring the Router to Consider a Missing MED as Worst PathTo configure the router to consider a path with a missing MED attribute as the worst path, use the following command in router configuration mode: Configuring the Router to Consider the MED to Choose a Path from Subautonomous System PathsTo configure the router to consider the MED value in choosing a path, use the following command in router configuration mode:
The comparison between MEDs is made only if there are no external autonomous systems in the path (an external autonomous system is an autonomous system that is not within the confederation). If there is an external autonomous system in the path, then the external MED is passed transparently through the confederation, and the comparison is not made. The following example compares route A with these paths: path= 65000 65004, med=2 path= 65001 65004, med=3 path= 65002 65004, med=4 path= 65003 1, med=1 In this case, path 1 would be chosen if the bgp bestpath med confed router configurationcommand is enabled. The fourth path has a lower MED, but it is not involved in the MED comparison because there is an external autonomous system is in this path. Configuring the Router to Use the MED to Choose a Path in a ConfederationTo configure the router to use the MED to choose the best path from among paths advertised by a single subautonomous system within a confederation, use the following command in router configuration mode:
Enabling BGP Route DampeningTo enable BGP route dampening, use the following command in address family or router configuration mode: To change the default values of various dampening factors, use the following command in address family or router configuration mode: Monitoring and Maintaining BGP Route DampeningYou can monitor the flaps of all the paths that are flapping. The statistics will be deleted once the route is not suppressed and is stable for at least one half-life. To display flap statistics, use the following commands as needed:
To clear BGP flap statistics (thus making it less likely that the route will be dampened), use the following commands as needed:
Once a route is dampened, you can display BGP route dampening information, including the time remaining before the dampened routes will be unsuppressed. To display the information, use the following command:
You can clear BGP route dampening information and unsuppress any suppressed routes by using the following command: Internal BGP Feature Configuration Examples
Example BGP Confederation Configurations with Route MapsThis section contains an example of the use of a BGP confederation configuration that includes BGP communities and route maps. For more examples of how to configure a BGP confederation, see the section Examples BGP Confederation in this chapter. This example shows how BGP community attributes are used with a BGP confederation configuration to filter routes. In this example, the route map named set-community is applied to the outbound updates to neighbor 172.16.232.50 and the local-as community attribute is used to filter the routes. The routes that pass access list 1 have the special community attribute value local-as. The remaining routes are advertised normally. This special community value automatically prevents the advertisement of those routes by the BGP speakers outside autonomous system 200. router bgp 65000 network 10.0.1.0 route-map set-community bgp confederation identifier 200 bgp confederation peers 65001 neighbor 172.16.232.50 remote-as 100 neighbor 172.16.233.2 remote-as 65001 ! route-map set-community permit 10 match ip address 1 set community local-as ! Examples BGP ConfederationThe following is a sample configuration that shows several peers in a confederation. The confederation consists of three internal autonomous systems with autonomous system numbers 6001, 6002, and 6003. To the BGP speakers outside the confederation, the confederation looks like a normal autonomous system with autonomous system number 500 (specified via the bgp confederation identifier router configuration command). In a BGP speaker in autonomous system 6001, the bgp confederation peers router configuration command marks the peers from autonomous systems 6002 and 6003 as special eBGP peers. Hence peers 172.16.232.55 and 172.16.232.56 will get the local preference, next hop, and MED unmodified in the updates. The router at 10.16.69.1 is a normal eBGP speaker and the updates received by it from this peer will be just like a normal eBGP update from a peer in autonomous system 6001. router bgp 6001 bgp confederation identifier 500 bgp confederation peers 6002 6003 neighbor 172.16.232.55 remote-as 6002 neighbor 172.16.232.56 remote-as 6003 neighbor 10.16.69.1 remote-as 777 In a BGP speaker in autonomous system 6002, the peers from autonomous systems 6001 and 6003 are configured as special eBGP peers. 10.70.70.1 is a normal iBGP peer and 10.99.99.2 is a normal eBGP peer from autonomous system 700. router bgp 6002 bgp confederation identifier 500 bgp confederation peers 6001 6003 neighbor 10.70.70.1 remote-as 6002 neighbor 172.16.232.57 remote-as 6001 neighbor 172.16.232.56 remote-as 6003 neighbor 10.99.99.2 remote-as 700 In a BGP speaker in autonomous system 6003, the peers from autonomous systems 6001 and 6002 are configured as special eBGP peers. 10.200.200.200 is a normal eBGP peer from autonomous system 701. router bgp 6003 bgp confederation identifier 500 bgp confederation peers 6001 6002 neighbor 172.16.232.57 remote-as 6001 neighbor 172.16.232.55 remote-as 6002 neighbor 10.200.200.200 remote-as 701 The following is a part of the configuration from the BGP speaker 10.200.200.205 from autonomous system 701 in the same example. Neighbor 172.16.232.56 is configured as a normal eBGP speaker from autonomous system 500. The internal division of the autonomous system into multiple autonomous systems is not known to the peers external to the confederation. router bgp 701 neighbor 172.16.232.56 remote-as 500 neighbor 10.200.200.205 remote-as 701 Example Route Reflector Using a Route Map to Set Next Hop for iBGP PeerThe following example is based on the figure above. Router 2 is the route reflector for the clients: Routers 1, 3, 4, and 5. Router 1 is connected to Router 3, but you don't want Router 1 to forward traffic destined to AS 200 to use Router 3 as the next hop (and therefore use the direct link with Router 3); you want to direct the traffic to the RR, which can load share among Routers 3, 4, and 5. This example configures the RR, Router 2. A route map named rr-out is applied to Router 1; the route map sets the next hop to be the RR at 10.2.0.1. When Router 1 sees that the next hop is the RR address, Router 1 forwards the routes to the RR. When the RR receives packets, it will automatically load share among the iBGP paths. A maximum of five iBGP paths are allowed. Router 2route-map rr-out set ip next-hop 10.2.0.1 ! interface gigabitethernet 0/0 ip address 10.2.0.1 255.255.0.0 router bgp 100 address-family ipv4 unicast maximum-paths ibgp 5 neighbor 10.1.0.1 remote-as 100 neighbor 10.1.0.1 activate neighbor 10.1.0.1 route-reflector-client neighbor 10.1.0.1 route-map rr-out out ! neighbor 10.3.0.1 remote-as 100 neighbor 10.3.0.1 activate neighbor 10.3.0.1 route-reflector-client ! neighbor 10.4.0.1 remote-as 100 neighbor 10.4.0.1 activate neighbor 10.4.0.1 route-reflector-client ! neighbor 10.5.0.1 remote-as 100 neighbor 10.5.0.1 activate neighbor 10.5.0.1 route-reflector-client end Example BGP VPLS Autodiscovery Support on Route ReflectorIn the following example, a host named PE-RR (indicating Provider Edge Route Reflector) is configured as a route reflector capable of reflecting VPLS prefixes. The VPLS address family is configured by address-family l2vpn vpls below. hostname PE-RR ! router bgp 1 bgp router-id 1.1.1.3 no bgp default route-target filter bgp log-neighbor-changes neighbor iBGP_PEERS peer-group neighbor iBGP_PEERS remote-as 1 neighbor iBGP_PEERS update-source Loopback1 neighbor 1.1.1.1 peer-group iBGP_PEERS neighbor 1.1.1.2 peer-group iBGP_PEERS ! address-family l2vpn vpls neighbor iBGP_PEERS send-community extended neighbor iBGP_PEERS route-reflector-client neighbor 1.1.1.1 peer-group iBGP_PEERS neighbor 1.1.1.2 peer-group iBGP_PEERS exit-address-family ! Additional ReferencesRelated Documents
MIBsRFCs
Technical Assistance
Feature Information for Configuring Internal BGP FeaturesThe following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature. Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/go/cfn. An account on Cisco.com is not required.
Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R) Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental. © 2011 Cisco Systems, Inc. All rights reserved.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|