0% found this document useful (0 votes)
88 views

CCNP Route Ch. 7 Implementing BGP - Part 2

The document discusses several key BGP path attributes that influence route selection: - Path attributes include path information, route preference, next-hop, and aggregation data. Administrators use attributes to filter routes and customize BGP behavior. - Attributes are classified as well-known mandatory, well-known discretionary, optional transitive, or optional non-transitive, depending on how they are propagated and handled. - Important attributes include AS_path, next-hop, origin, and local preference. The local preference attribute allows an AS to influence the preferred exit point for certain routes.

Uploaded by

Edgar Peninsula
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
88 views

CCNP Route Ch. 7 Implementing BGP - Part 2

The document discusses several key BGP path attributes that influence route selection: - Path attributes include path information, route preference, next-hop, and aggregation data. Administrators use attributes to filter routes and customize BGP behavior. - Attributes are classified as well-known mandatory, well-known discretionary, optional transitive, or optional non-transitive, depending on how they are propagated and handled. - Important attributes include AS_path, next-hop, origin, and local preference. The local preference attribute allows an AS to influence the preferred exit point for certain routes.

Uploaded by

Edgar Peninsula
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 123

CCNP ROUTE

Ch. 7 Implementing BGP – Part 2


Path Attributes

 Each route has its own set of defined attributes, which can include:
 Path information
 Route preference
 Next-hop
 Aggregation information
 Administrators use these values to enforce routing policy.
 Based on attribute values, you can configure BGP to:
 filter routing information
 prefer certain paths
 customize its behavior
 Every UPDATE message has a variable-length sequence of path attributes.
2
Path Attributes

 Not all vendor implementations of BGP recognize the same attributes.


 Path attributes come in four different types:
 Well-known mandatory
 Well-known discretionary
 Optional transitive
 Optional non-transitive

3
Path Attributes

Well-known mandatory
 An attribute that has to exist in the BGP UPDATE packet.
 It must be recognized by all BGP implementations.
 If a well-known attribute is missing, a notification error will be generated
 This ensures that all BGP implementations agree on a standard set of
attributes.
Example: AS_PATH attribute

4
Path Attributes

Well-known discretionary
 An attribute that is recognized by all BGP implementations
 But may or may not be sent in the BGP UPDATE message.
Example: LOCAL_PREF

5
Path Attributes

Optional transitive
 An attribute that may or may not be, recognized by all BGP
implementations (thus, optional).
 Because the attribute is transitive:
 BGP should accept and advertise the attribute even if it isn’t
recognized.
Example: COMMUNITY

6
Path Attributes

Optional non-transitive
 An attribute that may or may not be, recognized by all BGP
implementations.
 Whether or not the receiving BGP router recognizes the attribute, it is non-
transitive:
 Should NOT be passed along to other BGP peers.
Example: MED

7
The Route Selection
WLam Decision Process (Cisco)
Summary of the BGPWeight Path Selection Process
 BGP uses the following Localcriteria, in the order presented, to select a path for a
Preference
destination:
 NOTE: Not all of these as path
are commonly used and will be examined in more
detail later in this presentation and in the next presentation.
med

1. If the path specifies a next hop that is inaccessible, drop the update.
2. Prefer the path with the largest weight.
3. If the weights are the same, prefer the path with the largest local preference.
4. If the local preferences are the same, prefer the path that was originated by
BGP running on this router.
5. If no route was originated, prefer the route that has the shortest AS_path.
6. If all paths have the same AS_path length, prefer the path with the lowest
origin type (where IGP is lower than EGP, and EGP is lower than
Incomplete).
7. If the origin codes are the same, prefer the path with the lowest MED
attribute.
8. If the paths have the same MED, prefer the external path over the internal
path.
9. If the paths are still the same, prefer the path through the closest IGP
neighbor.
10. Prefer the path with the lowest IP address, as specified by the BGP router ID 8
The AS-Path
Attribute
WLam
Weight My path to
192.168.1.0 is
Local Preference
(65500, 64520)
as path
med

 AS-path attribute – Well-known mandatory attribute


 Whenever a route update passes through an AS, the AS number is prepended to
that update
 AS number is put at the beginning of the list when it is advertised to the next
EBGP neighbor.
 Router A: advertises network 192.168.1.0 in AS 64520.
 Router C: prepends its own AS number to it and advertises the route to Router B.
 Router B: From Router B’s perspective, the path to reach 192.168.1.0 is:
 65500, 64520
9
The AS-Path
Attribute

My path to
192.168.1.0 is
My path to (65500, 64520)
192.168.1.0 is
(64520)

 AS numbers are prepended only by routers advertising routes to EBGP


neighbors.
 Routers advertising routes to IBGP neighbors do not change the AS-path
attribute

10
 show ip bpg – Shows the BGP Table
 AS Path to 44.0.0.0 is via AS: 7018, 22822, 22822, 2152, 7377
 2282 twice?
 AS Path prepend (later)

11
The Next-Hop
Attribute

 Next-hop attribute - A well-known mandatory attribute


 Indicates the next-hop IP address that is to be used to reach a destination.
 IGPs:
 hop-by-hop routing protocol
 router-by-router
 BGP:
 hop-by-hop routing protocol (like IGPs)
 AS-by-AS (not like IGPs)
12
 By default, the next-hop is the next AS
The Next-Hop
Attribute

 EBGP: The next-hop is the IP address of the neighbor that sent the update.
 Router A advertises (EBGP) 172.16.0.0 to Router B, with a next hop of
10.10.10.3
 IBGP: The next-hop is carried into IBGP unchanged.
 Router B advertises (IBGP) 172.16.0.0 to Router C, with a next hop of
10.10.10.3.
 Router B uses 10.10.10.3 as the next-hop attribute to get to 172.16.0.0
 Router C’s next hop to reach 172.16.0.0 is 10.10.10.3 not 172.20.10.1

13
The Next-Hop
Attribute

 Very important that Router C knows how to reach the 10.10.10.3 (10.0.0.0
or 10.10.10.0)
 IGP
 static route
 Otherwise, Router C will drop packets destined for 172.16.0.0, because it
will not be able to get to the next-hop address for that network.
 Must either:
 Advertise the next-hop network, the network between AS’s, (10.10.10.0)
into the AS
14
 Change the next-hop address (Router B’s 172.20.10.0 network) - later
The Next-Hop
Attribute

Recursive Lookup
 IBGP router performs a recursive lookup to find out how to reach the BGP next-
hop address by using its IGP entries in the routing table.
 Router C has a packet to send to 172.16.100.1
 Finds the longest-match for 172.16.100.1 (172.16.0.0/16) in the routing table
and finds a BGP route with a next hop of 10.10.10.3.
 Does a recursive lookup in the routing table for a path to network 10.10.10.3
 If there is an IGP route to 10.10.10.3 (ex: 10.10.10.0) in the routing table with
a next hop of 172.20.10.1
 Forwards the packet destined for 172.16.100.1 to 172.20.10.1
 Otherwise, drops the packet 15
The Origin
Attribute

 The origin attribute is a well-known mandatory attribute


 Defines the origin of the path information.
 The origin attribute can be one of three values:
 IGP
 The route is interior to the originating AS.
 Normally when the network command is used (coming)
 Indicated with an “i” in the BGP table (coming)
 EGP
 The route is learned via EGP
 EGP is legacy and no longer supported in the Internet
 Indicated with an “e” in the BGP table.
 Incomplete
 The route’s origin is unknown or is learned via some other means.
 This usually occurs when a route is redistributed into BGP.
 Indicated with a “?” in the BGP table. 18
The Local 172.16.0.0

Preference
Attribute
WLam
IBGP
Weight
Local Preference
as path
med

 Local preference - A well-known discretionary attribute


 Indicates to routers in the AS which path is preferred to exit the AS
 Path with the higher local preference is preferred.
 Configured on a router
 Exchanged only among routers within the same AS
 Passed only via IBGP not via EBGP
 Default value on a Cisco router is 100
 Local Preference takes precedence over AS_PATH
19
 WLam: Weight, Local preference, as path, med
The Local 172.16.0.0

Preference My Local Preference


Attribute is higher so I am the
preferred exit point.

IBGP

 AS 64520 receives updates about network 172.16.0.0 from two directions:


 via AS 65500 (65500, 65350)
 via 65000 (65000, 65250, 65350)
 Router A and Router B are IBGP neighbors.
 Local preference:
 On Router A for network 172.16.0.0 is set to 200
 On Router B for network 172.16.0.0 is set to 150
 Local preference information is exchanged within AS 64520 via IBGP
 All traffic in AS 64520 addressed to network 172.16.0.0 is sent to Router A as
