BGP Route Reflector
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.
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.
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.networkers-online.com/blog/2009/02/bgp-route-reflector-basics/
http://tools.ietf.org/html/rfc4456#appendix-A
Poster un commentaire