chapitre 6 : bgplsteffenel/cours/m2-ead/cours14/info09… · l'utilisation de bgp dépend du...
TRANSCRIPT
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public ROUTE v6 Chapter 6
1
Chapitre 6 : BGP
CCNP ROUTE: Implementing IP Routing
Chapter 6 2 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
IGP versus EGP § Interior gateway protocol (IGP)
• Un protocole de routage qui opère à l'intérieur d'un Système Autonome (AS)
• RIP, OSPF et EIGRP
§ Exterior gateway protocol (EGP) • Un protocole de routage qui opère entre deux ASs
Chapter 6 3 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Définition des Systèmes Autonomes (AS)
• AS - Un ensemble de routeurs qui partagent des politiques de routage similaires et qui sont gérés dans un même domaine administratif. De l'extérieur, un AS est vu comme une entité unique
• Un AS peut être composé : – d'un ensemble de routeurs qui tourne le même protocole IGP – d'un ensemble de routeurs qui tournent différents protocoles de
routage (une grande entreprise ou un FAI, par exemple)
Chapter 6 4 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Identification des AS
§ Défini par le RFC 1772 § Les numéros des AS • Attribués par une entité (IANA) • Entre 1 et 65535 • Les adresse de 64512 à 65535 sont réservés pour un usage privée • Les RFCs 4893 et 5398 proposent l'extension à 4.294.967.296 AS
• Utilisation de 4 octets au lieu de 2
Chapter 6 5 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
BGP – concepts de base
• BGP est un protocole de routage par vecteur de chemin – path vector
• Une route indique la liste d'ASs qu'il faut traverser pour arriver à la destination
• Ex : pour le réseau 10.3.0.0/16, il faut passer par les AS 50, 75, 28
Chapter 6 6 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
BGP – concepts de base
• BGP a por objectif : – l'échange d'informations de routage entre les ASs – garantir le choix d'une route sans boucle (loop-free)
• BGP4 est la première version de BGP qui supporte CIDR et agrégation de routes
• IGPs comme RIP, OSPF et EIGRP utilisent des métriques • BGP
– n'utilise pas une métrique – fait les décisions selon des politiques de routage – n'indique pas les détails internes des ASs – ne représente qu'un arbre d'ASs
• show ip bgp – commande IOS pour afficher la table de routage BGP
Chapter 6 7 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
BGP – concepts de base
• Les mises à jour BGP utilisent TCP sur le port 179
– RIP utilise UDP sur le port 520 – EIGRP utilise RTP – OSPF n'utilise pas un protocole
de couche 4 • Du fait d'utiliser TCP, BGP a besoin de :
– une connectivité IP entre les voisins BGP – ouvrir des connexions TCP avant d'échanger des données
• BGP bénéficie de la fiabilité de TCP
Chapter 6 8 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Description de l'opération BGP § Lorsque deux routeurs établissent une connexion BGP
grâce à TCPil sont appelés voisins ou pairs • Les routeurs voisins échangent des multiples messages
§ Lors d'une première connexion, les voisins échangent toutes leurs routes candidates • Ensuite, les échanges se limitent à des mises à jour incrémentales
Chapter 6 9 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
L'utilisation de BGP entre les AS § BGP offre un système de routage qui garantit des routes
sans boucles (loop-free) lors de la transmission parmi les systèmes autonomes
Chapter 6 10 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Chemin sans boucle (Loop-free)
• Pour éviter les boucles, BGP construit un graphe avec les données envoyées par les voisins
• La connexion entre deux AS représente un chemin • AS Path – Le chemin pour atteindre un AS est représenté comme une
séquence de numéros d'AS • Grâce aux numéros d'AS, un système autonome peut détecter un chemin qui
passe deux fois par le même AS
Chapter 6 11 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Les caractéristiques du Path Vector § Les informations d'un protocole Path Vector inclut :
• Une liste avec le chemin BGP complet, indiquant les numéros d'AS (hop by hop) nécessaires pour atteindre la destination
• D'autres attributs incluent l'adresse IP du prochain AS (next-hop) et la manière dont les routes a été insérée dans BGP
Chapter 6 12 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Est-il obligatoire d'utiliser BGP ?
§ L'utilisation de BGP dépend du niveau de connaissance technique et de la présence d'une de ces situations :
• Le AS permet le transit de paquets d'autres AS • Le AS a plusieurs connexions à d'autres AS’s (multihomed) • Les flux entrants ou sortants de l'AS doivent être manipulés
Chapter 6 13 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
BGP n'est pas nécessaire si
§ Ne pas utiliser BGP si : • il n'y a qu'une seule connexion ver un autre AS ou FAI • votre AS ne requiert des filtrages ou manipulations des flux • les routeurs sont limités en mémoire ou capacité de calcul • L'administrateur a une connaissance limitée du processus de filtrage et
sélection des chemins BGP • La liaison entre les AS a une faible bande passante
• Dans ce cas, des routes statiques suffisent
Chapter 6 14 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Les types de message BGP
• Avant toute communication entre deux peers il est nécessaire de démarrer une connexion • Connexion TCP sur le port 179
• Une fois ouverte la connexion, BGP échange plusieurs messages avec les paramètres de la connexion et les informations de routage
• Tous les messages BGP sont unicastés vers un seul partenaire • Il y a 4 types de message BGP :
– OPEN – identification initiale entre les peers – KEEPALIVE – UPDATE – mises à jour – NOTIFICATION - erreurs
Chapter 6 15 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Type 1 : BGP Open
• Après l'établissement de la connexion TCP, les routeurs échangent des messages Open
• Ce message établi le voisinage entre les pairs • Chaque voisin s'identifie et spécifie ses paramètres BGP tems
que : • La version du protocole BGP • Le numéro d'AS • Son identifiant BGP • Des paramètres optionnels
Chapter 6 16 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
• Le message BGP Keepalive est envoyé périodiquement entre les pairs afin de garder la connexion ouverte
• Si un routeur accepte les paramètres spécifiés dans le message Open de son voisin, il répond avec un Keepalive
• Par la suite, les messages Keepalive sont envoyés à chaque 60 secondes par les routeurs Cisco, ou 1/3 du hold time agrée (180 secondes)
Type 2 : BGP Keepalive
Chapter 6 17 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
• Les messages UPDATE contiennent toutes les information nécessaires afin d'établir des chemins sans boucle
• Les messages Update servent à annoncer des routes candidates, supprimer des routes, ou les deux
• Les trois composants principaux d'un message UPDATE sont : • Network-Layer Reachability Information (NLRI)
• Un NLRI n'est rien d'autre qu'un pair IP-masque dans un format différent
• Attributs des chemins • Routes supprimées
Type 3 : Update
Chapter 6 18 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
• Un message de notification est envoyé lorsqu'une erreur est détecté et toujours lorsqu'une connexion est fermée
• Le message NOTIFICATION est composé des champs • Code d'Erreur (8 bits) • Sous-code d'Erreur (8 bits) • Un champs de données (detaille variable)
Type 4 : Notification
Chapter 6 19 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Attributes § Parmi les attributs, certains sont obligatoires, mais d'autres
peuvent être inclus Attribute EBGP IBGP
AS_PATH Well-known Mandatory Well-known Mandatory
NEXT_HOP Well-known Mandatory Well-known Mandatory
ORIGIN Well-known Mandatory Well-known Mandatory
LOCAL_PREF Not allowed Well-known Discretionary
ATOMIC_AGGREGATE Well-known Discretionary Well-known Discretionary
AGGREGATOR Optional Transitive Optional Transitive
COMMUNITY Optional Transitive Optional Transitive
MULTI_EXIT_DISC Optional Nontransitive Optional Nontransitive
Toujours inclus dans les messages
Peuvent renseigner
des données pour le filtrage
Chapter 6 20 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Attributs § Les attributs se divisent en 4 grands groupes
• Certains attributs ne sont pas reconnus par tous les fabricants
Chapter 6 21 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Mandatory § Ces attributs sont reconnus par toute implémentation BGP
et doivent faire partie des mises à jour • Si absents, ces attributs donnent origine à des messages de
notification
Chapter 6 22 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Mandatory : AS_PATH § L'attribut AS_PATH
contient la liste des AS pour arriver à une destination
§ L'attribut AS_PATH est "incrementé" de l'identifiant de l'AS courant avant d'être repassé à un voisin EBGP
Chapter 6 23 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Mandatory : NEXT_HOP § L'attribut NEXT_HOP indique l'adresse IP à contacter sur le
prochain AS dans le chemin vers la destination § Cette adresse IP est celle de l'interface "d'entrée" du AS le
plus proche en direction de la destination • Dans le cas du EBGP, c'est l'adresse IP du voisin qui a envoyé la
mise à jour
Chapter 6 24 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Mandatory : ORIGIN § L'attribut ORIGIN indique la manière dont l'information a été
renseignée : • IGP :
• La destination se situe à l'intérieur de l'AS d'origine, ce qui est par exemple le cas des routes annoncées avec la commande network BGP
• Une origine IGP est indiquée avec un “i” dans la table BGP
• EGP : • (Obsolète) Cette route aurait été apprise grâce à un protocole ancien
(EGP) qui n'est plus utilisé • Indiqué avec un “e” dans la table BGP
• Incomplete : • L'origine de la route est inconnue ou a été apprise par d'autres moyens,
comme par exemple une redistribution de routes dans BGP • Indiqué par un “?” dans la table de routage BGP
Chapter 6 25 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Mandatory : ORIGIN R1# show ip bgp BGP table version is 24, local router ID is 172.16.1.2 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 *> 192.208.10.0 192.208.10.5 0 0 300 i *> 172.16.1.0 0.0.0.0 0 32768 i <output omitted>
R1# show ip bgp <output omitted> Network Next Hop Metric LocPrf Weight Path *> 10.1.1.0/24 0.0.0.0 0 32768 ? *> 192.168.1.0/24 10.1.1.2 84 32768 ? *> 192.168.2.0/24 10.1.1.2 74 32768 ? <output omitted>
i = route crée par la commande network
? = Route crée par une méthode inconnue (redistribution, en général)
Chapter 6 26 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Discretionary § Ces attributs sont reconnus par toute implémention BGP
mais peuvent ne pas faire partie des mises à jour
Chapter 6 27 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Discretionary : LOCAL_PREF § La Préférence Locale (LOCAL_PREF) indique aux routeurs
BGP qui appartiennent au même AS quel est le chemin préféré pour une destination donnée • Un chemin avec une préférence locale élevée est prioritaire • La valeur par défaut dans les routeurs CISCO est de 100
§ Cette valeur est configurée dans un routeur et envoyée aux autres routeurs IBGP • Cet attribut n'est pas repassé aux voisins EBGP
Chapter 6 28 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Discretionary : LOCAL_PREF
§ Ex : Les routeurs A et B sont des voisins IBGP dans l'AS 64520 et tous les deux reçoivent des mises à jour sur le réseau 172.16.0.0 • La préférence locale de A est 200 • La préférence locale de B est 150
§ À cause de sa préférence locale plus grande, le routeur A est choisi comme routeur de sortie de l'AS 64520
Chapter 6 29 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Well-Known Discretionary : ATOMIC_AGGREGATE § L'attribut Atomic Aggregate indique que la route a été
agrégée • C'est un rappel pour indiquer que la route peut ne pas être trop
complète
§ Les routes incluent l'ID du routeur et son l'AS, ainsi que le supernet • Cela permet de tracer l'origine de l'agrégation, en cas de dépannage
Chapter 6 30 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Optional Transitive § Un attribut qui peut ne pas être reconnu par d'autres
implémentations • Généralement, un attribut crée par un fabricant
§ Comme l'attribut est transitif, BGP l'accepte et repasse cet attribut, même s'il ne le reconnaît pas
Chapter 6 31 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Optional Transitive : Community § L'attribut COMMUNITY peut être utilisé pour filtrer les
routes entrantes ou sortantes • C'est équivalent à un tag
Chapter 6 32 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Optional Nontransitive § Un attribut qui peut ne pas être reconnu par d'autres
implémentations • Généralement, un attribut crée par un fabricant
§ Comme l'attribut est non-transitif, BGP ne doit pas le repasser aux autres routeurs BGP
Chapter 6 33 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Optional Nontransitive : MED § L'attribut MED (Multiple Exit Discriminator), aussi appelé
metric, donne des indices aux routeurs extérieurs sur le chemin préféré pour contacter un AS qui a plusieurs points d'entrée • Un MED petit est préféré à un grand MED !
§ Le MED est envoyé aux pairs EBGP, qui le repasse à ses IBGP • Les routeurs IBGP à l'intérieur de l'AS peuvent utiliser le MED, mais
ils ne peuvent pas l'envoyer au prochain AS
Chapter 6 34 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Optional Nontransitive: MED
§ Les routeurs B et C incluent un attribut MED dans leurs updates vers A • Le routeur B indique un MED 150 • Le routeur C indique un MED 200
§ Lorsque A reçoit les mises à jour, il peut choisir B comme point d'entrée car il a un MED plus petit
Chapter 6 35 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
L'attribut Weight de CISCO § L'attribut Weight est propriétaire de CISCO § Utilisation similaire à la préférence locale
• Weight est utilisé lorsqu'un routeur a plusieurs sorties • Local pref est utilisée lorsque deux ou plus routeurs ont plusieurs
sorties
§ Configuré localement dans le routeur et n'est pas envoyé • Plus grand weight, le mieux • Des valeurs entre 0 et 65535 • Les chemins originés pars le routeur ont un poids 32768 par défaut,
alors que les autres ont in poids 0
Chapter 6 36 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Weight de CISCO
§ Les routeurs B et C aprennent la route vers 172.20.0.0 à partir de l'AS 65250 et l'annoncent à A • Le routeur A a deux sorties vers 172.20.0.0
§ Le router A choisi les poids suivants • Les mises à jour de B ont un weight 200 • Les mises à jour de C ont un weight 150
§ Le routeur A utilise B comme point de sortie
Chapter 6 37 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Le processus de sélection des routes BGP § Contrairement aux autres protocoles, BGP n'est pas fait
pour choisir le "chemin le plus rapide" toujours § La décision dépend des valeurs des attribut
Chapter 6 38 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Le processus de sélection des routes BGP • Plus grand poids (WEIGHT)
• Plus grande LOCAL_PREF
• Routes crées localement (network ou agrégées)
• Routes avec le plus court AS-PATH
• Routes avec l'ORIGIN (IGP<EGP<incomplete)
• Routes avec le plus petit MED
• Préférence à des routes EBGP par rapport aux routes IBGP
• Les routes qui passent par le voisin IGP le plus proche
• Les routes EBGP les plus anciennes
• Les routes qui passent par le routeur avec l'ID BGP le plus petit
• Les routes qui passent par le voisin avec l'adresse IP la plus petite
Chapter 6 39 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configuration de BGP
Chapter 6 40 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configurer BGP
• Pour commencer, entrer dans le mode configuration BGP Router(config)#router bgp AS-number • Attention, les commandes BGP sont presque similaires à
ceux des IGP – Leur fonction peut être assez différente
• Note : L'IOS cisco ne permet qu'un seule processus BGP par routeur
– alors un routeur n'appartient qu'à un seul AS
Chapter 6 41 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configurer BGP
§ Router(config-router)#network network-number [mask network-mask]
• Les réseaux doivent être présents dans la table de routage (show ip route) pour être distribués
• Les routes apprises avec BGP sont diffusées par défaut, mais souvent elles sont filtrées par des politiques de routage
Chapter 6 42 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Router(config-router)#network network-number [mask network-mask] " Avec les IGPs, la commande network indique les interfaces qui participent ainsi que les
routes annoncées " Dans le cas du protocole BGP, la commande network n'affecte pas les interfaces " En BGP, network indique les routes apprises localement qui seront annoncées
" Les réseaux peuvent être des routes connectées, statiques ou apprises dynamiquement " Seulement configurer network ne suffit pas pour établir des connexions BGP
Configurer BGP
Chapter 6 43 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configurer BGP
§ Router(config-router)#neighbor ip-address remote-as AS-number
• La commande Neighbor – Utilisée pour établire une rélation de voisinage avec un autre routeur BGP
• Le paramètre AS-number indique si le routeur est un voisin EBGP ou IBGP
Chapter 6 44 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemple : La commande BGP neighbor
Chapter 6 45 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
EBGP
§ RTA(config)#router bgp 100 § RTA(config-router)#neighbor 10.1.1.1 remote-as 200 § RTB(config)#router bgp 200 § RTB(config-router)#neighbor 10.1.1.2 remote-as 100 • Observez que la valeur remote-as 100 de la commande neighbor est différente de la
valeur AS-number spécifiée par la commande router bgp (200) • Avec deux numéros AS différents, RTB inicie une connexion EBGP avec RTA
Chapter 6 46 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
IBGP
§ RTB(config)#router bgp 200
§ RTB(config-router)#neighbor 172.16.1.2 remote-as 200
§ RTB(config-router)#neighbor 172.16.1.2 update-source loopback 0
§ RTC(config)#router bgp 200
§ RTC(config-router)#neighbor 172.16.1.1 remote-as 200
§ RTC(config-router)#neighbor 172.16.1.1 update-source loopback 0
Chapter 6 47 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Les peer groups BGP § En général, on applique les mêmes règles à plusieurs
voisins § Pour simplifier la configuration, il est possible définir des
peer groups § Les politiques sont appliquées aux groupes
• Les voisins sont enregistrés auprès les groupes • Seulement les options qui affectent les mises à jour entrantes peuvent
être modifiées
Chapter 6 48 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Définition d'un Peer Group § Créer un peer group dans le routeur
Router(config-router)#
neighbor peer-group-name peer-group
• Ce nom est local à chaque machine, n'étant pas transmis sur le réseau
§ Attribution
• Le peer-group-name doit exister déjà au moment de l'attribution
Router(config-router)#
neighbor ip-address peer-group peer-group-name
Chapter 6 49 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Déconnexion d'un voisin BGP § Il est possible de déconnecter "en douceur" un voisin ou
groupe BGP Router(config-router)#
neighbor {ip-address | peer-group-name} shutdown
§ Pour réactiver le voisinage, il suffit de faire "no … shutdown"
Chapter 6 50 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
IBGP et le problème du IP Source § BGP n'accepte pas des mises à jour de n'importe qui
• Seulement les voisins peuvent envoyer des mises à jour
§ Par défaut, c'est l'adresse IP de l'interface "de sortie" qui est utilisé pour la création d'un paquet BGP • Dans BGP, cette adresse IP source doit correspondre à l'adresse IP
utilisée pour la commande "neighbor" • Cela ne pose généralement pas des problèmes dans une connexion
EBGP, mais dans une connexion IBGP…
Chapter 6 51 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
§ RTB(config-router)#neighbor 172.16.1.2 update-source loopback 0
§ RTC(config-router)#neighbor 172.16.1.1 update-source loopback 0 • update-source loopback 0 - indique au routeur d'utiliser toute interface
opérationnelle pour établir les connexions TCP (tant que Lo0 est active et configurée avec une adresse IP)
• Sans cette commande update-source loopback 0, les routeurs BGP ne peuvent utiliser que l'interface la plus proche
• Utiliser n'importe quelle interface augmente la robustesse de BGP si un lien est défaillant
Chapter 6 52 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
§ Si le lien IBGP "RTB-RTC" tombe, il est toujours possible de router le paquet via OSPF…
§ Mais l'adresse des interfaces ne sera plus le même !
Chapter 6 53 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Enable Multihop EBGP § Par défaut, le TTL des paquets BGP est 1 § Il est possible de l'incrémenter afin d'atteindre une machine
plus distante, ou afin d'optimiser le transport
Router(config-router)#
neighbor {ip-address | peer-group-name} ebgp-multihop [ttl]
Chapter 6 54 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemple – BGP dual homed
§ R1 (AS 65102) a deux lienx vers R2 (AS 65101) § Si R1 utilise un seul neighbor vers 192.168.1.18, il y a un problème
si le lien tombe • Si le lien tombe la session est fermée et aucun paquet BGP est passé, même
si l'autre lien existe
§ Une solution serait de configurer deux neighbor sur R1 pointant vers 192.168.1.18 192.168.1.34. • Seulement, cela ferait doubler le volume de données transmis entre R1 et R2
Chapter 6 55 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemple – BGP dual homed
§ Pour une solution optimale : • Utiliser les adresses de loopback comme source • Configurer des routes statiques pour le loopback du routeur distant • Configurer neighbor ebgp-multihop afin d'indiquer que le pair
BGP est situé plus loin
Chapter 6 56 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemple – BGP dual homed
AS 65102
Lo0 172.17.1.1 R1 R2
EBGP
EBGP
192.168.1.18 /28
Lo0 172.16.1.1
AS 65101
192.168.1. 34 /28
192.168.1.17 /28
192.168.1. 33 /28
R1(config)# router bgp 65102 R1(config-router)# neighbor 172.16.1.1 remote-as 65101 R1(config-router)# neighbor 172.16.1.1 update-source loopback0 R1(config-router)# neighbor 172.16.1.1 ebgp-multihop 2 R1(config-router)# exit R1(config)# ip route 172.16.1.1 255.255.255.255 192.168.1.18 R1(config)# ip route 172.16.1.1 255.255.255.255 192.168.1.34 R1(config)#
R2(config)# router bgp 65101 R2(config-router)# neighbor 172.17.1.1 remote-as 65102 R2(config-router)# neighbor 172.17.1.1 update-source loopback0 R2(config-router)# neighbor 172.17.1.1 ebgp-multihop 2 R2(config-router)# exit R2(config)# ip route 172.17.1.1 255.255.255.255 192.168.1.17 R2(config)# ip route 172.17.1.1 255.255.255.255 192.168.1.33 R2(config)#
Chapter 6 57 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Annoncer des routes EBGP aux pairs IBGP § Lorsqu'un routeur EBGP reçoit des routes d'un voisin
EBGP, il repasse ces informations aux routeurs IBGP avec l'adresse source du voisin • Les voisins IBGP doivent être configurés pour atteindre le routeur
externe
§ Une solution est celle de remplacer l'IP du voisin EBGP par celui du routeur "local" • neighbor {ip-address | peer-group-name} next-hop-self
§ Commande utile dans les réseaux "partial mesh" comme Frame Relay
Chapter 6 58 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Next Hop Self Example
R2(config)# router bgp 65101 R2(config-router)# neighbor 172.16.1.1 remote-as 65100 R2(config-router)# neighbor 192.168.3.3 remote-as 65101 R2(config-router)# neighbor 192.168.3.3 update-source loopback0 R2(config-router)# neighbor 192.168.3.3 next-hop-self R2(config-router)# exit R2(config)# router eigrp 1 R2(config-router)# network 10.0.0.0 R2(config-router)# network 192.168.2.0 R2(config-router)#
AS 65102 AS 65100
R1 R4
Lo0 192.168.2.2
.1
192.168.1.1 172.16.1.1 R2 R3
10.1.1.0/24
10.2.2.0/24
.1 .2
.2
Lo0 192.168.3.3
AS 65101
EIGRP
Chapter 6 59 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Annoncer des réseaux dans BGP
Router(config-router)#
network network-number [mask network-mask] [route-map map-tag]
§ Cette commande indique à BGP quels sont les réseaux à annoncer • Cela n'active pas l'émission dans les interfaces, comme dans IGP
§ Le masque permet du subnetting et du superneting • Sans le masque, la route annoncée sera celle classful
§ Les réseaux et masques doivent correspondre aux entrées dans la table de routage
Chapter 6 60 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Correspondance des adresses § Pour être annoncée, une route doit être présente dans la
table de routage § Par exemple, il faut faire l'opération suivante pour annoncer
une route agrégée 192.168.0.0/16 : network 192.168.0.0 mask 255.255.0.0
ip route 192.168.0.0 255.255.0.0 null0
§ Maintenant BGP contient une entrée qui correspond à ce qui est annoncé • Cette route aggrégée (null) ne sera jamais utilisée car le routeur
contient des routes avec des masques plus précis
Chapter 6 61 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Les routes par Défaut § Il est important de contrôler les routes envoyées par BGP
car elles ont un scope global § Une route par défaut annoncée par erreur peut se
transformer en une passerelle pour tous les AS voisins ! § Pour éviter ces erreurs, l'IOS permet de cibler les voisins
qui reçoivent les routes par défaut:
RTC(config)#router bgp 3
RTC(config-router)#neighbor 172.16.20.1 remote-as 1
RTC(config-router)#neighbor 172.16.20.1 default-originate
Chapter 6 62 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Nettoyage d'une session BGP § BGP ne met à jour que les informations qui ont réellement
changé § Le "timeout" peut être assez long § Deux méthodes permettent de redémarrer la connexion
• Hard reset • Soft reset
Chapter 6 63 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Hard Reset § Redémarrer toutes les connexions BGP indiquées
Router#
clear ip bgp {* | neighbor-address}
§ Toute la base d'informations est perdue § BGP doit tout réapprendre § NE JAMAIS FAIRE CECI DANS UN ENVIRONNEMENT
DE PRODUCTION
Chapter 6 64 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Soft Reset § Redémarre les connexions sans perte de données
Router#
clear ip bgp {* | neighbor-address} [soft [in|out] ]
§ Cette commande mantient les connexions et ne perd pas les données • Seulement, il génère des nouveaux paquets de mise à jour
Chapter 6 65 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Verifying and Troubleshooting BGP
Chapter 6 66 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Vérification et Dépannage
Command Description
show ip bgp Affiche les entrées dans la table BGP
show ip bgp neighbors Affiche des informations sur la connexion TCP et BGP avec les voisins
show ip bgp summary Affiche l'état des connexions
show ip bgp neighbors {address} advertised-routes
Affiche toutes les routes qui ont été annoncées par les voisins
show ip bgp rib-failure
Affiche les routes BGP qui n'ont pas été installées dans la RIB (routing information base), et la raison pour cela
debug ip bgp [dampening | events | keepalives | updates]
Chapter 6 67 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Vérification des routes reçues
Commande Description
show ip bgp neighbors {address} received-routes Affiche toutes les routes (acceptées ou pas)
show ip bgp neighbors {address} routes Affiche toutes les routes reçues et acceptées
show ip bgp Affiche les entrées dans la table de routage
show ip bgp neighbors {address} advertised-routes Affiche toutes les routes qui ont été annoncées
Chapter 6 68 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Comment vérifier la config BGP
• Si le routeur n'a pas installé les routes prévues, on peut utiliser la commande show ip bgp pour vérifier les routes que BGP a appris
RTA#show ip bgp BGP table version is 3, local router ID is 10.2.2.2 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 * i1.0.0.0 192.168.1.6 0 100 0 200 400 e *>i10.1.1.1/32 10.1.1.1 0 100 0 i *>i172.16.1.0/24 10.1.1.1 0 100 0 i * i192.168.1.32/27 192.168.1.6 0 100 0 200 i
Chapter 6 69 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
RouterC#show ip bgp BGP table version is 8, local router ID is 200.200.200.66 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 *> 11.0.0.0 0.0.0.0 0 32768 i *> 12.0.0.0 200.200.200.65 0 300 200 i *> 192.10.2.0 200.200.200.65 0 0 300 i
• BGP table version – numéro de version interne, augmente à chaque update
• local router ID – adresse IP du routeur • Status codes – Statut des entrées dans la table s —l'entrée a été supprimée * —l'entrée est valide > —l'entrée est le meilleur chemin pour le réseau (path vector) i —l'entrée a été apprise par une session IBGP
show ip bgp
Chapter 6 70 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
RouterC#show ip bgp BGP table version is 8, local router ID is 200.200.200.66 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 *> 11.0.0.0 0.0.0.0 0 32768 i *> 12.0.0.0 200.200.200.65 0 300 200 i *> 193.10.2.0 200.200.200.65 0 0 300 i • Origin codes – L'origine des entrées :
– i — entrée originée d'un IGP – e — entrée originée d'un EGP – ? — entrée avec une origine non établie. Normalement est un routeur BGP
appris à partir d'un IGP • Network – adresse IP du réseau • Next Hop – adresse IP du prochain saut. Une entrée 0.0.0.0
indique que le routeur a une route non-BGP vers la destination
show ip bgp
Chapter 6 71 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
show ip bgp
RouterC#show ip bgp BGP table version is 8, local router ID is 200.200.200.66 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 *> 11.0.0.0 0.0.0.0 0 32768 i *> 12.0.0.0 200.200.200.65 0 300 200 i *> 193.10.2.0 200.200.200.65 0 0 300 i
• Metric – Si affichée, indique une métrique du système interautonome • LocPrf – Préférence locale, définie avec la commande set local-
preference. La valeur défaut est de 100 • Weight – Poids d'une route, définie par les filtres de l'AS • Path – Le chemin vers la destination
Chapter 6 72 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Les États BGP § BGP utilise une machine à états pour suivre la connexion
envers les voisins : • Idle • Connect • Open sent • Open confirm • Established
§ L'état Idle démarre lorsque la commande neighbor est configurée
Chapter 6 73 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
show ip bgp neighbors
R1# show ip bgp neighbors BGP neighbor is 172.31.1.3, remote AS 64998, external link BGP version 4, remote router ID 172.31.2.3 BGP state = Established, up for 00:19:10 Last read 00:00:10, last write 00:00:10, hold time is 180, keepalive interval is 60 seconds Neighbor capabilities: Route refresh: advertised and received(old & new) Address family IPv4 Unicast: advertised and received Message statistics: InQ depth is 0 OutQ depth is 0 Sent Rcvd Opens: 7 7 Notifications: 0 0 Updates: 13 38 <output omitted>
Chapter 6 74 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Manipulation des routes avec RouteMap
Chapter 6 75 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Route Maps et BGP § Dans les chapitres précédents nous avons vu l'utilisation
des route maps pour manipuler les politiques de routage : • Redistribute • ip policy route-map
§ Maintenant, nous allons utiliser les route-maps pour définir ou modifier des attributs BGP • neighbor route-map
Chapter 6 76 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
neighbor {ip-address | peer-group-name} route-map map-name {in | out}
Router(config-router)#
Implémentation des Route Maps avec BGP
route-map map-tag [permit | deny] [sequence-number] Router(config)#
match {criteria} Router(config-route-map)#
set {actions} Router(config-route-map)#
Chapter 6 77 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Options match utilisées avec BGP Command Description
match as-path Correspondance de l'atribut AS_PATH
match ip address Correspondance de toute route qui a comme destination l'adresse IP indiqué dans une ACL donnée
match metric Correspondance avec l'attribut MED (métrique)
match community Correspondance avec l'attribut COMMUNITY
match interface Correspondance avec toute route dont le prochain saut passe par l'interface donnée
match ip next-hop Correspondance avec toute route don't le prochain saut est indiqué dans l'ACL donnée
match ip route-source Correspondance avec toute liste dont la source est indiquée dans une ACL donnée
match tag Correspondance avec un tag de route
* Partial list
Chapter 6 78 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Commandes set utilisées avec BGP Command Description
set weight
set local-preference
set as-path Modifie l'AS_PATH
set origin Attribut ORIGIN
set metric MED
set community COMMUNITY
set automatic-tag Crée une TAG de manière automatique
set ip next-hop Indique le prochain saut des paquets
set interface Indique l'interface de sortie pour les paquets
set ip default next-hop Indique l'adresse IP de la sortie par défaut
set default interface Indique l'interface de la sortie par défaut
* Partial list
Chapter 6 79 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier le Weight § L'attribut weight est utilisé
uniquement si un routeur est multi-homed • Scope locale
§ Deux manières d'alterer le poids • Modifier le weight pour toute
route annoncée par un voisin • Utiliser les route-maps pour
changer le weight de certaines routes
BGP Route Selection Process 1. Prefer highest Weight 2. Prefer highest LOCAL_PREF 3. Prefer locally generated routes 4. Prefer shortest AS_PATH 5. Prefer lowest ORIGIN (IGP <
EGP < incomplete) 6. Prefer lowest MED 7. Prefer EBGP over IBGP 8. Prefer routes through closest
IGP neighbor 9. Prefer routes with lowest BGP
router ID 10. Prefer routes with lowest
neighbor IP address
Chapter 6 80 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier le Weight par défaut
Router(config-router)#
neighbor {ip-address | peer-group-name} weight number
§ Les routes apprises par un voisin auront un weight par défaut de 0 et les routes annoncées par le routeur local une valeur par défaut 32768
Chapter 6 81 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier le Weight avec les route maps
§ Dans cet exemple : • La politique de routage indique que pour toute route dont l'origine est l'AS
65020, il faut utiliser le path à travers AS 65030 pour la sortie de AS 65040
• Si R1 doit accéder R3, il doit passer par R2. § Ceci peut être obtenu en mettant un weight plus important (150)
sur toute route annoncée par l'AS 65030 (10.0.0.1), dont les informations sur l'AS 65020.
Chapter 6 82 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier le Weight avec les route maps
R1(config)# route-map SET-WEIGHT permit 10 R1(config-route-map)# match as-path 10 R1(config-route-map)# set weight 150 R1(config-route-map)# R1(config-route-map)# route-map SET-WEIGHT permit 20 R1(config-route-map)# set weight 100 R1(config-route-map)# exit R1(config)# ip as-path access-list 10 permit _65020$ R1(config)# R1(config)# router bgp 65040 R1(config-router)# neighbor 10.0.0.1 remote-as 65030 R1(config-router)# neighbor 10.0.0.1 route-map SET-WEIGHT in
Chapter 6 83 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configurer une ACL pour un AS § Configurer un filtre pour le AS
Router(config-router)#
ip as-path access-list acl-number {permit | deny} regexp
§ Similaire à une ACL IP, celle-ci filtre par rapport à l'AS-PATH
§ Utilise des expressions régulières (regexp)
Chapter 6 84 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Syntaxe des expressions régulières § Atome : Un seul caractère
• . Correspond à tout caractère simple • ^ correspond au début de la chaîne • $ correspond à la fin de la chaîne • \ correspond au caractère
§ Pièce: l'un de ces symboles • * correspond à 0 ou plusieurs séquences d'atomes • + correspond à 0 ou plusieurs séquences d'atomes • ? Correspond à l'atome (ou null)
§ Branch : une ou plusieurs pièces concaténées § Range : Une séquence de caractères entre des crochets
• Exemple : [abcd]
Chapter 6 85 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemples d'Expressions régulières
Regular Expression Resulting Expression
a* Toute ocorrence de la lettre "a" (ou aucune)
a+ Au moins un caractère "a" doit être présent
ab?a Correspond à "aa" ou "aba"
_100_ Signifie "via AS100" (substring intermédiaire)
_100$ L'origine est l'AS100.
^100 .* Transmis par l'AS100 (le dernier à le retransmettre)
^$ L'origine est dans ce propre AS
Chapter 6 86 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier la préférence locale § La préférence locale est utilisée
à l'intérieur d'un AS (entre des routeurs IBGP) pour indiquer le meilleur point de sortie • Par défaut la valeur est 100
§ Deux manières de le modifier • Avec la commande bgp default local-preference value
• Avec des route-maps
BGP Route Selection Process 1. Prefer highest Weight 2. Prefer highest LOCAL_PREF 3. Prefer locally generated routes 4. Prefer shortest AS_PATH 5. Prefer lowest ORIGIN (IGP <
EGP < incomplete) 6. Prefer lowest MED 7. Prefer EBGP over IBGP 8. Prefer routes through closest
IGP neighbor 9. Prefer routes with lowest BGP
router ID 10. Prefer routes with lowest
neighbor IP address
Chapter 6 87 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier LOCAL_PREF
§ La politique BGP à implémenter : • La préférence par défaut dans toutes les routes de R1 doit être 200 • La préférence par défaut dans toutes les routes de R2 doit être 500
Chapter 6 88 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale par défaut
§ Avec cette configuration, les routeurs IBGP dans AS 65001 envoient le trafic vers R2, et le lien R1 est sous-utilisé • Avec route-maps nous pouvons équilibrer ce trafic
R2(config)# router bgp 65001 R2(config-router)# bgp default local-preference 500 R2(config-router)#
R1(config)# router bgp 65001 R1(config-router)# bgp default local-preference 200 R1(config-router)#
Chapter 6 89 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
§ Dans cet exemple, toutes les routes BGP ont un weight 0 et une préférence locale 100 • BGP utilise le plus court AS-PATH pour choisir la route :
• pour 172.16.0.0, le chemin passe par ISP1. • pour 172.24.0.0, le chemin passe par ISP2. • pour 172.30.0.0, le chemin passe par ISP2.
Chapter 6 90 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
R3# show ip bgp BGP table version is 7, local router ID is 192.168.3.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r
RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i *>i 192.168.28.1 100 0 65002 65003 i *>i172.24.0.0 172.20.50.1 100 0 65005 i * i 192.168.28.1 100 0 65002 65003 65004 65005 i *>i172.30.0.0 172.20.50.1 100 0 65005 65004 i * i 192.168.28.1 100 0 65002 65003 65004i
Chapter 6 91 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
§ L'analyse du trafic indique : • 10% du trafic passe entre R1 et ISP1 vers 172.16.0.0. • 50% of du trafic passe entre R2 et ISP2 vers 172.24.0.0 et
172.30.0.0. • Les autres 40% vont vers d'autres destinations
§ Avec des route-maps, nous pouvons diriger le trafic vers 172.30.0.0 à travers R1
Chapter 6 92 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
R1(config)# access-list 65 permit 172.30.0.0 0.0.255.255 R1(config)# R1(config)# route-map LOCAL_PREF permit 10 R1(config-route-map)# match ip address 65 R1(config-route-map)# set local-preference 400 R1(config-route-map)# R1(config-route-map)# route-map LOCAL_PREF permit 20 R1(config-route-map)# exit R1(config)#
Chapter 6 93 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
R1(config)# router bgp 65001 R1(config-router)# neighbor 192.168.2.2 remote-as 65001 R1(config-router)# neighbor 192.168.2.2 update-source loopback0 R1(config-router)# neighbor 192.168.3.3 remote-as 65001 R1(config-router)# neighbor 192.168.3.3 update-source loopback0 R1(config-router)# neighbor 192.168.28.1 remote-as 65002 R1(config-router)# neighbor 192.168.28.1 route-map LOCAL_PREF in R1(config-router)# exit R1(config)#
Chapter 6 94 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Préférence locale et les route-maps
R3# show ip bgp BGP table version is 7, local router ID is 192.168.3.3 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, r
RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * i172.16.0.0 172.20.50.1 100 0 65005 65004 65003 i *>i 192.168.28.1 100 0 65002 65003 i *>i172.24.0.0 172.20.50.1 100 0 65005 i * i 192.168.28.1 100 0 65002 65003 65004 65005 i * i172.30.0.0 172.20.50.1 100 0 65005 65004 i *>i 192.168.28.1 400 0 65002 65003 65004i
Chapter 6 95 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modifier l'AS-PATH § Par défaut, BGP utilise le plus
court AS_PATH (si aucun autre attribut prioritaire est utilisé)
§ Pour influencer le chemin, nous pouvons allonger l'AS_PATH afin de le rendre plus long
BGP Route Selection Process 1. Prefer highest Weight 2. Prefer highest LOCAL_PREF 3. Prefer locally generated routes 4. Prefer shortest AS_PATH 5. Prefer lowest ORIGIN (IGP <
EGP < incomplete) 6. Prefer lowest MED 7. Prefer EBGP over IBGP 8. Prefer routes through closest
IGP neighbor 9. Prefer routes with lowest BGP
router ID 10. Prefer routes with lowest
neighbor IP address
Chapter 6 96 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modification de l'AS-PATH
§ Ici, la politique BGP indique : • Le trafic venant de l'AS 65040 doit être redirigé vers R6 (AS 65030) et
pas sur R4(AS 65010).
§ Nous pouvons obtenir cet effet en faisant R1 annoncer les routes de l'AS 65040 avec un AS_PATH moins intéressant
Chapter 6 97 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Modification de l'AS-PATH
R1(config)# route-map SET-AS-PATH permit 10 R1(config-route-map)# set as-path prepend 65040 65040 65040 R1(config-route-map)# exit R1(config)# router bgp 65040 R1(config-router)# neighbor 172.16.1.1 remote-as 65010 R1(config-router)# neighbor 172.16.1.1 route-map SET-AS-PATH out R1(config-router)# exit R1(config)#
Chapter 6 98 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Définir un MED § Le MED est utilisé pour
suggérer un chemin d'entrée lorsque plusieurs chemins existen • Préférence aux MED plus
petits
• Par défaut la valeur est 0
§ Le MED est analysé très tard
BGP Route Selection Process 1. Prefer highest Weight 2. Prefer highest LOCAL_PREF 3. Prefer locally generated routes 4. Prefer shortest AS_PATH 5. Prefer lowest ORIGIN (IGP <
EGP < incomplete) 6. Prefer lowest MED 7. Prefer EBGP over IBGP 8. Prefer routes through closest
IGP neighbor 9. Prefer routes with lowest BGP
router ID 10. Prefer routes with lowest
neighbor IP address
Chapter 6 99 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
MED et les route-maps
R1(config)# access-list 66 permit 192.168.25.0 0.0.0.255 R1(config)# access-list 66 permit 192.168.26.0 0.0.0.255 R1(config)# R1(config)# route-map MED-65004 permit 10 R1(config-route-map)# match ip address 66 R1(config-route-map)# set metric 100 R1(config-route-map)# R1(config-route-map)# route-map MED-65004 permit 100 R1(config-route-map)# set metric 200 R1(config-route-map)# exit R1(config)#
Chapter 6 100 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
MED et les route-maps
R1(config)# router bgp 65001 R1(config-router)# neighbor 192.168.2.2 remote-as 65001 R1(config-router)# neighbor 192.168.2.2 update-source loopback0 R1(config-router)# neighbor 192.168.3.3 remote-as 65001 R1(config-router)# neighbor 192.168.3.3 update-source loopback0 R1(config-router)# neighbor 192.168.28.1 remote-as 65004 R1(config-router)# neighbor 192.168.28.1 route-map MED-65004 out R1(config-router)#exit
Chapter 6 101 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
MED et les route-maps
R2(config)# access-list 66 permit 192.168.24.0 0.0.0.255 R2(config)# R2(config)# route-map MED-65004 permit 10 R2(config-route-map)# match ip address 66 R2(config-route-map)# set metric 100 R2(config-route-map)# R2(config-route-map)# route-map MED-65004 permit 100 R2(config-route-map)# set metric 200 R2(config-route-map)# exit R2(config)#
Chapter 6 102 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
MED et les route-maps
R2(config)# router bgp 65001 R2(config-router)# neighbor 192.168.1.1 remote-as 65001 R2(config-router)# neighbor 192.168.1.1 update-source loopback0 R2(config-router)# neighbor 192.168.3.3 remote-as 65001 R2(config-router)# neighbor 192.168.3.3 update-source loopback0 R2(config-router)# neighbor 172.20.50.1 remote-as 65004 R2(config-router)# neighbor 172.20.50.1 route-map MED-65004 out R2(config-router)# exit R2(config)#
Chapter 6 103 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
MED et les route-maps
ISP3# show ip bgp BGP table version is 7, local router ID is 192.168.1.1 Status codes: s suppressed, d damped, h history, * valid, > best, i -
internal, r RIB-failure, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path *>i192.168.24.0 172.20.50.2 100 100 0 65001 i * i 192.168.28.2 200 100 0 65001 i * i192.168.25.0 172.20.50.2 200 100 0 65001 i *>i 192.168.28.2 100 100 0 65001 i * i192.168.26.0 172.20.50.2 200 100 0 65001 i *>i 192.168.28.2 100 100 0 65001 i
Chapter 6 104 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Filtrage de BGP
Chapter 6 105 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Filtrage des routes BGP § BGP peut recevoir un nombre très important de routes lors
des mises à jour • Pour optimiser l'installation de BGP, il faut filtrer ces routes
§ Le filtrage inclut : • Filter lists • Prefix lists • Route maps
Chapter 6 106 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Appliquer une ACL dans BGP
§ Il est possible d'appliquer une ACL avec l'option filter-list lors de l'établissement d'un voisinage Router(config-router)#
neighbor {ip-address | peer-group-name} filter-list access-list-number {in | out}
Parameter Description
ip-address IP address of the BGP neighbor.
peer-group-name Name of a BGP peer group.
access-list-number
Number of an AS-path access list.
in Access list is applied to incoming routes.
out Access list is applied to outgoing routes.
Chapter 6 107 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Configure a Prefix List § Define a prefix list.
Router(config)#
ip prefix-list {list-name | list-number} [seq seq-value] {deny | permit} network/length [ge ge-value] [le le-value]
Parameter Description
list-name The name of the prefix list that will be created (it is case sensitive).
list-number The number of the prefix list that will be created.
seq seq-value A 32-bit sequence number of the prefix-list statement. Default sequence numbers are in increments of 5 (5, 10, 15, and so on).
deny | permit The action taken when a match is found.
network / length
The prefix to be matched and the length of the prefix. The network is a 32-bit address; the length is a decimal number.
ge ge-value (Optional) The range of the prefix length to be matched. The range is assumed to be from ge-value to 32 if only the ge attribute is specified.
le le-value (Optional) The range of the prefix length to be matched. The range is assumed to be from length to le-value if only the le attribute is specified.
Chapter 6 108 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Filtrage avec des Prefix-lists § Avant d'appliquer les prefix-list, il faut les créer avec § ip prefix-list {list-name | list-number} [seq seq-value] {deny | permit} network/length [ge ge-value] [le le-value]
Router(config-router)#
neighbor {ip-address | peer-group-name} prefix-list prefix-list-name {in | out}
Parameter Description
ip-address IP address of the BGP neighbor.
peer-group-name Name of a BGP peer group.
prefix-list-name Name of a prefix list.
in Prefix list is applied to incoming advertisements.
out Prefix list is applied to outgoing advertisements.
Chapter 6 109 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Exemple avec des prefix-list
R1(config)# ip prefix-list ANY-8to24-NET permit 0.0.0.0/0 ge 8 le 24 R1(config)# router bgp 65001 R1(config-router)# neighbor 172.16.1.2 remote-as 65002 R1(config-router)# neighbor 172.16.1.2 prefix-list ANY-8to24-NET in R1(config-router)# end R1# R1# show ip prefix-list detail ANY-8to24-NET ip prefix-list ANY-8to24-NET: Description: test-list count: 1, range entries: 1, sequences: 10 - 10, refcount: 3 seq 10 permit 0.0.0.0/0 ge 8 le 24 (hit count: 0, refcount: 1)
AS 65002
R2
172.16.1.0/24 .1
R1
AS 65001
.2
172.16.10.0
Chapter 6 110 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Filtrage avec Route Maps
R1(config)# ip as-path access-list 10 permit _65387$ R1(config)# ip prefix-list DEF-ONLY seq 10 permit 0.0.0.0/0 R1(config)# R1(config)# route-map FILTER permit 10 R1(config-route-map)# match ip address prefix-list DEF-ONLY R1(config-route-map)# match as-path 10 R1(config-route-map)# set weight 150 R1(config-route-map)# R1(config-route-map)# route-map FILTER permit 20 R1(config-route-map)# match ip address prefix-list DEF-ONLY R1(config-route-map)# set weight 100 R1(config-route-map)# exit
Chapter 6 111 © 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public
Filtrage avec Route Maps
R1(config)# router bgp 65213 R1(config-router)# neighbor 10.2.3.4 remote-as 65527 R1(config-router)# neighbor 10.2.3.4 route-map FILTER in R1(config-router)# neighbor 10.4.5.6 remote-as 65387 R1(config-router)# neighbor 10.4.5.6 route-map FILTER in R1(config-router)#