20
an exit point from AS 64520.
The MED 172.20.0.0

Attribute
WLam
Weight
Local Preference
as path
med

 The MED attribute - An optional nontransitive attribute.


 Also called the metric
 Displayed in the metric column in the BGP table.
 Indicates to external neighbors the preferred path into an autonomous
system.
 A way for an AS to try to influence another AS as to which way it should
send its traffic when there are multiple entry points.
 MED is sent to EBGP peers:
 Those routers propagate the MED within their AS
 But do not pass it on to the next AS
21
The MED 172.20.0.0

Attribute
My MED is 200 for
My MED is 150 for 172.20.0.0 so send
172.20.0.0 so send those packets this
those packets this way.
way.

Which path is most


attractive?

 By default, a router compares the MED attribute only for paths from
neighbors in the same AS.
 By using the MED attribute, BGP is the only protocol that can affect
how routes are sent into an AS.
 Router B has set the MED attribute to 150 for 172.20.0.0
 Router C has set the MED attribute to 200 for 172.20.0.0
 Router A receives EBGP updates from Routers B and C
 Chooses Router B as the best next hop to get to AS 65500
22
AS 65000 AS
AS
172.20.0.0 65002
The MED 65001

Attribute
My MED is 200 for
My MED is 150 for 172.20.0.0 so send
172.20.0.0 so send those packets this
those packets this way to AS 65002.
way to AS 65001.

Different AS’s so I won’t


use the MED unless
configured with “bgp
always compare med”

 By default, a router compares the MED attribute only for paths from
neighbors in the same AS.
 If these were two different AS’s then Router A would use MED for best path
selection

23
The Weight
Attribute
(Cisco Only)
WLam
Weight
Local Preference
as path
med

 Weight attribute - a Cisco-defined attribute used for the path-selection


process.
 Configured locally and not propagated to any other routers
 Higher weight is preferred when there are multiple routes to the same
network.
 Weight takes precedence over Local Preference
 Value from 0 to 65535.
 Default of 32768
24
The Weight
Attribute
(Cisco Only)
AS 65500
AS 65000 150
200

Router A

 Router A has two ways to reach 172.20.0.0


 via Router B (AS 65000)
 via Router C (AS 65500)
 Router A is configured to set the weight of updates coming from:
 Router B to 200
 Router C to 150
 Weight for Router B is higher so Router A uses Router B as a next hop to
reach 172.20.0.0
25
The Path-Selection Decision Process with a
Multihomed Connection

 An AS rarely implements BGP with only one EBGP connection, so generally


multiple paths exist for each network in the BGP forwarding database.
 Using the 11-step route selection process as outlined in Diane Teare’s
book…

26
The Route Selection Decision Process (Cisco)
Summary of the BGP Path Selection Process
 BGP uses the following criteria, in the order presented, to select a path for a
destination:
 NOTE: Not all of these are commonly used and will be examined in more
detail later in this presentation and in the next presentation.
WLam
1. If the path specifies a next hop that is inaccessible, drop the update.
Weight
2. Prefer the path with the largest weight.
3. If the weights areLocal Preference
the same, prefer the path with the largest local preference.
4. If the local preferences
as pathare the same, prefer the path that was originated by
BGP running on this router.
med
5. If no route was originated, prefer the route that has the shortest AS_path.
6. If all paths have the same AS_path length, prefer the path with the lowest
origin type (where IGP is lower than EGP, and EGP is lower than
Incomplete).
7. If the origin codes are the same, prefer the path with the lowest MED
attribute.
8. If the paths have the same MED, prefer the external path over the internal
path.
9. If the paths are still the same, prefer the path through the closest IGP
neighbor.
10. Prefer the path with the lowest IP address, as specified by the BGP router ID 27
The Route Selection Decision Process (ROUTE)
 Step 1 Prefer the route with the highest weight. (Recall that the weight is Cisco-proprietary
and is local to the router only.)
 Step 2 If multiple routes have the same weight, prefer the route with the highest local
preference. (Recall that the local preference is used within an AS.)
 Step 3 If multiple routes have the same local preference, prefer the route that was originated
by the local router. (network command)
 Step 4 If none of the routes were originated by the local router, prefer the route with the
shortest AS-path.
 Step 5 If the AS-path length is the same, prefer the lowest origin code (IGP < EGP <
incomplete).
 Step 6 If all origin codes are the same, prefer the path with the lowest MED. (Recall that the
MED is exchanged between autonomous systems.) The MED comparison is done only if the
neighboring AS is the same for all routes considered, unless the bgp always-compare-med
router configuration command is enabled.
 Step 7 If the routes have the same MED, prefer external paths (EBGP) over internal paths
(IBGP).
 Step 8 If synchronization is disabled and only internal paths remain, prefer the path through
the closest IGP neighbor. This means that the router prefers the shortest internal path
within the AS to reach the destination (the shortest path to the BGP next-hop).
 Step 9 For EBGP paths, select the oldest route, to minimize the effect of routes going up
and down (flapping).
 Step 10 Prefer the route with the lowest neighbor BGP router ID value.
 Step 11 If the BGP router IDs are the same, prefer the route with the lowest neighbor IP
28
address.
The Route Selection Decision Process (ROUTE) 1
2
 Step 1 Prefer the route with the highest weight. (Recall
that the weight is Cisco-proprietary and is local to the
router only.)
 Step 2 If multiple routes have the same weight, prefer the 3
route with the highest local preference. (Recall that the
local preference is used within an AS.)
 Step 3 If multiple routes have the same local preference, 5
prefer the route that was originated by the local router.
(network command)
 Step 4 If none of the routes were originated by the local 4
router, prefer the route with the shortest AS-path.
 Step 5 If the AS-path length is the same, prefer the
lowest origin code (IGP < EGP < incomplete). 7
 Step 6 If all origin codes are the same, prefer the path
6
with the lowest MED. (Recall that the MED is exchanged
between autonomous systems.) The MED comparison is
done only if the neighboring AS is the same for all routes
considered, unless the bgp always-compare-med router
configuration command is enabled.
 Step 7 If the routes have the same MED, prefer external 8 9
paths (EBGP) over internal paths (IBGP).
 Step 8 If synchronization is disabled and only internal
paths remain, prefer the path through the closest IGP
neighbor. This means that the router prefers the shortest
internal path within the AS to reach the destination (the
shortest path to the BGP next-hop).
 Step 9 For EBGP paths, select the oldest route, to
minimize the effect of routes going up and down 10 11
(flapping).
 Step 10 Prefer the route with the lowest neighbor BGP
router ID value.
 Step 11 If the BGP router IDs are the same, prefer the 29
route with the lowest neighbor IP address.
R1(config)#router bgp 65201
R1(config-router)# maximum-paths 2

Multiple Path Selection (BGP Multipath)


 BGP chooses only a single best path for each destination.
 The maximum-paths paths affects only the number of routes kept in the IP
routing table, not the number of paths selected as best by BGP.
 Defaults to one.
 R2 and R3 are advertising network 10.0.0.0.
 With maximum-paths 2: both paths appear in the IP routing table
 Without maximum-paths 2: only one path to 10.0.0.0 in R1’s routing
table
 Only one path is still selected as the best in the BGP table “>” (offered to
30
the IP routing table) and advertised to its BGP neighbors.
Configuring BGP

31
Entering BGP Configuration Mode
RTA(config)#router bgp 100
RTA(config-router)#

RTB(config)#router bgp 200


RTB(config-router)#

 Use the router bgp autonomous-system global configuration command


 autonomous-system identifies the local AS.
 AS determines whether IBGP or EBGP neighbors.
 The router bgp command alone does not activate BGP on a router.
 Must enter at least one subcommand.
 Only one instance of BGP can be configured on a router

32
Defining BGP Neighbors and Activating
BGP Sessions
RTA(config)#router bgp 100
RTA(config-router)#neighbor 10.1.1.1 remote-as 200

RTB(config)#router bgp 200


RTB(config-router)#neighbor 10.1.1.2 remote-as 100

 neighbor {ip-address | peer-group-name} remote-as autonomous-system


 This address must be reachable (for TCP session) and exchanging BGP
updates.
 autonomous-system field of the neighbor remote-as:
 EBGP: different AS numbers
 IBGP: same AS number
 Note: We will discuss peer groups later.

33
router bgp 65101
neighbor 10.2.2.2 remote-as 65101
neighbor 10.1.1.2 remote-as 65101

