BGP
Naila Bouchemal
1
Border Gateway Protocol
• Un protocole de routage utilisé pour échanger des informations de routage entre
les différents réseaux
• Exterior gateway protocol
• Décrit dans RFC4271
• RFC4276 donne un rapport d'exécution sur BGP
• RFC4277 décrit les expériences opérationnelles en utilisant BGP
• Le système autonome est la base de BGP
• Il est utilisé pour identifier de façon unique les réseaux ayant une politique de routage
commune
2
BGP
• Path Vector Protocol
• Mises à jour incrémentales
• Beaucoup d'options pour l'application des stratégies
• Classless Inter Domain Routing (CIDR)
• Largement utilisé pour le backbone Internet
• Systèmes autonomes
3
Path Vector Protocol
• BGP est classé comme un protocole de routage path vector
AS Path
4
Path Vector Protocol
AS11268
AS6337
AS7018
AS500
AS6461
AS600
5
6
7
8
Numéro de système autonome (ASN)
• Deux gammes
• 0-65535 (original 16-bit range)
• 65536-4294967295 (32-bit range – RFC4893)
• Usage:
• 0 and 65535 (réservé)
• 1-64495 (Internet public)
• 64496-64511 (documentation – RFC5398)
• 64512-65534 (usage privé uniquement)
• 23456 (represent 32-bit range in 16-bit
world)
• 65536-65551 (documentation – RFC5398)
• 65552-4294967295 (Internet public)
• Représentation de gamme 32 bits spécifiée dans RFC5396
• Définit “asplain” (format traditionnel) comme notation standard
9
Numéro de système autonome (ASN)
• Les ASN sont distribués par les Registres Internet Régionaux
• Ils sont également disponibles auprès de fournisseurs de services Internet en amont qui sont
membres de l'un des RIR
• Les allocations ASN actuelles de 16-bit jusqu'à 61439 ont été faites pour les RIR
• Environ 41200 sont visibles sur Internet
• Chaque RIR a également reçu un bloc d'ASN 32-bit
• Sur les 2800 affectations, autour de 2400 sont visibles sur Internet
• Voir www.iana.org/assignments/as-numbers
10
11
12
13
14
15
16
17
18
19
Zone de démarcation (DMZ)
A C
Réseau
AS 100 DMZ AS 101
B D
AS 102
AS 100 AS 101
C
adresse IP sur
interface Ethernet
Routeur A dans AS100
23
Peering BGP interne (iBGP)
AS 100
B
A
C
24
Peering entre interfaces de Loopback
AS 100
C
A
26
27
28
29
30
31
32
Présentation des métriques
Quand un routeur reçoit une route, il regarde tous ces tags (attributs), et en déduit la meilleure route.
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
Algorithme de sélection de
chemin BGP
Pourquoi est-ce le meilleur chemin?
51
52
Algorithme de sélection de chemin BGP
53
Algorithme de sélection de chemin BGP
Choisir le plus court chemin d’AS
en comptant le nombre d’AS dans l’attribut AS-Path
Prendre l’origine de valeur la plus faible
IGP < EGP < INCOMPLETE
Choisir le plus petit MED
pour des chemins en provenance d’un même AS
Préférer une route Externe sur une route Interne
prendre la sortie la plus proche
Choisir le “next-hop” le plus proche
Plus faible métrique IGP, donc plus proche de la sortie de l’AS
Plus petit “Router-ID”
Adresse IP du voisin la plus petite
Algorithme de sélection de chemin BGP
Configuration de base BGP
57
58
59
60
61
62
63
64
65
66
• TP configuration de base BGP
67
BGP politique de contrôle
Filtres BGP
Prefix List and Route Maps with BGP
À Faire dans un autre cours
68
Politique de routage
• Pourquoi ?
• – Pour envoyer le trafic vers des routes choisies
• – Filtrage de préfixes en entrée et sortie
• – Pour forcer le respect des accords Client-ISP
• Comment ?
• Filtrage basé sur les AS - filter list, basé sur les préfixes - distribute list, Filtrage
avec des expression régulières, avec ACL
• Modification d’attributs BGP - route maps
Filtrage basé sur les préfixes - distribute list
• Préfix list comme Access list (ACL)
• Pour minimiser le nombre de mises à jour BGP envoyées entre les
homologues BGP.
• Réduire la quantité de ressources système requises pour générer et
traiter les mises à jour de routage en filtrant les mises à jour de
routage indésirables à la source. Par exemple, cette fonction peut être
utilisée pour réduire la quantité de traitement requise sur un routeur
qui n'accepte pas les routes complètes d'un réseau de fournisseur de
services.
Politique - Liste de préfixes
• Filtrage par voisin
• c’est une configuration incrémentielle
• Access-list utilisées très performantes
• Fonctionne en entrée comme en sortie
• Basé sur les numéros de réseaux (adressage IPv4 réseau/maque)
• Un “deny” est implicite à la fin de la liste
Distribute list - avec des ACL IP
Filtrage avec des expression régulières
• L’expression régulière décrit la forme que doit avoir l’argument
• Est utilisé pour comparer l’attribut AS-Path
• Exemple : ^3561.*100.*1$
• Grande fléxibilité qui permet de générer des expression complexes
Filtrage avec Route Maps
• Utiliser les route-maps pour définir ou modifier des attributs BGP
• • neighbor route-map
Insérer des préfixes dans BGP
• Deux façons d'insérer des préfixes dans BGP
• redistribuer statique (redistribute static)
• commande réseau (network command)
La commande BGP ‘redistribute’ permet de remplir la table BGP à partir de la table de routage en appliquant
des règles spécifiques.
Si votre réseau fonctionne avec plusieurs protocoles de routage, il est essentiel de maitriser la redistribution.
Le but étant que les routes se propagent à travers tout le réseau, même si celui-ci utilise plusieurs protocoles de routage
81
Insérer des préfixes dans BGP –
redistribuer statique
• Exemple de configuration:
routeur bgp 100
redistribuer statique (redistribute static)
route ip 102.10.32.0 255.255.254.0 serial0
• Une route statique doit exister avant que la commande « redistribuer »
fonctionne
• L’origine de la route sera “incomplete”, mais il est possible de le changer
avec une “route-map”
• À utiliser avec prudence!
82
Insérer des préfixes dans BGP –
commande réseau
Exemple de configuration
• network 198.10.4.0 mask 255.255.254.0
• ip route 198.10.0.0 255.255.254.0 serial 0
La route doit être présente dans la table de routage pour qu’il y ait une
annonce BGP
Origine de la route : IGP”
83
Configurer une agrégation
• Trois façons de configurer l'agrégation d’itinéraires
• redistribuer statique (redistribute static)
• adresse-agrégats
• commande réseau (network command)
84
Configurer une agrégation
• Exemple de configuration:
routeur bgp 100
redistribuer statique (redistribute static)
route ip 102.10.0.0 255.255.0.0 null0 250
• une route statique vers “null0” est appelée une route « pull up »
• Paquets envoyés ici uniquement s'il n'y a plus de correspondance spécifique dans la
table de routage
• distance de 250 assure que ceci est le dernier recours statique
• soins requis - voir plus haut!
85
Configurer une agrégation –
Commande réseau
• Exemple de configuration
routeur bgp 100
network 102.10.0.0 mask 255.255.0.0
route ip 102.10.0.0 255.255.0.0 null0 250
• Un itinéraire correspondant doit exister dans la table de routage
avant que le réseau soit annoncé
• Moyen le plus simple et le meilleur de générer un agrégat
86
Configurer une agrégation –
commande d’adresse agrégats
• Exemple de configuration:
routeur bgp 100
network 102.10.32.0 mask 255.255.252.0
aggregate-address 102.10.0.0 255.255.0.0 [summary-only]
• Nécessite un préfixe plus spécifique dans le tableau BGP avant que l’agrégat soit
annoncé
• Mot-clé uniquement de résumé (summary-only keyword)
• Mot-clé facultatif qui garantit que seul le résumé est annoncé si un préfixe plus spécifique
existe dans la table de routage
Résumé
BGP neighbour status
Router6>sh ip bgp sum
BGP router identifier 10.0.15.246, local AS number 10
BGP table version is 16, main routing table version 16
7 network entries using 819 bytes of memory
14 path entries using 728 bytes of memory
2/1 BGP path/bestpath attribute entries using 248 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1795 total bytes of memory
BGP activity 7/0 prefixes, 14/0 paths, scan interval 60 secs
89