BGP & Load balancing

L’utilisation de l’interface Loopback, permet d’établir relation de voisinage entre 2 AS indépendamment du chemin utilisé

La session BGP établie entre R1 (1.1.1.1) et R2 (2.2.2.2) est load-balancée par le protocole de routage IGP sous-jacent (rip par exemple).

La session BGP n’étant plus directe, il est nécessaire d’augmenter le TTL (à 1 par défaut) des paquets tcp BGP en utilisant l’option « egbp-multihop »

R1
router rip
 version 2
 network 1.0.0.0
 network 10.0.0.0
 no auto-summary
!
router bgp 100
 no synchronization
 bgp log-neighbor-changes
 network 1.0.0.0
 neighbor 2.2.2.2 remote-as 200
 neighbor 2.2.2.2 ebgp-multihop 2
 neighbor 2.2.2.2 update-source Loopback0
 no auto-summary
R2
router rip
 version 2
 network 2.0.0.0
 network 10.0.0.0
 no auto-summary
!
router bgp 200
 no synchronization
 bgp log-neighbor-changes
 network 2.0.0.0
 neighbor 1.1.1.1 remote-as 100
 neighbor 1.1.1.1 ebgp-multihop 2
 neighbor 1.1.1.1 update-source Loopback0
 no auto-summary

Vérifications :

R2#show ip route r
R    1.0.0.0/8 [120/1] via 10.2.2.1, 00:00:17, FastEthernet0/1
               [120/1] via 10.1.1.1, 00:00:10, FastEthernet0/0

BGP & Load balancing 2

Dans cet exemple, R1 a deux liens point à point avec l’AS200 lui permettant d’atteindre le réseau 10.1.23.0

R1#show run | begin router bgp
router bgp 100
 no synchronization
 bgp log-neighbor-changes
 neighbor 10.1.12.2 remote-as 200
 neighbor 10.1.13.3 remote-as 200
 no auto-summary

Par défaut, BGP n’installera qu’une route dans la table de routage, arbitrant sur l’ID du routeur BGP

R1#show ip bgp
   Network          Next Hop            Metric LocPrf Weight Path
*  10.1.23.0/24     10.1.13.3                0             0 200 i
*>                  10.1.12.2                0             0 200 i
R1#show ip route bgp
     10.0.0.0/24 is subnetted, 3 subnets
B       10.1.23.0 [20/0] via 10.1.12.2, 00:02:45

maximum-paths permet de modifier ce comportement par défaut :

R1#conf t
R1(config)#router bgp 100
R1(config-router)#maximum-paths 2
R1#show ip route bgp
     10.0.0.0/24 is subnetted, 3 subnets
B       10.1.23.0 [20/0] via 10.1.13.3, 00:00:44
                  [20/0] via 10.1.12.2, 00:00:44

 

Unequal-Cost Load balancing

Dans ce nouvel exemple, R1 (AS100) à trois chemin possible pour atteindre R5

Comme précédemment, R1 a une préférence de routage iBGP vers le router possédant l’ID le plus petit

R1#show ip bgp 5.0.0.0
BGP routing table entry for 5.0.0.0/8, version 4
Paths: (3 available, best #3, table Default-IP-Routing-Table)
Multipath: iBGP
  Not advertised to any peer
  200
    10.1.1.4 from 10.1.1.4 (4.4.4.4)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
  200
    10.1.1.3 from 10.1.1.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
  200
    10.1.1.2 from 10.1.1.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best

« maximum-paths ibgp » est ajouté à la configuration d’origine de R1 :

router bgp 100
 no synchronization
 bgp router-id 1.1.1.1
 bgp log-neighbor-changes
 network 10.1.1.0 mask 255.255.255.0
 neighbor 10.1.1.2 remote-as 100
 neighbor 10.1.1.3 remote-as 100
 neighbor 10.1.1.4 remote-as 100
 maximum-paths ibgp 3
 no auto-summary

Vérifications :

R1#show ip route bgp
B    5.0.0.0/8 [200/0] via 10.1.1.4, 00:10:51
               [200/0] via 10.1.1.3, 00:10:51
               [200/0] via 10.1.1.2, 00:13:19

 

dmzlink-bw

Les 3 liens Wan entre l’AS 100 et l’AS 200 ne sont pas du même type et n’ont pas la même bande passante.
Les informations de bande passante peuvent être prises en compte lors de la décision de routage en configurant « dmzlink-bw » sur chaque routeur de bordure.
« dmzlink-bw » est attribut de type community extended

Configuration des routeurs:

R1#conf t
R1(config)#router bgp 100
R1(config-router)#bgp dmzlink-bw

R2#conf t
R2(config)#router bgp 100
R2(config-router)#neighbor 10.1.1.1 send-community extended
R2(config-router)#bgp dmzlink-bw
R2(config-router)#neighbor 10.1.25.5 dmzlink-bw

R3#conf t
R3(config)#router bgp 100
R2(config-router)#neighbor 10.1.1.1 send-community extended
R2(config-router)#bgp dmzlink-bw
R3(config-router)#neighbor 10.1.35.5 dmzlink-bw

R4#conf t
R4(config)#router bgp 100
R2(config-router)#neighbor 10.1.1.1 send-community extended
R2(config-router)#bgp dmzlink-bw
R4(config-router)#neighbor 10.1.45.5 dmzlink-bw
  • 10.1.1.1 = R1
  • 10.1.25.5, 10.1.35.5, 10.1.45.5 = R5

Vérifications depuis R1 :

R1#show ip bgp 5.0.0.0
BGP routing table entry for 5.0.0.0/8, version 8
Paths: (3 available, best #2, table Default-IP-Routing-Table)
Multipath: iBGP
  Not advertised to any peer
  200
    10.1.1.4 from 10.1.1.4 (4.4.4.4)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
      DMZ-Link Bw 193 kbytes
  200
    10.1.1.2 from 10.1.1.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath, best
      DMZ-Link Bw 193 kbytes
  200
    10.1.1.3 from 10.1.1.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, internal, multipath
      DMZ-Link Bw 16 kbytes
This entry was posted in BGP. Bookmark the permalink.

Comments are closed.