BGP Theory

BGP overview
Types of ASN
Why we use BGP?
» Traffic flow in IGP
» Traffic Flow in BGP
When to use BGP
When no to use BGP
BGP limitation
BGP Tables
Types of BGP peer or speaker
Single homed
Multi homed
Transit AS
BGP neighbor discovery
Establishing a BGP session
How to configure IBGP & EBGP peer
When BGP peering fails
» Neighbor is reachable but TCP port 179 is blocked
» Neighbor not reachable
» Neighbor not configured
» ASN mismatched
BGP update source loopback
BGP multi-hopBGP authentication
BGP aggregation
BGP proxy aggregation
BGP next-hop-self
BGP classful network advertisement
BGP classless network advertisement
BGP Synchronization Rule

IBGP split horizon
BGP Message type
» Open Message
» Keep alive Message
» Update Message
» Notification Message

BGP FSM(Finite-State-Machine)
» Idle, Connect , Active ,Open Sent ,Open Confirm ,Established

BGP Attributes
» Well-known Attributes
» Well-Known Mandatory
- Origin
- Next-hop
- AS-Path
» Well-Known Discretionary
- Local PreferenceA
- Atomic aggregate

» Optional Attributes
» Transitive Optional Attributes
- Aggregator
- Community
» Non Transitive Optional Attributes
- Originator ID
- Cluster-List

BGP Path attributes MAP
BGP Path Selection Process
AS path filteringPrefix-list Vs ACL
OUTBOUND Route filtering
Route-map with match & set statements
Hard & soft reset
Soft reconfiguration & route refresh
Soft reconfiguration & memory uses
Inbound & outbound soft reconfiguration
Next-hop attribute point-to-pointNext-hop attribute BMA
Next-hop attribute NBMA
BGP route selection with weight per neighbor
Weight with route-map
BGP local preference
Default local preferenceLocal preference with route map
Route selection with Local preference
Monitoring Local preference AS path-prepending
Return Path selection in multi As
Default return path
Proper return path
Monitoring As-Path prepending
BGP multi-exit Discriminator
Selecting the proper return path with MED
Default MED
Advance MED conceptMonitoring MED
BGP Communities
» Internet
» No-Export
» No-Advertise
» Local-AS
» None
How to define Own Community ?
BGP communities with route-map
Monitoring communities
Procedure for Own Community-list
Customer to provider connectivity with BGP
» Single permanent connection to the internet
» Multiple permanent connection provides redundancy
» Multiple permanent connection providing load sharing
» Multiple connection to multiple service provider
IP addressing requirement for single homed customer
IP address requirement for multi-homed customer
ASN allocation to single homed customer
ASN allocation to multi-homed customer
Removing private ASN Primary & Backup link selection
ASN Translation
BGP incoming traffic selection policy using own community list
Transit AS
Internal route propagation
Packet forwarding in an ASI
BGP split horizon
IBGP Full Mesh
Recursive lookup in Cisco IOS
IBGP required IGP
IBGP session with loopback
IBGP synchronization
Drawback of logical Full mesh
Introduction to Confederation
» Splitting a Transit AS with BGP confederation
» AS-Path propagation with in the BGP confederation
» Intra confederation IBGP session properties
» Monitoring confederation
» Router-Reflector
- Client
- Non-client

» Redundant Route-Reflector
- Originator ID
- Cluster ID

BGP Optimization
BGP convergence time reduction or improving
BGP convergence
» BGP routing process
BGP open
BGP input/output
BGP scanner
- High CPU due to BGP scanner process
BGP router
- High CPU due to BGP router process

Max path transmission unit discovery & monitoring
Increasing the input hold queue
- How to improve BGP input queue & its monitoring?
BGP scan time
- How to change scan time & its monitoring?
BGP Advertisement interval
- How to change BGP advertisement interval & its monitoring?

Limiting no. of prefix receive from a BGP neighbor (Maximum , threshold, Warning-only ,Restart)

Monitoring the BGP max-prefix function
BGP Peer Groups
» Peer group requirement
» Peer group as a BGP performance tool
» BGP peer group limitation
» Monitoring BGP peer group
BGP Route Dampening
BGP route dampening operation
BGP route Dampening components
» Flap
» History state
» Penalty
» Damp state
» Suppress limit
» Half-life
» Reuse-limit
»Max suppress limit

BGP Labs

