Vous êtes sur la page 1sur 84

Le protocole de routage BGP

Franck SIMON GIP RENATER

Sommaire
Introduction aux protocoles de routage Classification . 3 Introduction BGP .. 4-5 Intrts/Objectifs de BGP 6-7 Fonctionnement de BGP 8-10 Illustration de BGP : iBGP & eBGP .. 11 Processus (trs) simplifi de dcision BGP . 12-14 Activation de BGP sur un routeur 15-19 Activation de BGP4+ sur un routeur . 20 Activation de BGP Multicast sur un routeur 21 Annoncer des rseaux avec BGP . 22-30 Route-map ..31-33 Interface de Loopback . 34-36 eBGP multihop .. 37-38 Processus dtaill de dcision BGP Principaux critres .. 39 Processus de dcision BGP Paramtre AS-path . 40-42 Processus de dcision BGP Paramtre Origin . 41 Processus de dcision BGP Paramtre next-hop .. 43-44 Processus de dcision BGP Paramtre weight 46-50 Processus de dcision BGP Paramtre local-preference ... 52-53 Processus de dcision BGP Paramtre metric . 54-56 Processus de dcision BGP Paramtre community .. 57-58 Processus de dcision BGP Paramtre distance . 59-60 Processus dtaill de dcision BGP Algorithme .. 61-62 Filtrage BGP 63 Filtrage BGP bas sur les rseaux . 64-65 Filtrage BGP bas sur les AS-paths .. 66-70 Filtrage BGP bas sur les communauts 71 Peer-group 72-75 Confdration BGP . 76-78 Route reflector . 79-82 Glossaire ..83-84

Introduction aux protocoles de routage Classification


Deux grandes familles de protocoles de routage Les protocoles intrieurs ou internes (IGP : Interior Gateway Protocol) : utiliss entre routeurs dun mme rseau RIP IGRP, EIGRP OSPF, IS-IS Les protocoles extrieurs ou externes (EGP : Exterior Gateway Protocol) : utiliss pour les interconnexions de rseaux distincts ou systmes autonomes EGP, BGP

Introduction BGP
Le protocole BGP permet dtablir un routage inter-domaine entre deux systmes autonomes, sans boucle de routage. Un systme autonome est dfini par un numro dAS (Autonomous System). Un AS peut dsigner un ou plusieurs routeurs dpendants dune mme entit administrative/technique. Un numro dAS est compris entre 1 et 65535: Numros publics/officiels : 164511 Numros privs : 6451265535 Une session BGP tablie entre deux routeurs dun mme AS est une session iBGP (Interior BGP) tandis quune session tablie entre deux routeurs dAS diffrents est une session eBGP (Exterior BGP).

Introduction BGP
BGP est LE PROTOCOLE officiel pour linterconnexion des rseaux doprateurs : BGP4 pour IPv4 BGP4+ pour IPv6 MBGP pour le Multicast Note: lorigine, MBGP signifie Multiprotocol BGP, et non pas Multicast BGP. Mais, lusage a fait que MBGP est maintenant utilis pour dsigner les extensions Multicast de BGP, tandis que MP-BGP est utilis pour MultiProtocol BGP (MP-BGP tant en outre dsormais un terme couramment utilis pour dsigner les extensions MPLS de BGP).

Intrts/Objectifs de BGP
Indpendance vis--vis des protocoles IGP : les routeurs dun mme AS peuvent utiliser plusieurs IGP diffrents pour changer entre eux des informations de routage, et un EGP pour router les paquets lextrieur de lAS. Pouvoir changer du trafic entre entits indpendantes : oprateurs, rseaux de collectes, gros sites mono ou multiconnects (multi-homing) souhaitant matriser leur politique de routage vis--vis de lextrieur. Avoir un protocole de routage minimisant le trafic induit sur les liaisons : seul le diffrentiel est transmis lors des changes BGP entre deux routeurs.

Intrts/Objectifs de BGP
Avoir un protocole de routage minimisant la taille des tables de routage manipuler : possibilit dagrger les tables de routage via le protocole CIDR (Classless Inter-Domain Routing). Donner une bonne stabilit au routage : viter les boucles de routage possibilit dliminer temporairement de la table de routage des rseaux considrs comme instables (route flap) en terme daccessibilit en y associant un compteur de pnalits (via une politique de dampening). Note: le dampening est dsactivable sur un routeur BGP via la commande : no bgp dampening Remarque : lutilisation de dampening est nanmoins de plus en plus conteste cause des effets de bords associs. Avoir un protocole fonctionnant lchelle de lInternet (scalableprotocol).
7

Fonctionnement de BGP
Les routeurs BGP changent des informations quant la manire de joindre des rseaux (liste de lensemble des chemins, ou ASpaths, pouvant tre emprunts dans le but datteindre une destination donne). Il est bien sr possible de laisser le protocole BGP choisir systmatiquement les chemins considrs comme les meilleurs, mais il est galement possible dintervenir sur la politique de routage, de filtrer des rseaux ou des AS-paths, dappliquer des priorits sur certains AS-paths

Fonctionnement de BGP
BGP utilise TCP (Transfer Control Protocol) comme protocole de transport (port 179). Deux routeurs BGP tablissent une connexion TCP entre eux et changent des messages pour ouvrir et confirmer la connexion. Ces routeurs sont alors appels routeurs de peering (peers) ou voisins (neighbors). Les messages transmis lors de louverture de la session sont, entre autres, le numro dAS, la version de BGP, le routeur ID, la valeur de keepalive Ds acceptation par le voisin BGP de ces donnes, la session BGP est tablie.

Fonctionnement de BGP
Le routeur BGP conserve en mmoire un numro de version de la table BGP, numro identique pour tous les voisins BGP. Le numro de version change chaque modification de la table de routage. Des paquets keepalive sont envoys pour vrifier que la connexion est toujours bien tablie entre les voisins BGP. Des paquets de notification sont envoys en rponse des erreurs ou conditions spciales (ou lors des changements dans les tables de routage).

10

Illustration de BGP : iBGP & eBGP


AS 1
R1
eBGP

AS 2
R2

R3
iBGP eBGP

AS 3
R4
eBGP

R5

11

Processus (trs) simplifi de dcision BGP


Chaque routeur implmentant BGP manipule une table de routage contenant la liste des rseaux (ou destinations: blocs dadresses) pouvant tre joints, avec un ou plusieurs AS-path associs chaque rseau. Si une destination est joignable par plusieurs chemins, cest dabord lAS-path associ au rseau le plus explicite qui sera choisi, ensuite, sauf politique de routage spcifique, cest lASpath le plus court qui sera slectionn : plus il est court et moins on traverse dAS, donc de rseaux diffrents, et donc le temps de transit pour accder la destination est suppos tre court. Par dfaut le meilleur AS-path (appel best-path) sera choisi par le routeur, mais si un problme (panne par exemple) arrive sur ce chemin, automatiquement le routeur BGP recherche le nouveau best-path.

12

Processus (trs) simplifi de dcision BGP


