Table Of Contents
Connecting to a Service Provider Using External BGP
Contents
Prerequisites for Connecting to a Service Provider Using External BGP
Restrictions for Connecting to a Service Provider Using External BGP
Information About Connecting to a Service Provider Using External BGP
External BGP Peering
BGP Attributes
Multihoming
Transit Versus Nontransit Traffic
BGP Policy Configuration
BGP Communities
Extended Communities
Administrative Distance
BGP Route Map Policy Lists
How to Connect to a Service Provider Using External BGP
Influencing Inbound Path Selection
Influencing Inbound Path Selection by Modifying the AS-path Attribute
Influencing Inbound Path Selection by Setting the MED Attribute
Influencing Outbound Path Selection
Influencing Outbound Path Selection Using the Local_Pref Attribute
Filtering Outbound BGP Route Prefixes
Prerequisites
Restrictions
Configuring BGP Peering with ISPs
Configuring Multihoming with Two ISPs
Multihoming with a Single ISP
Configuring Multihoming to Receive the Full Internet Routing Table
Configuring BGP Policies
Filtering BGP Prefixes with Prefix Lists
Filtering BGP Prefixes with AS-path Filters
Filtering Traffic Using Community Lists
Filtering Traffic Using Extended Community Lists
Filtering Traffic Using a BGP Route Map Policy List
Filtering Traffic Using Continue Clauses in a BGP Route Map
Configuration Examples for Connecting to a Service Provider Using External BGP
Influencing Inbound Path Selection: Examples
Influencing Outbound Path Selection: Examples
Filtering BGP Prefixes with Prefix Lists: Examples
Filtering BGP Prefixes Using a Single Prefix List
Filtering BGP Prefixes Using a Group of Prefixes
Adding or Deleting Prefix List Entries
Filtering Traffic Using Community Lists: Examples
Filtering Traffic Using AS-path Filters: Example
Filtering Traffic Using a BGP Route Map: Example
Filtering Traffic Using Continue Clauses in a BGP Route Map: Example
Where to Go Next
Additional References
Related Documents
Standards
MIBs
RFCs
Technical Assistance.
Feature Information for Connecting to a Service Provider Using External BGP
Connecting to a Service Provider Using External BGP
First Published: May 2, 2005
Last Updated: August 21, 2007
This module describes configuration tasks that will enable your Border Gateway Protocol (BGP) network to access peer devices in external networks such as those from Internet service providers (ISPs). BGP is an interdomain routing protocol designed to provide loop-free routing between organizations. External BGP (eBGP) peering sessions are configured to allow peers from different autonomous systems to exchange routing updates. Tasks to help manage the traffic flowing inbound and outbound are described, as are tasks to configure BGP policies to filter the traffic. Multihoming techniques that provide redundancy for connections to a service provider are also described.
Finding Feature Information in This Module
Your Cisco IOS software release may not support all of the features documented in this module. To reach links to specific feature documentation in this module and to see a list of the releases in which each feature is supported, use the "Feature Information for Connecting to a Service Provider Using External BGP" section.
Finding Support Information for Platforms and Cisco IOS and Catalyst OS Software Images
Use Cisco Feature Navigator to find information about platform support and Cisco IOS and Catalyst OS software image support. To access Cisco Feature Navigator, go to http://www.cisco.com/go/cfn. An account on Cisco.com is not required.
Contents
•
Prerequisites for Connecting to a Service Provider Using External BGP
•
Restrictions for Connecting to a Service Provider Using External BGP
•
Information About Connecting to a Service Provider Using External BGP
•
How to Connect to a Service Provider Using External BGP
•
Configuration Examples for Connecting to a Service Provider Using External BGP
•
Where to Go Next
•
Additional References
•
Feature Information for Connecting to a Service Provider Using External BGP
Prerequisites for Connecting to a Service Provider Using External BGP
•
Before connecting to a service provider you need to understand how to configure the basic BGP process and peers. See the "Cisco BGP Overview" and "Configuring a Basic BGP Network" modules for more details.
•
The tasks and concepts in this chapter will help you configure advanced BGP features that would be useful if you are connecting your network to a service provider. For each connection to the Internet you must have an assigned autonomous system number from the Internet Assigned Numbers Authority (IANA).
Restrictions for Connecting to a Service Provider Using External BGP
•
A router that runs Cisco IOS software can be configured to run only one BGP routing process and to be a member of only one BGP autonomous system. However, a BGP routing process and autonomous system can support multiple address family configurations.
•
Policy lists are not supported in versions of Cisco IOS software prior to Cisco IOS Release 12.0(22)S and 12.2(15)T. Reloading a router that is running an older version of Cisco IOS software may cause some routing policy configurations to be lost.
Information About Connecting to a Service Provider Using External BGP
To configure tasks to connect to an ISP using external BGP you should understand the following concepts:
•
External BGP Peering
•
BGP Attributes
•
Multihoming
•
Transit Versus Nontransit Traffic
•
BGP Policy Configuration
•
BGP Communities
•
Extended Communities
•
Administrative Distance
•
BGP Route Map Policy Lists
External BGP Peering
BGP is an interdomain routing protocol designed to provide loop-free routing links between organizations. BGP is designed to run over a reliable transport protocol and it uses TCP (Port 179) as the transport protocol. The destination TCP port is assigned 179, and the local port is assigned a random port number. Cisco IOS software supports BGP version 4, which has been used by ISPs to help build the Internet. RFC 1771 introduced and discussed a number of new BGP features to allow the protocol to scale for Internet use.
External BGP peering sessions are configured to allow BGP peers from different autonomous systems to exchange routing updates. By design, a BGP routing process expects eBGP peers to be directly connected, for example, over a WAN connection. However, there are many real-world scenarios where this rule would prevent routing from occurring. Peering sessions for multihop neighbors are configured with the neighbor ebgp-multihop command. Figure 1 shows simple eBGP peering between three routers. Router B peers with Router A and Router C. In Figure 1, the neighbor ebgp-multihop command could be used to establish peering between Router A and Router C although this is a very simple network design. BGP forwards information about the next hop in the network using the NEXT_HOP attribute, which is set to the IP address of the interface that advertises a route in an eBGP peering session by default. The source interface can be a physical interface or a loopback interface.
Figure 1 BGP Peers in Different Autonomous Systems