BGP Peering
Sr No.  
Lab 1   IBGP session with directly connected router lies on same IP subnet.
Lab 2   IBGP session with directly connected router but neighbor adjacency with different IP subnet configured on loopback interface.
Lab 3   IBGP session with directly connected router but neighbor adjacency with different IP subnet configured other than loopback interface.
Lab 4   IBGP session when router is not directly connected.
Lab 5   EBGP session with directly connected router lies on same IP subnet.
Lab 6   EBGP session with directly connected router but neighbor adjacency with different IP subnet configured on loopback interface
Lab 7   EBGP session when router is not directly connected
BGP Network Advertisement
Lab 8   BGP network advertisement with no auto-summary using network statement
Lab 9   BGP network advertisement with auto-summary using network  statement.
Lab 10   BGP network advertisement with no auto-summary using redistribution.
Lab 11   BGP network advertisement with auto-summary
Destination NID is unreachable
Lab 12   Next hop inaccessible solution 1
Lab 13   Next hop inaccessible solution 2
Lab 14   Next hop inaccessible solution 3
Lab 15   Next hop inaccessible solution 4
Lab 16   BGP RIB Failfure
Lab 17   BGP Synchronization.
Lab 18   BGP authentication.
Lab 19   BGP router-id.
Redistributing BGP & IGP
Lab 20   Redistributing EBGP prefix into IGP.
Lab 21   Redistributing IBGP prefix into IGP
Lab 22   BGP redistribution with Connected
Lab 23   BGP redistribution with Static.
Lab 24   BGP redistribution with OSPF.
Lab 25   BGP redistribution EIGRP.
Administrative Distance
Lab 26   Modify the distance of all routes received from a particular Neighbor.
Lab 27   Modify the distance of a specific routes received from a  particular Neighbor.
Lab 28   Modify the distance of a external , internal & local route.
BGP Aggregation
Lab 29   BGP aggregation of local routes publish into BGP process via network command.
Lab 30   BGP aggregation of local routes redistributed into BGP process.
Lab 31   BGP aggregation of learned routes i.e. proxy aggregation.
Lab 32   BGP aggregation using static route.
Lab 33   BGP aggregation with "as-set".
Lab 34   BGP aggregation with "as-set" & advertise-map.
Lab 35   BGP aggregate with attribute map.
Lab 36   BGP aggregation with summary-only.
Lab 37   BGP aggregation with suppress map.
Lab 38   BGP aggregation with un-suppress map.
BGP Default Route
Lab 39   BGP default route for all neighbor via network command on R3.
Lab 40   BGP default route for all neighbor via redistribution along withdefault-information originate.
Lab 41   BGP default route for specific neighbor
Lab 42   BGP conditional default route with ACL & Route- map.
Lab 43   BGP conditional default route with prefix-list & route-map.
Lab 44   BGP default float route
ACL Vs Prefix-list
Lab 45   ACL Vs Prefix-list.
Lab 46   Advance prefix-list.
Lab 47   Configuring weight with neighbor statement
Lab 48   Configuring weight with ACL & Route-map for a specific Network prefix.
Lab 49   Configuring weight with prefix-list & Route-map for a specific Network prefix.
Lab 50   Configuring weight for routes originating from different AS with the help AS path list & Route-map.
Local Preference
Lab 51   BGP default local preference on R3.
Lab 52   Configuring Local Preference with ACL & Route-map for a specific Network prefix.
Lab 53   Configuring Local Preference with Prefix & Route-map for a specific Network refix.
Lab 54   Configuring local Preference for routes originating from different AS with the help AS path list & Route-map.
AS Path
Lab 55   Configuring AS-path prepending with ACL & Route-map for a specific Network prefix.
Lab 56   Configuring AS-path prepending with Prefix-list &  Route-map for a specific Network prefix.
Lab 57   Ignoring the AS-Path attribute during BGP best path selection on R2
Lab 58   Test loop prevention in EBGP.
Multi-Exit-Discriminator ( MED )
Lab 59   Configuring Default MED
Lab 60   Configuring MED with Prefix & Route-map for a specific Network prefix.
Lab 61   Configuring MED with ACL & Route-map for a specific specific Network prefix.
Lab 62   MED from different autonomous systems are normally not compared.
Lab 63   Use of "bgp best path med missing-as-worst"
Lab 64    
Verification of BGP Path Selection
Lab 65   Verify Highest Weight path selection.
Lab 66    Verify Highest local preference path
Lab 67   Verify Local originated route path
Lab 68   Verify shortest AS path.
Lab 69   Verify lowest origin code path
Lab 70   Verify lowest MED path
Lab 71   Verify EBGP path over IBGP path.
Lab 72   Verify nearest IGP path in IBGP
Lab 73   Verify shortest cluster-list path
Lab 74   Verify oldest stable path in EBGP
Lab 75   Verify lowest RID path in IBGP
Lab 76   Verify lowest IP interface path in IBGP.
Lab 77    Verify lowest RID path in EBGP.
Lab 78   Verify lowest IP interface path in EBGP.
NEXT-Hop Verification
Lab 79   Next-hop will not change in IBGP.
Lab 80   Next-hop will change in EBGP (point-to-point ).
Lab 81   Next-hop will not change in EBGP ( BMA )
Lab 82   Next-hop will not change in EBGP ( NBMA )
Controlling Incoming & Outgoing Traffic
Lab 83   Outgoing path selection through weight attribute. 
Lab 84    Outgoing path selection through local preference. 
Lab 85   Incoming path selection through AS-path prepending.
Lab 86   Incoming path selection through MED.
Lab 87   Selection of desired outgoing & Incoming return path with the help of Local preference & AS-path prepending.
Route Filtering
Lab 89   Route filtering via ACL & Route-map.
Lab 90   Route filtering via prefix-list & Route-map.
Lab 91   Route filtering via ACL & distribute-list.
Lab 92    
Lab 93   Route filtering via prefix-list.
Lab 94   Route filtering only odd prefixes.
Lab 95   Route filtering only even prefixes.
Lab 96   Route filtering with AS path filtering & regular expressions.
Controlling on advertise prefixes
Lab 97   Configuring BGP Community with no-export.
Lab 98   Configuring BGP Community with no-advertise.
Lab 99   Configuring BGP Community with local-as.
Lab 100   Configuring BGP Community with none.
Lab 101   Configuring BGP Community with additive.
Lab 102   Configuring Own Community-list.
BGP performance Tools
Lab 103   Test Black hole in IBGP
Lab 104   Configuring BGP Confederation.
Lab 105   Configuring Backup Route-reflector & test IBGP loop prevention via Originator ID & Cluster ID.
Lab 106   Controlling Incoming Prefixes.
Lab 107   Configuring Outbound Route Filtering
Lab 108   Configuring IBGP peer group
Lab 109   Configuring EBGP peer group.
Lab 110   Configuring BGP route dampening 
Lab 111   Configuring BGP route dampening with route-map.
Lab 112   Configuring BGP advertisement
Lab 113    Configuring BGP scan time.
Lab 114   Increasing BGP input hold queue.
Lab 115   Configuring soft reconfiguration Inbound & outbound.
Lab 116   Configuring BGP keepalive & holdtime under BGP Process.
Lab 117   Configuring BGP keepalive & holdtime with neighbor statement. 
BGP load sharing
Lab 118   Load Balance via IGP protocols.
Lab 119   Load balance via max-path option.
Lab 120   Outgoing Load distribute through weight attribute
Lab 121   Outgoing Load distribution through local preference.
Lab 122   Incoming load distribution through AS-path prepending.
Lab 123   Incoming load distribution through MED.
Lab 124   Load distribute with two ISP's via IP class filtering using ACL.
Lab 125   Load distribute with two ISP's via IP class filtering using Prefix-list. 
Redistributing BGP & IGP
Lab 126   Configuring BGP MAX Path
Lab 127   Configuring BGP Backdoor.
Lab 128   Advertize primary ISP link while suppress thesecondary
Lab 129   Remove Private AS.
Lab 130    
Lab 131   Neighbor disable connected check
Lab 132    
Lab 133   BGP over GRE.
Lab 134    
Lab 135   BGP conditional route injection.
Lab 136   BGP local as
Lab 137   BGP no-prepend.
Lab 138   BGP replace-as
Lab 139   BGP dual-as
Lab 140   BGP fast-external-fallover
Lab 141   BGP cluster-id.
Lab 142    
Lab 143    
Lab 144   BGP TTL security.
Lab 145   BGP allow as in
Lab 146   BGP log-neighbor changes
Lab 147   Administratively shutdown BGP session.
Lab 148   Modify BGP origin code.
= 148      

End Course