BGP Route Reflector

août 05, 2014  |   Actualités,Blog   |     |   0 commentaire

Introduction

Afin d’assurer la haute disponibilité d’un réseau, les architectes font en sorte que la défaillance d’un équipement soit “tolérable”. Pour ce faire, chaque équipement ou câble sont redondés. Cependant, cette redondance implique aussi de faire communiquer les équipements entre eux afin qu’ils puisses tous prendre en charge le trafic de la même manière.

Par exemple, dans le cas d’un routeur, il s’agit de partager les routes, ce qui peut s’avérer fastidieux dans un réseau comportant des centaines (voir des milliers) de routeurs. En effet, l’ajout d’un routeur implique de passer sur tous les autres pour l’inclure dans les listes de partage de route.

Réseau maillé complet

Une topologie standard serait d’établir entre chaque routeur une session iBGP afin d’arriver à un maillage complet entre les routeurs.

RR1

Sur le schéma ci-dessus, le maillage complet d’un réseau comportant 6 routeurs seulement implique la mise en place de 15 sessions iBGP qui consomment chacune des ressources sur chaque routeur. Si nous considérons un réseau de taille plus conséquente, il faudra alors faire un compromis entre le passage à l’échelle et la redondance.

Route Reflector (RR)

Afin de palier à ce problème, la solution de Route Reflector (normalisée par la RFC4456) est souvent utilisée.

RR2

L’idée est que chaque routeur établi une session iBGP avec 1 ou plus RR (généralement 2 pour la redondance) et partage ses routes avec ceux-ci. A noter qu’un RR ne redistribue que la meilleure route pour chaque destination.

Les routes sont ainsi redistribuées vers tous les autres routeurs ayant une session iBGP active avec les RR.

Avec le schéma précédent nous passerions de 15 à 12 sessions iBGP sans compter le gain de temps lors de l’ajout d’un routeur sur une architecture comportant un nombre important de routeurs (uniquement 2 sessions à établir).

Exemple de configuration

hostname RR ! Route Reflector
!
enable password cisco
!
ip subnet-zero
no ip domain-lookup
interface Ethernet0/0
 ip address 131.108.1.1 255.255.255.0
!
interface Serial1/0
 ip address 131.108.255.5 255.255.255.252
 clockrate 128000
!
interface Serial1/1
 ip address 131.108.255.1 255.255.255.252
!
router bgp 333
no synchronization
 network 131.108.1.0 mask 255.255.255.0
 network 131.108.255.0 mask 255.255.255.252
 network 131.108.255.4 mask 255.255.255.252
 neighbor 131.108.1.2 remote-as 333
neighbor 131.108.1.2 route-reflector-client
 neighbor 131.108.255.2 remote-as 333
neighbor 131.108.255.2 route-reflector-client
 neighbor 131.108.255.6 remote-as 333
neighbor 131.108.255.6 route-reflector-client
line con 0
line aux 0
line vty 0 4
end
hostname Rx ! Routeur utilisant le RR
!
enable password cisco
!
no ip domain-lookup
!
interface Ethernet0
 ip address 131.108.3.1 255.255.255.0
!
interface Serial0
 ip address 131.108.255.6 255.255.255.252
 bandwidth 125
!
interface Serial1
 shutdown
router bgp 333
 no synchronization
 network 131.108.3.0 mask 255.255.255.0 ! Réseau connectée au Rx directement
 network 131.108.255.4 mask 255.255.255.252 ! Réseau d’interco vers le RR
 neighbor 131.108.255.5 remote-as 333 ! Voisin iBGP (le RR)
!
line con 0
line aux 0
line vty 0 4
end
RR#show ip route
Codes: C - connected, B - BGP
     131.108.0.0/16 is variably subnetted, 5 subnets, 2 masks
C       131.108.255.0/30 is directly connected, Serial1/1
C       131.108.255.4/30 is directly connected, Serial1/0
B       131.108.4.0/24 [200/0] via 131.108.255.2, 00:00:32
B       131.108.3.0/24 [200/0] via 131.108.255.6, 00:00:32
C       131.108.1.0/24 is directly connected, Ethernet0/0
Ry#show ip route
     131.108.0.0/16 is variably subnetted, 5 subnets, 2 masks
B       131.108.255.0/30 [200/0] via 131.108.1.1, 00:02:58
B       131.108.255.4/30 [200/0] via 131.108.1.1, 00:02:58
B       131.108.4.0/24 [200/0] via 131.108.255.2, 00:03:25
B       131.108.3.0/24 [200/0] via 131.108.255.6, 00:03:20
C       131.108.1.0/24 is directly connected, Ethernet0/0

Bibliographie

http://fr.wikipedia.org/wiki/Route_reflector

http://en.wikipedia.org/wiki/Network_topology#mediaviewer/File:NetworkTopology-FullyConnected.png

http://www.informit.com/library/content.aspx?b=CCNP_Studies_Routing&seqNum=89

http://www.cisco.com/web/learning/le31/le46/cln/qlm/CCIP/bgp/introducing-route-reflectors-2/player.html

http://www.networkers-online.com/blog/2009/02/bgp-route-reflector-basics/

http://tools.ietf.org/html/rfc4456#appendix-A