Tuesday, July 21, 2015

iBGP - Route Reflector












R5#sh run | sec bgp
router bgp 101
 bgp asnotation dot
 bgp log-neighbor-changes
 network 55.5.5.5 mask 255.255.255.255
 neighbor 2.2.2.2 remote-as 101
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 6.6.6.6 remote-as 1.301
 neighbor 6.6.6.6 disable-connected-check

R1#sh run | sec bgp
router bgp 101
 bgp asnotation dot
 bgp log-neighbor-changes
 network  11.11.1.1 mask 255.255.255.255
 neighbor 2.2.2.2 remote-as 101
 neighbor 2.2.2.2 shutdown
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 3.3.3.3 remote-as 101
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 5.5.5.5 remote-as 101
 neighbor 5.5.5.5 update-source Loopback0




R2#sh run | sec bgp
router bgp 101
 bgp log-neighbor-changes
 net 22.22.2.2 mask 255.255.255.255
 neighbor 1.1.1.1 remote-as 101
 neighbor 1.1.1.1 shutdown
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 3.3.3.3 remote-as 101
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 5.5.5.5 remote-as 101
 neighbor 5.5.5.5 update-source Loopback0
R2#


R3#sh run | sec bgp
router bgp 101
 bgp log-neighbor-changes
 network 33.3.3.3 mask 255.255.255.255
 neighbor 1.1.1.1 remote-as 101
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 2.2.2.2 remote-as 101
 neighbor 2.2.2.2 update-source Loopback0
 neighbor 4.4.4.4 remote-as 201
 neighbor 4.4.4.4 ebgp-multihop 255
 neighbor 4.4.4.4 update-source Loopback0

Problem area-----

R1 Neighbor
3.3.3.3         4          101      13      14       89    0    0 00:05:13        2
5.5.5.5         4          101      21      18       89    0    0 00:10:55        2

R1#sh ip bgp

     Network          Next Hop            Metric LocPrf Weight Path
 *>  11.11.1.1/32     0.0.0.0                  0         32768 i
 *>i 33.3.3.3/32      3.3.3.3                  0    100      0 i      Route from R3 (iBGP)
 * i 44.4.4.4/32      4.4.4.4                  0    100      0 201 i
 *>i 55.5.5.5/32      5.5.5.5                  0    100      0 i    From R5 (iBGP)
 * i 66.6.6.6/32      6.6.6.6                  0    100      0 1.301 i
R1#

we can see there is no prefix  from R2 .

Same in R2

     Network          Next Hop            Metric LocPrf Weight Path
 *>  22.22.2.2/32     0.0.0.0                  0         32768 i
 *>i 33.3.3.3/32      3.3.3.3                  0    100      0 i
 * i 44.4.4.4/32      4.4.4.4                  0    100      0 201 i
 *>i 55.5.5.5/32      5.5.5.5                  0    100      0 i
 * i 66.6.6.6/32      6.6.6.6                  0    100      0 65837 i
R2#

No prefix from R1    but R2 has prefix from R6  because R5 will forward prefix to any iBGP peer if prefix is coming from EBGP.


in  R3


     Network          Next Hop            Metric LocPrf Weight Path
 *>i 11.11.1.1/32     1.1.1.1                  0    100      0 i
 *>i 22.22.2.2/32     2.2.2.2                  0    100      0 i
 *>  33.3.3.3/32      0.0.0.0                  0         32768 i
 *>  44.4.4.4/32      4.4.4.4                  0             0 201 i
R3#

No Prefix from R5 ,

in rule, iBGP never forward prefix coming from iBGP peer to any iBGP peer, but this will be forward to EBGP peer.

see in R6.

R6 and R5 EBGP.

R6#sh ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  11.11.1.1/32     5.5.5.5                                0 101 i   
 *>  22.22.2.2/32     5.5.5.5                                0 101 i
 *>  55.5.5.5/32      5.5.5.5                  0             0 101 i
 *>  66.6.6.6/32      0.0.0.0                  0         32768 i

R6#

*>  11.11.1.1/32 (R1 Prefix)  is coming from R5 where R5-R1 has iBGP peering.
*>  22.22.2.2/32  (R2 Prefix)  is coming from R5 where R5-R2 has iBGP peering.

but no prefix from R3 & R4.

----Router reflector ---

To make prefix visible in all  router Route reflector is the sloution.
In Route reflector,A route reflector can have three types of peers: 
EBGP peers, 
client peers, 
nonclient peers

route reflector has the following three rules:
1. Routes learned from EBGP peers can be sent to other EBGP peers, clients, and nonclients.


2. Routes learned from client peers can be sent to EBGP peers, other client peers, and

non-clients.

3. Routes learned from non-client peers can be sent to EBGP peers, and client peers,
but not other non-clients..



Solution..

making R5 as Route reflector.

R1 & R2 are  RR client


router bgp 101
 neighbor 1.1.1.1 route-reflector-client
 neighbor 2.2.2.2  route-reflector-client


Now  in R1