Loopback interfaces are preferred for establishing eBGP peering sessions because loopback interfaces are less susceptible to interface flapping. Interfaces on networking devices can fail, and they can also be taken out of service for maintenance. When an interface is administratively brought up or down, due to failure or maintenance, it is referred to as a flap. Loopback interfaces provide a stable source interface to ensure that the IP address assigned to the interface is always reachable as long as the IP routing protocols continue to advertise the subnet assigned to the loopback interface. Loopback interfaces allow you to conserve address space by configuring a single address with /32 bit mask. Before a loopback interface is configured for an eBGP peering session, you must configure the neighbor update-source command and specify the loopback interface. With this configuration, the loopback interface becomes the source interface and its IP address is advertised as the next hop for routes that are advertised through this loopback. If loopback interfaces are used to connect single-hop eBGP peers, you must configure the neighbor disable-connected-check command before you can establish the eBGP peering session.
Connecting to external networks enables traffic from your network to be forwarded to other networks and across the Internet. Traffic will also be flowing into, and possibly through, your network. BGP contains various techniques to influence how the traffic flows into and out of your network, and to create BGP policies that filter the traffic, inbound and outbound. To influence the traffic flow, BGP uses certain BGP attributes that can be included in update messages or used by the BGP routing algorithm. BGP policies to filter traffic also use some of the BGP attributes with route maps, access lists including AS-path access lists, filter lists, policy lists, and distribute lists. Managing your external connections may involve multihoming techniques where there is more than one connection to an ISP or connections to more than one ISP for backup or performance purposes. Tagging BGP routes with different community attributes across autonomous system or physical boundaries can prevent the need to configure long lists of individual permit or deny statements.
BGP Attributes
BGP selects a single path, by default, as the best path to a destination host or network. The best-path selection algorithm analyzes path attributes to determine which route is installed as the best path in the BGP routing table. Each path carries various attributes that are used in BGP best-path analysis. Cisco IOS software provides the ability to influence BGP path selection by altering these attributes via the command-line interface (CLI). BGP path selection can also be influenced through standard BGP policy configuration.
BGP can include path attribute information in update messages. BGP attributes describe the characteristic of the route, and the software uses these attributes to help make decisions about which routes to advertise. Some of this attribute information can be configured at a BGP-speaking networking device. There are some mandatory attributes that are always included in the update message and some discretionary attributes. The following BGP attributes can be configured:
•
AS-path
•
Community
•
Local_Pref
•
Multi_Exit_Discriminator (MED)
•
Next_Hop
•
Origin
AS-path
This attribute contains a list or set of the autonomous system numbers through which routing information has passed. The BGP speaker adds its own autonomous system number to the list when it forwards the update message to external peers.
Community
BGP communities are used to group networking devices that share common properties, regardless of network, autonomous system, or any physical boundaries. In large networks applying a common routing policy through prefix lists or access lists requires individual peer statements on each networking device. Using the BGP community attribute BGP neighbors, with common routing policies, can implement inbound or outbound route filters based on the community tag rather than consult large lists of individual permit or deny statements.
Local_Pref
Within an autonomous system, the Local_Pref attribute is included in all update messages between BGP peers. If there are several paths to the same destination, the local preference attribute with the highest value indicates the preferred outbound path from the local autonomous system. The highest ranking route is advertised to internal peers. The Local_Pref value is not forwarded to external peers.
Multi_Exit_Discriminator
The MED attribute indicates (to an external peer) a preferred path into an autonomous system. If there are multiple entry points into an autonomous system, the MED can be used to influence another autonomous system to choose one particular entry point. A metric is assigned where a lower MED metric is preferred by the software over a higher MED metric. The MED metric is exchanged between autonomous systems, but after a MED is forwarded into an autonomous system, the MED metric is reset to the default value of 0. When an update is sent to an internal BGP (iBGP) peer, the MED is passed along without any change, allowing all the peers in the same autonomous system to make a consistent path selection.
By default, a router will compare the MED attribute for paths only from BGP peers that reside in the same autonomous system. The bgp always-compare-med command can be configured to allow the router to compare metrics from peers in different autonomous systems.
Note
The Internet Engineering Task Force (IETF) decision regarding BGP MED assigns a value of infinity to the missing MED, making the route that lacks the MED variable the least preferred. The default behavior of BGP routers that run Cisco IOS software is to treat routes without the MED attribute as having a MED of 0, making the route that lacks the MED variable the most preferred. To configure the router to conform to the IETF standard, use the bgp bestpath med missing-as-worst router configuration command.
Next_Hop
The Next_Hop attribute identifies the next-hop IP address to be used as the BGP next hop to the destination. The router makes a recursive lookup to find the BGP next hop in the routing table. In external BGP (eBGP), the next hop is the IP address of the peer that sent the update. Internal BGP (iBGP) sets the next-hop address to the IP address of the peer that advertised the prefix for routes that originate internally. When any routes to iBGP that are learned from eBGP are advertised, the Next_Hop attribute is unchanged.
A BGP next-hop IP address must be reachable in order for the router to use a BGP route. Reachability information is usually provided by the IGP, and changes in the IGP can influence the forwarding of the next-hop address over a network backbone.
Origin
This attribute indicates how the route was included in a BGP routing table. In Cisco IOS software a route defined using the BGP network command is given an origin code of Interior Gateway Protocol (IGP). Routes distributed from an Exterior Gateway Protocol (EGP) are coded with an origin of EGP, and routes redistributed from other protocols are defined as Incomplete. BGP decision policy for origin prefers IGP over EGP, and then EGP over Incomplete.
Multihoming
Multihoming is defined as connecting an autonomous system with more than one service provider. If you have any reliability issues with one service provider, then you have a backup connection. Performance issues can also be addressed by multihoming because better paths to the destination network can be utilized.
Unless you are a service provider, you must plan your routing configuration carefully to avoid Internet traffic traveling through your autonomous system and consuming all your bandwidth. Figure 2 shows that autonomous system 45000 is multihomed to autonomous system 40000 and autonomous system 50000. Assuming autonomous system 45000 is not a service provider, then several techniques such as load balancing or some form of routing policy must be configured to allow traffic from autonomous system 45000 to reach either autonomous system 40000 or autonomous system 50000 but not allow much, if any, transit traffic.
Figure 2 Multihoming Topology
Transit Versus Nontransit Traffic
Most of the traffic within an autonomous system contains a source or destination IP address residing within the autonomous system, and this traffic is referred to as nontransit (or local) traffic. Other traffic is defined as transit traffic. As traffic across the Internet increases, controlling transit traffic becomes more important.
A service provider is considered to be a transit autonomous system and must provide connectivity to all other transit providers. In reality, few service providers actually have enough bandwidth to allow all transit traffic, and most service providers have to purchase such connectivity from Tier 1 service providers.
An autonomous system that does not usually allow transit traffic is called a stub autonomous system and will link to the Internet through one service provider.
BGP Policy Configuration
BGP policy configuration is used to control prefix processing by the BGP routing process and to filter routes from inbound and outbound advertisements. Prefix processing can be controlled by adjusting BGP timers, altering how BGP handles path attributes, limiting the number of prefixes that the routing process will accept, and configuring BGP prefix dampening. Prefixes in inbound and outbound advertisements are filtered using route maps, filter lists, IP prefix lists, autonomous-system-path access lists, IP policy lists, and distribute lists. Table 1 shows the processing order of BGP policy filters.
Table 1 BGP Policy Processing Order
Inbound
|
Outbound
|
Route map
|
Distribute list
|
Filter list, AS-path access list, or IP policy
|
IP prefix list
|
IP prefix list
|
Filter list, AS-path access list, or IP policy
|
Distribute list
|
Route map
|
Note
In Cisco IOS Releases 12.0(22)S, 12.2(15)T, and 12.2(18)S and later releases the maximum number of autonomous system access lists that can be configured with the ip as-path access-list command is increased from 199 to 500.
Whenever there is a change in the routing policy due to a configuration change, BGP peering sessions must be reset using the clear ip bgp command. Cisco IOS software supports the following three mechanisms to reset BGP peering sessions:
•
Hard reset—A hard reset tears down the specified peering sessions, including the TCP connection, and deletes routes coming from the specified peer.
•
Soft reset—A soft reset uses stored prefix information to reconfigure and activate BGP routing tables without tearing down existing peering sessions. Soft reset uses stored update information, at the cost of additional memory for storing the updates, to allow you to apply a new BGP policy without disrupting the network. Soft reset can be configured for inbound or outbound sessions.
•
Dynamic inbound soft reset—The route refresh capability, as defined in RFC 2918, allows the local router to reset inbound routing tables dynamically by exchanging route refresh requests to supporting peers. The route refresh capability does not store update information locally for nondisruptive policy changes. It instead relies on dynamic exchange with supporting peers. Route refresh must first be advertised through BGP capability negotiation between peers. All BGP routers must support the route refresh capability.
To determine if a BGP router supports this capability, use the show ip bgp neighbors command. The following message is displayed in the output when the router supports the route refresh capability:
Received route refresh capability from peer.
BGP Communities
BGP communities are used to group routes (also referred to as color routes) that share common properties, regardless of network, autonomous system, or any physical boundaries. In large networks applying a common routing policy through prefix-lists or access-lists requires individual peer statements on each networking device. Using the BGP community attribute BGP speakers, with common routing policies, can implement inbound or outbound route filters based on the community tag rather than consult large lists of individual permit or deny statements.
Standard community lists are used to configure well-known communities and specific community numbers. Expanded community lists are used to filter communities using a regular expression. Regular expressions are used to configure patterns to match community attributes.
The community attribute is optional, which means that it will not be passed on by networking devices that do not understand communities. Networking devices that understand communities must be configured to handle the communities or they will be discarded.
There are four predefined communities:
•
no-export—Do not advertise to external BGP peers.
•
no-advertise—Do not advertise this route to any peer.
•
internet—Advertise this route to the Internet community; all BGP-speaking networking devices belong to it.
•
local-as—Do not send outside the local autonomous system.
In Cisco IOS Release 12.2(8)T BGP named community lists were introduced. BGP named community lists allow meaningful names to be assigned to community lists with no limit on the number of community lists that can be configured. A named community list can be configured with regular expressions and with numbered community lists. All the rules of numbered communities apply to named community lists except that there is no limitation on the number of named community lists that can be configured.
Note
Both standard and expanded community lists have a limitation of 100 community groups that can be configured within each type of list. A named community list does not have this limitation.
Extended Communities
Extended community attributes are used to configure, filter, and identify routes for virtual routing and forwarding (VRF) instances and Multiprotocol Label Switching (MPLS) Virtual Private Networks (VPNs). All of the standard rules of access lists apply to the configuration of extended community lists. Regular expressions are supported by the expanded range of extended community list numbers. All regular expression configuration options are supported. The route target (RT) and site of origin (SoO) extended community attributes are supported by the standard range of extended community lists.
Route Target Extended Community Attribute
The RT extended community attribute is configured with the rt keyword of the ip extcommunity-list command. This attribute is used to identify a set of sites and VRFs that may receive routes that are tagged with the configured route target. Configuring the route target extended community attribute with a route allows that route to be placed in the per-site forwarding tables that are used for routing traffic that is received from corresponding sites.
Site of Origin Extended Community Attribute
The SoO extended community attribute is configured with the soo keyword of the ip extcommunity-list command. This attribute uniquely identifies the site from which the provider edge (PE) router learned the route. All routes learned from a particular site must be assigned the same SoO extended community attribute, regardless if a site is connected to a single PE router or multiple PE routers. Configuring this attribute prevents routing loops from occurring when a site is multihomed. The SoO extended community attribute is configured on the interface and is propagated into BGP through redistribution. The SoO extended community attribute can be applied to routes that are learned from VRFs. The SoO extended community attribute should not be configured for stub sites or sites that are not multihomed.
IP Extended Community-List Configuration Mode
Named and numbered extended community lists can be configured in IP extended community-list configuration mode. The IP extended community-list configuration mode supports all of the functions that are available in global configuration mode. In addition, the following operations can be performed:
•
Configure sequence numbers for extended community list entries
•
Resequence existing sequence numbers for extended community list entries
•
Configure an extended community list to use default values
Default Sequence Numbering
Extended community list entries start with the number 10 and increment by 10 for each subsequent entry when no sequence number is specified, when default behavior is configured, and when an extended community list is resequenced without specifying the first entry number or the increment range for subsequent entries.
Resequencing Extended Community Lists
Extended community-list entries are sequenced and resequenced on a per-extended community list basis. The resequence command can be used without any arguments to set all entries in a list to default sequence numbering. The resequence command also allows the sequence number of the first entry and increment range to be set for each subsequent entry. The range of configurable sequence numbers is from 1 to 2147483647.
Administrative Distance
Administrative distance is a measure of the preference of different routing protocols. BGP has a distance bgp command that allows you to set different administrative distances for three route types: external, internal, and local. BGP, like other protocols, prefers the route with the lowest administrative distance.
BGP Route Map Policy Lists
BGP route map policy lists allow a network operator to group route map match clauses into named lists called policy lists. A policy list functions like a macro. When a policy list is referenced in a route map, all of the match clauses are evaluated and processed as if they had been configured directly in the route map. This enhancement simplifies the configuration of BGP routing policy in medium-size and large networks because a network operator can preconfigure policy lists with groups of match clauses and then reference these policy lists within different route maps. The network operator no longer needs to manually reconfigure each recurring group of match clauses that occur in multiple route map entries.
A policy lists functions like a macro when it is configured in a route map and has the following capabilities and characteristics:
•
When a policy list is referenced within a route map, all the match statements within the policy list are evaluated and processed.
•
Two or more policy lists can be configured with a route map. Policy lists can be configured within a route map to be evaluated with AND or OR semantics.
•
Policy lists can coexist with any other preexisting match and set statements that are configured within the same route map but outside of the policy lists.
•
When multiple policy lists perform matching within a route map entry, all policy lists match on the incoming attribute only.
Policy lists support only match clauses and do not support set clauses. Policy lists can be configured for all applications of route maps, including redistribution, and can also coexist, within the same route map entry, with match and set clauses that are configured separately from the policy lists.
Note
Policy lists are supported only by BGP and are not supported by other IP routing protocols.
How to Connect to a Service Provider Using External BGP
This section contains the following tasks:
•
Influencing Inbound Path Selection
•
Influencing Outbound Path Selection
•
Configuring BGP Peering with ISPs
•
Configuring BGP Policies
Influencing Inbound Path Selection
BGP can be used to influence the choice of paths in another autonomous system. There may be several reasons for wanting BGP to choose a path that is not the obvious best route, for example, to avoid some types of transit traffic passing through an autonomous system or perhaps to avoid a very slow or congested link. BGP can influence inbound path selection using one of the following BGP attributes:
•
AS-path
•
MED
Perform one of the following tasks to influence inbound path selection:
•
Influencing Inbound Path Selection by Modifying the AS-path Attribute
•
Influencing Inbound Path Selection by Setting the MED Attribute
Influencing Inbound Path Selection by Modifying the AS-path Attribute
One of the methods that BGP can use to influence the choice of paths in another autonomous system is to modify the AS-path attribute. For example, in Figure 3, Router A advertises its own network, 172.17.1.0, to its BGP peers in autonomous system 45000 and autonomous system 60000. When the routing information is propagated to autonomous system 50000, the routers in autonomous system 50000 have network reachability information about network 172.17.1.0 from two different routes. The first route is from autonomous system 45000 with an AS-path consisting of 45000, 40000, the second route is through autonomous system 55000 with an AS-path of 55000, 60000, 40000. If all other BGP attribute values are the same, Router C in autonomous system 50000 would choose the route through autonomous system 45000 for traffic destined for network 172.17.1.0 because it is the shortest route in terms of autonomous systems traversed.
Autonomous system 40000 now receives all traffic from autonomous system 50000 for the 172.17.1.0 network through autonomous system 45000. If, however, the link between autonomous system 45000 and autonomous system 40000 is a really slow and congested link, the set as-path prepend command can be used at Router A to influence inbound path selection for the 172.17.1.0 network by making the route through autonomous system 45000 appear to be longer than the path through autonomous system 60000. The configuration is done at Router A in Figure 3 by applying a route map to the outbound BGP updates to Router B. Using the set as-path prepend command, all the outbound BGP updates from Router A to Router B will have their AS-path attribute modified to add the local autonomous system number 40000 twice. After the configuration, autonomous system 50000 receives updates about 172.17.1 network through autonomous system 45000. The new AS-path is 45000, 40000, 40000, and 40000, which is now longer than the AS-path from autonomous system 55000 (unchanged at a value of 55000, 60000, 40000). Networking devices in autonomous system 50000 will now prefer the route through autonomous system 55000 to forward packets with a destination address in the 172.17.1.0 network.
Figure 3 Network Topology for Modifying the AS-path Attribute
Perform this task to influence the inbound path selection for traffic destined for the 172.17.1.0 network by modifying the AS-path attribute. The configuration is performed at Router A in Figure 3.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
router bgp autonomous-system-number
4.
address-family ipv4 [unicast | multicast | vrf vrf-name]
5.
network network-number [mask network-mask] [route-map route-map-name]
6.
neighbor {ip-address | peer-group-name} remote-as autonomous-system-number
7.
neighbor {ip-address | peer-group-name} route-map map-name {in | out}
8.
neighbor {ip-address | peer-group-name} activate
9.
exit
10.
route-map map-name [permit | deny] [sequence-number]
11.
set as-path {tag | prepend as-path-string}
12.
end
13.
show running-config
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
router bgp autonomous-system-number
Example:
Router(config)# router bgp 40000
|
Enters router configuration mode for the specified routing process.
|
Step 4
|
address-family ipv4 [unicast | multicast | vrf
vrf-name]
Example:
Router(config-router)# address-family ipv4
unicast
|
Specifies the IPv4 address family and enters address family configuration mode.
• The unicast keyword specifies the IPv4 unicast address family. By default, the router is placed in address family configuration mode for the IPv4 unicast address family if the unicast keyword is not specified with the address-family ipv4 command.
• The multicast keyword specifies IPv4 multicast address prefixes.
• The vrf keyword and vrf-name argument specify the name of the VRF instance to associate with subsequent IPv4 address family configuration mode commands.
|
Step 5
|
network network-number [mask network-mask]
[route-map route-map-name]
Example:
Router(config-router-af)# network 172.17.1.0
mask 255.255.255.0
|
Specifies a network as local to this autonomous system and adds it to the BGP routing table.
• For exterior protocols the network command controls which networks are advertised. Interior protocols use the network command to determine where to send updates.
|
Step 6
|
neighbor {ip-address | peer-group-name}
remote-as autonomous-system-number
Example:
Router(config-router-af)# neighbor 192.168.1.2
remote-as 45000
|
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
• In this example, the BGP peer on Router B at 192.168.1.2 is added to the IPv4 multiprotocol BGP neighbor table and will receive BGP updates.
|
Step 7
|
neighbor {ip-address | peer-group-name}
route-map map-name {in | out}
Example:
Router(config-router-af)# neighbor 192.168.1.2
route-map PREPEND out
|
Applies a route map to incoming or outgoing routes.
• In this example, the route map named PREPEND is applied to outbound routes to Router B.
|
Step 8
|
neighbor {ip-address | peer-group-name}
activate
Example:
Router(config-router-af)# neighbor 192.168.1.2
activate
|
Enables address exchange for address family IPv4 unicast for the BGP neighbor at 192.168.1.2 on Router B.
|
Step 9
|
exit
Example:
Router(config-router-af)# exit
|
Exits address family configuration mode and enters global configuration mode.
|
Step 10
|
route-map map-name [permit | deny]
[sequence-number]
Example:
Router(config)# route-map PREPEND permit 10
|
Configures a route map and enters route map configuration mode.
• In this example, a route map named PREPEND is created and if there is a subsequent matching of criteria.
|
Step 11
|
set as-path {tag | prepend as-path-string}
Example:
Router(config-route-map)# set as-path prepend
40000 40000
|
Modifies an autonomous system path for BGP routes.
• Use the prepend keyword to "prepend" an arbitrary autonomous system path string to BGP routes. Usually the local autonomous system number is prepended multiple times, increasing the autonomous system path length.
• In this example, two additional autonomous system entries are added to the autonomous system path for outbound routes to Router B.
|
Step 12
|
end
Example:
Router(config-route-map)# end
|
Exits route map configuration mode and returns to privileged EXEC mode.
|
Step 13
|
show running-config
Example:
Router# show running-config
|
Displays the running configuration file.
|
Examples
The following partial output of the show running-config command shows the configuration from this task.
Router A:
Router# show running-config
neighbor 192.168.1.2 remote-as 60000
neighbor 192.168.1.2 activate
neighbor 192.168.1.2 route-map PREPEND out
network 172.17.1.0 mask 255.255.255.0
route-map PREPEND permit 10
set as-path prepend 40000 40000
Influencing Inbound Path Selection by Setting the MED Attribute
One of the methods that BGP can use to influence the choice of paths into another autonomous system is to set the MED attribute. The MED attribute indicates (to an external peer) a preferred path to an autonomous system. If there are multiple entry points to an autonomous system, the MED can be used to influence another autonomous system to choose one particular entry point. A metric is assigned using route maps where a lower MED metric is preferred by the software over a higher MED metric.
Perform this task to influence inbound path selection by setting the MED metric attribute. The configuration is performed at Router B and Router D in Figure 4. Router B advertises the network 172.16.1.0. to its BGP peer, Router E in autonomous system 50000. Using a simple route map Router B sets the MED metric to 50 for outbound updates. The task is repeated at Router D but the MED metric is set to 120. When Router E receives the updates from both Router B and Router D the MED metric is stored in the BGP routing table. Before forwarding packets to network 172.16.1.0, Router E compares the attributes from peers in the same autonomous system (both Router B and Router D are in autonomous system 45000). The MED metric for Router B is less than the MED for Router D, so Router E will forward the packets through Router B.
Figure 4 Network Topology for Setting the MED Attribute
Use the bgp always-compare-med command to compare MED attributes from peers in other autonomous systems.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
router bgp autonomous-system-number
4.
neighbor {ip-address | peer-group-name} remote-as autonomous-system-number
5.
address-family ipv4 [unicast | multicast | vrf vrf-name]
6.
network network-number [mask network-mask] [route-map route-map-name]
7.
neighbor {ip-address | peer-group-name} route-map map-name {in | out}
8.
exit
9.
route-map map-name [permit | deny] [sequence-number]
10.
set metric value
11.
end
12.
Repeat Step 1 through Step 11 at Router D.
13.
show ip bgp [network] [network-mask]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
router bgp autonomous-system-number
Example:
Router(config)# router bgp 45000
|
Enters router configuration mode for the specified routing process.
|
Step 4
|
neighbor {ip-address | peer-group-name}
remote-as autonomous-system-number
Example:
Router(config-router)# neighbor 192.168.3.2
remote-as 50000
|
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
|
Step 5
|
address-family ipv4 [unicast | multicast | vrf
vrf-name]
Example:
Router(config-router)# address-family ipv4
unicast
|
Specifies the IPv4 address family and enters address family configuration mode.
• The unicast keyword specifies the IPv4 unicast address family. By default, the router is placed in address family configuration mode for the IPv4 unicast address family if the unicast keyword is not specified with the address-family ipv4 command.
• The multicast keyword specifies IPv4 multicast address prefixes.
• The vrf keyword and vrf-name argument specify the name of the VRF instance to associate with subsequent IPv4 address family configuration mode commands.
|
Step 6
|
network network-number [mask network-mask]
[route-map route-map-name]
Example:
Router(config-router-af)# network 172.16.1.0
mask 255.255.255.0
|
Specifies a network as local to this autonomous system and adds it to the BGP routing table.
• For exterior protocols the network command controls which networks are advertised. Interior protocols use the network command to determine where to send updates.
|
Step 7
|
neighbor {ip-address | peer-group-name}
route-map map-name {in | out}
Example:
Router(config-router-af)# neighbor 192.168.3.2
route-map MED out
|
Applies a route map to incoming or outgoing routes.
• In this example, the route map named MED is applied to outbound routes to the BGP peer at Router E.
|
Step 8
|
exit
Example:
Router(config-router-af)# exit
|
Exits address family configuration mode and enters router configuration mode.
• Repeat this step to exit to global configuration mode.
|
Step 9
|
route-map map-name [permit | deny]
[sequence-number]
Example:
Router(config)# route-map MED permit 10
|
Configures a route map and enters route map configuration mode.
• In this example, a route map named MED is created.
|
Step 10
|
set metric value
Example:
Router(config-route-map)# set metric 50
|
Sets the MED metric value.
|
Step 11
|
end
Example:
Router(config-route-map)# end
|
Exits route map configuration mode and enters privileged EXEC mode.
|
Step 12
|
Repeat Step 1 through Step 11 at Router D.
|
—
|
Step 13
|
show ip bgp [network] [network-mask]
Example:
Router# show ip bgp 172.17.1.0 255.255.255.0
|
(Optional) Displays the entries in the BGP routing table.
• Use this command at Router E in Figure 4 when both Router B and Router D have configured the MED attribute.
• Only the syntax applicable to this task is used in this example. For more details, see the Cisco IOS IP Routing Protocols Command Reference, Release 12.4T.
|
Examples
The following output is from Router E in Figure 4 after this task has been performed at both Router B and Router D. Note the metric (MED) values for the two routes to network 172.16.1.0. The peer 192.168.2.1 at Router D has a metric of 120 for the path to network 172.16.1.0 whereas the peer 192.168.3.1 at Router B has a metric of 50. The entry for the peer 192.168.3.1 at Router B has the word best at the end of the entry to show that Router E will choose to send packets destined for network 172.16.1.0 via Router B because the MED metric is lower.
Router# show ip bgp 172.16.1.0
BGP routing table entry for 172.16.1.0/24, version 10
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Advertised to update-groups:
192.168.2.1 from 192.168.2.1 (192.168.2.1)
Origin IGP, metric 120, localpref 100, valid, external
192.168.3.1 from 192.168.3.1 (172.17.1.99)
Origin IGP, metric 50, localpref 100, valid, external, best
Influencing Outbound Path Selection
BGP can be used to influence the choice of paths for outbound traffic from the local autonomous system. This section contains two methods that BGP can use to influence inbound path selection:
•
Using the Local_Pref attribute
•
Using the BGP outbound route filter (ORF) capability
Perform one of the following tasks to influence outbound path selection:
•
Influencing Outbound Path Selection Using the Local_Pref Attribute
•
Filtering Outbound BGP Route Prefixes
Influencing Outbound Path Selection Using the Local_Pref Attribute
One of the methods to influence outbound path selection is to use the BGP Local-Pref attribute. Perform this task using the local preference attribute to influence outbound path selection. If there are several paths to the same destination the local preference attribute with the highest value indicates the preferred path.
Refer to Figure 5 for the network topology used in this task. Both Router B and Router C are configured. autonomous system 45000 receives updates for network 192.168.3.0 via autonomous system 40000 and autonomous system 50000. Router B is configured to set the local preference value to 150 for all updates to autonomous system 40000. Router C is configured to set the local preference value for all updates to autonomous system 50000 to 200. After the configuration, local preference information is exchanged within autonomous system 45000. Router B and Router C now see that updates for network 192.168.3.0 have a higher preference value from autonomous system 50000 so all traffic in autonomous system 45000 with a destination network of 192.168.3.0 is sent out via Router C.
Figure 5 Network Topology for Outbound Path Selection
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
router bgp autonomous-system-number
4.
address-family ipv4 [unicast | multicast | vrf vrf-name]
5.
network network-number [mask network-mask] [route-map route-map-name]
6.
neighbor {ip-address | peer-group-name} remote-as autonomous-system-number
7.
bgp default local-preference value
8.
neighbor {ip-address | peer-group-name} activate
9.
end
10.
Repeat Step 1 through Step 9 at Router C.
11.
show ip bgp [network] [network-mask]
DETAILED STEPS
| |
Command or Action
|
Purpose
|
Step 1
|
enable
Example:
Router> enable
|
Enables privileged EXEC mode.
• Enter your password if prompted.
|
Step 2
|
configure terminal
Example:
Router# configure terminal
|
Enters global configuration mode.
|
Step 3
|
router bgp autonomous-system-number
Example:
Router(config)# router bgp 45000
|
Enters router configuration mode for the specified routing process.
|
Step 4
|
address-family ipv4 [unicast | multicast | vrf
vrf-name]
Example:
Router(config-router)# address-family ipv4
unicast
|
Specifies the IPv4 address family and enters address family configuration mode.
• The unicast keyword specifies the IPv4 unicast address family. By default, the router is placed in address family configuration mode for the IPv4 unicast address family if the unicast keyword is not specified with the address-family ipv4 command.
• The multicast keyword specifies IPv4 multicast address prefixes.
• The vrf keyword and vrf-name argument specify the name of the VRF instance to associate with subsequent IPv4 address family configuration mode commands.
|
Step 5
|
network network-number [mask network-mask]
[route-map route-map-name]
Example:
Router(config-router-af)# network 172.17.1.0
mask 255.255.255.0
|
Specifies a network as local to this autonomous system and adds it to the BGP routing table.
• For exterior protocols the network command controls which networks are advertised. Interior protocols use the network command to determine where to send updates.
|
Step 6
|
neighbor {ip-address | peer-group-name}
remote-as autonomous-system-number
Example:
Router(config-router-af)# neighbor 192.168.1.2
remote-as 40000
|
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
|
Step 7
|
bgp default local-preference value
Example:
Router(config-router-af)# bgp default
local-preference 150
|
Changes the default local preference value.
• In this example, the local preference is changed to 150 for all updates from autonomous system 40000 to autonomous system 45000.
• By default, the local preference value is 100.
|
Step 8
|
neighbor {ip-address | peer-group-name}
activate
Example:
Router(config-router-af)# neighbor 192.168.1.2
activate
|
Adds the IP address or peer group name of the neighbor in the specified autonomous system to the IPv4 multiprotocol BGP neighbor table of the local router.
|
Step 9
|
end
Example:
Router(config-router-af)# end
|
Exits route map configuration mode and enters privileged EXEC mode.
|
Step 10
|
Repeat Step 1 through Step 9 at Router C but change the IP address of the peer, the autonomous system number, and set the local preference value to 200.
|
—
|
Step 11
|
show ip bgp [network] [network-mask]
Example:
Router# show ip bgp 192.168.3.0 255.255.255.0
|
Displays the entries in the BGP routing table.
• Enter this command at both Router B and Router C and note the Local_Pref value. The route with the highest preference value will be the preferred route to network 192.168.3.0.
Note Only the syntax applicable to this task is used in this example. For more details, see the Cisco IOS IP Routing Protocols Command Reference, Release 12.4T.
|
Filtering Outbound BGP Route Prefixes
Perform this task to use BGP prefix-based outbound route filtering to influence outbound path selection.
BGP Prefix-Based Outbound Route Filtering
BGP prefix-based outbound route filtering uses the BGP ORF send and receive capabilities to minimize the number of BGP updates that are sent between BGP peers. Configuring BGP ORF can help reduce the amount of system resources required for generating and processing routing updates by filtering out unwanted routing updates at the source. For example, BGP ORF can be used to reduce the amount of processing required on a router that is not accepting full routes from a service provider network.
The BGP prefix-based outbound route filtering is enabled through the advertisement of ORF capabilities to peer routers. The advertisement of the ORF capability indicates that a BGP peer will accept a prefix list from a neighbor and apply the prefix list to locally configured ORFs (if any exist). When this capability is enabled, the BGP speaker can install the inbound prefix list filter to the remote peer as an outbound filter, which reduces unwanted routing updates.
The BGP prefix-based outbound route filtering can be configured with send or receive ORF capabilities. The local peer advertises the ORF capability in send mode. The remote peer receives the ORF capability in receive mode and applies the filter as an outbound policy. The local and remote peers exchange updates to maintain the ORF on each router. Updates are exchanged between peer routers by address family depending on the ORF prefix list capability that is advertised. The remote peer starts sending updates to the local peer after a route refresh has been requested with the clear ip bgp in prefix-filter command or after an ORF prefix list with immediate status is processed. The BGP peer will continue to apply the inbound prefix list to received updates after the local peer pushes the inbound prefix list to the remote peer.
Prerequisites
BGP peering sessions must be established, and BGP ORF capabilities must be enabled on each participating router before prefix-based ORF announcements can be received.
Restrictions
•
BGP prefix-based outbound route filtering does not support multicast.
•
IP addresses that are used for outbound route filtering must be defined in an IP prefix list. BGP distribute lists and IP access lists are not supported.
•
Outbound route filtering is configured on only a per-address family basis and cannot be configured under the general session or BGP routing process.
•
Outbound route filtering is configured for external peering sessions only.
SUMMARY STEPS
1.
enable
2.
configure terminal
3.
ip prefix-list list-name [seq seq-value] {deny network/length | permit network/length} [ge ge-value] [le le-value]
4.
router bgp autonomous-system-number
5.
address-family ipv4 [unicast | multicast | vrf vrf-name]
6.
neighbor {ip-address | peer-group-name} remote-as autonomous-system-number
7.
neighbor ip-address ebgp-multihop [hop-count]
8.
neighbor ip-address capability orf prefix-list [send | receive | both]
9.
neighbor {ip-address | peer-group-name} prefix-list prefix-list-name {in | out}
10.
end
11.
clear ip bgp {ip-address | *} in prefix-filter
DETAILED STEPS