IP : Protocole BGP (Border Gateway Protocol)

Le BGP préfixe des filtres avec les numéros de système autonome 4-byte

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Cet article décrit comment filtrer des préfixes de Protocole BGP (Border Gateway Protocol) avec des nombres du système autonome (AS) 4-byte dans le Cisco IOS®.

Contribué par Luc De Ghein, ingénieur TAC Cisco.

Informations générales

les numéros de système autonome 4-byte ont été introduits dans le BGP quand le groupe des numéros de système autonome 2-byte libres est devenu bas. Ceci signifie qu'un numéro de système autonome peut maintenant être un 2-byte ou un nombre 4-byte. RFC 6793 spécifie les numéros de système autonome 4-byte. Un numéro de système autonome 2-byte est un nombre entre 1 et 65,535. Un numéro de système autonome 4-byte est un nombre entre 1 et 4,294,967,295.

Le numéro de système autonome 4-byte peut être représenté d'une mode pointillée ou comme un nombre ordinaire. Un exemple d'un numéro de système autonome 4-byte pointillé est 7.52359. C'est COMME point de notaton. Un exemple d'un nombre de la brute 4-byte est 511111. C'est COMME asplain de notation. 7.52359 est identiques que 511111.

Un routeur Cisco IOS peut utiliser le l'un ou l'autre COMME notation. Le par défaut dans les versions de Cisco IOS les plus récentes est asplain. Afin d'utiliser pointillé COMME notation, la commande précédée d'un point d'asnotation BGP peut être utilisée.

Si pour une raison quelconque, l'administrateur réseau ne veut pas envoyer des préfixes BGP avec un ou plusieurs numéros de système autonome 4-byte dans COMME CHEMIN vers un pair de BGP externe (eBGP), alors ces préfixes peuvent être filtrés. Ce document fournit un filtre possible pour réaliser ceci. Il pourrait y avoir quelques raisons pour lesquelles vous ne pourriez pas vouloir qu'un speaker BGP envoie des préfixes BGP avec les numéros de système autonome 4-byte dans COMME CHEMIN. Un exemple pourrait être qu'il y a un défaut sur le speaker BGP de réception qui a comme conséquence le comportement défavorable, qui se produit seulement pour des préfixes BGP avec les numéros de système autonome 4-byte dans COMME CHEMIN.

filtre du numéro de système autonome 4-byte

Remarque: Le filtre dans cette section peut seulement être utilisé quand le BGP sur le routeur fonctionne en mode de point d'asnotation.

Ce filtre peut filtrer des préfixes avec COMME LES CHEMINS qui tiennent un ou plusieurs numéros de système autonome 4-byte.

router bgp 1
 bgp asnotation dot
 neighbor 10.1.1.2 remote-as 2

 address-family ipv4
  neighbor 10.1.1.2 activate
  neighbor 10.1.1.2 filter-list 1 out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*

Voici un examen de ce filtre.

  • [0-9] signifie n'importe quel chiffre.

  • + signifie un ou plusieurs occurrences. Ainsi [0-9]+ signifie tout nombre, parce qu'il peut y avoir de plusieurs chiffres actuels.

  • \. signifie. (point). La barre oblique inverse est nécessaire afin de s'assurer que le routeur ne traite pas le point comme caractère particulier mais le traite comme point. . est un caractère particulier et signifie le caractère de match any (le masque).

  • * signifie la correspondance zéro ou plus de précéder. Ainsi. * signifie la correspondance quelque chose.

  • Le filtre complet .*[0-9]+\.[0-9]+.* signifie n'importe quoi avec un point dans lui.

Voici un exemple :

Le routeur 1 (R1) reçoit huit préfixes dans le BGP. Le préfixe 10.100.1.1/32 BGP est le seul préfixe avec COMME CHEMIN qui se compose seulement des numéros de système autonome 2-byte. Tous les autres préfixes BGP ont le numéro de système autonome un ou plusieurs 4-byte dans COMME CHEMIN.

R1#show bgp ipv4 unicast
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?

R1 annonce seulement les préfixes sans n'importe quel numéro de système autonome 4-byte dans COMME CHEMIN vers le pair 10.1.1.2 BGP.

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes 
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

Total number of prefixes 1

Vous pouvez vérifier ce que le filtre .*[0-9]+\.[0-9]+.* filtre de la table BGP avec la commande de show ip bgp regexp :

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop     Metric LocPrf Weight Path
 *>  10.100.1.2/32    10.1.3.4         0             0 4 1.34464 3.3392 4.37856 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 1.34464 200 4.37856 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 4.37856 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 7.41248 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 9.60176 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 1.57464 77 5.17320 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 7.52359 99 66 99 5.18307
