IP : Protocole BGP (Border Gateway Protocol)

Optimisation du routage et réduction de la consommation de mémoire au niveau des routeurs BGP

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


Contenu


Introduction

Ce document montre comment obtenir un degré élevé de routage optimal dans un réseau d’entreprise connecté à plusieurs fournisseurs d’accès Internet (ISP), tout en réduisant la mémoire requise des routeurs Border Gateway Protocol (BGP). Il faut pour cela utiliser des filtres AS_PATH pour accepter uniquement les routes provenant d’un ISP et de ses systèmes autonomes directement connectés, au lieu de recevoir la table de routage BGP complète d’un ISP.

Conditions préalables

Conditions requises

Aucune spécification déterminée n'est requise pour ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Conventions

Pour plus d'informations sur les conventions de documents, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Informations générales

Cette section fournit un schéma de réseau comme exemple. Dans l'exemple, vous filtrez les mises à jour BGP entrantes au routeur 1 et au Router2 pour recevoir les artères de l'ISP et les artères de l'Autonomous System directement connecté. Le routeur 1 reçoit des artères pour ISP-A et son Autonomous System directement connecté C1. De même, le Router2 reçoit des artères pour l'ISP B et le C2. Le reste des réseaux, qui n'appartiennent pas aux ISP et à leur Autonomous System de client, suivent le default route étant dirigé vers ISP-A ou ISP B, selon la stratégie de routage d'entreprise.

/image/gif/paws/12512/41a.gif

Vous pouvez observer comment l'utilisation de mémoire varie quand le routeur 1 reçoit la table de routage complète BGP d'approximativement 100,000 artères de son ISP, par rapport à quand vous appliquez les filtres as_paths d'arrivée sur le routeur 1.

