You are on page 1of 9

Topologie Internet

BGP
(Border Gateway Protocol)

EGP
ISP

ISP
IGP

Isabelle CHRISMENT
ichris@
ichris@loria.fr
Un merci Nina Taft (Sprint)
et Luc Saccavini (INRIA Grenoble)

Internal Gateway Protocol : utiliser dans un seul ISP pour optimiser


des routes utilises dans son propre backbone (RIP, OSPF)
External Gateway Protocol : utiliser entre deux 2 ASs pour changer
Des informations de routage (BGP)

Objectifs de BGP
!

Echanger des routes (du traffic)


traffic) entre organismes
indpendants

Implmenter la politique de routage de chaque


organisme

Principes gnraux
!

BGP est un protocole de routage EGP,bas sur des


algorithmes de vecteurs de distance

Utilise le protocole de transport TCP (port 179)


BGP se passe entre 2 nuds

Oprateurs ou gros sites

De type PATH vecteur


!

Respect des contrats passs entre organismes


!
!
!
!

Etre indpendants des IGP utiliss en interne un


organisme
Supporter un passage lchelle
Minimiser le trafic induit sur les liens
Donner une bonne stabilit au routage

Sessions BGP

Protocole point point entre routeurs de bord de lAS


lAS
!

Deux routeurs tablissent une session BGP en


utilisant une connexion TCP et ensuite changent
des messages BGP
Un routeur peut participer plusieurs sessions
BGP

Initialisation
Durant ltablissement de session, les routeurs
sidentifient euxeux-mmes
Chaque voisin peut accepter ou rejeter la
connexion
Chaque nud annonce tous les routes quil veut
que les autres connaissent (pourrait tre > 50K
routes)

Configuration et Politique
!

Aprs lchange des tables de routes


initiales, chaque nud informe les autres
des changements
! Si aucun message nest envoy dans les X
dernires secondes,alors un message
keepalive est envoy pour informer le
voisin que la session est encore valide
!

Historique

Affectation de ladresse IP et du numro dAS


dAS
!

Popularit :
Jusqu quelques annes BGP tait peu connu, utilis par un
petit nombre de larges ISPs
En 1995 (dbut de la popularit du WEB) le nombre
dorganisations utilisant BGP a augment de manire trs
importante

!
!

Bas sur CIDR introduit en 1995 qui a permis de rsoudre


Les problmes de lespace dadressage
Lexplosion des tables de routage

Une machine hte obtient son adresse du bloc IP de son


organisation
Une organisation obtient un bloc dadresse IP partir du
bloc dadresse de son ISP
Un ISP obtient son bloc dadresse de son propre provider
ou de lun de ces trois organismes :
ARIN :American
:American Registry for Internet Numbers
RIPE : Rseaux IP Europens
APNIC : Asia Pacific Network Information Center

Deux raisons :
Croissance significative en nombre de ISP

Un nud BGP a une notion de quelles routes partages


avec ses voisins. Il peut seulement annoncer une partie de
sa table de routage un voisin
Un nud BGP na pas accepter chaque route apprise de
son voisin : il peut slectivement accepter ou refuser des
messages
Ce qui doit tre partag avec les voisins et ce qui doit tre
accept est dtermin par la politique de routage qui est
spcifie dans un fichier de configuration

Chaque AS a un numro de 16 bits (actuellement environ


10.000 AS)
La granularit du routage BGP est lAS
lAS
AS officiels de 1 64511 et AS privs de 64512 65555

Schma dadressage - CIDR Agrgation

Schma dadressage - CIDR


recouvrement de prfixe

Sans CIDR
192.71.0.0
192.71.1.0
1922.71.2.0

192.71.255.0

Service
Provider

192.71.0.0
192.71.1.0
192.71.2.0

192.71.255.0

Global
Internet

Avec CIDR
192.71.0.0/24
192.71.1.0/24
192.71.2.0/24

192.71.255.0/24

Service
Provider

?????

Global
Internet

Prfixes de longueur arbitraire => possibilit de


