Tuesday, March 29, 2011

Lab 82 - BGP External Session (EBGP) and Advertisements

Prerequisites: CCNP level skills.

Topology

Note!
Use Lab 81 configuration to complete this lab.

Pic. 1 - Topology Diagram.
Icons designed by: Andrzej Szoblik - http://www.newo.pl

Task 1
Configure EBGP session between R3 and R5.

Task 2
Advertise loopback addresses into BGP on R1, R3 and R5. On R5 do not use the 'network' statement. Ensure the reachability between the advertised subnets.

Lab Solution


Task 1
Configure EBGP session between R3 and R5.  

R3 Configuration:
!
router bgp 13
 no synchronization
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 neighbor 10.1.35.5 remote-as 50
 neighbor 172.16.101.1 remote-as 13
 neighbor 172.16.101.1 update-source Loopback0
 no auto-summary
!

R5 Configuration:
!
router bgp 50
 no synchronization
 bgp router-id 5.5.5.5
 bgp log-neighbor-changes
 neighbor 10.1.35.3 remote-as 13
 no auto-summary
!

Verification:
Pic. 2 - EBGP Session between R3 and R5.

Pic. 3 - Neighbor Details. 

Task 2
Advertise loopback addresses into BGP on R1, R3 and R5. On R5 don not use 'network' statement. Ensure the reachability between the advertised subnets.

R1 Configuration:
!
router bgp 13
 no synchronization
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 network 172.16.101.0 mask 255.255.255.0
 neighbor 172.16.103.3 remote-as 13
 neighbor 172.16.103.3 update-source Loopback0
 no auto-summary
!

Notice!
'Network' statement in BGP does advertise the networks (unlike in IGP protocols). The network/subnet must have the EXACT match in the routing table (network/network_mask). If the subnet is being advertised (not a major class), the 'mask' keyword must be used.

Verification:
Pic. 4 - R1's BGP Table.

Notice!
Subnets advertised locally always set the two BGP attributes as
  • Next-Hop = 0.0.0.0
  • Weight = 32768
  • Path = empty
In addition to this, if the 'network' statement is used to advertise a network/subnet, origin code is set to 'i' = IGP.

Pic. 5 - R3 Receives the Prefix.

Notice!
R3 receives 172.16.101.0/24 but is marked as RIB-Failure. This is due to the fact that Administrative Distance of IBGP is 200, and the same prefix is advertised by OSPF with the Administrative Distance 110.  

Notice!
Next-hop attribute point to the source of BGP advertisements (R1's Loopback0): 172.16.101.1.


Notice!
R3 automatically assigns Local Preference: 100. The same Local Preference value is assigned by R1 (originator of the prefix). This can be seen on R1 using this command:

Pic. 6 - R1's BGP Prefix Details.

Pic 7 - R5 Receives the Prefix

Notice!
R3 advertising the prefix to an EBGP neighbor, prepends the AS (13).

R3 Configuration:
!
router bgp 13
 no synchronization
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 network 172.16.103.0 mask 255.255.255.0
 neighbor 10.1.35.5 remote-as 50
 neighbor 172.16.101.1 remote-as 13
 neighbor 172.16.101.1 update-source Loopback0
 no auto-summary
!

R5 Configuration:
!
ip prefix-list LO seq 5 permit 172.16.105.0/24
!
route-map CONN_TO_BGP permit 10
 match ip address prefix-list LO
!
router bgp 50
 no synchronization
 bgp router-id 5.5.5.5
 bgp log-neighbor-changes
 redistribute connected route-map CONN_TO_BGP
 neighbor 10.1.35.3 remote-as 13
 no auto-summary
!

Verification:
Pic. 8 - Prefix Redistributed into BGP on R5.

Notice!
The origin attribute for BGP redistributed prefixes is set to '?' = incomplete.

Notice!
R1 is going to have problem with the reachability to 172.16.105.0/24. The next-hop attribute set by EBGP peer (BGP neighbor) is not changed (except for connections in the same broadcast domain). R1 has no reachability to the next-hop 10.1.35.5.

Pic. 9 - R1's Next-Hop Inaccessible.

Pic. 10 - Detailed Output.

There's bunch of ways to resolve this issue. For now (some time later more on that), the 'next-hop-self' is going to be used.

R3 Configuration:
!
router bgp 13
 no synchronization
 bgp router-id 3.3.3.3
 bgp log-neighbor-changes
 network 172.16.103.0 mask 255.255.255.0
 neighbor 10.1.35.5 remote-as 50
 neighbor 172.16.101.1 remote-as 13
 neighbor 172.16.101.1 update-source Loopback0
 neighbor 172.16.101.1 next-hop-self
 no auto-summary
!

Pic. 11 - Next-Hop Address Changed.


Pic. 12 - Proper Ping Test.