Remarque: Le nombre réel de préfixes qui composent un plein flux peut varier. Les valeurs dans ce document servent seulement comme exemple. Les serveurs de route peuvent fournir une bonne idée de combien de préfixes composent une pleine table BGP. (Pour plus d'informations sur des serveurs de route, référez-vous à Traceroute.orgleavingcisco.com .)

Le routeur BGP reçoit le Tableau de routage complet BGP

C'est la configuration de routeur 1 :

Routeur 1
hostname R1 
! 
router bgp  XX 
 no synchronization 
 neighbor  157.x.x.x  remote-as 701 
 neighbor  157.x.x.x  filter-list 80 out 
! 
ip as-path access-list 80 permit ^$ 
! 
end

La sortie de commande de show ip bgp summary prouve que 98,410 préfixes ont été reçus d'ISP-A (voisin 157.x.x.x BGP) :

R1# show ip bgp summary
BGP router identifier 65.yy.yy.y, local AS number XX
BGP table version is 611571, main routing table version 611571
98769 network entries and 146299 paths using 14847357 bytes of memory
23658 BGP path attribute entries using 1419480 bytes of memory
20439 BGP AS-PATH entries using 516828 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
5843 BGP filter-list cache entries using 70116 bytes of memory
BGP activity 534001/1904280 prefixes, 2371419/2225120 paths, scan interval 15 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
165.yy.yy.a     4  6xx9   32962  826287   611571    0    0 01:56:13        1
165.yy.yy.b     4  6xx9   32961  855737   611571    0    0 01:56:12        1
165.yy.yy.c     4  6xx9  569699  865164   611571    1    0 01:55:39    47885
157.x.x.x       4   701 3139774  262532   611571    0    0 00:07:24    98410

La sortie de commande de show ip route summary prouve que 80,132 routes BGP sont installées dans la table de routage :

R1# show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source    Networks    Subnets     Overhead    Memory (bytes)
connected       0           4           256         576
static          0           1           64          144
eigrp 6         0           5           768         720
bgp  XX         80132       18622       6320256     14326656
  External: 87616 Internal: 11138 Local: 0
internal        854                                 994056
Total           80986       18632       6321344     15322152

Cette commande montre la quantité de mémoire que le processus BGP occupe dans la RAM :

R1# show processes memory | begin BGP
 PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
  73   0  678981156   89816736   70811036          0          0 BGP Router
  74   0    2968320  419750112      61388    1327064        832 BGP I/O
  75   0          0    8270540       9824          0          0 BGP Scanner
                                 70882248 Total BGP
                                 77465892 Total all processes

Le processus BGP occupe approximativement 71 Mo de mémoire.

Routeur BGP configuré avec la liste de filtres AS_PATH en entrée

Dans cet exemple, vous appliquez la liste de filtre en entrée pour recevoir des artères lancées par ISP-A et ses Autonomous System directement connectés. Dans l'exemple, ISP-A annonce un default route (0.0.0.0) par l'intermédiaire du BGP externe (eBGP), ainsi les artères qui ne passent pas la liste de filtre suivent le default route vers ISP-A. C'est la configuration pour installer la liste de filtre :

Routeur 1
hostname R1 
! 
router bgp  XX 
 no synchronization 
 . 
 neighbor 157.x.x.x remote-as 701 
 neighbor 157.x.x.x filter-list 80 out 
 neighbor 157.x.x.x filter-list 85 in

!--- This line filters inbound BGP updates.
 
 ! 
ip as-path access-list 80 permit ^$ 
ip as-path access-list 85 permit ^701_[0-9]*$  

!--- The AS_PATH filter list filters ISP and the 
!--- directly connected autonomous system routes.
 
! 
end

Cette sortie de commande de show ip bgp summary affiche 31,667 préfixes reçus d'ISP-A (voisin 157.xx.xx.x) :

R1# show ip bgp summary
BGP router identifier 165.yy.yy.y, local AS number XX
BGP table version is 92465, main routing table version 92465
36575 network entries and 49095 paths using 5315195 bytes of memory
4015 BGP path attribute entries using 241860 bytes of memory
3259 BGP AS-PATH entries using 78360 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
4028 BGP filter-list cache entries using 48336 bytes of memory
BGP activity 1735069/3741144 prefixes, 4596920/4547825 paths, scan interval 15 secs

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
165.yy.yy.a     4  6319  226694 1787061    92465    0    0 17:31:04        1
165.yy.yy.b     4  6319  226814 1806986    92465    0    0 19:51:53        1
165.yy.yy.c     4  6319 1041069 1822703    92465    0    0 19:44:52    17424
157.xx.xx.x     4   701 14452518  456341    92465    0    0 19:51:37    31667

La sortie de commande de show ip route summary affiche 27,129 routes BGP dans la table de routage :

R1# show ip route summary
IP routing table name is Default-IP-Routing-Table(0)
Route Source    Networks    Subnets     Overhead    Memory (bytes)
connected       0           4           256         576
static          0           1           64          144
eigrp 6319      0           6           896         864
bgp 6319        27129       9424        2339392     5299332
  External: 19134 Internal: 17419 Local: 0
internal        518                                 602952
Total           27647       9435        2340608     5903868

La mémoire utilisée par le processus BGP est approximativement 28 Mo, comme affiché ici :

R1# show processes memory | include BGP
 PID TTY  Allocated      Freed    Holding    Getbufs    Retbufs Process
  73   0  900742224  186644540   28115880          0          0 BGP Router
  74   0    5315232  556232160       6824    2478452        832 BGP I/O
  75   0          0   39041008       9824          0          0 BGP Scanner
                                 28132528 Total BGP
                                 34665820 Total all memory

Dépannez les questions liées à la mémoire

Pour vérifier la mémoire utilisée par le processus BGP, utilisez le show processes memory | incluez la commande BGP. Les la plupart des problèmes courants liés à un abus de mémoire sont répertoriés ici :

  • Défaillance d'allocation de mémoire "%SYS-2-MALLOCFAIL". Pour plus d'informations sur ce message d'erreur, référez-vous aux problèmes de mémoire de dépannage de document.

  • Sessions de telnet refusées.

  • Aucune sortie de quelques commandes show.

  • « Bas messages d'erreur sur mémoire ».

  • « Incapable de créer l'EXÉCUTIF - messages console aucun de mémoire ou de trop de processus ».

  • Routeur s'arrêtant, ou aucune réponse de console. Le pour en savoir plus, se rapportent à l'utilisation du CPU élevé de dépannage de document sur des Routeurs de Cisco.

  • Si vous exécutez lié au BGP met au point, il entraîne habituellement la consommation de mémoire excessive, qui peut également avoir comme conséquence des erreurs de mémoire dues au BGP. Des debugs pour le BGP doivent être exécutés avec prudence et doivent être évités s'ils ne sont pas exigés.

Pour enregistrer une table de routage globale complète BGP d'un pair BGP, il est le meilleur d'avoir un minimum de 512 Mo ou 1 Go de RAM dans le routeur. Si le 256mb de ram est utilisé, il est recommandé que vous utilisez plus de filtres d'artère. Si vous utilisez le 512mb de ram, plus de routes Internet peuvent être placées dans la table de routage avec moins filtres d'artère. Sur le Catalyst 6500/6000 recevant une pleine table BGP, il est recommandé pour avoir la carte de commutation multicouche 2 (MSFC2) avec le 256mb de ram pour éviter l'ID de bogue Cisco CSCdt13244 (clients enregistrés seulement). La consommation de mémoire par des routes BGP dépend du nombre d'attributs, tels que le support multivoie, la reconfiguration logicielle, le nombre de pairs, et AS_PATH. Pour plus de détails sur la condition requise de mémoire de BGP, référez-vous à RFC 1774leavingcisco.com .

Cisco Express Forwarding/changement distribué de Cisco Express Forwarding (CEF/dCEF) consomme la mémoire, selon la taille de table de routage. Il y a deux composants principaux de CEF :

  • Le Forwarding Information Base (FIB)

  • La table de juxtaposition

Les deux tables sont stockées en mémoire DRAM. Assurez-vous que votre Versatile Interface Processor (VIP) ou linecard contient également la mémoire vive dynamique libre suffisante. Le "%FIB-3-FIBDISABLE : Erreur fatale, emplacement [#] : aucune mémoire » et messages d'erreur de "%FIB-3-NOMEM" n'indiquent la mémoire insuffisante dans les cartes.

Il est fortement recommandé pour vérifier le VIP ou la mémoire de carte de ligne avant d'activer le dCEF. Terminez-vous ces étapes pour confirmer la mémoire :

  1. Configurez le CEF central en émettant la commande d'ip cef en mode de configuration globale.

    Accordez l'heure pour que la table FIB construise.

  2. Passez en revue la taille de la table FIB centrale avec la commande de show ip cef summary.

  3. Déterminez si le VIP ou le linecard a la mémoire vive dynamique disponible suffisante pour enregistrer une table FIB de taille semblable.

    Émettez la commande de tech de VIP de show controller [slot#], et vérifiez la sortie de la commande de résumé de show memory.

En exécutant des toutes les routes BGP d'Internet, il est le meilleur d'avoir au moins 512 Mo ou 1 Go de RAM sur le VIP ou le linecard.

Pour plus d'informations sur les dépannages des questions liées à la mémoire impliquant CEF/dCEF, se rapportent au document dépannant les messages d'erreur liés à la expédition exprès de Cisco.

Conclusion

Ce tableau montre l'épargne de mémoire en mettant en application la liste de filtre :

  Nombre de préfixes Mémoire consommée
Aucun filtrage 98,410 70,882,248
Filtre d'Autonomous System 31,667 28,132,528

Quand le routeur BGP reçoit la pleine table de routage BGP de ses voisins (98,410 artères), le routeur consomme approximativement 71 Mo. Les filtres as_paths étant appliqué aux mises à jour d'arrivée, la taille de la table de routage BGP est réduite à 31,667 artères, et la consommation de mémoire est approximativement 28 Mo. Cette diminution de l'utilisation de mémoire est plus de 60 pour cent avec le routage optimal.

Si vous passez en revue COMME graphique d'Internetleavingcisco.com compilé par l'association coopérative pour l'analyse de données d'Internet (CAIDA), vous pouvez voir quels ISP ont le degré le plus élevé d'interconnectivité (ceux les plus proches du centre du tableau). Avec moins d'interconnectivité, moins artères traversent le filtre as_path, et la consommation de mémoire BGP est inférieure. Cependant, il est important de noter que toutes les fois que des filtres as_paths sont placés, vous devez configurer un default route (0/0). Les artères qui ne passent pas la liste de filtre as_path suivent le default route.

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: 12512