recouvrement de prfixes
Exemple:
Un routeur entend 124.39.0.0./16 dun voisin et
125.39.16.0/24 dun autre voisin.
Le routeur forrwarde le paquet selon linformation de
forwarding la plus spcifique appele longest prefix
match
Paquet avec destination 124.39.16.32 ???
Paquet avec destination 124.39.82.45 ????

CIDR et BGP

Exemple de connexion BGP

Ceux qui attribuent les adresses doivent affecter


des adresses en utilisant la stratgie CIDR

Les fournisseurs et les abonns doivent configurer


leur rseau et allouer des adresses pour permettre
le maximum dagrgation

Client connect un ISP.


ISP.

AS 100
BGP
Client

BGP doit tre configur pour faire autant


dagrgation que possible

AS 200

Ce qui complique lagrgation :


ISP

MultiMulti-homing,
homing, changement de provider

Exemple de connexion BGP

Exemple de connexion BGP


!

Client connect 2 ISPs.


ISPs.

Client connect 2 ISPs par 2 routeurs diffrents

AS 300

AS 300
E-BGP

BGP

AS 100

AS 100
ISP 2

ISP 2

Client

I-BGP
BGP
Client

AS 200

E-BGP

ISP 1

ISP 1

Exemple de connexion BGP


!

Les messages BGP

Client connect 3 ISPs


AS 300
E-BGP

AS 100

4 messages de base :
OPEN

E-BGP
AS 400

AS 200

Etablissement dune session BGP en utilisant TCP

I-BGP
ISP 2

NOTIFICATION :
Reporter des conditions inhabituelles

KEEPALIVE
Informer le voisin que la connexion est toujours vivante
ISP 3

Client
E-BGP

AS 200
E-BGP

ISP 1

UPDATE
Informer le voisin des nouvelles routes qui deviennent actives et
et
des vieilles routes qui deviennent inactives

Le message OPEN
Premier message envoy aprs louverture de
la session TCP
! Les entits BGP changent :
!

La version de BGP (4)


Leur numro dAS
dAS
Le numro identifiant le processus BGP (adresse
IP du routeur)

Le message OPEN
!

Temps maxi de maintien de la session


!

Information dauthentification (optionnelle)


Une entit BGP peut refuser une session

Attente dun message KEEPALIVE

Le message KEEPALIVE
!

Message envoy priodiquement


Est rmis toutes les 30 s (suggr)

Rarme le minuteur qui contrle le temps de


maintien de la session
! Message de taille minimum (19 octets)
!

Slection de la valeur du hold timer

Le message NOTIFICATION
Ferme la session BGP et la connexion TCP
! Annule toutes les routes apprises par BGP
!

Fournit au rcepteur un code expliquant


pourquoi la session BGP sest termine
Expiration du hold timer
Mauvais numro dAS
dAS,,
Problme dans le processus BGP

Le message UPDATE
Est envoy uniquement en cas de changement
! Dclenche l mission de messages UPDATE
vers les autres voisins
! Sert changer les informations de routage :
!

Utiliser pour annoncer ou liminer des routes


(prfixes)
Donner la liste des attributs pour les routes

UPDATE - Attributs de la route


!

Quatre catgories :
Reconnus, obligatoires
ORIGIN, AS_PATH, NEXT_HOP

Reconnus, non obligatoires


LOCAL_PREF, ATOMIC_AGGREGATE

Optionnels
MULTI_EXIT_DISC (MED), AGGREGATOR

UPDATE - Attributs de la route


ORIGIN

UPDATE Attributs de la route


NEXT HOP
Pour des sessions EBGP, NEXT HOP=@IP
du voisin qui a annonc la route
! Pour des sessions IBGP,NEXT HOP= @IP
du voisin qui a annonc la route
! Pour des routes dont lorigine est en dehors
de lAS
lAS,, le NEXT HOP du nud EBGP qui
a appris la route est transport dans IBGP
! Lattribut NEXT HOP est modifi par
chaque traverse dAS
dAS
!

Prcise qui est lorigine de lannonce ,qui a


inject le prfixe dans BGP
! 3 valeurs possibles :
!

IGP
EGP
Incomplte
!

Lattribut ORIGIN nest jamais modifi

209.15.1.0/24