Des fonctionnalits permettent de modifier la politique de routage utilise par dfaut par BGP pour la slection des chemins : possibilit dappliquer plusieurs types/niveaux de priorit un ASpath, indpendamment de la longueur de cet AS-path. En ultime recours, si deux AS-paths (ou plus) sont de mme longueur, et que tous les types/niveaux de priorit sont identiques, alors cest le voisin BGP qui a ladresse IP la plus basse qui est choisi.

13

Processus de dcision BGP Exemple


sh ip bgp 193.40.0.0 BGP routing table entry for 193.40.0.0/16, version 18525585 Paths: (4 available, best #1, table Default-IP-Routing-Table) Advertised to peer-groups: V4-IBGP-to-CLIENT-RR V4-EBGP-to-CLIENT-FULL Advertised to non peer-group peers: 193.51.178.12 195.154.252.10 20965 3221, (Received from a RR-client), (received & used) 62.40.103.53 (metric 3) from 193.51.178.11 (193.51.178.11) Origin IGP, localpref 350, valid, internal, best Community: 2200:20965 20965 3221, (received & used) 62.40.103.53 (metric 3) from 193.51.178.12 (193.51.178.12) Origin IGP, localpref 350, valid, internal Community: 2200:20965 Originator: 193.51.178.11, Cluster list: 195.220.98.17 5511 1299 20965 3221 193.51.185.1 from 193.51.185.1 (193.251.151.104) Origin IGP, metric 40, localpref 300, valid, external Community: 2200:5511 5511 1299 20965 3221, (received-only) 193.51.185.1 from 193.51.185.1 (193.251.151.104) Origin IGP, metric 10, localpref 100, valid, external Community: 5511:666 5511:710 5511:5511, mpls labels in/out unknown/exp-null => Le meilleur chemin est le #1 car il a une LOCALPREF de 350 (contre 300 et 100 pour les autres). Le chemin #2 est aussi connu avec une LOCALPREF de 350 et les AS-path 1 et 2 sont de mme longueur, par contre le chemin #1 est connu par un voisin BGP dont ladresse est plus basse (193.51.178.11 contre 193.51.178.12).

14

Activation de BGP sur un routeur Syntaxe


Dclaration dun routeur BGP : router bgp [numro dAS] Attention : par dfinition, un routeur BGP nappartient qu un seul AS, et il nest donc pas possible dutiliser plusieurs lignes de commande router bgp sur un mme quipement, par contre il est tout a fait possible de configurer, par exemple, plusieurs lignes de commande router ospf. Dclaration dun voisin BGP : neighbor [adresse IP du voisin] remote-as [numro dAS du voisin]

15

Activation de BGP sur un routeur Exemple


AS 1
193.49.1.1

AS 2
195.98.10.1 193.49.1.2

R3
195.98.40.1

R1

eBGP

R2

iBGP

R4

Note : les routeurs iBGP nont pas besoin dtre directement interconnects partir du moment o il y a un IGP les autorisant satteindre mutuellement, alors quil est trs frquent que deux routeurs eBGP soient directement interconnects.

Configuration routeur R1 router bgp 1 neighbor 193.49.1.2 remote-as 2 Configuration routeur R2 router bgp 2 neighbor 193.49.1.1 remote-as 1 neighbor 195.98.40.1 remote-as 2 Configuration routeur R4 router bgp 2 neighbor 195.98.10.1 remote-as 2

Session eBGP

Session eBGP Session iBGP

Session iBGP

16

Activation de BGP sur un routeur Conseils


Pour vrifier que les voisins BGP sont joignables il est conseill de faire un ping tendu entre les adresses IP respectives des voisins, de faon forcer le routeur do part le ping dutiliser comme source ladresse IP spcifie dans la commande neighbor plutt que ladresse IP de linterface do est issue le paquet ICMP. A chaque changement de configuration dune session BGP, il est conseill de faire un reset de la session BGP pour tre sr que les nouveaux paramtres sont bien pris en compte : clear ip bgp [adresse IP du voisin] [soft] Il est en outre conseill de vrifier ltat de la session BGP pour tre sr quelle est bien active : sh ip bgp neighbor [adresse IP du voisin] sh ip bgp neighbors sh ip bgp summary
17

Activation de BGP sur un routeur Conseils


Quand une session BGP vient dtre configure sur un routeur, il est aussi conseill de vrifier les rseaux annoncs au voisin BGP, et les rseaux reus de ce dernier : sh ip bgp nei [adresse IP du voisin] advertised-routes sh ip bgp nei [adresse IP du voisin] received-routes Attention : pour que les commandes advertised-routes et received-routes fonctionnent, il faut ajouter une ligne spcifique au niveau du peering BGP : neighbor [adresse IP du voisin] soft-reconfiguration inbound La commande suivante permet de vrifier les rseaux rellement appris dun voisin BGP ( diffrencier de la commande receivedroutes qui affiche les rseaux reus) : sh ip bgp nei [adresse IP du voisin] routes
18

Activation de BGP sur un routeur Conseils


Il est possible de scuriser la session BGP en y associant un mot de passe (il faut alors configurer le mme mot de passe sur les 2 routeurs BGP qui ont tabli un peering) : neighbor [adresse IP du voisin] password [type cryptage (07)] [mot de passe] Il est possible de fixer une limite sur le nombre de rseaux en provenance dun voisin BGP pour se protger dun voisin qui annoncerait - par erreur - un trs grand nombre de rseaux, mettant en pril le routeur qui reoit ces annonces si sa taille mmoire est limite (cela permet aussi dviter des problmes de routage, si un voisin qui habituellement envoie quelques rseaux, se met a envoyer du full-routing) : neighbor [adresse IP du voisin] maximum-prefix [nb maximum de prfixes autoriss] [paramtres facultatifs dont [valeur du pourcentage dalerte] [restart [frquence de redmarrage de la session BGP en cas de dpassement]] [warning-only]]

19

Activation de BGP4+ sur un routeur Syntaxe


Il faut, au pralable, activer le routage IPv6 sur lquipement, via la commande : ipv6 unicast-routing Il faut configurer une adresse IPv6 sur une interface, laquelle servira pour monter le peering BGP : interface [nom interface] ipv6 address [adresse IPv6] ipv6 enable Dclaration dun voisin BGP IPv6 : address-family ipv6 neighbor [adresse IPv6 du voisin] activate neighbor [adresse IPv6 du voisin] remote-as [numro dAS du voisin] exit-address-family
20

Activation de BGP Multicast sur un routeur Syntaxe


Il faut, au pralable, activer le routage Multicast sur lquipement, via la commande : ip multicast routing Dclaration dun voisin MBGP (IPv4) : address-family ipv4 multicast neighbor [adresse IP du voisin] activate neighbor [adresse IP du voisin] remote-as [numro dAS du voisin] exit-address family Pour plus dinfos sur le Multicast, voir : http://www.univ-valenciennes.fr/CRU/MBone http://www.univ-valenciennes.fr/CRU/MBone/canevas-config.html
21

Annoncer des rseaux avec BGP Syntaxe


Pour annoncer des rseaux via BGP, il faut utiliser la commande suivante : network [rseau] [mask [masque rseau]] Attention : la commande network naura deffet que si le rseau que lon cherche annoncer est soit connu du routeur par une interface directement connecte, soit appris de manire statique ou dynamique. Les rseaux annoncs via la commande network auront pour origine lAS du routeur sur lequel cette commande est applique. La commande network est utiliser dans la section router bgp [numro dAS].

22

Annoncer des rseaux avec BGP Exemple


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2
eBGP

R1

Rseaux clients 193.2.0.0/24 193.2.1.0/24

R2

193.49.1.1
Configuration routeur R1 router bgp 1

193.49.1.2

network 193.1.0.0 mask 255.255.255.0 network 193.1.1.0 mask 255.255.255.0 neighbor 193.49.1.2 remote-as 2 Configuration routeur R2 router bgp 2 network 193.2.0.0 mask 255.255.255.0 network 193.2.1.0 mask 255.255.255.0 neighbor 193.49.1.1 remote-as 1

23

Annoncer des rseaux avec BGP Redistribution


Plutt que de multiplier les commandes du type network, il peut tre souhaitable de pouvoir automatiquement rinjecter tout ou partie des rseaux dun IGP (RIP, IS-IS, OSPF) dans lEGP : cest la commande redistribute qui remplit ce rle. Il est aussi possible de rinjecter dans BGP des routes statiques, mais ces rseaux seront marqus avec une origine inconnue dans la table de routage (rseaux marqus ?).

24

Annoncer des rseaux avec BGP Redistribution


Attention : par dfaut, si aucun filtrage particulier nest configur sur le routeur eBGP, ce dernier va retransmettre ses voisins lintgralit des rseaux connus (en fait tous les best-paths) dans sa table de routage (protocole transitif). Do, par exemple, la ncessit pour ce routeur eBGP, de ne pas forcment tout rediffuser dautres voisins eBGP. La fonction distribute-list, associe la commande neighbor, remplit ce rle: neighbor [adresse IP du voisin] distribute-list [numro dACL] [in | out]

25

Annoncer des rseaux avec BGP Synchronisation


Une des rgles de BGP prcise quun routeur ne doit pas annoncer, ses voisins eBGP, de rseaux appris par des voisins iBGP par exemple, moins que ces rseaux ne soient galement propags au sein de lAS. Ce principe sappelle la synchronisationBGP. Il est possible de dsactiver la synchronisation BGP sur un routeur, surtout si un full-mesh iBGP est configur, garantissant ainsi que la destination reste joignable dans liBGP. Pour dsactiver la synchronisation, il faut appliquer la commande suivante dans la section router bgp [numro dAS]: no synchronisation

26

Annoncer des rseaux avec BGP Masques CIDR


BGP est un protocole classless, et il est possible dannoncer aussi bien des subnets que des supernets (en IPv4, un subnet correspond un masque CIDR > /24, un supernet correspond un masque < /24). Exemple : 193.1.0.0/25 193.1.0.0 193.1.0.127 => network 193.1.0.0 mask 255.255.255.128 subnet 193.1.0.0/24 193.1.0.0 193.1.0.255 net => network 193.1.0.0 mask 255.255.255.0 193.1.0.0/23 193.1.0.0 193.1.1.255 => network 193.1.0.0 mask 255.255.254.0 supernet

27

Annoncer des rseaux avec BGP Agrgation


Afin de ne pas surcharger inutilement les tables de routage, une fonctionnalit essentielle a t apporte par BGP4 : lagrgation. La commande de base pour crer un agrgat est aggregateaddress, commande utiliser dans la section router bgp [numro dAS]. Suivant les paramtres associs cette commande, les rsultats seront diffrents : aggregate-address [rseau] [masque rseau] => lagrgat sera annonc, et les rseaux explicites qui font partie de lagrgat et qui sont prsents dans la table de routage sont conservs, et seront donc galement annoncs aux autres voisins BGP. aggregate-address [rseau] [masque rseau] summaryonly => lagrgat sera annonc, mais les rseaux plus explicites vont tre supprims, et donc seul lagrgat sera annonc aux autres voisins BGP.
28

Annoncer des rseaux avec BGP Agrgation


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2
eBGP

R1

Rseaux clients 193.2.0.0/24 193.2.1.0/24

R2

R1 va annoncer les rseaux 193.1.0.0/24 193.1.1.0/24 193.1.0.0/23

R2 va annoncer uniquement le rseau 193.2.0.0/23 et pas 193.2.0.0/24 193.2.1.0/24

193.49.1.1
Configuration routeur R1 router bgp 1

193.49.1.2
SAN S AGREGATION Configuration routeur R1 router bgp 1 AVEC AGREGATION

network 193.1.0.0 mask 255.255.255.0 network 193.1.1.0 mask 255.255.255.0 neighbor 193.49.1.2 remote-as 2 Configuration routeur R2 router bgp 2 network 193.2.0.0 mask 255.255.255.0 network 193.2.1.0 mask 255.255.255.0 neighbor 193.49.1.1 remote-as 1

network 193.1.0.0 mask 255.255.255.0 network 193.1.1.0 mask 255.255.255.0 neighbor 193.49.1.2 remote-as 2 aggregate-address 193.1.0.0 255.255.254.0 Configuration routeur R2 router bgp 2 network 193.2.0.0 mask 255.255.255.0 network 193.2.1.0 mask 255.255.255.0 neighbor 193.49.1.1 remote-as 1 aggregate-address 193.2.0.0 255.255.254.0 summary-only

29

Annoncer des rseaux avec BGP Agrgation


aggregate-address [rseau] [masque rseau] ne supprime aucune route spcifique, et aggregate-address [rseau] [masque rseau] summary-onlysupprime tous les rseaux les plus spcifiques. Or, on peut vouloir supprimer une partie des rseaux spcifiques seulement lors de lagrgation, do la commande suivante qui consiste associer une route-map la commande aggregate-address : aggregate-address [rseau] [masque rseau] suppressmap [nom de la route-map]

30

Route-map Principes
Une route-map permet essentiellement de contrler et modifier des informations de routage, deffectuer des filtrages et dintervenir sur la politique de routage globale. Une route-map peut sappliquer sur des informations de routage aussi bien en entre (modifications des informations de routage reues dun voisin BGP) quen sortie (modifications des informations de routage avant transmission un voisin BGP). Au niveau eBGP, mettre en place une politique de routage spcifique prend surtout un sens quand le routeur sur lequel on cherche appliquer cette politique est connect de manire multiple dautres voisins, et que donc plusieurs chemins (AS-paths) sont possibles pour atteindre une destination.
31

Route-map Syntaxe
Syntaxe : route-map [nom de la route-map] [ [ permit | deny ] | [numro dinstance de la route-map] ] Plusieurs instances, portant alors des numros diffrents, peuvent tre associes une mme route-map. Le routeur excutera les diffrentes instances de la route-map du plus petit numro dinstance vers le plus grand. Exemple : 1er groupe de conditions, et actions route-map XXX permit 10 si conditions remplies route-map XXX permit 20 2eme groupe de conditions, si 1ere
conditions non remplies, et actions si nouvelles conditions remplies (note : les rseaux ne rpondant aucune condition ne sont pas redistribus)

32

Route-map Syntaxe
Une route-map est base sur le principe suivant : si CONDITION remplie (match) alors ACTION (set) Exemples de conditions possibles : match as-path match community match ip address match metric Exemple dactions possibles : set as-path set community set local-preference set metric

33

Interface de Loopback Principe


Rle initial dune interface de Loopback : sassurer que ladresse IP du voisin BGP reste UP indpendamment de ltat des interfaces physiques du routeur. Note: la stabilit de la session BGP dpend de la stabilit des adresses IP des voisins BGP. Les interfaces de Loopback sont souvent utilises pour les peerings iBGP lintrieur dun mme rseau : ces voisins ne sont pas forcment directement tous interconnects entre eux, mais on souhaite nanmoins que les routeurs se voient tous entre eux au sein de liBGP (iBGP ntant pas transitif). Il est rare que des voisins eBGP ne soient pas directement interconnects, do la possibilit dtablir le peering eBGP en utilisant directement les adresses IP des interfaces physiques de raccordement plutt quune interface de Loopback. Mais rien nempche dutiliser des adresses de Loopback, mme pour des voisins directement interconnects (surtout si ces voisins sont interconnects de manire multiple).
34

Interface de Loopback Syntaxe


Pour dclarer une interface de Loopback : interface loopback [numro de loopback] ip address [adresse IP de linterface] [masque] Pour dclarer un peering BGP en utilisant une interface de Loopback: neighbor [adresse IP du voisin] remote-as [numro dAS du voisin] neighbor [adresse IP du voisin] update-source loopback [numro de loopback]

35

Interface de Loopback & iBGP Exemple


AS 2
195.98.10.1

R3
195.98.40.1

R2
loopback 2 195.98.10.10
Configuration routeur R2 interface loopback 2 ip address 195.98.10.10 255.255.255.0 router bgp 2 neighbor 195.98.40.10 remote-as 2 neighbor 195.98.40.10 update-source loopback 2 Configuration routeur R4 router bgp 2 neighbor 195.98.10.1 remote-as 2

iBGP

R4
loopback 4 195.98.40.10
Configuration routeur R2 [idem] Configuration routeur R4

OU interface loopback 4
ip address 195.98.40.10 255.255.255.0 router bgp 2 neighbor 195.98.10.10 remote-as 2 neighbor 195.98.10.10 update-source loopback 4

36

eBGP multihop Exemple


AS 1
R1

eBGP
193.49.1.1

AS 2
R2

195.98.10.2

R3

195.98.10.1 193.49.1.2

Attention : le multihop nest utilis que pour eBGP, pas pour iBGP !

R4

Note : il faut aussi configurer un routage statique pour autoriser les voisins non directement connects se joindre mutuellement.

Configuration routeur R1 router bgp 1 neighbor 195.98.10.2 remote-as 2 neighbor 195.98.10.2 ebgp-multihop Configuration routeur R3 router bgp 2 neighbor 193.49.1.1 remote-as 1 neighbor 193.49.1.1 ebgp-multihop

37

Interface de Loopback & eBGP multihop Exemple


AS 1
R1
loopback 1 193.49.1.10
Configuration routeur R1 router bgp 1 neighbor 195.98.10.10 remote-as 2 neighbor 195.98.10.10 ebgp-multihop neighbor 195.98.10.10 update-source loopback 1 Configuration routeur R3 router bgp 2 neighbor 193.49.1.10 remote-as 1 neighbor 193.49.1.10 ebgp-multihop neighbor 193.49.1.10 update-source loopback 2

eBGP

AS 2
R2

R3

loopback 2 195.98.10.10

Attention : le multihop nest utilis que pour eBGP, pas pour iBGP ! Note : il faut aussi configurer un routage statique ou un IGP pour autoriser les voisins non directement connects se joindre mutuellement.

R4

38

Processus dtaill de dcision BGP Principaux critres


sh ip bgp 193.40.0.0 BGP routing table entry for 193.40.0.0/16, version 18525585 Paths: (4 available, best #1, table Default-IP-Routing-Table) Advertised to peer-groups: V4-IBGP-to-CLIENT-RR V4-EBGP-to-CLIENT-FULL Advertised to non peer-group peers: 193.51.178.12 195.154.252.10 20965 3221, (Received from a RR-client), (received & used) 62.40.103.53 (metric 3) from 193.51.178.11 (193.51.178.11) Origin IGP, localpref 350, valid, internal, best Community: 2200:20965 20965 3221, (received & used) 62.40.103.53 (metric 3) from 193.51.178.12 (193.51.178.12) Origin IGP, localpref 350, valid, internal Community: 2200:20965 Originator: 193.51.178.11, Cluster list: 195.220.98.17 5511 1299 20965 3221 193.51.185.1 from 193.51.185.1 (193.251.151.104) Origin IGP, metric 40, localpref 300, valid, external Community: 2200:5511 5511 1299 20965 3221, (received-only) 193.51.185.1 from 193.51.185.1 (193.251.151.104) Origin IGP, metric 10, localpref 100, valid, external Community: 5511:666 5511:710 5511:5511, mpls labels in/out unknown/exp-null

Lalgorithme de dcision BGP utilise, entre autres, les critres suivants : AS-path, origin, next-hop, local-preference, metric, community
39

Processus de dcision BGP Paramtre AS-path


Les routeurs BGP qui ont tabli des peerings entre eux schangent des informations de routage, au dmarrage de la session BGP, et chaque modification dinformations dans la table de routage (ex: modifications dinformations pour un rseau particulier, ajout, modifi ou supprim). A chaque fois quune information du style mise jour dun rseau traverse un AS, lAS en question est ajout linformation de routage transporte. Au fur et mesure que cette information progresse, dun routeur BGP lautre, le chemin dAS ainsi constitu sallonge : ce chemin est appel AS-path. Le dernier AS travers sera ainsi le premier AS apparatre dans lAS-path. Sauf spcification particulire, BGP va privilgier lAS-path le plus court pour le considrer comme le meilleur (bestpath).

40

Processus de dcision BGP Paramtre AS-path


Dans une table de routage BGP, pour un rseau donn, il existe alors un ou plusieurs AS-paths qui reprsentent les diffrents chemins connus par le routeur pour joindre ce rseau. Un routeur qui fait du full-routing connat lensemble des rseaux de lInternet et les diffrents AS-paths associs (actuellement environ 240000 routes/prfixes, nombre en volution constante). Attention : faire du full-routing ncessite une quantit de mmoire trs importante sur un routeur, et peut tre la source dune sollicitation importante de la CPU.

41

Processus de dcision BGP Paramtre AS-path


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2
eBGP

R1

Rseaux clients 193.2.0.0/24 193.2.1.0/24

AS 3
eBGP

R2

Rseaux clients 193.3.0.0/24 193.3.1.0/24

R3

eBGP

Note : afin dviter les boucles, un routeur eBGP nacceptera pas dun autre routeur les informations de routage qui ont pour origine son propre AS.

Dans lexemple ci-dessus, R1 a tabli un peering eBGP avec R2, R2 a tabli un peering eBGP avec R3, R1 a aussi tabli un peering eBGP avec R3, et on prend comme hypothse que R2 autorise le transit. Le routeur R1 connatra alors les AS-paths suivants : AS-path {3} pour joindre 193.3.0.0/24 et 193.3.1.0/24 (car peering direct entre R1 et R3) mais aussi AS-path {2 3} pour ces rseaux car R2 autorise le transit et les annonce R1. AS-path {2} pour joindre 193.2.0.0/24 et 193.2.1.0/24
42

Processus de dcision BGP Paramtre Origin


Le paramtre Origin dfini lorigine de linformation du chemin. Il peut avoir lune des valeurs suivantes, en fonction de la NLRI (Network Layer Reachability Information) : IGP : la NLRI vient de lAS dorigine (un i apparat dans linformation de routage). Note : un rseau annonc via la commande network ou via agrgation sera considr comme interne lAS. EGP : la NLRI est apprise par un EGP (un e apparat dans linformation de routage) Incomplete : la NLRI est inconnue (un ? apparat dans linformation de routage) (ex: une route statique redistribue dans BGP) Important : afin dviter les boucles, un routeur eBGP nacceptera pas les informations de routage qui ont pour origine son propre AS.
43

Processus de dcision BGP Paramtre next-hop


Le paramtre next-hop est ladresse IP du voisin qui va tre utilis pour joindre une destination donne. Pour eBGP, le next-hop est, par dfaut, ladresse IP du voisin spcifie dans la commande neighbor. Pour iBGP, le next-hop nest pas forcment le voisin directement connect, car iBGP considre que la valeur de next-hop annonce par eBGP doit tre transporte dans iBGP (donc valeur de next-hop non modifie). Il est possible de forcer BGP utiliser une adresse IP comme next-hop, plutt que de laisser le protocole dcider par luimme. Cest le paramtre next-hop-self, associ la commande neighbor, qui rempli ce rle : neighbor [adresse IP du voisin] next-hop-self

44

Processus de dcision BGP Paramtre next-hop


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2
eBGP

Rseaux clients 193.2.0.0/24 193.2.1.0/24

R1

R2
193.49.1.2

iBGP

R3

193.49.1.1

195.98.10.1

195.98.10.2

Dans lexemple ci-dessus : R1 va considrer que pour joindre les rseaux 193.2.0.0/24 et 193.2.1.0/24, son next-hop est 193.49.1.2 R2 va considrer que pour joindre les rseaux 193.1.0.0/24 et 193.1.1.0/24, son next-hop est 193.49.1.1 R3 va considrer que pour joindre les rseaux 193.1.0.0/24 et 193.1.1.0/24, son next-hop est 193.49.1.1 (et non pas 195.98.10.1).
45

Processus de dcision BGP Paramtre weight


Le paramtre weight (propritaire Cisco) est utilis pour la slection du meilleur chemin. Important : le paramtre weight reste interne au routeur BGP sur lequel il est configur, il nest jamais propag lors dun update BGP. A utiliser avec modration, car risque de routage asymtrique : un routeur R1 peut dcider dattribuer une valeur weight leve aux rseaux reus dun routeur R2, mais ce dernier peut dcider de ne pas accorder de priorit aux rseaux reus de R1. Il est prfrable dutiliser des techniques bases sur lAS-prepending (rptition dun mme AS pour allonger artificiellement lAS-path), les communauts BGP ou des metric. Pour une mme destination, les rseaux marqus avec la valeur weight la plus forte sont prfrs aux autres rseaux.
46

Processus de dcision BGP Paramtre weight


AS 1
R1
193.49.1.1

AS 2
eBGP

AS 3
R2
eBGP

R3
195.98.10.2

193.49.1.2

195.98.10.1

Il est possible de marquer tous les rseaux reus dun voisin BGP avec une valeur weight particulire : neighbor [adresse IP du voisin] weight [valeur weight] Dans lexemple ci-dessus, si R2 prfre systmatiquement R3 R1, voici la configuration possible de R2 :
Configuration routeur R2 router bgp 2 neighbor 193.49.1.1 remote-as 1 neighbor 193.49.1.1 weight 100 neighbor 195.98.10.2 remote-as 3 neighbor 195.98.10.2 weight 200

47

Processus de dcision BGP Paramtre weight


Il est aussi possible de marquer les rseaux reus dun voisin BGP avec une valeur weight donne, via une filter-list ou via une route-map, mais ces mthodes sont plutt utiliser si le but est de marquer avec une valeur weight une partie seulement des rseaux reus dun voisin, ou de marquer les rseaux reus avec des valeurs weight diffrentes en fonction de certains critres.

48

Processus de dcision BGP Paramtre weight


Utilisation de weight avec une filter-list : neighbor [adresse IP du voisin] filter-list [numro filter-list] weight [valeur weight] ip as-path access-list [numro filter-list] [permit | deny] [as-path] Utilisation de weight avec une route-map: neighbor [adresse IP du voisin] route-map [nom de la routemap] in ip as-path access-list [numro filter-list] [permit | deny] [as-path] route-map [nom de la route-map] [permit | deny] [numro dinstance de la route-map] match as-path [numro filter-list] set weight [valeur weight]
49

Processus de dcision BGP Paramtre weight


AS 1
193.50.1.1

AS 2
eBGP eBGP

AS 3
193.50.1.2

AS 4
R3
eBGP

R1
193.49.1.1

R2
193.49.1.2

R4

eBGP

Objectif : R1 prfre les rseaux annoncs par R2, plutt que ceux annoncs par R3, et R1 ne veut des rseaux clients de R4 que via R3 et pas via R2. Do la configuration de R1 base sur une filter-list :
Configuration routeur R1 router bgp 1 neighbor 193.49.1.2 remote-as 2 neighbor 193.49.1.2 filter-list 11 weight 200 neighbor 193.50.1.2 remote-as 3 neighbor 193.50.1.2 filter-list 22 weight 100 ip as-path access-list 11 permit ^2$ ip as-path access-list 22 permit ^3$ ip as-path access-list 22 permit ^3_4$

50

Processus de dcision BGP Paramtre weight


AS 1
193.50.1.1

AS 2
eBGP eBGP

AS 3
193.50.1.2

AS 4
R3
eBGP

R1
193.49.1.1

R2
193.49.1.2

R4

eBGP

Objectif : R1 prfre les rseaux annoncs par R2, plutt que ceux annonces par R3, et R1 ne veut des rseaux clients de R4 que via R3 et pas via R2. Do la configuration de R1 base sur une route-map :
Configuration routeur R1 router bgp 1 neighbor 193.49.1.2 remote-as 2 neighbor 193.49.1.2 route-map rm in neighbor 193.50.1.2 remote-as 3 neighbor 193.50.1.2 route-map rm in ip as-path access-list 11 permit ^2$ ip as-path access-list 22 permit ^3$ ip as-path access-list 22 permit ^3_4$ ip as-path access-list 33 permit .* route-map rm permit 10 match as-path 11 set weight 200 route-map rm permit 20 match as-path 22 set weight 100 route-map rm permit 30 match as-path 33

51

Processus de dcision BGP Paramtre local-preference


Le paramtre local-preference ou local-pref est utilis au sein dun AS pour prciser quel est le meilleur chemin pour sortir de lAS afin datteindre un rseau donn. Important : le paramtre local-pref est propag au sein dun mme AS lors dun update BGP. Pour une mme destination, les rseaux marqus avec la valeur local-pref la plus forte sont prfrs aux autres rseaux. La valeur de local-pref par dfaut est 100. Mais il est possible de modifier cette valeur et en appliquer une nouvelle : au niveau du routeur BGP, via la commande : bgp default local-preference [valeur local-pref] au niveau dun ou plusieurs peerings configurs sur ce routeur via une route-map, contenant la commande : set local-preference [valeur local-pref]
52

Processus de dcision BGP Paramtre local-preference


AS 1
R1
eBGP

AS 2
R21

R22

R23 R24
iBGP
local-pref 200

AS 3
eBGP

R3

local-pref 150

Rseau / destination X

Dans lexemple ci-dessus, les routeurs de lAS 2 peuvent joindre le rseau ou la destination X de plusieurs manires (via lAS 1 ou via lAS 3). Une local-preference est donc applique sur les rseaux appris de AS 1 et de AS 3 pour prioriser par exemple la porte de sortie via AS 3 quand lAS 2 veut joindre la destination X.
53

Processus de dcision BGP Paramtre metric


Le paramtre metric ou MED (Multi Exit Discriminator) a pour objectif de forcer un routeur externe un AS (routeur eBGP) de choisir un chemin particulier pour joindre un rseau de lAS, alors que ce routeur externe dispose de plusieurs chemins possibles pour cela. Important : la valeur du paramtre metric est change entre deux AS, mais nest ensuite pas retransmise par le routeur qui reoit linformation. Pour une mme destination, les rseaux marqus avec la valeur de metric la plus faible sont prfrs aux autres rseaux. La valeur de metric par dfaut est 0. Mais il est possible de modifier cette valeur et en appliquer une nouvelle : au niveau dun ou plusieurs peerings configurs sur ce routeur via une route-map, contenant la commande : set metric [valeur metric]

54

Processus de dcision BGP Paramtre metric


Attention : par dfaut, pour tablir le choix du meilleur chemin, BGP ne va comparer que les valeurs de MED au sein dun AS, et pas les valeurs de MED venant dun autre AS. Pour que BGP compare lensemble des valeurs de MED (y compris celles envoys par dautres AS) il faut activer la commande suivante sur le routeur : bgp always-compare-med

55

Processus de dcision BGP Paramtre metric


AS 1
R1

AS 2
eBGP
m etric 1 50

R21 R22

R23 R24

eBGP

metric 200

Dans lexemple ci-dessus, lAS2 est doublement interconnect lAS 1. LAS 2 peut donc dcider de forcer lAS 1 passer en priorit par lun des deux chemins (ici, en loccurrence par le chemin R1-R21 plutt que le chemin R1-R22). Remarque : si au lieu de dfinir un chemin principal et un chemin secondaire, on dcidait par exemple dopter pour un partage de charge on peut faire appel la fonctionnalit bgp multi-path qui consiste tablir autant de peering quil y a dinterconnexion et ajouter la commande maximum-paths [nombre de chemins] dans la section router bgp [numro dAS du voisin] (un partage est alors effectu en fonction des destinations).
56

Processus de dcision BGP Paramtre community


Le paramtre community ou communaut permet de rassembler dans un mme groupe plusieurs rseaux ou destinations et dy appliquer des dcisions de routage communes. On peut ainsi marquer des rseaux avec une communaut et y appliquer un traitement spcifique. Le plus pratique pour crer une communaut est dutiliser une route-map contenant la commande : set community [numro de communaut] [additive] Attention : si loption additive nest pas mentionne dans la commande, alors la communaut en question va craser les autres informations de communaut.

57

Processus de dcision BGP Paramtre community


Certaines communauts sont prdfinies, entre autres : Communaut no-export : ne pas r-annoncer des voisins eBGP Communaut no-advertise : ne pas r-annoncer du tout (ni eBGP, ni iBGP) Attention : par dfaut, mme si une communaut est cre, elle nest jamais diffuse aux voisins BGP. Pour diffuser une communaut, il faut utiliser la commande : neighbor [adresse IP du voisin] send-community

58

Processus de dcision BGP Paramtre distance


Plusieurs protocoles diffrents (IGP ou EGP) peuvent cohabiter sur un routeur, do la ncessit de prioriser certains protocoles par rapport dautres pour viter des confusions. Aussi, chaque protocole a un poids relatif qui est appel distance. Le routeur va accorder la priorit une information issue du protocole dont la valeur de distance est la plus faible. Valeurs de distance :
Protocole Directement connect Statique EBGP EIGRP (interne) IGRP OSPF IS-IS Distance 0 1 20 90 100 110 115 Protocole RIP EGP EIGRP (externe) IBGP BGP local Inconnu Distance 120 140 170 200 200 255

59

Processus de dcision BGP Paramtre distance


Attention : il est techniquement possible de changer la valeur de distance associe BGP, mais il nest pas du tout conseill de le faire ! Syntaxe : distance bgp [distance externe (0..255)] [distance interne (0..255)] [distance locale (0..255)] => les valeurs par dfaut des distances ci-dessus sont respectivement 20, 200, 200. Un rseau appris par eBGP sera prfr un rseau appris par un IGP. Plutt que de changer la valeur de distance du protocole eBGP, il est prfrable dutiliser la fonctionnalit BGP backdoor qui permet de prfrer un rseau appris par un IGP. La fonctionnalit backdoor est appliquer sur le routeur BGP : network [rseau] backdoor
60

Processus dtaill de dcision BGP Algorithme


Voici les principales tapes pour dterminer le best-path : Prfrer le chemin ayant la valeur weight la plus grande (paramtre propritaire Cisco) Prfrer le chemin ayant la valeur local-pref la plus grande. Prfrer le chemin ayant une origine locale, donc gnr via une commande network ou aggregate (les rseaux gnrs via la commande network tant eux-mmes prioritaires par rapport aux agrgats) ou appris via une redistribution dun IGP. Prfrer le chemin ayant lAS-path le plus court. Prfrer le chemin avec le type dorigine le plus petit : IGP (i) est plus petit que EGP (e), et EGP est plus petit que Incomplete (?)
61

Processus dtaill de dcision BGP Algorithme


Prfrer le chemin ayant la valeur metric (MED) la plus petite. Prfrer un chemin externe (eBGP) un chemin interne (iBGP). Prfrer le chemin annonc par le routeur ayant la valeur de router-ID la plus petite (la valeur de router-ID est par dfaut ladresse IP la plus haute du routeur, les adresses de Loopback tant prfres) (note: il est possible de spcifier une valeur de router-ID via la commande bgp router-id [adresse IP]). Prfrer le chemin annonc par le routeur ayant ladresse IP la plus basse.

62

Filtrage BGP
Il existe plusieurs types de filtrage BGP : filtrage bas sur les rseaux filtrage bas sur les AS-paths filtrage bas sur les communauts

63

Filtrage BGP bas sur les rseaux Principe


Le filtrage BGP bas sur lesrseaux consiste appliquer, au niveau de la dclaration dun voisin BGP, une ACL routage. Ce type de filtrage permet alors de ne pas annoncer un voisin BGP certains rseaux (ACL out), ou de refuser certains rseauxreus de ce voisin BGP (ACL in) : neighbor [adresse IP du voisin] distribute-list [numro ACL] [in|out]

64

Filtrage BGP bas sur les rseaux Exemple


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2

Rseaux clients 193.2.0.0/24 193.2.1.0/24

AS 3

Rseaux clients 193.3.0.0/24 193.3.1.0/24

R1
193.49.1.1

eBGP

R2
193.49.1.2

eBGP

R3
195.98.10.2

195.98.10.1

Dans lexemple ci-dessus, si aucun filtrage nest effectu, R2 va retransmettre tous les rseaux clients de R1 R3. On souhaite par exemple que R2 ne retransmette R3 que le rseau 193.1.0.0/24 issu de R1 et pas le rseau 193.1.1.0/24. Do la configuration possible de R2, en utilisant une distribute-list :
Configuration routeur R2 router bgp 2 network 193.2.0.0 network 193.2.1.0 neighbor 193.49.1.1 remote-as 1 neighbor 195.98.10.2 remote-as 3 neighbor 195.98.10.2 distribute-list 10 out access-list 10 deny 193.1.1.0 0.0.0.255 access-list 10 permit 0.0.0.0 255.255.255.255 Note : une solution plus propre consisterait configurer une routemap en out sur le peering BGP et appliquer dans cette route-map une prefix-list acceptant seulement le prfixe 193.1.0.0/24 ou liminant le prfixe 193.1.1.0/24.

65

Filtrage BGP bas sur les ASpaths Principe


Le filtrage BGP bas sur les AS-paths consiste appliquer une filter-list ou une route-map au niveau de la dclaration du voisin BGP. Ce type de filtrage permet de ne pas annoncer un voisin BGP certains rseaux (marqus avec un AS-path donn), ou de refuser certains rseaux (marqus avec un AS-path donn) reus de ce voisin.

66

Filtrage BGP bas sur les ASpaths Syntaxe


Un filtre BGP bas sur les AS-paths, scrit sous forme dune expression rgulire, et fait appel une syntaxe particulire, dont voici les principaux symboles : ^ : dsigne le dbut dune chane de caractres (peut tre aussi utilis pour la ngation dune chane de caractres si utilis au dbut dune dsignation dun intervalle de caractres : [^intervalle de caractres]) $ : dsigne la fin dune chane de caractres . : dsigne nimporte quel caractre seul (y compris lespace) _ : correspond des caractres spciaux (y compris le dbut ou la fin dune chane de caractres ou lespace) [ ] : dsigne un intervalle de caractres - : sparateur dun intervalle

67

Filtrage BGP bas sur les ASpaths Syntaxe


? : signifie aucun ou un lment valide * : signifie aucun ou plusieurs lments valides + : signifie un ou plusieurs lments valides

68

Filtrage BGP bas sur les ASpaths Syntaxe


Exemples : .* : toutes les routes ^$ : routes locales seulement (ayant pour origine lAS local) ^2200$ : routes ayant pour origine AS 2200 (AS 2200 tant alors un AS directement connect) _2200$ : routes ayant pour origine AS 2200 _2200_ : routes via lAS 2200 _(2200|2201)_ : routes via lAS 2200 ou lAS 2201 ^[0-9]+$ : routes avec un AS-path de longueur 1 ^[0-9]+_[0-9]+$ : routes avec un AS-path de longueur 2 ^[0-9]*_[0-9]+$ : routes avec un AS-path de longueur 1 ou 2

69

Filtrage BGP bas sur les ASpaths Exemple


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2

Rseaux clients 193.2.0.0/24 193.2.1.0/24

AS 3

Rseaux clients 193.3.0.0/24 193.3.1.0/24

R1
193.49.1.1

eBGP

R2
193.49.1.2

eBGP

R3
195.98.10.2

195.98.10.1

Dans lexemple ci-dessus, si aucun filtrage nest effectu, R2 va retransmettre tous les rseaux clients de R1 R3. On souhaite par exemple que R2 ne retransmette R3 aucun des rseaux de R1. Do la configuration possible de R2, en appliquant une filterlist au niveau du peering avec R3 :
Configuration routeur R2 router bgp 2 network 193.2.0.0 network 193.2.1.0 neighbor 193.49.1.1 remote-as 1 neighbor 195.98.10.2 remote-as 3 neighbor 195.98.10.2 filter-list 10 out ip as-path access-list 10 deny _1$ ip as-path access-list 10 permit .* -

70

Filtrage BGP bas sur les communauts Exemple


AS 1
Rseaux clients 193.1.0.0/24 193.1.1.0/24

AS 2

Rseaux clients 193.2.0.0/24 193.2.1.0/24

AS 3

Rseaux clients 193.3.0.0/24 193.3.1.0/24

R1
193.49.1.1

eBGP

R2
193.49.1.2

eBGP

R3
195.98.10.2

195.98.10.1

Dans lexemple ci-dessus, si aucun filtrage nest effectu, R2 va retransmettre tous les rseaux clients de R1 R3. On souhaite par exemple que R2 ne retransmette R3 aucun des rseaux de R1. Do la configuration possible de R1, en utilisant une communaut prdfinie no-export :
Configuration routeur R1 router bgp 1 network 193.1.0.0 network 193.1.1.0 neighbor 193.49.1.2 remote-as 2 neighbor 193.49.1.2 send-community neighbor 193.49.1.2 route-map rm out route-map rm permit 10 set community no-export

71

Peer-group Principe
Un peer-group est un groupe de voisins BGP utilisant des rgles communes. Donc, plutt que dappliquer n fois ces rgles sur chacun des voisins BGP configurs sur un routeur, il suffit de dclarer lensemble de ces voisins BGP comme faisant partie dun mme peer-group et dappliquer les rgles directement sur ce groupe. Un peer-group peut tre utilis entre voisins iBGP mais aussi entre voisins eBGP. Les techniques classiques de filtrage peuvent tre appliques sur un peer-group (filter-list, route-map).

72

Peer-group Syntaxe
Pour dclarer un peer-group, la syntaxe est similaire celle utilise pour dclarer un voisin BGP : rappel dclaration dun voisin BGP : neighbor [adresse IP du voisin] remote-as [numro dAS du voisin] dclaration dun peer-group : neighbor [nom du peer-group] peer-group dclaration dun voisin dans le peer-group : neighbor [adresse IP du voisin] peer-group [nom du peer-group]

73

Peer-group & iBGP Exemple


AS 1
R1

AS 2
R2

195.98.10.2

R3

195.98.30.2 195.98.30.1

195.98.10.1

R4
195.98.20. 2

193.49.1.1

193.49.1.2 195.98.20.1

Dans lexemple ci-dessus, on va considrer que R2 applique une politique de filtrage commune (avec filter-list et routemap) en entre/sortie vis--vis de R3 et R4. Do la configuration possible de R2 :
Configuration routeur R2 router bgp 2 neighbor 193.49.1.1 remote-as 1 neighbor pg peer-group neighbor pg remote-as 2 neighbor pg filter-list 11 in neighbor pg filter-list 22 out neighbor pg route-map rm1 in neighbor pg route-map rm2 out neighbor 195.98.10.2 peer-group pg neighbor 195.98.20.2 peer-group pg

74

Peer-group & eBGP Exemple


AS 1
R1
193.49.1.1

AS 2
eBGP

195.220.1.1

AS 3
eBGP

eBGP

AS 4

195.220.1.2

R2
193.49.1.2

R3
195.98.10.2

R4

195.98.10.1

Dans lexemple ci-dessus, on va considrer que R2 applique une politique de filtrage commune (avec filter-list et routemap) en entre/sortie vis--vis de R1 et R3, mais pas avec R4. Do la configuration possible de R2 :
Configuration routeur R2 router bgp 2 neighbor 195.220.1.2 remote-as 4 neighbor pg peer-group neighbor pg filter-list 11 in neighbor pg filter-list 22 out neighbor pg route-map rm1 in neighbor pg route-map rm2 out neighbor 193.49.1.1 remote-as 1 neighbor 193.49.1.1 peer-group pg neighbor 195.98.10.2 remote-as 3 neighbor 195.98.10.2 peer-group pg

75

Confdration BGP Principe


Le but dune confdration BGP est de rduire le maillage iBGP dans un AS. Plutt que davoir un full-mesh (toutes les combinaisons possibles) iBGP avec un grand nombre de routeurs, le principe est de dcouper lAS principal (appel AS identifiant) en plusieurs AS secondaires, ceci afin : de faire facilement un full-mesh lintrieur de chacun de ces AS secondaires ; dtablir des peerings eBGP entre les AS secondaires (un routeur de chaque AS secondaire est alors dsign pour linterconnexion vers les autres AS de la confdration), si ce nest que des paramtres normalement non propags via eBGP pourront tre prservs au sein de la confdration (ex: le paramtre localpref, normalement uniquement propag au sein dun mme AS). Le groupement dAS sera vu comme un seul AS.
76

Confdration BGP Syntaxe


Pour dclarer une confdration BGP : bgp confederation identifier [numro dAS identifiant de la confdration] Pour dclarer les AS intgrer dans la confdration : bgp confederation peers [liste des AS des autres routeurs de la confdration]

77

Confdration BGP Exemple


AS 1
R1
193.49.1.1

AS 2
eBGP

eBGP

AS 21

R2

eBGP

AS 22

R3

eBGP

AS 23

R4

193.49.1.2

195.98.10.1

195.98.10.2 195.220.1.1

195.220.1.2

Dans lexemple ci-dessus, on a dcoup lAS 2 entre 3 AS (AS 21, AS 22 et AS 23), do la configuration possible des routeurs:
Configuration routeur R1 router bgp 1 neighbor 193.49.1.2 remote-as 2 Configuration routeur R2 router bgp 21 bgp confederation identifier 2 bgp confederations peers 22 23 neighbor xxx.xxx.xxx.xxx remote-as 21 neighbor xxx.xxx.xxx.xxx remote-as 21 neighbor 195.98.10.2 remote-as 22 neighbor 195.220.1.2 remote-as 23 neighbor 193.49.1.1 remote-as 1 Configuration routeur R3 router bgp 22 bgp confederation identifier 2 bgp confederations peers 21 23 neighbor xxx.xxx.xxx.xxx remote-as 22 neighbor xxx.xxx.xxx.xxx remote-as 22 neighbor 195.98.10.1 remote-as 21 neighbor 195.220.1.2 remote-as 23

78

Route reflector Principe


Comme pour les confdrations BGP, le but dun route reflector est de rduire au maximum le nombre de sessions iBGP paramtrer sur chaque routeur dun mme AS. iBGP, linverse de eBGP, est un protocole non transitif, cest--dire que si un routeur iBGP R1 transmet des rseaux un voisin iBGP R2, lequel a lui-mme un voisin iBGP R3, alors R3 naura pas connaissance des rseaux annoncs par R1 (sauf si R3 tablit galement un peering iBGP avec R1), do souvent la solution extrme qui consiste dclarer sur chaque routeur iBGP lensemble des autres routeurs iBGP comme voisins (full-mesh). Avec un route reflector, il ny a plus besoin de full-mesh iBGP, car chaque routeur iBGP pointe sur le route reflector qui connatra tous les rseaux annoncs dans liBGP (note : un peer-group peut galement pointer sur un route reflector).
79

Route reflector Principe


Le route reflector et ses clients constituent un cluster. Au sein dun AS, il est possible de configurer plusieurs routeurs en tant que route reflector. Un route reflector traitera un autre route reflector de lAS comme un simple routeur iBGP. Note : afin dviter les boucles, un routeur BGP nacceptera pas les informations de routage qui ont pour origine son propre AS (viter les boucles en eBGP). Mais les boucles au sein dun mme AS (iBGP) ne peuvent pas tre vites en appliquant simplement cette rgle. Quand des route reflector sont dploys, cest grce aux paramtres originatorid et cluster-list que les boucles sont vites. Le paramtre originator-id contient le router-id du routeur lorigine de la route : si un routeur reoit une information de routage avec pour originator-id lui-mme, alors il lignore. Le paramtre cluster-list contient les cluster-id des clusters traverss, donc si un route-reflector reoit une information de routage avec une cluster-list contenant son propre cluster-id, alors il lignore.
80

Route reflector Exemple

Sans route reflector, maillage iBGP total (fullmesh).

Avec route reflector, maillage iBGP partiel.

AS 1

R1
iBGP iBGP

AS 1
iBGP

iBGP

R1
iBGP iBGP

R2
iBGP

R4
iBGP

R2

R4

R3

R3

81

Route reflector Syntaxe


Le client dun route reflector est dclar sur le route reflector lui-mme, via les commandes suivantes : neighbor [adresse IP du voisin client du route reflector] remote-as [numro dAS du voisin] neighbor [adresse IP du voisin client du route reflector] routereflector-client Au niveau du routeur client, le fait de pointer vers un route reflector est un simple peering iBGP : router bgp [numro dAS] neighbor [adresse IP du route reflector] remote-as [numro dAS du voisin]

82

Glossaire
ACL AS BGP CIDR CPU EBGP EGP EIGRP IBGP ICMP IGP IGRP IS-IS Access-List Autonomous System Border Gateway Protocol Classless Inter-Domain Routing Central Processor Unit External Border Gateway Protocol Exterior Gateway Protocol Enhanced Interior Gateway Routing Protocol Internal Border Gateway Protocol Internet Control Message Protocol Interior Gateway Protocol Interior Gateway Routing Protocol Intermediate System to Intermediate System
83

Glossaire
MBGP MED MP-BGP MPLS MSDP NLRI OSPF PIM-SM RIP RP SAP SDR TCP Multiprotocol (Multicast) Border Gateway Protocol Multi Exit Discriminator MultiProtocol Border Gateway Protocol MultiProtocol Label Switching Multicast Source Discovery Protocol Network Layer Reachability Information Open Shortest Path First Protocol Independent Multicast - Sparse Mode Routing Information Protocol Rendez-vous Point Session Announcement Protocol Session Directory Transfer Control Protocol
84

Vous aimerez peut-être aussi