Вы находитесь на странице: 1из 111

Chapitre 6 :

BGP

CCNP ROUTE: Implementing IP Routing

ROUTE v6 Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 1
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 2
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 3
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 4
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 5
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 6
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 7
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 8
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 9
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 10
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 11
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 12
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 13
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 14
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 15
Type 2 : BGP Keepalive

•  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)

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 16
Type 3 : Update

•  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

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 17
Type 4 : Notification

•  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)

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 18
Attributes
§  Parmi les attributs, certains sont obligatoires, mais d'autres
peuvent être inclus
Attribute EBGP IBGP
Well-known
AS_PATH Well-known Mandatory
Mandatory
Well-known Toujours inclus
NEXT_HOP Well-known Mandatory dans les
Mandatory
messages
Well-known
ORIGIN Well-known Mandatory
Mandatory

LOCAL_PREF Not allowed Well-known Discretionary

ATOMIC_AGGREGATE Well-known Discretionary Well-known Discretionary


Peuvent
renseigner
Optional des données
AGGREGATOR Optional Transitive
Transitive pour le filtrage
Optional
COMMUNITY Optional Transitive
Transitive
Optional
MULTI_EXIT_DISC Optional Nontransitive
Nontransitive
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 19
Attributs
§  Les attributs se divisent en 4 grands groupes
•  Certains attributs ne sont pas reconnus par tous les fabricants

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 20
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 21
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 22
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 23
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 24
Well-Known Mandatory : ORIGIN
R1# show ip bgp i = route crée par la
BGP table version is 24, local router ID is 172.16.1.2 commande
network
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>
? = Route crée par
une méthode
inconnue
(redistribution, en
général)

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 25
Well-Known Discretionary
§  Ces attributs sont reconnus par toute implémention BGP
mais peuvent ne pas faire partie des mises à jour

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 26
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 27
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 28
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 29
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 30
Optional Transitive : Community
§  L'attribut COMMUNITY peut être utilisé pour filtrer les
routes entrantes ou sortantes
•  C'est équivalent à un tag

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 31
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 32
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 33
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 34
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 35
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 36
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 37
Le processus de sélection des routes BGP
•  Plus grand poids (WEIGHT) •  Routes avec le plus petit MED

•  Préférence à des routes EBGP par


•  Plus grande LOCAL_PREF rapport aux routes IBGP

•  Les routes qui passent par le voisin


IGP le plus proche
•  Routes crées localement (network
ou agrégées)

•  Les routes EBGP les plus anciennes

•  Routes avec le plus court AS-PATH


•  Les routes qui passent par le routeur
avec l'ID BGP le plus petit

•  Routes avec l'ORIGIN


(IGP<EGP<incomplete) •  Les routes qui passent par le voisin
avec l'adresse IP la plus petite

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 38
Configuration de
BGP

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 39
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
Chapter 6 –  alors un routeur n'appartient qu'à un seul AS
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 40
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 41
Configurer BGP

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

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 42
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 43
Exemple : La commande BGP neighbor

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 44
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 45
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 46
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 47
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
Router(config-router)#
neighbor ip-address peer-group peer-group-name

•  Le peer-group-name doit exister déjà au moment de l'attribution

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 48
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 49
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 50
§  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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 51
§  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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 52
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 53
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 54
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 55
Exemple – BGP dual homed

AS 65102 EBGP AS 65101


192.168.1.17 /28 192.168.1.18 /28

R1 R2
192.168.1. 33 /28 EBGP 192.168.1. 34 /28
Lo0 172.17.1.1 Lo0 172.16.1.1

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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 56
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 57
Next Hop Self Example
AS 65101 AS 65102
AS 65100 10.1.1.0/24
.1 .2
172.16.1.1 192.168.1.1
EIGRP
R1 R2 R3 R4
.1 .2
10.2.2.0/24

Lo0 192.168.2.2 Lo0 192.168.3.3

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)#

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 58
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 59
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 60
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 61
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 62
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 63
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 64
Verifying and
Troubleshooting
BGP

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 65
Vérification et Dépannage
Command Description

show ip bgp Affiche les entrées dans la table BGP

Affiche des informations sur la connexion TCP et BGP avec


show ip bgp neighbors
les voisins

show ip bgp summary Affiche l'état des connexions

show ip bgp neighbors


Affiche toutes les routes qui ont été annoncées par les
{address} advertised-
routes voisins

show ip bgp rib- Affiche les routes BGP qui n'ont pas été installées dans la
failure RIB (routing information base), et la raison pour cela
debug ip bgp
[dampening | events |
keepalives | updates]

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 66
Vérification des routes reçues
Commande Description
show ip bgp neighbors
Affiche toutes les routes (acceptées ou pas)
{address} received-routes
show ip bgp neighbors
Affiche toutes les routes reçues et acceptées
{address} routes

show ip bgp Affiche les entrées dans la table de routage

show ip bgp neighbors


Affiche toutes les routes qui ont été annoncées
{address} advertised-routes

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 67
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 68
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
*> 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
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 69
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

•  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
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 70
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 71
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 72
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 73
Manipulation des
routes avec
RouteMap

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 74
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 75
Implémentation des Route Maps avec BGP
Router(config)#
route-map map-tag [permit | deny] [sequence-number]

