Tuesday, December 8, 2015

BGP advanced task #3. Path selection

Topology:


Routers R1, R2, R3 and R10 are in autonomous-system 123, and running OSPF area 0 as IGP.
R2 and R10 are route-reflectors.
R10 is running IOS-XR, other routers are IOS routers.
Routers R4, R5 and R6 represents autonomous systems 40, 50 and 60.
Each autonomous system allocated an /8 prefix and advertises that prefix into BGP.
eBGP peerings are configured between the following routers:

R6-R4
R6-R5
R4-R1
R5-R3

iBGP peerings are configured in autonomous-system 123:

R1-R2
R1-R10
R3-R2
R3-R10

Requirements: 

Configure routers in autonomous system 123 in such way, so traffic from R2 and R10 towards network 60/8 is load balanced 50/50 between AS40 and AS50.

Solution: 

Highlight the text below to reveal the solution.

The solution is to enable iBGP multipath on R2 and R10, and allowing BGP to consider as-paths containing different autonomous-systems in the multipath calculation.
The command "bgp bestpath as-path multipath-relax" is a hidden command in IOS, but visible, and has the same syntax in IOX-XR. For this reason, I think it makes this a fair question for the lab exam. 

R2: 

!
router bgp 123
 bgp log-neighbor-changes
 bgp bestpath as-path multipath-relax
 network 10.0.0.0
 neighbor 1.1.1.1 remote-as 123
 neighbor 1.1.1.1 update-source Loopback0
 neighbor 1.1.1.1 route-reflector-client
 neighbor 3.3.3.3 remote-as 123
 neighbor 3.3.3.3 update-source Loopback0
 neighbor 3.3.3.3 route-reflector-client
 maximum-paths ibgp 4
!

R10:

!
router bgp 123
 bgp bestpath as-path multipath-relax
 address-family ipv4 unicast
  maximum-paths ibgp 2
 !
 neighbor 1.1.1.1
  remote-as 123
  update-source Loopback0
  address-family ipv4 unicast
   route-reflector-client
  !
 !
 neighbor 3.3.3.3
  remote-as 123
  update-source Loopback0
  address-family ipv4 unicast
   route-reflector-client
  !
 !


Verification:


R2:

R2#sh ip bgp 60.0.0.0/8
BGP routing table entry for 60.0.0.0/8, version 5
Paths: (2 available, best #1, table default)
Multipath: iBGP
  Advertised to update-groups:
     2
  Refresh Epoch 2
  40 60, (Received from a RR-client)
    40.0.14.4 (metric 20) from 1.1.1.1 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
  Refresh Epoch 2
  50 60, (Received from a RR-client)
    50.0.35.5 (metric 20) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath(oldest)

R2#sh ip cef 60.0.0.0/8
60.0.0.0/8
  nexthop 10.0.12.1 Ethernet0/0
  nexthop 10.0.23.3 Ethernet0/1

R10:

RP/0/0/CPU0:R10#show route 60.0.0.0/8
Mon Dec  7 13:01:39.626 UTC

Routing entry for 60.0.0.0/8
  Known via "bgp 123", distance 200, metric 0
  Tag 40, type internal
  Installed Dec  7 12:32:47.505 for 00:28:52
  Routing Descriptor Blocks
    40.0.14.4, from 1.1.1.1, BGP multi path
      Route metric is 0
    50.0.35.5, from 3.3.3.3, BGP multi path
      Route metric is 0
  No advertising protos.
RP/0/0/CPU0:R10#show bgp 60.0.0.0/8
Mon Dec  7 13:01:46.085 UTC
BGP routing table entry for 60.0.0.0/8
Versions:
  Process           bRIB/RIB  SendTblVer
  Speaker                 28          28
Last Modified: Dec  7 12:32:47.587 for 00:28:58
Paths: (2 available, best #1)
  Advertised to update-groups (with more than one peer):
    0.2
  Path #1: Received by speaker 0
  Advertised to update-groups (with more than one peer):
    0.2
  40 60, (Received from a RR-client)
    40.0.14.4 (metric 11) from 1.1.1.1 (1.1.1.1)
      Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, multipath, import-candidate
      Received Path ID 0, Local Path ID 1, version 28
  Path #2: Received by speaker 0
  Not advertised to any peer
  50 60, (Received from a RR-client)
    50.0.35.5 (metric 11) from 3.3.3.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, import-candidate
      Received Path ID 0, Local Path ID 0, version 0



No comments:

Post a Comment