IP : Protocole BGP (Border Gateway Protocol)

Présentation de l'agrégation des routes en BGP

15 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Le Border Gateway Protocol (BGP) permet l'agrégation des routes spécifiques dans une route avec l'utilisation de la commande aggregate-address address mask [as-set] [summary-only] [suppress-map map-name] [advertise-map map-name] [attribute-map map-name]. Quand vous émettez la commande aggregate-address sans aucun argument, il n'y a aucun héritage des attributs de route individuelle (tels qu'AS_PATH ou communauté), ce qui entraîne une perte de granularité. Ce document montre comment manipuler les différents attributs quand vous utilisez la commande aggregate-address et comment influencer la propagation.

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

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 de logiciel 12.2(28) de Cisco IOSÝ.

Les informations contenues dans ce document ont été créées à partir des périphériques d'un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Diagramme du réseau

/image/gif/paws/5441/aggregation1.gif

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 (ASs). Cet argument de as-set 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.

routeur A
Current configuration: 

 hostname RouterA 
 ! 
 interface Serial1 
  ip address 2.2.2.2 255.0.0.0 
 !  
interface Loopback0
  ip address 160.20.1.1 255.255.0.0
 !
 router bgp 100 
  network 160.20.0.0 

!--- Router A advertises network 160.20.0.0/16.      

  neighbor 2.2.2.1 remote-as 300 
 ! 
 end

routeur B
Current configuration: 

 hostname RouterB 
 ! 
 interface Serial0 
  ip address 3.3.3.3 255.0.0.0 
 ! 
interface Loopback0
  ip address 160.10.1.1 255.255.0.0
 !
 router bgp 200 
  network 160.10.0.0 

!--- Router B advertises network 160.10.0.0/16.      

  neighbor 3.3.3.1 remote-as 300 
 ! 
 end

Routeur C
Current configuration: 

 hostname RouterC 
 ! 
 interface Serial0 
  ip address 2.2.2.1 255.0.0.0 
 ! 
 interface Serial1 
  ip address 3.3.3.1 255.0.0.0 
 ! 
 interface Serial2 
  ip address 4.4.4.1 255.0.0.0 
 ! 
 router bgp 300 
  neighbor 2.2.2.2 remote-as 100 
  neighbor 3.3.3.3 remote-as 200 
  neighbor 4.4.4.4 remote-as 400 
  aggregate-address 160.0.0.0 255.0.0.0 summary-only  

!--- The network is summarized, and Router C only
!--- advertises 160.0.0.0/8.

 ! 
 end  

Routeur D
Current configuration: 

 hostname RouterD
 ! 
 interface Serial0 
  ip address 4.4.4.4 255.0.0.0 
 ! 
 router bgp 400 
  neighbor 4.4.4.1 remote-as 300                     
 ! 
 end 

Le routeur C (AS-300) agrège les routes 160.20.0.0/16 et 160.10.0.0/16 qui proviennent d'AS-100 et d'AS-200, respectivement. Cette action se produit parce que vous avez configuré l'argument summary-only sur le routeur C. Le routeur C annonce seulement l'agrégation 160.0.0.0/8 au routeur D. L'agrégation 160.0.0.0/8 est la route du routage interdomaine sans classe (CIDR). Les routes 160.10.0.0/16 et 160.20.0.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 4.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
*> 160.0.0.0/8      0.0.0.0                            32768 i
s> 160.10.0.0       3.3.3.3                  0             0 200 i
s> 160.20.0.0       2.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 4.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
*> 160.0.0.0/8      4.4.4.1                                0 300 i

La route agrégée 160.0.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 160.10.0.0/16, d'AS-200 et 160.20.0.0/16, d'AS-100.

Agrégation avec l'argument as-set

Maintenant, vous configurez l'argument as-set dans la commande aggregate-address sur le routeur C. Voici la nouvelle configuration :

Routeur C
Current configuration: 

 hostname RouterC 
 ! 
 interface Serial0 
  ip address 2.2.2.1 255.0.0.0 
 ! 
 interface Serial1 
  ip address 3.3.3.1 255.0.0.0 
 ! 
 interface Serial2 
  ip address 4.4.4.1 255.0.0.0 
 ! 
 router bgp 300 
  neighbor 2.2.2.2 remote-as 100 
  neighbor 3.3.3.3 remote-as 200 
  neighbor 4.4.4.4 remote-as 400 
  aggregate-address 160.0.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 