R1#sh ip bgp 


     Network          Next Hop            Metric LocPrf Weight Path
 *>  11.11.1.1/32     0.0.0.0                  0         32768 i
 *>i 22.22.2.2/32     2.2.2.2                  0    100      0 i
 *>i 33.3.3.3/32      3.3.3.3                  0    100      0 i
 * i 44.4.4.4/32      4.4.4.4                  0    100      0 201 i
 *>i 55.5.5.5/32      5.5.5.5                  0    100      0 i
 * i 66.6.6.6/32      6.6.6.6                  0    100      0 1.301 i

All prefix

prefix 22.22.2.2/32 is from R2 .

in R5
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 11.11.1.1/32     1.1.1.1                  0    100      0 i
 *>i 22.22.2.2/32     2.2.2.2                  0    100      0 i
 *>  55.5.5.5/32      0.0.0.0                  0         32768 i
 *>  66.6.6.6/32      6.6.6.6                  0             0 1.301 i
R5#

R5#sh ip bgp 22.22.2.2
BGP routing table entry for 22.22.2.2/32, version 245
Paths: (2 available, best #2, table default)
  Advertised to update-groups:
     37         48         49
  Refresh Epoch 1
  Local, (Received from a RR-client)
    2.2.2.2 (metric 156160) from 3.3.3.3 (33.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal
      Originator: 2.2.2.2, Cluster list: 33.3.3.3
      rx pathid: 0, tx pathid: 0
  Refresh Epoch 2
  Local, (Received from a RR-client)
    2.2.2.2 (metric 156160) from 2.2.2.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, best
      rx pathid: 0, tx pathid: 0x0


We still don't have all prefix now to solve this problem , there can be different solultions  here we will make iBGP peering with R3and R3 as RR client.

R5#sh ip bgp sum
 neighbor 3.3.3.3 remote-as 101
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 route-reflector-client


Now in R5 

     Network          Next Hop            Metric LocPrf Weight Path
 *>i 11.11.1.1/32     1.1.1.1                  0    100      0 i
 * i 22.22.2.2/32     2.2.2.2                  0    100      0 i
 *>i                  2.2.2.2                  0    100      0 i
 *>i 33.3.3.3/32      3.3.3.3                  0    100      0 i
 * i 44.4.4.4/32      4.4.4.4                  0    100      0 201 i
 *>  55.5.5.5/32      0.0.0.0                  0         32768 i
 *>  66.6.6.6/32      6.6.6.6                  0             0 1.301 i
R5#

we have all prefix

in R3

   Network          Next Hop            Metric LocPrf Weight Path
 * i 11.11.1.1/32     1.1.1.1                  0    100      0 i
 *>i                  1.1.1.1                  0    100      0 i
 * i 22.22.2.2/32     2.2.2.2                  0    100      0 i
 *>i                  2.2.2.2                  0    100      0 i
 *>  33.3.3.3/32      0.0.0.0                  0         32768 i
 *>  44.4.4.4/32      4.4.4.4                  0             0 201 i
 *>i 55.5.5.5/32      5.5.5.5                  0    100      0 i
 * i 66.6.6.6/32      6.6.6.6                  0    100      0 65837 i
R3#

in R2

     Network          Next Hop            Metric LocPrf Weight Path
 * i 11.11.1.1/32     1.1.1.1                  0    100      0 i
 *>i                  1.1.1.1                  0    100      0 i
 *>  22.22.2.2/32     0.0.0.0                  0         32768 i
 * i 33.3.3.3/32      3.3.3.3                  0    100      0 i
 *>i                  3.3.3.3                  0    100      0 i
 * i 44.4.4.4/32      4.4.4.4                  0    100      0 201 i
 * i 55.5.5.5/32      5.5.5.5                  0    100      0 i
 *>i                  5.5.5.5                  0    100      0 i
 * i 66.6.6.6/32      6.6.6.6                  0    100      0 65837 i
R2#


in R6

R6#
     Network          Next Hop            Metric LocPrf Weight Path
 *>  11.11.1.1/32     5.5.5.5                                0 101 i
 *>  22.22.2.2/32     5.5.5.5                                0 101 i
 *>  33.3.3.3/32      5.5.5.5                                0 101 i
 *>  55.5.5.5/32      5.5.5.5                  0             0 101 i
 *>  66.6.6.6/32      0.0.0.0                  0         32768 i
R6#

in R6 we still don't have route from R4
R4#
     Network          Next Hop            Metric LocPrf Weight Path
 *>  11.11.1.1/32     3.3.3.3                                0 101 i
 *>  22.22.2.2/32     3.3.3.3                                0 101 i
 *>  33.3.3.3/32      3.3.3.3                  0             0 101 i
 *>  44.4.4.4/32      0.0.0.0                  0         32768 i
 *>  55.5.5.5/32      3.3.3.3                                0 101 i
R4#
in R4 we still don't have route from R6

Note ---Route reflector does not change path attribute like Next Hop 

to solve above problem see    BGP -Next hop Self


No comments:

Post a Comment