3.37515 99 66 3.37515 99 ?

Le filtre .*[0-9]+\.[0-9]+.* filtre tous les préfixes avec le numéro de système autonome un ou plusieurs 4-byte dans COMME attribut de chemin.

Voici une autre manière de vérifier ce que le filtre filtre réellement de la table BGP :

R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4                 0             0 4 100 200 300 i

R2 a reçu seulement le préfixe 10.100.1.1/32 de R1 dû au filtre.

R2#show bgp ipv4 unicast 
BGP table version is 6, local router ID is 10.1.1.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.1.1                               0 1 4 100 200 300 i

Configuration alternative

Une configuration alternative est d'utiliser un route-map au lieu d'un filter-list :

router bgp 1
 bgp asnotation dot
 neighbor 10.1.1.2 remote-as 2

 address-family ipv4
  neighbor 10.1.1.2 route-map no-4byte out

ip as-path access-list 1 deny .*[0-9]+\.[0-9]+.*
ip as-path access-list 1 permit .*

route-map no-4byte permit 10
 match as-path 1

Mode d'Asplain

Quand la commande précédée d'un point d'asnotiation BGP est retirée, qui signifie que l'asnotation est asplain, la sortie n'affiche plus les points dans les numéros de système autonome 4-byte. Cette sortie est identique que précédemment affichée, sauf que les numéros de système autonome pointillés sont maintenant asplain.

R1#show bgp ipv4 unicast                                      
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 345987
234123 99 66 234123 99 ?

La commande show BGP avec l'expression régulière utilisée dans le filtre sur le routeur ne filtre pas les préfixes avec un point dans la table BGP, parce qu'il n'y a plus des préfixes avec le format de numéro de système autonome 4-byte pointillé dans la table BGP. Les numéros de système autonome 4-byte sont maintenant dans le format d'asplain.

R1#show ip bgp regexp .*[0-9]+\.[0-9]+.*                      
R1#

La commande show BGP avec le filter-list prouve également que le filtre ne fonctionne pas tandis que le routeur est en mode d'asplain :

R1#show bgp ipv4 unicast filter-list 1
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop    Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56
100000 ?

Le filtre de comme-chemin ne fonctionnera pas :

R1#show bgp ipv4 unicast neighbors 10.1.1.2 advertised-routes 
BGP table version is 9, local router ID is 10.100.1.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop     Metric LocPrf Weight Path
 *>  10.100.1.1/32    10.1.3.4         0             0 4 100 200 300 i
 *>  10.100.1.2/32    10.1.3.4         0             0 4 100000 200000 300000 i
 *>  10.100.1.3/32    10.1.3.4         0             0 4 100000 200 300000 i
 *>  10.100.1.4/32    10.1.3.4         0             0 4 500 300000 600 ?
 *>  10.100.1.5/32    10.1.3.4         0             0 4 500000 3200 400 65000 ?
 *>  10.100.1.6/32    10.1.3.4         0             0 4 50 3200 400 650000 ?
 *>  10.100.1.7/32    10.1.3.4         0             0 4 66 123000 77 345000 99 ?
 *>  10.100.1.8/32    10.1.3.4         0             0 4 511111 99 66 99 65509 56
100000 ?
     Network          Next Hop            Metric LocPrf Weight Path

Total number of prefixes 8

Filtre pour le mode d'Asplain

Ce filtre peut être utilisé quand le BGP sur le routeur fonctionne en mode d'asplain :

ip as-path access-list 4 deny _6553[6-9]_
ip as-path access-list 4 deny _655[4-9][0-9]_
ip as-path access-list 4 deny _65[6-9][0-9][0-9]_
ip as-path access-list 4 deny _[6][6-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[7-9][0-9][0-9][0-9][0-9]_
ip as-path access-list 4 deny _[1-9][0-9][0-9][0-9][0-9][0-9]+_
ip as-path access-list 4 permit .*

Ou, voici le même, mais plus le contrat :

ip as-path access-list 4 deny _(6553[6-9]|655[4-9][0-9]|65[6-9][0-9][0-9]|6[6-9]
[0-9][0-9][0-9]|[7-9][0-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9][0-9]+)_
ip as-path access-list 4 permit .*

En raison de ce filtre, tout supérieur à 65,535 de numéro de système autonome est filtré. De nouveau, ceci peut être appliqué au voisin BGP si vous utilisez un filter-list ou un route-map.

Remarque: Le filtrage en cet article ne travaille pas à une session interne BGP (iBGP), qui inclut sur un réflecteur d'artère.



Document ID: 118700