EBGP and fully meshed IBGP

34
Router(config)# router bgp as
Router(config-router)# neighbor {ip-address | peer-group-name} shutdown

 Shutting Down a BGP Neighbor


 To disable (administratively shut down) an existing BGP neighbor or
peer group
 This command not only terminates the session but also removes all
associated routing information.
 Use the “no neighbor…” to enable a neighbor previously shutdown
 If you want to implement major policy changes to a neighboring you must:
 Administratively shut down the neighboring router
 Implement the changes (attributes, route filtering, etc.)
 Administratively bring the neighboring router back up

35
Defining the Source IP Address
RTA(config)#router bgp 100
RTA(config-router)#neighbor 10.1.1.1 remote-as 200

I will only accept BGP updates with a source IP address of 10.1.1.1

 The BGP neighbor statement tells the BGP process the destination IP
address of each update packet.
 The source IP address must match the address in the corresponding
neighbor statement on the other router.
 BGP does not accept unsolicited updates.

36
RouterD(config)#router bgp 65102
RouterD(config-router)#neighbor 10.3.3.1 remote-as 650102

 Router D has the configuration above.


 If Router A is sending the BGP packets to Router D via Router B
 The source IP address of the packets will be 10.1.1.1
 Router D:
 Does not recognize the sender of the BGP packet (10.1.1.1)
 10.1.1.1 is not configured as a neighbor of Router D.
 The IBGP session between Router A and D will not be established.

37
Router(config)#router bgp as
Router(config-router)# neighbor {ip-address | peer-group-name} update-source loopback
interface-number
RouterA(config)#router bgp 65102
RouterA(config-router)#neighbor 192.168.4.4 remote-as 650102
RouterA(config-router)#neighbor 192.168.4.4 update-source loopback0
RouterD(config)#router bgp 65102
RouterD(config-router)#neighbor 192.168.1.1 remote-as 650102
RouterD(config-router)#neighbor 192.168.1.1 update-source loopback0

 Solution: Establish the IBGP session using a loopback interface when there
are multiple paths between the IBGP neighbors.
 Causes the router to use the address of the specified loopback interface
as the source address for BGP connections to this neighbor.
38
 Need to make sure loopback address is reachable (TCP session)
 Router B has Router A as an EBGP neighbor
 Only reachable via directly connected address 172.16.1.1
 Router C has Router D as an EBGP neighbor
 Only reachable via directly connected address 192.168.1.1

39
 However, Router B has multiple paths to reach Router C (IBGP neighbor)
 Router B and C: All networks are reachable via IGP EIGRP including
loopback interfaces
 Neighbor relationship between Routers B and C are loopback interfaces
 If one of the links between Router B and C goes down the BGP peering is
not affected.
 Without the loopbacks as source interfaces If one of the links between
Router B and C goes down the BGP neighbor relationship would be lost.

40
EBGP Multihop

 Because IGP routing information is not exchanged with external peers:


 The router must point to a directly connected address for external neighbors.
 A loopback interface is never directly connected.
 So, if you want to peer with a loopback interface instead:
 Must add a static route to the loopback pointing to the physical address of the
directly connected network (the next-hop address)
 Must also enable multihop EBGP, with the router configuration command:
neighbor {ip-address | peer-group-name} ebgp-multihop [ttl]
 This command increases the default of one hop for EBGP peers by changing the default
Time to Live (TTL) value of 1 and therefore allowing routes to the EBGP loopback address.
 By default, the TTL is set to 255 with this command.
 This command is of value when redundant paths exist between EBGP neighbors.

41
EBGP Multihop

RTA(config)#router bgp 65102


RTA(config-router)#neighbor 192.168.1.18 remote-as 65101
RTA(config-router)#neighbor 192.168.1.34 remote-as 65101

Alternative but less desirable


 Router A in AS 65102 has two paths to Router B in AS 65101.
 Primary
 Backup
 Router A can use two neighbor statements pointing to 192.168.1.18 and
192.168.1.34 on Router B.
 Disadvantage: Router A will send duplicate (two) BGP updates to Router B
because of the two neighbor statements.
42
EBGP Multihop

EBGP Multihop
 Each router instead:
 Uses its loopback address as the source IP address for its BGP updates
 Points to the loopback address of the other router
 IGP is not used between autonomous systems, so neither router can reach
the loopback of the other router without assistance.
 Assistance: Each router needs to use two static routes:
 A path to reach the loopback address of the other router.
 neighbor ebgp-multihop: Must also be configured to change the default
setting of BGP and inform the BGP process that this neighbor IP address is
more than one hop away (2 hops in this example). 43
Changing the Next-Hop
Attribute

 An internal protocol, such as RIP, EIGRP, or OSPF, always uses the source
IP address of a routing update as the next-hop address for each network
from that update that is placed in the routing table.
 IBGP: The next-hop is carried into IBGP unchanged.
 neighbor {ip-address | peer-group-name} next-hop-self router
configuration command
 Used to force BGP to use the source IP address of the update as the
next hop for each network it advertises to the neighbor
44
 Rather than using the next-hop AS IP address (default).
192.168.15.0

 EBGP: The next-hop is the IP address of the neighbor that sent the update.
 Router A advertises (EBGP) 192.168.15.0 to Router B, with a next hop of 172.16.1.1
 Router C advertises (EBGP) 192.168.15.0 to Router D, with a next hop of 192.168.1.2
 IBGP: The next-hop is carried into IBGP unchanged.
 Router B advertises (IBGP) 192.168.15.0 to Router C, with a next hop of 172.16.1.1
 Router B uses 172.16.1.1 as the next-hop attribute to get to 192.168.15.0 and
 Router C uses 172.16.1.1 as the next-hop attribute to get to 192.168.15.0
 Router C’s next hop to reach 192.168.15.0 is 172.16.1.1 not one of it’s local interfaces
 Very important that Router C knows how to reach the 172.16.1.1:
 IGP
 Static route
 Otherwise, Router C will drop packets destined for 192.168.15.0, because it will not be able
to get to the next-hop address for that network.
 Must either:
 Advertise the next-hop network, the network between AS’s, (172.16.0.0) into the AS
45
 Change the next-hop address to Router B’s local interface
192.168.15.0

 The neighbor next-hop-self


command to change the default
BGP next-hop settings.
 Router B advertises a next hop of
192.168.2.2 (the IP address of its
loopback interface) to its IBGP
neighbor
 set with the neighbor update-
source command

46
Defining the Networks That BGP
Advertises

RTA(config)#router bgp as
RTA(config-router)#network network-number

 Two options available to advertise networks into BGP:


 network command
 Redistributing routes from an IGP into BGP
 Not recommended because any change in IGP routes (link goes
down) might cause a BGP update
 Could result in unstable BGP tables
 If redistribution:
 Only local routes to the AS are redistributed
 Problem if you redistribute routes learned from other AS’s into
the IGP and the redistribute those routes back into BGP
because it could result in a routing loop. 47
RTA(config)#router bgp as
RTA(config-router)# network network-number [mask network-mask] [route-map map-tag]

network network-number [mask network-mask] [route-map map-tag]


 Permits BGP to advertise a network if it is present in the IP routing table
 No mask: Classful default mask is assumed.
 Different than IGP network command:
 Determines which networks this router advertises.
 Does not determine which interfaces send/receive routing protocol updates
 Sole purpose of the network command is to notify BGP which networks to
advertise
 If the mask is not specified router announces only the classful network
address
 At least one subnet of the specified major network must be present in the
IP routing table for BGP to announce the classful network as a BGP route.
 If you specify the network-mask:
 An exact match to the network (both address and mask) must exist in the
routing table for the network to be advertised.
48
Auto-summary

RTA(config)#router bgp as
RTA(config-router)# no auto-summary

 With Cisco IOS 12.1(8)T – Default is no auto-summary


 auto-summary – All redistributed subnets are summarized to their
classful boundaries in the BGP table.
 When a subnet is redistributed from an IGP into BGP, only the classful
network route is injected into the BGP table.

49
I learned about 172.16.0.0 via IBGP from
Router B. I will not advertise 172.16.0.0 to
BGP Synchronization Router E via EBGP unless I see this network in
my routing table leaned via an IGP (OSPF).
Note: There is not a physical
link b/t A and B

?
OSPF IBGP

AS 65000 networks
Into OSPF

RTA(config)#router bgp 65500


RTA(config-router)# synchronization

 synchronization - Router configuration command to enable BGP


