294 Chapter 8 Configuring Basic BGP the source router. An eBGP peer will have a different ASN than the source router. Now let’s look at an example based on Figure 8.1. We’ll add RouterB, which is at 172.16.2.1, and identify the network in which to advertise to our neighbor: RouterB (config-router)#neighbor 172.16.2.1 remote-as 63001 The loopback IP address can be used for both iBGP and eBGP peers. Addi- tional commands must be used when creating a peering session with a loop- back interface. For iBGP sessions, the only additional command is the update-source command. The available syntaxes are as follows: neighbor [ address | peer-group-name ] update-source interface-type interface-number The IP address of the loopback should be used for the peer address. Since the loopback interface is being used as the source of the BGP session, the interface-type should be entered as the loopback. The interface- number is the number of the loopback interface that is being used for BGP peering. This is configured on the router using the loopback address. The following command adds networks and creates a route in the BGP table if the route is present in the IP table: network network-number Let’s look at an example adding our own network 63.78.0.0: RouterA(config-router)#network 63.78.0.0 ? backdoor Specify a BGP backdoor route mask Network mask route-map Route-map to modify the attributes weight Set BGP weight for network <cr> RouterA(config-router)#network 63.78.0.0 mask 255.255.255.0 ? backdoor Specify a BGP backdoor route route-map Route-map to modify the attributes weight Set BGP weight for network <cr> RouterA(config-router)#network 63.78.0.0 mask 255.255.0.0 RouterA(config-router)# Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Minimal Configuration 295 Again, network-number represents the network that is to be advertised using the BGP process. The IP network specified in the BGP network state- ment does not have to be directly connected to the router. Network state- ments within the BGP protocol session allow BGP to advertise routes learned by an IGP that are contained in the route table. The network mask is applied because BGPv4 can support subnetting and supernetting. When a logical BGP mesh is in place, each IGP session should have network statements con- figured for only those routes learned from the IGP. Network statements should not be duplicated among internal BGP routers. BGP configuration can be very complicated. Several different options may be configured to optimize BGP routing. When only one link is used to peer with another AS or ISP, the configuration can be straightforward. As more links are used, or multiple ISPs or autonomous systems are connected to a router, the configuration becomes increasingly complex. Verifying BGP Configurations After BGP is configured, several commands will allow us to verify the BGP configuration and troubleshoot the operation of BGP. We can also use these commands to monitor the BGP process and its operations. Table 8.2 summarizes all of the commands that can be used to verify BGP. TABLE 8.2 BGP Monitoring Command Summary Command Description show ip bgp Shows all BGP configuration information for the selected interface. show ip bgp neighbors Shows all configured BGP neighbors. It pro- vides detailed statistics and information about each neighbor. show ip bgp community Displays routes belonging to the specified community. Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com 296 Chapter 8 Configuring Basic BGP The detailed use of some of these commands will be explained in the sec- tion “Troubleshooting BGP.” In earlier versions of the Cisco IOS, in particular versions 11.1 and 11.3, some of the show commands listed above can cause the router to reload. Cisco became aware of the problem and has resolved it in later versions. Cisco has a configurable proprietary attribute that allows us to use weights as a metric in deciding the best route. Let’s take a look at this attribute in the next section. We’ll also see how to configure the MED attribute discussed in Chapter 7. Configuring BGP Route-Selection Attributes BGP uses several metrics as criteria when selecting the best possible route to a destination. Each metric can be configured manually. Other criteria that influence BGP route selection may also be configured. To quickly understand how BGP selects a route, review Figure 8.2. This figure summarizes the steps that the BGP process takes to choose the best route. Ten different criteria are used in path selection, several of which are configurable. show ip bgp cidr-only Displays classless routes. show ip bgp filter-list Displays AS path lists. show ip bgp paths Displays all path information for the local router. show ip bgp peer-group Provides information on the members of the specified peer group. show ip bgp summary Shows the status of all BGP connections. TABLE 8.2 BGP Monitoring Command Summary (continued) Command Description Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Minimal Configuration 297 FIGURE 8.2 BGP path-selection diagram Is Next-hop reachable? No Ignore route. Yes Choose the path with the highest Weight. Are Weights equal? Choose the biggest Local Preference. Yes Are Local Preferences equal? No Was route originated by local router? Choose the shortest AS Path. Are AS Paths equal? Choose lowest Origin Code. Select route. Are Origin Codes equal? Choose the lowest MED. Are MEDs equal? Choose External over Internal. Are path types equal? Choose closest IGP neighbor. Are IGP neighbors equal? Choose the path with the lowest Router ID. No No No No No No No Yes Yes Yes Yes Yes Yes Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com 298 Chapter 8 Configuring Basic BGP Now let’s discuss some of these criteria separately. We will also learn how to configure them. Configuring the Atomic Aggregate Attribute When using classless interdomain routing (CIDR), you can create aggregate routes to minimize the size of routing tables. You can configure aggregate routes in BGP by redistributing an aggregate route into BGP. The Atomic Aggregate attribute can be configured using the aggregate-address command. This command allows you to configure an aggregate or summary entry in the BGP table. The command has several syntaxes. Let’s look at the command and the possible syntaxes: aggregate-address ip-address mask [summary-only] [as-set] The ip-address and mask indicate the aggregate address to be created. By default, BGP advertises both aggregate routes and more specific routes. By using the summary-only syntax, the BGP router will advertise only the aggregate route. If you use the as-set syntax, the BGP router will advertise the route as coming from your AS and will set the Atomic Aggregate attribute to show that information regarding the route may be missing. Configuring the Weight Attribute The Weight attribute is a Cisco proprietary attribute used for path selection. This attribute, which is also considered a metric, allows a system adminis- trator to manually assign a value to all paths learned from other BGP peers. The larger the weight value, the more desirable the path. This metric is particularly helpful when a router is connected to multiple autonomous systems. The weight assigned stays local to the router on which it is configured. When paths are learned from multiple sources, the Weight metric can be used to force BGP to select a specified interface over the others. This metric is configured using the following command from within the BGP routing session: neighbor [ ip-address | peer-group-name ] weight weight The ip-address is the IP address of the neighbor. The peer-group-name may be used when assigning weight to all routes learned via the BGP peer group. The weight value has a range from 0 to 65,535. The default value is 32,768. Configuring the Local Preference Attribute The Local Preference attribute is used to assign metric values that are used among IBGP peers. We learned that the Weight metric remains local to a router. The Local Preference attribute is useful when multiple iBGP peers have their own eBGP peers. Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Minimal Configuration 299 When a path is learned via two different border routers, both paths are advertised to other iBGP peers. Either path is valid and can be used. How- ever, if one path is to be used only as a backup route, you can set local pref- erence values on both routers. The Local Preference attribute is configured by using the following command: bgp default local-preference value The command must be issued within the BGP session Configuration mode. The configured values for the Local Preference range from 0 to 4,294,967,295. Higher values are preferred over lower values. Configuring in an NBMA Network When you have a non-broadcast multi-access (NBMA) network in which the router you are configuring needs to advertise itself as the next hop to a des- tination, use the next-hop-self syntax for the neighbor command. This allows the normal BGP process to override what it’s learned and forces updates to advertise this router as the next hop, even if there is another way to the destination. The command is as follows: neighbor ip address | peer-group-name next-hop-self Configuring MED While the previous metrics inform local AS routers which path to select when leaving the AS, Multi-Exit Discriminators (MEDs) inform the neighboring AS which link to use to receive traffic. MEDs are used when two autonomous systems are connected via multiple links or multiple routers. MED values are not propagated to other autono- mous systems. Configuring MEDs is more complicated than configuring Weight or Local Preference values. Because of the complexity of the configuration, more CPU resources are needed. MEDs are set using route maps. Route maps are a form of access list. Here is an example of a BGP configuration using MEDs: Router1#conf t Enter configuration commands, one per line. End with CNTL/Z. Router1(config)#router bgp 63001 Router1(config-router)#neighbor 172.16.2.1 route-map ANEXAMPLE out Router1(config-router)#exit Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com 300 Chapter 8 Configuring Basic BGP Router1(config)#route-map ANEXAMPLE permit 10 Router1(config-rou)#match ip address 1 Router1(config-rou)#set metric 25 Router1(config-rou)#exit Router1(config)#route-map ANEXAMPLE permit 20 Router1(config-rou)#exit Router1(config)#access-list 1 permit 172.16.0.0 0.0.255.255 Router1(config)#^Z Router1# router bgp 63001 network 172.16.0.0 neighbor 172.16.1.1 remote-as 59000 neighbor 172.16.2.1 route-map ANEXAMPLE out ! ip classless access-list 1 permit 172.16.0.0 0.0.255.255 route-map ANEXAMPLE permit 10 match ip address 1 set metric 25 ! route-map ANEXAMPLE permit 20 ! This configuration sets a MED of 25 for all networks belonging to 172.16.0.0. ASN 59000 will use this value. Lower MED values are pre- ferred. The second permit statement of the route-map ANEXAMPLE permits all other networks to be advertised but does not assign a MED value. We’ll discuss route maps in more detail in Chapter 9. Clearing BGP Routes The BGP configurations can easily be removed from the router using the clear ip bgp command. Let’s look at the command and the available syn- taxes that are used in Privileged EXEC mode, and then we’ll explain each syntax: clear ip bgp *|address [soft[in|out] Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Minimal Configuration 301 Using the * means that you wish to clear the entire BGP routing table. You can use the soft syntax so that the router advertises all its routing updates again and the configuration is not cleared. Using the address syntax instead of the asterisk, only the network address identified is removed from the BGP table. The in and out syntaxes are used with the soft syntax to identify that the triggered updates are to occur either on triggered inbound updates or outbound updates. Disabling BGP Synchronization If all of the routers in your AS are running BGP, then there is no need to have synchronization turned on between BGP and your IGPs that are running. When BGP Synchronization is turned on, the router will wait to learn about internal routes from an IGP instead of advertising routes learned by BGP. With BGP Synchronization turned off, you can carry fewer IGP learned routes in the topology table and BGP can converge much more quickly. To turn off BGP Synchronization, use the following command in BGP Config- uration mode: Router1(config-router)# no synchronization Troubleshooting BGP The most important part of troubleshooting is verifying the status of the peering router. When you issue the show ip bgp neighbors command, the basic troubleshooting information is displayed on the screen. Let’s first take a look at the command syntaxes and then view a problem configuration where the BGP peers have not synchronized. 2514#show ip bgp ? A.B.C.D IP prefix <network>/<length>, e.g., 35.0.0.0/8 A.B.C.D Network in the BGP routing table to display cidr-only Display only routes with non-natural netmasks community Display routes matching the communities community-list Display routes matching the community- list dampened-paths Display paths suppressed due to dampening Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com 302 Chapter 8 Configuring Basic BGP filter-list Display routes conforming to the filter-list flap-statistics Display flap statistics of routes inconsistent-as Display only routes with inconsistent origin ASes neighbors Detailed information on TCP and BGP neighbor connections paths Path information peer-group Display information on peer-groups regexp Display routes matching the AS path regular expression summary Summary of BGP neighbor status <cr> Notice in the output below that no connections are established, as indicated by the bottom line. This means that the peer has not synchronized. If the number of connections established keeps incrementing, there could be a problem with the link between the two neighbors. This output is from IOS version 12.0(5): 2514#show ip bgp neighbors BGP neighbor is 172.16.2.1, remote AS 63001, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 0.0.0.0 BGP state = Idle, table version = 0 Last read 00:00:07, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 0 messages, 0 notifications, 0 in queue Sent 0 messages, 0 notifications, 0 in queue Prefix advertised 0, suppressed 0, withdrawn 0 Connections established 0; dropped 0 Last reset never 0 accepted prefixes consume 0 bytes 0 history paths consume 0 bytes External BGP neighbor not directly connected. No active TCP connection 2514# Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Minimal Configuration 303 Now let’s look at the same router with the connection established: 2514#show ip bgp neighbors BGP neighbor is 172.16.2.1, remote AS 63001, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 172.16.2.1 BGP state = Idle, table version = 0 Last read 00:00:07, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 4582 messages, 0 notifications, 0 in queue Sent 3552 messages, 0 notifications, 0 in queue Prefix advertised 0, suppressed 0, withdrawn 0 Connections established 1; dropped 0 Last reset never 0 accepted prefixes consume 0 bytes 0 history paths consume 0 bytes External BGP neighbor not directly connected. 2514# On an older IOS, the output will look similar to this output from ver- sion 11.1: Router#show ip bgp neighbors BGP neighbor is 172.16.2.1, remote AS 63001, external link Index 1, Offset 0, Mask 0x2 BGP version 4, remote router ID 172.16.2.1 BGP state = Established, table version = 508, up for 3d20h Last read 00:00:45, hold time is 180, keepalive interval is 60 seconds Minimum time between advertisement runs is 30 seconds Received 5579 messages, 0 notifications, 0 in queue Sent 5703 messages, 0 notifications, 0 in queue Inbound path policy configured Outbound path policy configured Incoming update AS path filter list is 10 Outgoing update AS path filter list is 1 Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com [...]... place the router in BGP Configuration mode, which is identified by the (config-router) prompt Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Chapter 9 BGP Scalability and Advanced Features THE CCNP ROUTING EXAM TOPICS COVERED IN THIS CHAPTER ARE AS FOLLOWS: Understanding BGP management problems Configuring BGP route reflectors Configuring BGP confederations Configuring AS_PATH attribute filters... Copyright ©2001 SYBEX , Inc., Alameda, CA www.sybex.com Review Questions 313 8 Which of the following identifies the function of the clear ip bgp * command? A It clears an identified entry in the BGP routing B It clears all entries in the BGP table C It clears all entries in the IGP’s topology table D It resets IP sessions 9 Which of the following BGP attributes informs neighboring AS rout- ers as... router bgp 100 and neighbor 10.1.1.1 remote-as 200 5 A, B, C The valid BGP show commands listed above are show ip bgp, show ip bgp paths, and show ip bgp summary The show ip bgp command displays the BGP routing table The show ip bgp paths command displays all the router’s known BGP paths The show ip bgp summary command tells you the status on every BGP connection The other two commands are not valid 6... Configuring Basic BGP Written Lab 1 What command in BGP Configuration mode allows you to identify a BGP peer with the IP address 172.16.1.1 in the 55009 AS? 2 What command would you use to clear the entire BGP routing table on a router? 3 What command allows you to display all of the BGP events as they occur? 4 What command would you use to identify a CIDR aggregate address? 5 What command displays all the BGP... route reflectors When route reflectors are used, a router needs to become a peer only with a route reflector instead of with each individual router The route reflector’s responsibility is to maintain a routing table for all internal peers connected to the reflector The route reflector can collect the same number of routes that a router can learn from a full mesh You can use confederations to control... utilization that can occur when routes flap A route flap is defined as a change in the state of the route Once a route is established and then removed from the BGP table, one flap has occurred You can prevent routing problems by using the bgp dampening command The bgp dampening command maintains a threshold for route flaps This means that when the threshold is exceeded, the route is put into a hold-down Holddowns . Atomic Aggregate Attribute When using classless interdomain routing (CIDR), you can create aggregate routes to minimize the size of routing tables. You can configure aggregate routes in BGP. 301 Using the * means that you wish to clear the entire BGP routing table. You can use the soft syntax so that the router advertises all its routing updates again and the configuration is not cleared interface over the others. This metric is configured using the following command from within the BGP routing session: neighbor [ ip-address | peer-group-name ] weight weight The ip-address is the