UPDATE - Attributs de la route


AS_PATH

3.3.3.3

R2

R4
1.1.1.1
E-BGP

I-BGP

R1

R3
2.2.2.2
140.20.1.0/24

Prcise la liste des ASs travers laquelle


lannonce pour un prfixe est passe
! Chaque AS rajoute son numro dAS
dAS
latttribut
latttribut AS_PATH quand il diffuse
lannonce
! Utilis pour prvenir et dtecter les boucles
!

Table BGP au nud R1


Table de routage IP au nud R1

Prfixe
194.10.2.0/24

Next HOP
194.9.1.2

AS Path
200

AS 100

AS 100

194.9.1.1
194.10.1.0/24

router bgp 100


network 194.10.1.0 255.255.255.0
neighbor 194.9.1.2 remote-as 200

Origin
i

194.10.1.0/24

BGP

194.9.1.2

AS 200

194.10.2.0/24

Next HOP
194.9.1.1

AS Path
100

BGP
194.9.1.2

AS 200

Prfixe
194.10.1.0/24

194.9.1.1

194.10.2.0/24

Origin
i

router bgp 200


network 194.10.2.0 255.255.255.0
neighbor 194.9.1.1 remote-as 100

Prfixe
????

Next HOP
????

194.9.2.3

194.9.2.1

AS 100
194.10.1.0/24

R3

R1

Origin
i
AS 300
194.10.3.0/24

Prfixe
????

Next HOP
????
194.9.2.1

AS 100

194.10.1.0/24

194.9.1.1

Client

BGP

AS Path
???

R2

R2

194.9.1.2

194.9.1.2

194.10.2.0/24

R3

194.10.3.0/24

194.9.3.3

194.9.3.2

194.10.2.0/24

Utilis pour indiquer la prfrence parmi plusieurs


chemins pour le mme prfixe

La valeur la plus leve est prfre


Echang entre entits IBGP

Pondre la priorit donne aux routes en interne lAS


lAS

local lAS
lAS,, non transitif, jamais annonc en E-BGP
!

R1

Souvent utilis pour slectionner un point de sortie


pour une destination particulire

AS 100

UPDATE - Attributs de la route


MultiMulti-Exit Discriminator
Appel aussi MED
! Quand un AS est interconnect via 2 ou
plusieurs liaisons
! Permet de discriminer les diffrents points
de connexion (plus faible valeur prfre)
! Attribut limit lAS
lAS voisin (qui ne le
propage pas)
!

La porte des attributs de route


I-BGP

AS 200

AS 100
Liaison B

AS 300

AS 200

UPDATE - Attributs de la route


LOCAL_PREF

Origin
i

194.9.2.3

194.9.1.1

AS 200
ISP

AS Path
???

Liaison A

MED=10

MED=50

R1

R2

iBGP

AS 200

ORIGIN
(100,AS_PATH)
NEXT_HOP(R1)
MED

ORIGIN
(AS_PATH)
NEXT_HOP
LOCAL_PREF

R3

AS 300
AS400

AS300

ORIGIN
(200,100,AS_PATH)
NEXT_HOP(R2)

Politique de filtrage dannonces


en entre

Processus de Routage BGP

Routes reues

Politique
de filtrage
dannonces
en entre

Choix de la
meilleure
route

Accepte, refuse,
positionne
des prfrences

Processus
de dcision

Envoi ou non
positionne MED

Routes
utilises
par le
routeur

Filtrage en entre
sur les mises jour des routes reues
Base sur les prfixes IP, AS_PATH,
Refuser un prfixe ??
Accepter un prfixe ??

Politique
de filtrage Routes envoyes
dannonces
en sortie

Manipulation des attributs


Sur les routes acceptes (LOCAL_PREF)

Table BGP

Table de routage IP

Processus de dcision BGP


!
!

Dclench par une annonce de route


Se droule en 3 phases

Processus de dcision BGP


!

Choisir la route avec le plus grand LOCAL_PREF


Slectionner la route avec lAS
lAS le plus court
Slectionner la route avec la valeur de ORIGIN la plus
petite ( IGP < EGP < INCOMPLETE)
Slectionner route avec la valeur MED la plus petite
Slectionner le chemin de cot minimum pour atteindre
NEXT HOP en utilisant la mtrique IGP
Utiliser le routeur BGP de plus petite adresse IP