synchronization
 Router will not advertise routes in BGP until it learns them in an IGP.
 No longer the default as of Cisco IOS 12.2(8)T
 BGP synchronization rule states: A BGP router should not use or
advertise to an external BGP neighbor a route learned by IBGP, unless that
route is directly connected or learned from the IGP.
51
No BGP I learned about 172.16.0.0 via IBGP from
Router B. I can
will not
advertise
advertise
172.16.0.0
172.16.0.0to Router
to E

Synchronization
Router
via EBGPE via
even
EBGPif this
unless
network
I see
in this
NOTnetwork
in my in
my routing
routing table
table
leaned
leaned
via an
via IGP
an IGP
(OSPF).
(OSPF).

?
OSPF IBGP

AS 65000 networks
Into OSPF

RTA(config)#router bgp 65500


RTA(config-router)# no synchronization

 no synchronization - Router configuration command disables


synchronization
 Default as of Cisco IOS 12.2(8)T
 Best practice is to no longer redistribute BGP networks into the IGP.
 Instead, all routers in the AS should be fully meshed IBGP.

52
BGP Configuration Examples

61
Basic BGP

62
IBGP and
EBGP

Router B
router bgp 65000
neighbor 10.1.1.2 remote-as 64520 EBGP peer to Router A
neighbor 192.168.2.2 remote-as 65000 IBGP peer to Router C’s loopback
neighbor 192.168.2.2 update-source loopback0 IBGP-RTC: Use Lo0 as source
neighbor 192.168.2.2 next-hop-self IBGP-RTC: Changes next-hop attribute to its own Lo0
network 172.16.10.0 mask 255.255.255.0 Advertises LAN 172.16.10.0/24 via BGP
network 192.168.1.0 Advertises 192.168.1.0/24 via BGP
network 192.168.3.0 Advertises 192.168.3.0/24 via BGP
no synchronization May be default if IOS 12.2(8)T or later. Must be fully-meshed IBGP

router eigrp 10
network 192.168.2.1 255.255.255.255 Advertises Lo0 192.168.2.1/32 via EIGRP so
network 192.168.1.0 RTC can reach it with it’s neighbor statement.
network 192.168.3.0 RTC will advertise 192.168.2.2/32 63
Verifying and Troubleshooting BGP
 You can verify BGP operation using show EXEC commands, including the
following:
 show ip bgp—Displays entries in the BGP topology database (BGP table).
Specify a network number to get more specific information about a particular
network.
 show ip bgp rib-failure—Displays BGP routes that were not installed in the
routing information base (RIB), and the reason that they were not installed.
 show ip bgp neighbors—Displays detailed information about the TCP and
BGP connections to neighbors.
 show ip bgp summary—Displays the status of all BGP connections.
 Use the show ip bgp ? command on a router to see other BGP show
commands.
 debug commands display events as they happen on the router. For BGP, the
debug ip bgp privileged EXEC command has many options, including the
following:
 dampening—BGP dampening
 events—BGP events
 keepalives—BGP keepalives
 updates—BGP updates 64
show ip bgp

 show ip bgp - Displays the BGP topology database (the BGP table).
 The origin codes are shown at the end of each line.
 The status codes are shown at the beginning of each line of output
 In this output, most of the rows have an asterisk (*) in the first column.
 Means that the next-hop address is valid.
 The next-hop address is not always the router that is directly connected to this
router. (IBGP)
 A locally originated route has a next hop of 0.0.0.0 65
Please review on your own…
 s: indicates that the specified routes are suppressed
(usually because routes have been summarized and
only the summarized route is being sent).
 d: for dampening, indicates that the route is being
dampened (penalized) for going up and down too often.
 Although the route might be up right now, it is not
advertised until the penalty has expired.
 h: for history, indicates that the route is unavailable and
is probably down; historic information about the route
exists, but a best route does not exist.
 r: for RIB failure, indicates that the route was not
installed in the RIB.
 The reason that the route is not installed can be