Router(config-route-map)#
match {criteria}

Router(config-route-map)#
set {actions}

Router(config-router)#
neighbor {ip-address | peer-group-name} route-map map-name
{in | out}

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 76
Options match utilisées avec BGP
Command Description

match as-path Correspondance de l'atribut AS_PATH

Correspondance de toute route qui a comme destination l'adresse IP


match ip address
indiqué dans une ACL donnée

match metric Correspondance avec l'attribut MED (métrique)

match community Correspondance avec l'attribut COMMUNITY

Correspondance avec toute route dont le prochain saut passe par


match interface
l'interface donnée
Correspondance avec toute route don't le prochain saut est indiqué
match ip next-hop
dans l'ACL donnée
Correspondance avec toute liste dont la source est indiquée dans
match ip route-source
une ACL donnée

match tag Correspondance avec un tag de route

* Partial list
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 77
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-
Indique l'adresse IP de la sortie par défaut
hop
set default
Indique l'interface de la sortie par défaut
interface
* Partial list

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 78
Modifier le Weight
§  L'attribut weight est utilisé BGP Route Selection Process
uniquement si un routeur 1.  Prefer highest Weight
est multi-homed 2.  Prefer highest LOCAL_PREF
•  Scope locale 3.  Prefer locally generated routes
4.  Prefer shortest AS_PATH
§  Deux manières d'alterer le
5.  Prefer lowest ORIGIN (IGP <
poids EGP < incomplete)
•  Modifier le weight pour toute 6.  Prefer lowest MED
route annoncée par un voisin
7.  Prefer EBGP over IBGP
•  Utiliser les route-maps pour
8.  Prefer routes through closest
changer le weight de certaines
IGP neighbor
routes
9.  Prefer routes with lowest BGP
router ID
10.  Prefer routes with lowest
neighbor IP address

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 79
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 80
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 81
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 82
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 83
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 84
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 85
Modifier la préférence locale
§  La préférence locale est utilisée BGP Route Selection Process
à l'intérieur d'un AS (entre des 1.  Prefer highest Weight
routeurs IBGP) pour indiquer le 2.  Prefer highest LOCAL_PREF
meilleur point de sortie
3.  Prefer locally generated routes
•  Par défaut la valeur est 100
4.  Prefer shortest AS_PATH
§  Deux manières de le modifier
5.  Prefer lowest ORIGIN (IGP <
•  Avec la commande bgp EGP < incomplete)
default local-preference
value 6.  Prefer lowest MED
•  Avec des route-maps 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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 86
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 87
Préférence locale par défaut

R1(config)# router bgp 65001


R1(config-router)# bgp default local-preference 200
R1(config-router)#

R2(config)# router bgp 65001


R2(config-router)# bgp default local-preference 500
R2(config-router)#

§  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

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 88
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 89
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 90
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 91
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 92
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 93
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 94
Modifier l'AS-PATH
§  Par défaut, BGP utilise le plus BGP Route Selection Process
court AS_PATH (si aucun autre 1.  Prefer highest Weight
attribut prioritaire est utilisé) 2.  Prefer highest LOCAL_PREF
§  Pour influencer le chemin, nous 3.  Prefer locally generated routes
pouvons allonger l'AS_PATH
4.  Prefer shortest AS_PATH
afin de le rendre plus long
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 95
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 96
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 97
Définir un MED
BGP Route Selection Process
§  Le MED est utilisé pour
1.  Prefer highest Weight
suggérer un chemin
2.  Prefer highest LOCAL_PREF
d'entrée lorsque plusieurs 3.  Prefer locally generated routes
chemins existen 4.  Prefer shortest AS_PATH
•  Préférence aux MED plus 5.  Prefer lowest ORIGIN (IGP <
EGP < incomplete)
petits
6.  Prefer lowest MED
•  Par défaut la valeur est 0
7.  Prefer EBGP over IBGP
§  Le MED est analysé très 8.  Prefer routes through closest
IGP neighbor
tard
9.  Prefer routes with lowest BGP
router ID
10.  Prefer routes with lowest
neighbor IP address

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 98
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 99
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 100
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 101
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 102
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 103
Filtrage de BGP

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 104
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 105
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 of an AS-path access list.
number
in Access list is applied to incoming routes.

out Access list is applied to outgoing routes.

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 106
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.
A 32-bit sequence number of the prefix-list statement.
seq seq-value
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 / The prefix to be matched and the length of the prefix.
length The network is a 32-bit address; the length is a decimal number.

(Optional) The range of the prefix length to be matched.


ge ge-value The range is assumed to be from ge-value to 32 if only the ge attribute is
specified.
(Optional) The range of the prefix length to be matched.
le le-value The range is assumed to be from length to le-value if only the le
attribute is specified.
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 107
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 108
Exemple avec des prefix-list
AS 65001 AS 65002

.1 172.16.1.0/24
.2
R1 R2
172.16.10.0

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)
Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 109
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
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 110
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)#

Chapter 6
© 2007 – 2010, Cisco Systems, Inc. All rights reserved. Cisco Public 111

Вам также может понравиться