Dtermination de la prfrence des routes apprises


Choix des meilleures routes installer dans la table
BGP
Choix des routes devant tre annonces
!

Critres :
Techniques
Administratifs

Politique de filtrage dannonces


en sortie
!

Filtrage en sortie
Diffuser ou ne pas diffuser une route

Diffrences entre E-BGP et I-BGP


!
!

Dpend de la politique de routage


Dpend si EE-BGP ou I-BGP

Manipulation dattributs
Positionner des attributs comme ???

Critre de choix entre 2 routes :

I-BGP est utilis pour distribuer des routes apprises


vi EBGP tous les routeurs dans un AS
I-BGP et EE-BGP sont un mme protocole :
Mme type de message utilis
Mme attributs utiliss
Mme automate

Mais utilisation de diffrentes rgles pour annoncer


les prfixes
Prfixe appris dun voisin EE-BGP peut tre annonc un
voisin II-BGP et (vice(vice-versa)
Prfixe appris dun voisin II-BGP ne peut pas tre annonc
un autre voisin II-BGP

Politique de routage
!

Optimisations
Stabilit du routage

Filtrage des rseaux annoncs : AS100 ne veut pas servir dAS


dAS de
transit pour le rseau 194.10.3.0/24 de lAS
lAS 3000
194.9.2.1

AS 100
194.10.1.0/24

R2

R1
194.9.1.1

Client

194.9.2.3

AS 300

Les routes instables sont pnalises


A chaque instabilit => X points de pnalits
Si pnalit > limite L1 => route supprime
Si pas de nouvelles pnalits pendant T1

194.10.3.0/24

194.9.3.3

Pnalit/2
194.9.1.2

R3

194.9.3.2

AS 200
ISP

router bgp 100


network 194.10.1.0 255.255.255.0
neighbor 194.9.1.2 remote-as 200
neighbor 194.9.2.3 remote-as 200
neighbor 194.9.1.2 distribute-list 1 out
access-list 1 deny 194.10.3.0 0.0.0.255
access-list 1 permit 0.0.0.0. 255.255.255.255

Si pnalit < limite L2 => route rtablie


Si pnalit < limite L3 => on oublie tout
!
!

194.10.2.0/24

Optimisations
Rflecteurs de routes
!
!

Optimisations
Rflecteurs de routes

I-BGP ncessitent un maillage complet des


sessions II-BGP entre toutes les paires de routeurs
Solution :

clusters

Grouper les routeurs dans des clusters


Dsigner un leader dans chaque cluster (RR : Route
Reflector)
Reflector)
Les membres du cluster sont appels clients du RR
!

Ne concerne que les annonces EE-BGP


Cf RFC2439

RR

RR

Communication II-BGP
Les clients communiquent seulement avec leur RR
Les RR doivent tre maills

RR

client

Optimisations
Rflecteurs de routes
!

Rgles des annonces


Si reues du RR, envoyes (reflect
(reflect)) aux clients
Si reue dun client, envoys aux RRs et aux
clients
Si reue de EE-BGP, envoyes aux RRs et aux
clients
Un RR annonce seulement la meilleure route
pour un prfixe donn, et pas toutes les
annonces reues

Extensions
Les confdrations dAS
dAS
!

Permet de rduire le nombre de sessions II-BGP

Les routeurs de bord dun mini AS tablissent des


sessions

Division dun AS en mini As (ou sous AS)

I-BGP entre eux (maillage complet)


E-BGP avec leur voisins dautres AS
Pseudo EE-BGP avec leurs voisins dautres minisminis-AS
!

Vu de lextrieur, la confdration dAS


dAS apparat
comme un seul et unique AS

Extensions
Le routage multimulti-protocole
!

Routage multicast (MBGP)


Utilisation de la notion de sous famille
dadresses (unicast
(unicast,, multicast)
multicast)
Implmentation rcente

Routage multmult-protocole
AddressAddress-family Ipv4, Ipv6, IPX