displayed using the show ip bgp rib-failure
command, as described in the next section.
 S: for stale, indicates that the route is stale (this is used
in a nonstop forwarding-aware router

66
 A greater-than sign (>) in the second column indicates the best path for a route
selected by BGP
 This route is offered to the IP routing table.
 asterisk (*) - means that the next-hop address is valid. 67
 Third column is either blank or has an i:
 Blank: BGP learned that route from an external peer (EBGP)
68
 i: BGP learned that route from an internal peer (IBGP) .
 The fourth column lists the networks that the router learned.
 The fifth column lists all the next-hop addresses for each route. This next-hop address
column might contain 0.0.0.0, which signifies that this router originated the route.
 The next three columns list three BGP path attributes associated with the path:
 metric (MED)
 local preference
 weight. 69
 “Path” header may contain a sequence of autonomous systems in the path.
 The first AS listed is the adjacent AS from which this network was learned.
 The last AS this network’s originating AS.
 If the path column is blank, the route is from the current AS (this AS)

70
 The last column signifies how this route was entered into BGP on the original router
(the origin attribute).
 i: The original router probably used a network command to introduce this network into
BGP.
 e: The original router learned this network from EGP (legacy, not likely).
 ?: The original BGP process cannot absolutely verify this network’s availability,
because it is redistributed from an IGP into the BGP process 71
show ip bgp rib-failure

Displayed routes were not installed because a route(s) with a better administrative
distance already existed in the RIB.

 show ip bgp rib-failure - Displays BGP routes that were not installed in the
RIB (IP routing table) and the reason that they were not installed.

72
show ip bgp summary

 show ip bgp summary – Verifies BGP neighbor relationships and other


information

73
BGP Router ID

Last version of BGP database that was


Injected into the main routing table

Increases in increments when


the BGP table changes
The number of BGP
The number messages queued and
of BGP waiting to be sent to this
messages neighbor. TCP flow
from this control prevents a
neighbor router from
The IP address, used in the neighbor statement, waiting to be overwhelming its
with which this router is setting up a relationship processed neighbor

When the
session is in
the established
state, this
value
represents the
number of
BGP network
BGP Number of Number of The last entries
The amount of The current received from
version BGP BGP version of
time this BGP state. If this neighbor
messages messages the BGP
neighbor has established,
Neighbors AS received sent to this table sent to
been in the not shown,
from this neighbor this neighbor
current BGP instead a value
neighbor
state is in the
(established, Pfx/Rcd 74
active or idle)
debug ip bgp updates

After the neighbor adjacency is reestablished, Router A


creates and sends updates to 10.1.0.2.
Update sent about
network 10.1.1.0/24,
with a next hop of
10.1.0.1, which is
Router A’s address

Update sent about


network
10.97.97.0/24, with
a next hop of
172.31.11.4, which
is the address of
one of Router A’s
EBGP neighbors.

Router A later receives


updates from 10.1.0.2.
containing a path to two
networks, 10.1.2.0/24 and
10.1.0.0/24

75
show ip bgp neighbors

 show ip bgp neighbors – Displays information about the BGP connections to


neighbors.
 The BGP state is established, which means that the neighbors have
established a TCP connection and the two peers have agreed to use BGP
76
to communicate.
Regular Expressions
 A regular expression is a pattern to match against an input string.

Character Description

Matches the beginning of the input


^ string.
Matches the end of the input string.
$
Matches a space, comma, left brace, right
_ brace, the beginning of an input string, or the
ending of an input stream
Matches any single character
.
Matches 0 or more single- or multiple-
* character patterns.

77
1 9 2 .1 0 .2 .0 /2 4

AS 300

R o u te rA
1 3 0 .1 .5 0 .3 2 /3 0 2 0 0 .2 0 0 .2 0 0 .6 4 /3 0

AS 200 AS 400

R o u te rB R o u te rC
1 2 .0 .0 .0 /8 1 1 .0 .0 .0 /8

RouterC#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.0.0.0 0.0.0.0 0 32768 i
*> 12.0.0.0 200.200.200.65 0 300 200 i
*> 192.10.2.0 200.200.200.65 0 0 300 i

RouterC# show ip bgp regexp ^300


 Match beginning of input string, AS_PATH, = 300
 Last prepended AS was 300:
 Routes matched: 12.0.0.0 and 192.10.2.0

78
1 9 2 .1 0 .2 .0 /2 4

AS 300

R o u te rA
1 3 0 .1 .5 0 .3 2 /3 0 2 0 0 .2 0 0 .2 0 0 .6 4 /3 0

AS 200 AS 400

R o u te rB R o u te rC
1 2 .0 .0 .0 /8 1 1 .0 .0 .0 /8

RouterC#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.0.0.0 0.0.0.0 0 32768 i
*> 12.0.0.0 200.200.200.65 0 300 200 i
*> 192.10.2.0 200.200.200.65 0 0 300 i

RouterC# show ip bgp regexp ^200


 Match beginning of input string, AS_PATH, = 200
 Last prepended AS was 200:
 Routes matched : none

79
1 9 2 .1 0 .2 .0 /2 4

AS 300

R o u te rA
1 3 0 .1 .5 0 .3 2 /3 0 2 0 0 .2 0 0 .2 0 0 .6 4 /3 0

AS 200 AS 400

R o u te rB R o u te rC
1 2 .0 .0 .0 /8 1 1 .0 .0 .0 /8

RouterC#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.0.0.0 0.0.0.0 0 32768 i
*> 12.0.0.0 200.200.200.65 0 300 200 i
*> 192.10.2.0 200.200.200.65 0 0 300 i

RouterC# show ip bgp regexp 300$


 Match end of input string, AS_PATH, = 300
 Originating AS = 300:
 Routes matched : 192.10.2.0

80
1 9 2 .1 0 .2 .0 /2 4

AS 300

R o u te rA
1 3 0 .1 .5 0 .3 2 /3 0 2 0 0 .2 0 0 .2 0 0 .6 4 /3 0

AS 200 AS 400

R o u te rB R o u te rC
1 2 .0 .0 .0 /8 1 1 .0 .0 .0 /8

RouterC#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 11.0.0.0 0.0.0.0 0 32768 i
*> 12.0.0.0 200.200.200.65 0 300 200 i
*> 192.10.2.0 200.200.200.65 0 0 300 i

RouterC# show ip bgp regexp 200$


 Match end of input string, AS_PATH, = 200
 Originating AS = 200:
 Routes matched : 12.0.0.0

81
AS 200 AS 100

2.0.0.0 1.0.0.0

AS 1000 AS 400 AS 300 AS 50

10.0.0.0 4.0.0.0 3.0.0.0 5.0.0.0

AS50#show ip bgp
Network Path
*> 5.0.0.0 i
*> 1.0.0.0 100 i
*> 2.0.0.0 100 200 i
*> 3.0.0.0 300 i
*> 4.0.0.0 300 400 i
*> 10.0.0.0 300 400 1000 I

AS50#show ip bpg regexp 100


 Match input string, AS_PATH, containing 100, including 1000
 Routes matched : 1.0.0.0, 2.0.0.0, 10.0.0.0

82
AS 200 AS 100

2.0.0.0 1.0.0.0

AS 1000 AS 400 AS 300 AS 50

10.0.0.0 4.0.0.0 3.0.0.0 5.0.0.0

AS50#show ip bgp
Network Path
*> 5.0.0.0 i
*> 1.0.0.0 100 i
*> 2.0.0.0 100 200 i
*> 3.0.0.0 300 i
*> 4.0.0.0 300 400 i
*> 10.0.0.0 300 400 1000 I

AS50#show ip bpg regexp ^100_


 Match beginning of input string, AS_PATH, = 100
 Last prepended AS was 100:
 Routes matched : 1.0.0.0, 2.0.0.0

83
AS 200 AS 100

2.0.0.0 1.0.0.0

AS 1000 AS 400 AS 300 AS 50

10.0.0.0 4.0.0.0 3.0.0.0 5.0.0.0

AS50#show ip bgp
Network Path
*> 5.0.0.0 i
*> 1.0.0.0 100 i
*> 2.0.0.0 100 200 i
*> 3.0.0.0 300 i
*> 4.0.0.0 300 400 i
*> 10.0.0.0 300 400 1000 I

AS50# show ip bgp regexp _400$


 Match end of input string, AS_PATH, = 400
 Originating AS = 400:
 Routes matched : 4.0.0.0

84
AS 200 AS 100

2.0.0.0 1.0.0.0

AS 1000 AS 400 AS 300 AS 50

10.0.0.0 4.0.0.0 3.0.0.0 5.0.0.0

AS50#show ip bgp
Network Path
*> 5.0.0.0 i
*> 1.0.0.0 100 i
*> 2.0.0.0 100 200 i
*> 3.0.0.0 300 i
*> 4.0.0.0 300 400 i
*> 10.0.0.0 300 400 1000 I

AS50#show ip bpg regexp _400_


 Match anywhere in input string, AS_PATH, 400
 Routes matched : 4.0.0.0, 10.0.0.0

85
AS 200 AS 100

2.0.0.0 1.0.0.0

AS 1000 AS 400 AS 300 AS 50

10.0.0.0 4.0.0.0 3.0.0.0 5.0.0.0

AS50#show ip bgp
Network Path
*> 5.0.0.0 i
*> 1.0.0.0 100 i
*> 2.0.0.0 100 200 i
*> 3.0.0.0 300 i
*> 4.0.0.0 300 400 i
*> 10.0.0.0 300 400 1000 I

AS50#show ip bgp regexp ^300$


 Match input string that starts and ends at 300
 Routes that originated from directly connected AS 300 customer
 Routes matched : 3.0.0.0

86
Configuring BGP Attributes

87
The Route Selection Decision Process (ROUTE) 1
2
 Step 1 Prefer the route with the highest weight. (Recall
WLam
that the weight is Cisco-proprietary and is local to the
router only.)
 Step 2 If multiple routes haveWeight
the same weight, prefer the 3
route with the highest local preference. (Recall that the
local preference is used within an AS.)

Local Preference
Step 3 If multiple routes have the same local preference, 5
prefer the route that was originated by the local router.
(network command) as path
 Step 4 If none of the routes were originated by the local 4
med
router, prefer the route with the shortest AS-path.
 Step 5 If the AS-path length is the same, prefer the
lowest origin code (IGP < EGP < incomplete). 7
 Step 6 If all origin codes are the same, prefer the path
6
with the lowest MED. (Recall that the MED is exchanged
between autonomous systems.) The MED comparison is
done only if the neighboring AS is the same for all routes
considered, unless the bgp always-compare-med router
configuration command is enabled.
 Step 7 If the routes have the same MED, prefer external 8 9
paths (EBGP) over internal paths (IBGP).
 Step 8 If synchronization is disabled and only internal
paths remain, prefer the path through the closest IGP
neighbor. This means that the router prefers the shortest
internal path within the AS to reach the destination (the
shortest path to the BGP next-hop).
 Step 9 For EBGP paths, select the oldest route, to
minimize the effect of routes going up and down 10 11
(flapping).
 Step 10 Prefer the route with the lowest neighbor BGP
router ID value.
 Step 11 If the BGP router IDs are the same, prefer the 88
route with the lowest neighbor IP address.
Changing the Weight
WLam
Weight
Local Preference
as path
med

 Weight attribute influences only the local router.


 When there is more than one route to the same destination.
 Cisco attribute
 Local to the router and it is not propagated in routing updates.
 Default is 32768 for local routes (originated), 0 for other routes
 Higher weight is preferred when there are multiple routes to the same
destination

89
AS 100
AS 1 (E2)
(ISP1) 1000
Higher 2000
weight
preferred
E1

Can also set the weight in the neighbor statement (for all routes received from
that neighbor)
R1(config)#router bgp 100
R1(config-router)# neighbor 10.0.1.1 weight 1000 ! R4
R1(config-router)# neighbor 10.0.0.1 weight 2000 ! R2

 Routes from R4 get a weight of 1000


 Routes from R2 get a weight of 2000
90
 Larger weight preferred
 Weight Attribute: Router R1 uses router 209.165.201.0/24
R2 as the next hop to reach
209.165.201.0
 The routing policy dictates the selection
of autonomous system 65030 as the
primary way out of autonomous system
65040 for the traffic destined to the
209.165.201.0 network.
 This is achieved by placing a higher
weight (150) on all incoming
announcements from autonomous
system 650

R1(config)# router bgp 65040


R1(config-router)# neighbor 209.165.202.129 route-map RM-SET-Weight in

R1(config)# route-map RM-SET-Weight permit 10


R1(config-route-map)# match ip address prefix-list AS65020_ROUTES
R1(config-route-map)# set weight 150
R1(config-route-map)# route-map RM-SET-Weight permit 20
R1(config-route-map)# set weight 100
R1(config-route-map)# exit

R1(config)# ip prefix-list AS65020_ROUTES permit 209.165.201.0/24 le 28 91


Setting Local Preference
WLam
Weight
Local Preference
as path
med

 Local preference is used only within an AS between IBGP speakers to


determine the best path to leave the AS to reach an outside network.
 Default is 100
 Higher values are preferred
 bgp default local-preference value router configuration command changes
the default local preference to the value specified
 All BGP routes that are advertised include this local preference value.
 The value can be set to a number between 0 and 4294967295.
94
 Each network has two paths (< best path)
 All routes have:
 Weight of 0
 Default local preference of 100
 So, BGP uses the shortest AS-path to select the best routes

96
 172.16.0.0: shortest AS-path is via 192.168.28.1, Router X (65002 65003)
 172.24.0.0: shortest AS-path is via 172.20.50.1, Router Y (65005)
 172.30.0.0: shortest AS-path is via 172.20.50.1, Router Y (65005 65004)

97
 A traffic analysis reveals the following:
 The link going through:
 Router X to 172.20.50.1 is heavily used
 Router Y to 192.168.28.1 is hardly used at all
 The three largest-volume destination networks on the Internet from AS
65001 are: 172.30.0.0, 172.24.0.0, and 172.16.0.0.
 30% of Internet traffic is going to network 172.24.0.0 (via Router Y)
 20% of Internet traffic is going to network 172.30.0.0 (via Router Y)
 10% of Internet traffic is going to network 172.16.0.0 (via Router X)
 40%% of Internet traffic is going to other destinations
 You have decided to divert traffic to network 172.30.0.0 and send it out
Router A to the next hop of 192.168.28.1
 Better load balancing
98
172.30.0.0
Router A LocPref=400

 Router A: The route map is linked to neighbor 192.168.28.1 as an inbound route map.
 Receives updates from 192.168.28.1
 Processes them through the local_pref route map
 Sets the local preference accordingly and adds them to the BGP table.
 The first route map statement
 Match condition checks all networks to see which are permitted by access list 65.
 Access list 65 permits 172.30.0.0 network
 set local-preference 400 sets these networks to a local preference of 400
 The second route map statement does not have any match or set statements.
 Similar to a permit any statement in an access list.
 Because there are no match conditions for the remaining networks, they are all permitted with their
current settings.
99
 So, the local preference for networks 172.16.0.0 and 172.24.0.0 stays set at the default of 100.
172.30.0.0
LocPref=400

WLam
Weight
Local Preference
as path
med
 Router C learns about the new local preference value (400) coming from Router A for
network 172.30.0.0.
 Only change: the new best route to network 172.30.0.0 is via 192.168.28.1
 Local preference = 400; higher than the default local preference of 100 via 172.20.50.1.
 The AS-path through 172.20.50.1 is still shorter than the path through 192.168.28.1, but
AS-path but local preference takes precedence.

100
By default, the preferred way (shortest
path) to reach networks in AS65010 to
Setting AS Path reach 65040 is via R1

AS Prepending

 It is complicated to influence other autonomous systems to select a


particular path for traffic that is returning to a specific AS (can use MED)
 Virtually impossible to influence another AS to select the desired path based
on the weight and local preference attributes
 These require configuration changes in the neighboring AS
 Need to have the network administrator for that AS(‘s) make the change
 By default, if no BGP path selection tools are configured to influence traffic
flow, BGP uses the shortest AS path, regardless of available bandwidth.
101
 One way that an AS can attempt to influence incoming traffic flow is by
sending out EBGP updates with an extended AS-path attribute for
undesired paths
 Multiple copies of the AS number of the sender
 Known as AS-path prepending
 Makes it less likely that the receiver of the update will select this as best
path.
 To avoid BGP loop prevention mechanisms, no other AS number, except
that of the sending AS, should be prepended to the AS-path attribute. 102
I now prefer the three AS hop via
65020. I also include this
complete AS path in my BGP
updates to AS 65020

AS Path = 65040 65040 65040 65040

 This route map is linked to neighbor 172.16.1.1 as an outbound route map.


 Therefore, as Router R1 sends updates to 172.16.1.1, it processes them
through the set-AS-path route map
 Route map called set-AS-path has only one statement, a permit statement
with a sequence number of 10.
 All updates sent to neighbor 172.16.1.1 are prepended three times (plus
the original AS number) with the AS number of the sender (65040),
making that path less preferable for the returning traffic.
103
Setting the MED
WLam
Weight
Local Preference
as path
med

 MED is used to decide how to enter an AS when multiple paths exist


between two autonomous systems and one AS is trying to influence the
incoming path from the other AS.
 Default MED is 0

104
 MED is used to decide how to enter an AS when multiple paths exist between two
autonomous systems and one AS is trying to influence the incoming path from the
other AS.
 R1 receives update messages from routers R2 and R3
 R1 chooses R2 as the best next hop to get to the route 209.165.201.0/27 in
autonomous system 65500 because the MED from router R2 of 150 is less than the
MED from router R3 of 200.
R2(config)# router bgp 65550
R2(config-router)# neighbor 209.165.202.129 route-map SET-MED out

R2(config)# route-map SET-MED permit 10


R2(config-route-map)# match ip address prefix-list PF1 209.165.201.0

R2(config-route-map)# set metric 150


R2(config-route-map)# route-map SET-MED permit 20
R2(config-route-map)# exit
R2(config)# ip prefix-list PF1 permit 209.165.201.0/27

R3(config)# router bgp 65550


R3(config-router)# neighbor 209.165.202.133 route-map SET-MED out

R3(config)# route-map SET-MED permit 10


R3(config-route-map)# match ip address prefix-list PF1
R3(config-route-map)# set metric 200
R3(config-route-map)# route-map SET-MED permit 20
R3(config-route-map)# exit
105
R3(config)# ip prefix-list PF1 permit 209.165.201.0/27
Other Attribute Examples (FYI)

112
neighbor weight
command

 Modify WEIGHT E1 so it prefers the longer AS_PATH through ISP1.


 E2 and EX will still prefer the shorter AS_PATH through ISP2 because of
equal WEIGHTs but shorter AS_PATH.

113
 Before modifying WEIGHT.
 With WEIGHTs equal, E1 prefers ISP2
because of shorter AS_PATH

E1#show ip bgp

Network Next Hop Metric LocPrf Weight Path


* 99.0.0.0 10.1.1.2 0 0 1 10 11 12 13 14 i
* 10.1.1.6 0 0 1 10 11 12 13 14 i
*>i 128.107.2.1 0 100 0 2 10 14 i

E1#show ip route

B 99.0.0.0/8 [200/0] via 128.107.2.1, 00:39:01

114
AS 100
AS 1 (E2)
(ISP1) 1000
Higher 2000
weight
preferred
E1

E1(config)#router bgp 100


E1(config-router)# neighbor 10.1.1.2 weight 2000
E1(config-router)# neighbor 10.1.1.6 weight 2000
E1(config-router)# neighbor 128.107.1.2 weight 1000
E1(config-router)# neighbor 128.107.2.1 weight 1000

 Routes from ISP1 get a weight of 2000


 Routes from E2 and EX get a weight of 1000
 Larger weight preferred 115
E1#show ip bgp Only the BGP routes from E2 have the WEIGHT of 2000.
The BGP routes from ISP1 have a WEIGHT of 1000.
Network Next Hop Metric LocPrf Weight Path
* 99.0.0.0 10.1.1.6 0 2000 1 10 11 12 13 14 i
*> 10.1.1.2 0 2000 1 10 11 12 13 14 i
* i 128.107.2.1 0 100 1000 2 10 14 i
*> 128.107.0.0/19 0.0.0.0 32768 i
* i 128.107.2.1 0 100 1000 i
s> 128.107.1.0/24 0.0.0.0 0 32768 i
s> 128.107.2.0/24 128.107.1.2 2 32768 i
* 180.0.0.0 10.1.1.6 0 2000 1 i
*> 10.1.1.2 0 2000 1 i
*>i200.0.0.0 128.107.2.1 0 100 1000 2 i

E1#show ip route

B 200.0.0.0/24 [200/0] via 128.107.2.1, 00:00:12


B 99.0.0.0/8 [20/0] via 10.1.1.2, 00:00:12
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
O 128.107.2.0/24 [110/2] via 128.107.1.2, 00:48:24, FastEthernet0/0
C 128.107.1.0/24 is directly connected, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 0.0.0.0, 00:00:12, Null0
10.0.0.0/30 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Serial0/0
C 10.1.1.4 is directly connected, Serial0/1
B 180.0.0.0/16 [20/0] via 10.1.1.2, 00:00:14 116
E2#show ip bgp
BGP table version is 11, local router ID is 192.168.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

Network Next Hop Metric LocPrf Weight Path


* i99.0.0.0 128.107.1.1 0 100 0 1 10 11 12 13 14 i
*> 192.168.1.2 0 0 2 10 14 i
* i128.107.0.0/19 128.107.1.1 0 100 0 i
*> 0.0.0.0 32768 i
s> 128.107.1.0/24 128.107.2.2 2 32768 ?
s> 128.107.2.0/24 0.0.0.0 0 32768 ?
*>i180.0.0.0 128.107.1.1 0 100 0 1 i
*> 200.0.0.0 192.168.1.2 0 0 2 i

E2#show ip route

B 99.0.0.0/8 [20/0] via 192.168.1.2, 00:49:40

 WEIGHT is not included in BGP updates.


 E1 prefers longer path (larger WEIGHT) via ISP1 but…
 E2 and EX are unchanged with WEIGHTs remaining equal
117
preferring shorter AS_PATH.
LOCAL Local Preference
PREFERENCE 200 100
Attribute

 Configuration of WEIGHT removed.


 Multiple routes to the same destination (99.0.0.0), AS 100 Enterprise routers prefer
shorter AS_PATH to ISP2 via E2.
 The weight attribute was local to the router on which it is assigned, and it is not
propagated in routing updates.
 Multiple routes to the same destination (99.0.0.0/8), we want ALL AS 100 Enterprise
routers to prefer ISP1 - not just E1 (WEIGHT).
 The path with the higher preference is preferred (the default value of the local
preference attribute is 100). 118
200 100

E1(config)#router bgp 100


E1(config-router)#bgp default local-preference 200

E2(config)#router bgp 100


E2(config-router)#bgp default local-preference 100
119
E1#show ip bgp It’s own local preference is higher so not shown, EBGP
preferred over IBGP
Network Next Hop Metric LocPrf Weight Path
* 99.0.0.0 10.1.1.6 0 0 1 10 11 12 13 14 i
*> 10.1.1.2 0 0 1 10 11 12 13 14 i
* i128.107.0.0/19 128.107.2.1 0 100 0 i
*> 0.0.0.0 32768 i
s> 128.107.1.0/24 0.0.0.0 0 32768 i
s> 128.107.2.0/24 128.107.1.2 2 32768 i
* 180.0.0.0 10.1.1.6 0 0 1 i
*> 10.1.1.2 0 0 1 i
*>i200.0.0.0 128.107.2.1 0 100 0 2 i

E1#show ip route

B 200.0.0.0/24 [200/0] via 128.107.2.1, 00:01:01


B 99.0.0.0/8 [20/0] via 10.1.1.2, 00:01:46
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
O 128.107.2.0/24 [110/2] via 128.107.1.2, 00:18:33, FastEthernet0/0
C 128.107.1.0/24 is directly connected, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 0.0.0.0, 00:18:34, Null0
10.0.0.0/30 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Serial0/0
C 10.1.1.4 is directly connected, Serial0/1
B 180.0.0.0/16 [20/0] via 10.1.1.2, 00:18:21
120
E2#show ip bgp

Network Next Hop Metric LocPrf Weight Path


* 99.0.0.0 192.168.1.2 0 0 2 10 14 i
*>i 128.107.1.1 0 200 0 1 10 11 12 13 14 i
*> 128.107.0.0/19 0.0.0.0 32768 i
* i 128.107.1.1 0 200 0 i
s> 128.107.1.0/24 128.107.2.2 2 32768 ?
s> 128.107.2.0/24 0.0.0.0 0 32768 ?
*>i180.0.0.0 128.107.1.1 0 200 0 1 i
*> 200.0.0.0 192.168.1.2 0 0 2 i

E2#show ip route

B 200.0.0.0/24 [20/0] via 192.168.1.2, 00:01:46


B 99.0.0.0/8 [200/0] via 128.107.1.1, 00:01:46
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 128.107.2.0/24 is directly connected, FastEthernet0/0
O 128.107.1.0/24 [110/2] via 128.107.2.2, 00:19:23, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 0.0.0.0, 00:01:31, Null0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, Serial0/0
B 180.0.0.0/16 [200/0] via 128.107.1.1, 00:01:47

121
EX#show ip bgp

Network Next Hop Metric LocPrf Weight Path


*>i99.0.0.0 128.107.1.1 0 200 0 1 10 11 12 13 14 i
* i128.107.0.0/19 128.107.2.1 0 100 0 i
*>i 128.107.1.1 0 100 0 i
*>i180.0.0.0 128.107.1.1 0 100 0 1 i
*>i200.0.0.0 128.107.2.1 0 100 0 2 i

EX#show ip route

B 200.0.0.0/24 [200/0] via 128.107.2.1, 00:02:32


B 99.0.0.0/8 [200/0] via 128.107.1.1, 00:03:18
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 128.107.2.0/24 is directly connected, FastEthernet0/1
C 128.107.1.0/24 is directly connected, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 128.107.1.1, 00:20:06
B 180.0.0.0/16 [200/0] via 128.107.1.1, 00:19:51

122
MED (Multi-Exit Discriminator) Attribute

WLam
Weight
Local Preference
as path
med
 New Topology
 No ISP2
 ISP1 prefers path to 128.0.0.0/7 via E1
 AS 100 wants ISP1 to prefer path to 128.0.0.0/7 via E2 123
MED (Multi-Exit Discriminator) Attribute

WLam
Weight
Local Preference
as path
med
 The multi-exit discriminator (MED) attribute is a hint to external neighbors about the
preferred path into an AS when there are multiple entry points into the AS.
 A lower MED value is preferred over a higher MED value.
 The default value of the MED attribute is 0.
 Unlike local preference, the MED attribute is exchanged between AS’s, but a MED
attribute that comes into an AS does not leave the AS. 124
ISP1#show ip bgp

Network Next Hop Metric LocPrf Weight Path


*> 99.0.0.0 0.0.0.0 0 32768 i
* 128.107.0.0/19 10.1.1.5 0 0 100 i
*> 10.1.1.1 0 0 100 i
*> 180.0.0.0 0.0.0.0 0 32768 i

ISP1#show ip route

C 99.0.0.0/8 is directly connected, Loopback99


128.107.0.0/19 is subnetted, 1 subnets
B 128.107.0.0 [20/0] via 10.1.1.1, 01:01:26
10.0.0.0/30 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Serial0/0
C 10.1.1.4 is directly connected, Serial0/1
C 180.0.0.0/16 is directly connected, Loopback180

Currently…

125
E1(config)#router bgp 100
E1(config-router)#neighbor 10.1.1.2 route-map SETMEDOUT out

E1(config)#route-map SETMEDOUT permit 10


E1(config-route-map)#set metric 50

E2(config)#router bgp 100


E2(config-router)#neighbor 10.1.1.6 route-map SETMEDOUT out

E2(config)#route-map SETMEDOUT permit 10


E2(config-route-map)#set metric 10

The multi-exit discriminator


(MED) attribute is a hint to
external neighbors about the MED 10
preferred path into an AS when MED 50
there are multiple entry points
into the AS.

126
ISP1#show ip bgp
MED is sometimes referred to as the metric
Network Next Hop Metric LocPrf Weight Path
*> 99.0.0.0 0.0.0.0 0 32768 i
* 128.107.0.0/19 10.1.1.1 50 0 100 i
*> 10.1.1.5 10 0 100 i
*> 180.0.0.0 0.0.0.0 0 32768 i

ISP1#show ip route

C 99.0.0.0/8 is directly connected, Loopback99


128.107.0.0/19 is subnetted, 1 subnets
B 128.107.0.0 [20/10] via 10.1.1.5, 00:00:12
10.0.0.0/30 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Serial0/0
C 10.1.1.4 is directly connected, Serial0/1
C 180.0.0.0/16 is directly connected, Loopback180
MED 10
MED 50
Note: If you want MED attributes from
neighbors in other AS’s to be
compared, you must configure the bgp
subcommand bgp always-compare-
med. 127
AS_PATH and
Prepending an AS
WLam
Weight
Local Preference
as path
med
With all else equal shortest AS14
10 11 12 13 10
AS_PATH is best
99.0.0.0/8
 We want to make it look as if the 99.0.0.0/8 in AS 14 network can be
reached via ISP1 and ISP2.
 We will add this network to both routers and prepend some AS
numbers to make it look like it originated in AS 14 from several AS’s
away.
 Sometimes used by ISPs to prepend their own AS number several
times to make a path look less desirable. 128
ISP1(config)#inter loop 99
ISP1(config-if)#ip add 99.0.0.1 255.0.0.0

ISP1(config)#router bgp 1
ISP1(config-router)#network 99.0.0.0
ISP1(config-router)#neighbor 10.1.1.1 route-map set-99 out
ISP1(config-router)#neighbor 10.1.1.5 route-map set-99 out

ISP1(config)#route-map set-99 permit 10


ISP1(config-route-map)#match ip address prefix-list only-99
ISP1(config-route-map)#set as-path prepend 10 11 12 13 14

ISP1(config)#route-map set-99 permit 20


! All other routes sent as normal

129
ISP1(config)#ip prefix-list only-99 seq 5 permit 99.0.0.0/8
ISP2(config)#inter loop 99
ISP2(config-if)#ip add 99.0.0.1 255.0.0.0

ISP2(config)#router bgp 1
ISP2(config-router)#network 99.0.0.0
ISP2(config-router)#neighbor 192.168.1.1 route-map set-99 out

ISP2(config)#route-map set-99 permit 10


ISP2(config-route-map)#match ip address prefix-list only-99
ISP2(config-route-map)#set as-path prepend 10 14

ISP2(config)#route-map set-99 permit 20


!All other routes sent as normal

ISP2(config)#ip prefix-list only-99 seq 5 permit 99.0.0.0/8


130
E1#show ip bgp
E1 does not send this longer path to E2 and EX
Network Next Hop
becauseMetric
it heard better path from both.
LocPrf Weight Path
* 99.0.0.0 10.1.1.2 0 0 1 10 11 12 13 14 i
* 10.1.1.6 0 0 1 10 11 12 13 14 i
*>i 128.107.2.1 0 100 0 2 10 14 i
* i128.107.0.0/19 128.107.2.1 0 100 0 i
*> 0.0.0.0 32768 i
s> 128.107.1.0/24 0.0.0.0 0 32768 i
Best Path via E2
s> 128.107.2.0/24 128.107.1.2 2 32768 i
*> 180.0.0.0 10.1.1.2 0 0 1 i
* 10.1.1.6 0 0 1 i
*>i200.0.0.0 128.107.2.1 0 100 0 2 i

E1#show ip route

B 200.0.0.0/24 [200/0] via 128.107.2.1, 00:39:01


B 99.0.0.0/8 [200/0] via 128.107.2.1, 00:39:01
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
O 128.107.2.0/24 [110/2] via 128.107.1.2, 00:39:18, FastEthernet0/0
C 128.107.1.0/24 is directly connected, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 0.0.0.0, 00:39:12, Null0
10.0.0.0/30 is subnetted, 2 subnets
C 10.1.1.0 is directly connected, Serial0/0
C 10.1.1.4 is directly connected, Serial0/1
B 180.0.0.0/16 [20/0] via 10.1.1.2, 00:38:54 131
E2#show ip bgp

Network Next Hop Metric LocPrf Weight Path


*> 99.0.0.0 192.168.1.2 0 0 2 10 14 i
* i128.107.0.0/19 128.107.1.1 0 100 0 i
*> 0.0.0.0 32768 i
s> 128.107.1.0/24 128.107.2.2 2 32768 ?
s> 128.107.2.0/24 0.0.0.0 0 32768 ?
*>i180.0.0.0 128.107.1.1 0 100 0 1 i
*> 200.0.0.0 192.168.1.2 0 0 2 i

E2#show ip route

B 200.0.0.0/24 [20/0] via 192.168.1.2, 00:39:30


B 99.0.0.0/8 [20/0] via 192.168.1.2, 00:39:30
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 128.107.2.0/24 is directly connected, FastEthernet0/0
O 128.107.1.0/24 [110/2] via 128.107.2.2, 00:39:40, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 0.0.0.0, 00:39:40, Null0
192.168.1.0/30 is subnetted, 1 subnets
C 192.168.1.0 is directly connected, Serial0/0
B 180.0.0.0/16 [200/0] via 128.107.1.1, 00:39:26
132
EX#show ip bgp

Network Next Hop Metric LocPrf Weight Path


*>i99.0.0.0 128.107.2.1 0 100 0 2 10 14 i
* i128.107.0.0/19 128.107.2.1 0 100 0 i
*>i 128.107.1.1 0 100 0 i
*>i180.0.0.0 128.107.1.1 0 100 0 1 i
*>i200.0.0.0 128.107.2.1 0 100 0 2 i

EX#show ip route

B 200.0.0.0/24 [200/0] via 128.107.2.1, 00:18:20


B 99.0.0.0/8 [200/0] via 128.107.2.1, 00:18:20
128.107.0.0/16 is variably subnetted, 3 subnets, 2 masks
C 128.107.2.0/24 is directly connected, FastEthernet0/1
C 128.107.1.0/24 is directly connected, FastEthernet0/0
B 128.107.0.0/19 [200/0] via 128.107.1.1, 00:18:21
B 180.0.0.0/16 [200/0] via 128.107.1.1, 00:18:21
EX#

133
Peer Groups
Filtering BGP Updates
Additional Attribute Examples
These sections are fairly straight forward. Please read
this material on your own.

134
Peer Groups

 In BGP, many neighbors are often configured with the same update policies
(for example, they have the same filtering applied).
 On a Cisco Systems router, neighbors with the same update policies can be
grouped into peer groups to simplify configuration and, more importantly, to
make updating more efficient and improve performance.
 Peer group – A group of BGP neighbors of the router being configured that
all of the same update policies.
 A neighboring router can only be a part of one peer group.
 When you have many peers, this approach is highly recommended.
 You can use neighbor peer-group-name peer-group or neighbor peer-
group command, the neighbor ip-address peer-group peer-group-name 135
Router C

 AS 65100 has four routers running IBGP.


 All of these IBGP neighbors are peering with each others’ loopback 0 interface
 Router C has an outbound distribution list associated with each IBGP neighbor.
 the distribute-list command when used for BGP, it is linked to a specific neighbor.
 The ISP behind Router C might be announcing private address space to Router C,
and Router C does not want to pass these networks to other routers running BGP in
AS 65100.
 If Router C receives a change from AS 65101:
 It must generate an individual update for each IBGP neighbor and
 Run each update against distribute-list 20.
 If Router C has a large number of IBGP neighbors, the processing power needed
to inform the IBGP neighbors of the changes in AS 65101 could be extensive.
136
 Router C is using a peer group called internal.
 These commands are all linked to peer group internal, which in turn is linked to each
of the IBGP neighbors.
 neighbor remote-as
 neighbor update-source
 neighbor next-hop-self
 neighbor distribute-list 20 out
 If Router C receives a change from AS 65101
 It creates a single update and
 Processes it through distribute-list 20 once.
 The update is replicated for each neighbor that is part of the internal peer group.
 Saves processing time in generating the updates for all IBGP neighbors.
 Peer groups can improve efficiency when processing updates for BGP neighbors that
have a common outbound BGP policy.
137
Filtering BGP Updates

138
 BGP may receive a high number of routing updates.
 To optimize BGP configuration, route filtering may be applied.
 Filter lists, prefix lists, and route maps can be applied to either incoming or outgoing
BGP information, or in any combination.
 Incoming prefix list, filter list, and route map must all permit the routes that are
received from a neighbor before they will be accepted into the BGP table.
 Outgoing routes must pass the outgoing filter list, prefix list, and route map
before they will be transmitted to the neighbor.
 Redistribution from an IGP into BGP, the routes must successfully pass any prefix list
or route map applied to the redistribution process before the route is injected into the
BGP table.
139
BGP Filtering Using Prefix Lists

 prefix-list ANY-8to24-NET is applied to the incoming advertisements from


the BGP neighbor 172.16.1.2
 Permits routes from:
 0.0.0.0/0: any network
 ge 8 le 24: with a mask length from 8 to 24 bits 140
BGP Filtering with Route Maps

 To apply a route map to filter incoming or outgoing BGP routes, use:


neighbor ip address route-map name {in | out}

141
0.0.0.0/0
Weight=100

0.0.0.0/0
Weight=150

100

Matches all routes


 Router A is configured for BGP with two neighbors: 10.2.3.4 and 10.4.5.6
 Both neighbors are configured with the neighbor route-map command to filter the
incoming routing update traffic according to the route-map named filter.
 The route map filter:
 Matches default route AND from AS 65387
 Assigned a weight value of 150
 Matches default route (from all other AS’s)
 Assigned a weight value of 100
142
 Since a higher weight value is preferred, the link to ISP AS 65387 is preferred
CCNP ROUTE
Ch. 7 Implementing BGP – Part 2

You might also like