Introduction
Ce document décrit comment manipuler les différents attributs lorsque vous utilisez la aggregate-address commande et comment influencer la propagation.
Conditions préalables
Exigences
Cisco recommande que vous ayez une connaissance de ce sujet :
Composants utilisés
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques. Cependant, la configuration dans ce document a été testée avec la version logicielle 12.2(28) de Cisco IOS®.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Conventions
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Informations générales
Le protocole BGP (Border Gateway Protocol) permet l'agrégation de routes spécifiques en une seule route à l'aide de la aggregate-address address mask [as-set] [summary-only] [suppress-map map-name ] [advertise-map map-name ] [attribute-map map-name ]commande. Lorsque vous émettez la aggregate-address commande sans aucun argument, il n'y a pas d'héritage des attributs de route individuels (tels que AS_PATH ou community), ce qui entraîne une perte de granularité. Ce document montre comment manipuler les différents attributs lorsque vous utilisez la aggregate-address commande et comment influencer la propagation.
Diagramme du réseau
Diagramme du réseau
Agrégation sans l'as-set argument
L'utilisation de l' as-set argument crée une adresse agrégée avec un ensemble mathématique de systèmes autonomes (AS). Cet as-set argument récapitule les attributs AS_PATH de toutes les routes individuelles. Ces exemples de configuration vous permettent d'examiner cette fonctionnalité et de comprendre comment cet argument aide le BGP à détecter et éviter des boucles de routage.
Router A |
Current configuration:
hostname RouterA
!
interface Serial1
ip address 10.2.2.2 255.0.0.0
!
interface Loopback0
ip address 10.160.20.11 255.255.0.0
!
router bgp 100
network 10.160.20.0
!--- Router A advertises network 10.160.20.0/16.
neighbor 10.2.2.1 remote-as 300
!
end |
Router B |
Current configuration:
hostname RouterB
!
interface Serial0
ip address 10.3.3.3 255.0.0.0
!
interface Loopback0
ip address 10.160.10.1 255.255.0.0
!
router bgp 200
network 10.160.10.0
!--- Router B advertises network 10.160.10.0/16.
neighbor 10.3.3.1 remote-as 300
!
end |
Routeur C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0 summary-only
!--- The network is summarized, and Router C only !--- advertises 10.160.0.0/8.
!
end |
Routeur D |
Current configuration:
hostname RouterD
!
interface Serial0
ip address 10.4.4.4 255.0.0.0
!
router bgp 400
neighbor 10.4.4.1 remote-as 300
!
end |
Le routeur C (AS-300) agrège les routes 10.160.20.0/16 et 10.160.10.0/16 qui proviennent d'AS-100 et d'AS-200, respectivement. Cette action se produit parce que vous avez configuré l' summary-only argument sur le routeur C. Le routeur C annonce uniquement l'agrégation 10.160.0.0/8 au routeur D. L'agrégation 10.160.0.0/8 est la route CIDR (Classless Inter-Domain Routing). Les routes 10.160.10.0/16 et 10.160.20.0/16 plus spécifiques sont supprimées, car ce tableau BGP sur le routeur C montre :
RouterC# show ip bgp BGP table version is 6, local router ID is 10.4.4.1 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 *> 10.160.0.0/8 0.0.0.0 32768 i s> 10.160.10.0 10.3.3.3 0 0 200 i s> 10.160.20.0 10.2.2.2 0 0 100 i
Voici la table de routage BGP du routeur D. Observez les informations de chemin de la route agrégée :
RouterD# show ip bgp BGP table version is 6, local router ID is 10.4.4.4 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 *> 10.160.0.0/8 10.4.4.1 0 300 i
La route agrégée 10.160.0.0/8 est considérée comme provenir d'AS-300 avec IGP pour code d'origine. La route a perdu toutes les informations AS_PATH spécifiques des préfixes individuels 10.160.10.0/16, d'AS-200 et 10.160.20.0/16, d'AS-100.
Agréger avec l'as-set argument
Configurez maintenant l’ as-set argument dans la aggregate-address commande sur le routeur C. Voici la nouvelle configuration :
Routeur C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0 summary-only as-set
!--- With the as-set configuration command, the aggregate !--- inherits the attributes of the more-specific routes.
!
end |
Examinez comment cet argument influence la show ip bgp sortie sur le routeur :
RouterD# show ip bgp BGP table version is 2, local router ID is 10.4.4.4 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 *> 10.160.0.0/8 10.4.4.1 0 300 {200,100} i
Avec l' as-set argument, les informations de chemin dans la table BGP pour la route agrégée changent pour inclure un ensemble de 300 {200,100}. Cet ensemble indique que l'agrégation récapitule en fait les routes qui ont traversé AS-200 et AS-100. Les as-set informations deviennent importantes pour éviter les boucles de routage, car elles enregistrent l’emplacement de la route.
Dans tout réseau fermé, ces informations agrégées se propagent via BGP et reviennent à l'un des AS répertoriés par le as-set routeur. Cette propagation crée la possibilité d'une boucle de routage. Le comportement de détection de boucle de BGP note son propre numéro de système autonome dans la mise à jour as-set de l'agrégat et abandonne l'agrégat. Cette action empêche une boucle de routage.
Remarque : l'argument as-set contient des informations sur chaque route individuelle résumée par l'agrégat. Les changements de la route individuelle entraînent une mise à jour de l'agrégation. Dans l'exemple, si 10.160.10.0/16 tombe en panne, les informations de chemin de l'agrégation passent de 300 {200,100} à 300 {200}. L'agrégation est mise à jour. Si l'agrégation récapitule les dizaines ou les centaines de routes et que les routes qui forment l'agrégation ont des problème, il peut y avoir un affolement constant.
Modifiez les attributs de la route agrégée
La section Aggregate with the as-set Argument
vous montre comment utiliser as-set pour enregistrer les attributs AS_PATH avec une route spécifique. Dans certains cas, vous pouvez avoir besoin d'un changement des attributs de la route agrégée. Les exemples de tels attributs incluent la métrique, la communauté et l'origine.
Incidence
Cette section montre comment utiliser l' attribute-map argument pour manipuler les aggregate-address attributs. Dans ce cas, vous configurez une ou plusieurs des routes agrégées spécifiques avec l'attribut no-export community. Le routeur A définit l'attribut community sur no-export le réseau 10.160.20.0/16 et annonce le réseau au routeur C. Cette section montre la configuration. Le routeur C hérite de l'attribut community no-export tandis que le routeur agrège 10.160.0.8. Par conséquent, il n'y a aucune annonce de 10.160.0.0/8 au routeur D. La configuration des routeurs B, C et le D ne change pas. Voici la nouvelle configuration pour le routeur A :
Router A |
Current configuration:
hostname RouterA
!
interface Serial1
ip address 10.2.2.2 255.0.0.0
!
router bgp 100
network 10.160.20.0
!--- Router A advertises network 10.160.20.0/16.
neighbor 10.2.2.1 remote-as 300
neighbor 10.2.2.1 send-community
neighbor 10.2.2.1 route-map SET_NO_EXPORT out
!
access-list 1 permit 10.160.20.0 0.0.255.255
route-map SET_NO_EXPORT permit 10
match ip address 1
set community no-export
!--- This sets the community attribute no-export . at Router A for route 10.160.20.0/16 ! end |
Voici la table de routage BGP du routeur C pour 10.160.0.0/8 :
RouterC# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 9 Paths: (1 available, best #1, not advertised to EBGP peer) Not advertised to any peer {200,100}, (aggregated by 300 10.4.4.1) 0.0.0.0 from 0.0.0.0 (10.4.4.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2 Community: no-export
La communauté no-export arrête l'annonce du routeur C de la route agrégée vers l'homologue eBGP Router D. Le routeur D montre qu'il n'a pas appris 10.160.0.0 du routeur C :
RouterD# show ip bgp 10.160.0.0 % Network not in table
Vous pouvez configurer l'attribute-mapargument au niveau du routeur C afin de manipuler l'attribut community de la route agrégée de no-exportà none. Cette configuration permet l'annonce de l'agrégat au routeur D.
Routeur C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0
as-set summary-only attribute-map Map
!--- Use of the attribute-map argument allows !--- you to change the community of the aggregate.
!
route-map Map permit 10
set community none
!--- This sets the community of the aggregate to none.
end |
Maintenant, observez la table de routage BGP du routeur C pour 10.160.0.0/8. Puisqu'il n'y a aucune communauté définie pour la route agrégée, le routeur C annonce 10.160.0.0/8 au routeur D.
RouterC# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 6 Paths: (1 available, best #1) Advertised to non peer-group peers: 10.2.2.2 10.3.3.3 10.4.4.4 {200,100}, (aggregated by 300 10.4.4.1) 0.0.0.0 from 0.0.0.0 (10.4.4.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2
Le show ip bgp 160.0.0.0 résultat sur le routeur D indique que le routeur D a appris la route agrégée 10.160.0.0/8 à partir du routeur C.
RouterD# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 10 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 300 {200,100}, (aggregated by 300 10.4.4.1) 10.4.4.1 from 10.4.4.1 (10.4.4.1) Origin IGP, localpref 100, valid, external, best
Utiliser advertise-map pour agréger un sous-ensemble de routes spécifiques
Si vous avez le contrôle sur les préfixes individuels qui forment la route agrégée, vous pouvez plus facilement décider quels attributs l'agrégat peut porter. Excluez le préfixe 10.160.20.0 de la route agrégée dans l'exemple de la section Modifier les attributs de la route agrégée. Dans ce cas, l'agrégat 10.160.0.0/8 n'hérite pas de l'attribut community no-export . Afin d'effectuer cette modification, configurez l' advertise-map argument sur le routeur C.
Routeur C |
Current configuration:
hostname RouterC
!
interface Serial0
ip address 10.2.2.1 255.0.0.0
!
interface Serial1
ip address 10.3.3.1 255.0.0.0
!
interface Serial2
ip address 10.4.4.1 255.0.0.0
!
router bgp 300
neighbor 10.2.2.2 remote-as 100
neighbor 10.3.3.3 remote-as 200
neighbor 10.4.4.4 remote-as 400
aggregate-address 10.160.0.0 255.0.0.0
as-set summary-only advertise-map SELECT_SP_ROUTE
!--- You exclude a particular prefix with the !--- use of advertise-map.
!
access-list 1 permit 10.160.10.0 0.0.255.255
!
route-map SELECT_SP_ROUTE permit 10
match ip address 1
!
end |
Maintenant, observez la table de routage BGP du routeur C pour 10.160.0.0/8 :
RouterC# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 15 Paths: (1 available, best #1) Advertised to non peer-group peers: 10.2.2.2 10.4.4.4 200, (aggregated by 300 10.2.2.1) 0.0.0.0 from 0.0.0.0 (10.2.2.1) Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic- aggregate, best, ref 2
Seul AS-200 fait partie des informations AS_PATH de l'agrégat ; AS-100 ne fait pas partie des informations. En outre, il n'y a pas d'héritage de la communauté no-export de 10.160.20.0/16. Par conséquent, la route agrégée est annoncée au routeur D. Le show ip bgp 160.0.0.0 résultat affiche l'annonce :
RouterD# show ip bgp 10.160.0.0 BGP routing table entry for 10.160.0.0/8, version 7 Paths: (1 available, best #1, table Default-IP-Routing-Table) Not advertised to any peer 300 200, (aggregated by 300 10.4.4.1) 10.4.4.1 from 10.4.4.1 (10.4.4.1) Origin IGP, localpref 100, valid, external, atomic-aggregate, best ip bgp 10.160.0.0
Remarque : étant donné que l'agrégation as-set ne comporte que l'AS-200, le routeur A de l'AS-100 accepte la route agrégée et l'installe dans la table de routage. Le mécanisme de détection de boucle de routage BGP entraîne l'acceptation de cette route. Le mécanisme de détection de boucle de routage BGP ne détecte pas son propre AS dans as-set.
RouterA# show ip bgp BGP table version is 3, local router ID is 10.160.20.1 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 *> 10.160.0.0/8 10.2.2.1 0 300 200 i *> 10.160.20.0 0.0.0.0 0 32768 i
Impact de l'utilisation de suppress-map avec d'autres commandes de configuration
La aggregate-address commande inclut d'autres commandes de configuration, telles que suppress-map . Afin de comprendre l'impact de l'utilisation de toutes les commandes de configuration en combinaison, notez que hérite aggregate-address uniquement des attributs des routes plus spécifiques lorsque vous utilisez la commande de as-set configuration. Les exemples d'attributs qui aggregate-address peuvent hériter sont notamment no-export et no-advertise .
-
Lorsque vous utilisez la commande de suppress-map configuration avec la commande de summary-only configuration, la commande de summary-only configuration n'a aucun effet. Avec l'utilisation de la commande de suppress-map configuration, les routes plus spécifiques que le suppress-map supprime ne sont pas annoncées. Cependant, les routes que le suppress-map ne couvre pas sont annoncées en plus de la route agrégée. Par conséquent, les notes de cette section s'appliquent à l'utilisation de suppress-map avec ou sans la summary-only configuration commande.
-
Lorsque vous utilisez as-set avec suppress-map , bien que les routes supprimées ne soient pas annoncées, la route agrégée hérite des attributs de toutes les routes supprimées. Mais vous pouvez remplacer les attributs hérités avec l'utilisation d'autres commandes de configuration, telles que attribute-map . La section Modifier les attributs de la route agrégée décrit l'utilisation de attribute-map .
-
Lorsque vous utilisez les commandes as-set et de suppress-map configuration avec advertise-map , l'agrégation se forme. L'agrégation hérite des attributs uniquement des routes sélectionnées dans la advertise-map liste, que la route soit suppress-map supprimée ou non. Reportez-vous à la section Utiliser advertise-map pour agréger un sous-ensemble de routes spécifiques
.
-
Lorsque vous utilisez advertise-map et attribute-map avec as-set et d'autres commandes de configuration, la attribute-map remplace les attributs choisis dans la advertise-map .
En général, lorsque vous utilisez advertise-map , seul le advertise-map influence l'agrégat. En l'absence de advertise-map , l'agrégat hérite des attributs des routes plus spécifiques, supprimées et non supprimées. Dans les deux cas, vous pouvez utiliser la commande attribute-map configuration pour remplacer les attributs choisis.
Informations connexes