Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parMarie-Claude Florine St-Germain Modifié depuis plus de 6 années
1
Comprendre l'Agrégation de routes dans BGP
ccnp_cch
2
Sommaire • Introduction • Schéma du réseau • Agrégation sans l'argument as-set • Agrégation avec l'argument as-set • Changer les attributs de la route agrégée • Utilisation de "advertise-map" pour agréger des sous-ensembles de routes ccnp_cch
3
Introduction BGP (Border Gateway Protocol) autorise l'agrégation de routes données en une seule route en utilisant la commande aggregate-address address-mask [as-set] [summary- only] [suppress-map map-name] [advertise-map map-name] [attribute-map map- name]. Quand vous utilisez la commande aggregate-address sans aucun argument, il n'y a pas héritage des attributs (tels AS_PATH ou community) des routes individuelles, ce qui entraine une perte de granularité. L'objectif de ce document est d'illustrer comment manipuler les différents attributs quand on utilise la commande aggregate- address et comment influencer leur propagation. Schéma du réseau Routeur A Routeur C Routeur B Routeur D AS 400 AS 200 AS 300 AS 100 /16 /16 /8 /8 /8 ccnp_cch
4
Agrégation sans l'argument as-set L'utilisation de l'argument as-set crée une adresse agrégée avec un ensemble (mathé- matique) de systèmes autonomes. Cet argument as-set agrège les attributs AS_PATH de toutes les routes individuelles. Nous allons utiliser l'exemple de configuration ci-dessous pour examiner cette fonctionnalité et voir comment cela aide BGP à détecter et à éviter les boucles. Routeur A Current configuration hostname RouteurA ! interface Serial1 ip address ! router bgp 100 network !-- Réseau /16 annoncé par le Routeur A neighbor remote-as 300 ! end Routeur B Current configuration hostname RouteurB ! interface Serial0 ip address ! router bgp 200 network !-- Réseau /16 annoncé par le Routeur B neighbor remote-as 300 ! end ccnp_cch
5
Routeur C Current configuration hostname RouteurC ! interface Serial0 ip address ! interface Serial1 ip address ! interface Serial2 ip address ! router bgp 300 neighbor remote-as 100 neighbor remote-as 200 neighbor remote-as 400 aggregate-address summary-only ! !-- Le réseau est agrégé et seul /8 est annoncé end Routeur D Current configuration hostname RouteurD ! interface Serial0 ip address ! router bgp 400 neighbor remote-as 300 ! end ccnp_cch
6
Le routeurC (AS 300) agrège les routes 160. 20. 0/16 et 160. 10
Le routeurC (AS 300) agrège les routes /16 et /16 venant respec- tivement de l'AS 100 et de l'AS 200. Ceci est du à l'argument summary-only configuré sur le RouteurC. Seule la route /8 (Classless InterDomain Routing - CIDR) est annoncée au routeur D. Les routes spécifiques /16 et /16 sont supprimées comme le montre la table BGP du routeur C ci-dessous: RouteurC#show ip bgp BGP table version is 6, local router id is Status codes: s suppressed, d damped, h history, * valid, > best, i -internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i s> i s> i Maintenant examinons la table BGP du routeur D pour observer l'information de chemin de la route agrégée. RouteurD#show ip bgp BGP table version is 6, local router id is Status codes: s suppressed, d damped, h history, * valid, > best, i -internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> / i La route agrégée /8 est considéré comme issue de l'AS 300 avec "Origin Code" IGP et a perdu les informations individuelles des préfixes AS_PATH /16 (AS 200) et /16 (AS 100) ccnp_cch
7
Agrégation avec l'argument as-set
Maintenant configurons l'argument as-set dans la commande aggregate-address sur le routeur C. La nouvelle configuration est montrée ci-dessous: Routeur C Current configuration hostname RouteurC ! interface Serial0 ip address ! interface Serial1 ip address ! interface Serial2 ip address ! router bgp 300 neighbor remote-as 100 neighbor remote-as 200 neighbor remote-as 400 aggregate-address summary-only as-set ! end Maintenant regardons l'influence de cet argument dans la sortie de la commande show ip bgp sur le routeur D. RouteurD#show ip bgp BGP table version is 6, local router id is Status codes: s suppressed, d damped, h history, * valid, > best, i -internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *> / {200,100} i En utilisant l'argument as-set, l'information de chemin dans la table BGP change pour inclure l'ensemble 300 {200,100}. Ceci indique que l'agrégation a agrégé les routes qui sont passées dans l'AS 100 et l'AS L'information as-set devient importante pour éviter les boucles car elle indique d'où viennent ces routes Dans tout réseau cette information d'agrégation est propagée par BGP en retour vers un AS de la liste dans as-set, pouvant ainsi créer des boucles. Le principe de détection de boucle de BGP note que son propre numéro d'AS est présent dans l'as-set de la mise à jour par conséquent la mise à jour est éliminée et une boucle de routage est évitée. ccnp_cch
8
Note: l'argument as-set contient des informations sur chaque route individuelle et des changements dans une route individuelle entraine une mise à jour de l'agréga- tion. Dans notre exemple, si la route /16 passe hors service, l'information de chemin de l'agrégation change de 300 {200,100} à 300 {200} et elle est mise à jour. Si l'agrégation agrège 10 ou 100 routes, elle peut être constamment en train de chan- ger si les routes formant l'agrégation sont instables. Changer les attributs d'une route agrégée Dans la configuration ci-dessus nous avons vu comment utiliser as-set pour garder les attributs AS_PATH d'une route spécifique. Dans certains cas, vous aurez peut-être besoin de changer des attributs (tels la métrique, la communauté, origin...) d'une route agrégée. Pour comprendre comment vous pouvez utiliser l'argument attribute-map pour mani- puler les attributs de aggregate-address, prenons un cas dans lequel une ou plusieurs routes agrégées particulières sont configurées avec l'attribut no export community. Le RrouteurA marque l'attribut no-export pour le réseau /16 et l'annonce au RouteurC. Le RouteurC hérite de l'attribut no-export lors de l'agrégation de la route /8 et par conséquent cette route ne sera pas annoncée au RouteurD. Les configurations des routeurs B, C et D restent inchangées. Ci-dessous se trouve la configuration du RouteurA: RouteurA Current configuration hostname RouteurA ! interface Serial1 ip address ! router bgp 100 network !-- Réseau /16 annoncé par le RouteurA neighbor remote-as 300 neighbor send-community neighbor route-map SET-NO-EXPORT out ! access-list 1 permit ! route-map SET_NO_EXPORT permit 10 match ip address 1 set community no-export ! !-- L'attribut community est fixé à no-export sur ce !-- routeur pour la route /16 ! end ccnp_cch
9
Maintenant regardons la table BGP du routeur C pour 160
Maintenant regardons la table BGP du routeur C pour /8 RouteurC#show ip bgp BGP routing table entry for /8, version 9 Paths: (1 available, best #1, not advertised to EBGP peer) Not advertised to any peer {200,100}, (aggregated by ) from ( ) rigin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref Community: no-export L'attribut community no-export empêche le routeur C d'annoncer la route agrégée vers le routeur D son voisin eBGP. Le routeur D montre qu'il n'a pas appris du Routeur C: RouteurD# show ip bgp % Network not in table En configurant l'argument attribute-map sur le routeur C, nous manipulons l'attribut community de la route agrégée de no-export à none et ainsi nous permettons à la route agrégée d'être annoncée au routeur D. Routeur C Current configuration hostname RouteurC ! interface Serial0 ip address ! interface Serial1 ip address ! interface Serial2 ip address ! router bgp 300 neighbor remote-as 100 neighbor remote-as 200 neighbor remote-as 400 aggregate-address summary-only as-set attribute-map Map ! !-- L'argument attribut-map permet de changer la !-- communauté de l'agrégation ! route-map Map permit 10 set community none ! !-- l'agrégation de communauté est fixée à "none" end ccnp_cch
10
Maintenant examinons la table BGP du RouteurC pour 160. 0/8
Maintenant examinons la table BGP du RouteurC pour /8. Comme il n'y a pas d'attribut community pour la route agrégée, le routeur C annonce /8 au RouteurD RouteurC#show ip bgp BGP routing table entry for /8, version 6 Paths: (1 available, best #1) Advertised to non-peer-group peers: {200,100}, (aggregated by ) from ( ) rigin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic aggregate, best, ref La sortie de la commande show ip bgp sur le RouteurD montre qu'il a appris la route agrégée /8 du RouteurC RouteurD#show ip bgp BGP routing table entry for /8, version Paths: (1 available, best #1, table Default-IP-Routing-Table) Not Advertised to any peer {200,100}, (aggregated by ) from ( ) rigin IGP, localpref 100, external, best ccnp_cch
11
Utilisation de "advertise-map" pour agréger un sous-ensemble spécifique de routes Avoir le contrôle sur les préfixes individuels qui forment la route agrégée est utile pour décider quels sont les attributs que la route agrégée doit transporter. Dans l'exemple précédent, si nous excluons le préfixe de la route agrégée, la route agrégée /8 n'héritera pas de l'attribut community no-export. Nous allons réaliser cela en configurant l'argument advertise-map sur le routeur C. Routeur C Current configuration hostname RouteurC ! interface Serial0 ip address ! interface Serial1 ip address ! interface Serial2 ip address ! router bgp 300 neighbor remote-as 100 neighbor remote-as 200 neighbor remote-as 400 aggregate-address as-set summary-only advertise-map SELECT_SP_ROUTE ! !-- Exclusion d'un préfixe en utilisant advertise-map ! access-list 1 permit ! route-map SELECT_SP_ROUTE permit 10 match ip address 1 ! end ccnp_cch
12
Maintenant examinons la table BGP du routeur C pour 160. 0/8
Maintenant examinons la table BGP du routeur C pour / RouteurC#show ip bgp BGP routing table entry for /8, version Paths: (1 available, best #1) Advertised to non-peer-group peers: , (aggregated by ) from ( ) rigin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2 Seul l'AS 200 fait partie de l'information AS_PATH de l'agrégation, pas l'AS Aussi la communauté no-export n'est pas héritée de /16. Cependant la route agrégée est annoncée au routeur D comme le montre la sortie de la commande show ip bgp RouteurD#show ip bgp BGP routing table entry for /8, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer , (aggregated by ) from ( ) rigin IGP, localpref 100, valid, external, atomic-aggregate, best ip bgp Il faut également noter que comme l'as-set agrégé contient uniquement l'AS 200, le routeur A (dans l'AS 100) accepte la route agrégée et l'installe dans sa table de rou- tage. Ceci est du au fait que le système de détection de boucle de BGP ne détecte pas son propre AS (AS 100) dans l'as-set RouteurA#show ip bgp BGP table version is 3, local router ID is Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPref Weight Path *> / i *> i ccnp_cch
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.