Maintenant, observez la façon dont cet argument influence le résultat de show ip bgp sur le routeur D :

RouterD# 
show ip bgp

BGP table version is 2, local router ID is 4.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
*> 160.0.0.0/8      4.4.4.1                                0 300 {200,100} i

Avec l'argument as-set, les informations de chemin dans la table de routage BGP pour la route agrégée changent pour inclure un ensemble à partir 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 informations as-set deviennent importantes dans la prévention des boucles de routage car les informations enregistrent où est passée la route.

Dans tout réseau fermé, les informations d'agrégation se propagent par le BGP et de nouveau vers l'un des AS que l'as-set répertorie. Cette propagation crée la possibilité d'une boucle de routage. Le comportement de détection de boucle de routage du BGP note son propre numéro AS dans l'as-set de la mise à jour d'agrégation et supprime l'agrégation. Cette action empêche une boucle de routage.

Remarque: L'argument as-set contient des informations sur chaque route individuelle que l'agrégation récapitule. Les changements de la route individuelle entraînent une mise à jour de l'agrégation. Dans l'exemple, si 160.10.0.0/16 descend, 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 Agrégation avec l'argument as-set vous montre comment utiliser as-set pour sauvegarder 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.

Cette section montre comment vous pouvez utiliser l'argument attribute-map pour manipuler les attributs aggregate-address. Dans ce cas, vous configurez un ou plusieurs des routes agrégées spécifiques avec l'attribut no-export community. Le routeur A définit l'attribut de communauté no-export au réseau 160.20.0.0/16 et annonce le réseau au routeur C. Cette section montre la configuration. Le routeur C hérite de l'attribut de communauté no-export tandis que le routeur regroupe 160.0.0.8. Par conséquent, il n'y a aucune annonce de 160.0.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 :

routeur A
Current configuration: 

 hostname RouterA 

 ! 
 interface Serial1 
  ip address 2.2.2.2 255.0.0.0 
 !  
 router bgp 100 
  network 160.20.0.0 

!--- Router A advertises network 160.20.0.0/16.

  neighbor 2.2.2.1 remote-as 300 
  neighbor 2.2.2.1 send-community 
  neighbor 2.2.2.1 route-map SET_NO_EXPORT out 
 ! 
 access-list 1 permit 160.20.0.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 160.20.0.0/16 
 ! 
 end

Voici la table de routage BGP du routeur C pour 160.0.0.0/8 :

RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.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 4.4.4.1)
    0.0.0.0 from 0.0.0.0 (4.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 de routeur C de la route agrégée au routeur D homologue d'eBGP. Le routeur D montre qu'elle n'a pas appris 160.0.0.0 du routeur C :

RouterD# show ip bgp 160.0.0.0
% Network not in table

Vous pouvez configurer l'argument attribute-map au routeur C afin de manipuler l'attribut de communauté de la route agrégée de no-export à none. Cette configuration permet l'annonce de l'agrégation au routeur D.

Routeur C
Current configuration: 

 hostname RouterC 
 ! 
 interface Serial0 
  ip address 2.2.2.1 255.0.0.0 
 ! 
 interface Serial1 
  ip address 3.3.3.1 255.0.0.0 
 ! 
 interface Serial2 
  ip address 4.4.4.1 255.0.0.0 
 ! 
 router bgp 300 
  neighbor 2.2.2.2 remote-as 100 
  neighbor 3.3.3.3 remote-as 200 
  neighbor 4.4.4.4 remote-as 400 
  aggregate-address 160.0.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 160.0.0.0/8. Puisqu'il n'y a aucune communauté définie pour la route agrégée, le routeur C annonce 160.0.0.0/8 au routeur D.

RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 6
Paths: (1 available, best #1)
  Advertised to non peer-group peers:
  2.2.2.2 3.3.3.3 4.4.4.4
  {200,100}, (aggregated by 300 4.4.4.1)
    0.0.0.0 from 0.0.0.0 (4.4.4.1)
      Origin IGP, localpref 100, weight 32768, valid, aggregated, local, atomic-
aggregate, best, ref 2

Le résultat show ip bgp 160.0.0.0 au routeur D montre que le routeur D a appris la route agrégée 160.0.0.0/8 du routeur C.

RouterD# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.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 4.4.4.1)
    4.4.4.1 from 4.4.4.1 (4.4.4.1)
      Origin IGP, localpref 100, valid, external, best

Employez la commande advertise-map pour agréger un sous-ensemble de routes spécifiques

Si vous avez le contrôle des préfixes individuels qui forment la route agrégée, vous pouvez plus facilement décider quels attributs l'agrégation portera. Excluez le préfixe 160.20.0.0 de l'artère d'agrégat dans l'exemple dans la modification les attributs de la section d'artère d'agrégat. Dans ce cas, l'agrégation 160.0.0.0/8 n'hérite pas de l'attribut de communauté no-export. Afin d'apporter cette modification, configurez l'argument advertise-map sur le routeur C.

Routeur C
Current configuration: 

 hostname RouterC 
 ! 
 interface Serial0 
  ip address 2.2.2.1 255.0.0.0 
 ! 
 interface Serial1 
  ip address 3.3.3.1 255.0.0.0 
 ! 
 interface Serial2 
  ip address 4.4.4.1 255.0.0.0 
 ! 
 router bgp 300 
  neighbor 2.2.2.2 remote-as 100 
  neighbor 3.3.3.3 remote-as 200 
  neighbor 4.4.4.4 remote-as 400 
  aggregate-address 160.0.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 160.10.0.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 160.0.0.0/8 :

RouterC# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.0.0/8, version 15
Paths: (1 available, best #1)
  Advertised to non peer-group peers:
  2.2.2.2 4.4.4.4
  200, (aggregated by 300 2.2.2.1)
    0.0.0.0 from 0.0.0.0 (2.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égation ; AS-100 ne fait pas partie des informations. En outre, il n'y a aucun héritage de la communauté no-export depuis 160.20.0.0/16. Par conséquent, la route agrégée est annoncée au routeur D. Le résultat show ip bgp 160.0.0.0 montre l'annonce :

RouterD# show ip bgp 160.0.0.0
BGP routing table entry for 160.0.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 4.4.4.1)
    4.4.4.1 from 4.4.4.1 (4.4.4.1)
      Origin IGP, localpref 100, valid, external, atomic-aggregate, best
ip bgp 160.0.0.0

Remarque: Puisque l'agrégation as-set a uniquement AS-200, le routeur A dans AS-100 accepte la route agrégée et installe la route 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 160.20.0.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
*> 160.0.0.0/8      2.2.2.1                                0 300 200 i
*> 160.20.0.0       0.0.0.0                  0         32768 i

Incidence de l'utilisation de la commande suppress-map avec d'autres commandes de configuration

La commande aggregate-address inclut d'autres commandes de configuration, telle que suppress-map. Afin de comprendre l'incidence de l'utilisation de toutes les commandes de configuration en association, notez que aggregate-address hérite seulement des attributs des routes plus spécifiques que quand vous utilisez la commande de configuration as-set. Les exemples des attributs que aggregate-address peut hériter incluent no-export et no-advertise.

  • Quand vous utilisez la commande de configuration suppress-map avec la commande de configuration summary-only, la commande de configuration summary-only n'a aucun effet. Avec l'utilisation de la commande de configuration suppress-map, les routes plus spécifiques que les suppressions suppress-map ne sont pas annoncées. Cependant, les routes que suppress-map ne couvre pas sont annoncées en plus de la route agrégée. Par conséquent, les remarques dans cette section s'appliquent à l'utilisation de suppress-map avec ou sans la commande de configuration summary-only.

  • Quand vous utilisez le as-set avec suppress-map, bien que les routes supprimées ne soient pas annoncées, la route regroupé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, telle que attribute-map. La section Changer les attributs de la route agrégée décrit l'utilisation de attribute-map.

  • Quand vous utilisez les commandes de configuration as-set et suppress-map avec advertise-map, l'agrégation se forme. L'agrégation hérite seulement des attributs hors des routes qui sont sélectionnées dans advertise-map, peu importe que suppress-map supprime la route ou non. Consultez la section Utiliser advertise-map pour agréger un sous-ensemble de routes spécifique.

  • Quand vous utilisez advertise-map et attribute-map avec as-set et d'autres commandes de configuration, attribute-map remplace les attributs qui sont choisis dans advertise-map.

Généralement quand vous utilisez advertise-map, seul advertise-map influence l'agrégation. En l'absence d'advertise-map, l'agrégation hérite des attributs des routes plus spécifiques, supprimées et non supprimées. Dans les deux cas, vous pouvez utiliser la commande de configuration attribute-map pour remplacer les attributs choisis.

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 5441