Академический Документы
Профессиональный Документы
Культура Документы
M1 RISE
Réseaux IP d’opérateurs
Objectifs
– « mieux utiliser leur réseau IP» :
• Meilleure utilisation des ressources
• Meilleur service au client
– donc facturé plus cher
• Gérer relations avec leurs partenaires/
concurrents
– Nécessite de nouveaux mécanismes/
protocoles dans le réseau
2012 Réseaux d'Opérateurs BGP 2
Réseau IP « basique »
– Protocole de routage (RIP, OSPF, IS-IS)
• Chaque routeur calcule plus court chemin
– Vers chaque destination
Repérée par un préfixe :
130.79.90.0/23 192.168.16.32/27
• Routage saut par saut
Décision prise dans chaque routeur
• Tous les paquets traités de la même façon
Dépend uniquement de la destination
1
Exemple de table de routage
C 130.79.48.128/25 is directly connected, GigabitEthernet0/1.48
C 130.79.48.96/28 is directly connected, GigabitEthernet0/1.486
C 130.79.48.80/28 is directly connected, GigabitEthernet0/1.485
C 130.79.48.72/29 is directly connected, GigabitEthernet0/1.484
S 130.79.48.64/29 [1/0] via 130.79.48.73
C 130.79.48.48/28 is directly connected, GigabitEthernet0/1.483
C 130.79.48.32/28 is directly connected, GigabitEthernet0/1.482
C 130.79.48.16/28 is directly connected, GigabitEthernet0/1.481
C 130.79.208.224/29 is directly connected, GigabitEthernet0/0
C 130.79.48.0/28 is directly connected, GigabitEthernet0/1.480
S* 0.0.0.0/0 [1/0] via 130.79.208.228
Quelques problèmes
• Router des paquets
– Par un chemin « spécial »
• Avec réservation de débit
– => ingénierie de trafic (MPLS)
• Trafic d’un (opérateur) concurrent
– Doit-on le laisser passer ?
• Politique de routage (BGP)
• Isoler/protéger trafic d’une entreprise cliente
– Virtual Private Networks VPN
– => VPN BGP/MPLS
2012 Réseaux d'Opérateurs BGP 5
Routage inter-domaine et
BGP
2
Structure d’Internet
• Internet
– Interconnexion de réseaux
• Hétérogènes en matériel/logiciels
• Administrés par des entités différentes
• Ayant des intérêts différents
– Connectivité globale
– Très grande taille
– Centaines de millions de machines
2012 Réseaux d'Opérateurs BGP 7
Structure Internet
• Notion de domaine ou AS
– Autonomous System
– Ensemble connexe de réseaux IP
– Géré par une seule entité
• Entreprise, Etablissement
• Réseaux d’opérateurs FAI/ISP
– Routage interne
• Un (ou plusieurs) IGP (Interior Gateway Protocol) :
– RIP, OSPF, IS-IS …
– Plus court chemin suivant métrique « technique »
– Taille « raisonnable »
– A priori tout le trafic doit être acheminé
2012 Réseaux d'Opérateurs BGP 8
Structure Internet
• AS interconnectés
– Trafic entre AS
– Trafic de transit
• Traverse AS A
• Source et destination extérieures à A
• => utilise les ressources de A
– Un AS peut
• Être connecté à plusieurs autres AS
• Être connecté à un AS par plusieurs liaisons/routeurs
3
Structure Internet
• Relations entre AS :
– en simplifiant deux types de relation
• Relation client fournisseur A -> B
– A offre un service à B
– trafic de/vers B (ou de/vers ses clients)
» Peut transiter par A
– Relation en général payante
– Ex : entreprise cliente d’un FAI
• Relation pair à pair A<-> B
– Échange de trafic local
– Transit mutuel
– Relation non payante (échange)
– Ex : entre deux FAI de même importance
2012 Réseaux d'Opérateurs BGP 10
Transit
• Pas toujours symétrique
– A offre transit à B mais pas l’inverse
• Ex B client de A
• Pas toujours transitif
– A offre transit à B et B à C mais pas A à C
• Les pairs sont aussi des concurrents
• Le trafic de AS4(client de AS1) vers AS9 (client de AS3)
ne peut pas transiter par AS2 (concurrent de AS1 et
AS2)
• => nécessité de créer une connexion directe AS1 <->
AS3 (ou de passer par un fournisseur commun
Graphe des AS
Tier one AS1 AS3
AS2
transit
AS14
2012 Réseaux d'Opérateurs BGP 12
4
Graphe des AS
• Hiérarchie
– Sommet (tier one) : client de personne
• Opérateurs principaux (Sprint, Uunet, …)
– Base : stub AS (ou feuille)
• Connecté à un seul autre AS (fournisseur)
• Protocole de Routage inter-domaine pas toujours
nécessaire
– Un AS peut être connecté à plusieurs autres sans
admettre de transit
• Client avec plusieurs fournisseurs
– Redondance et/ou multihoming
Principaux tier 1
• AOL
• ATT
• Global Crossing
• Level3
• Verizon (UUNet)
• NTT (Verio)
• Qwest
• SAVVIS
• Sprint
2012 Réseaux d'Opérateurs BGP 14
Route et AS
• route de A à B traverse
– AS1, AS2, AS3, … ASn
• A ∈ AS1, B ∈ ASn
• soit
AS1 <= AS2 <= … ASi => ASi+1 => … ASn
• soit
AS1 <= AS2<=… ASi = ASi+1=> … => ASn
5
traceroute to 203.222.38.67 (203.222.38.67), 64 hops max, 40 byte packets
1 api-rc1-ge-0-2-0-2 (130.79.91.253) [AS2200] 1 ms 1 ms 1 ms en fait AS2259
2 crc-rc1-ge-0-1-0-0 (130.79.20.13) [AS2200] 117 ms 1 ms 1 ms
3 strasbourg-g3-3.cssi.renater.fr (193.51.184.42) [AS2200] 1 ms 1 ms 0 ms
4 besancon-pos2-0.cssi.renater.fr (193.51.180.9) [AS2200] [MPLS: Label 194 Exp 0] 14 ms
5 dijon-pos1-0.cssi.renater.fr (193.51.179.229) [AS2200] [MPLS: Label 37 Exp 0] 14 ms
6 lyon-pos5-0.cssi.renater.fr (193.51.180.46) [AS2200] 13 ms 13 ms 13 ms
7 ftld-lyon.cssi.renater.fr (193.51.185.29) [AS2200] 14 ms 14 ms 14 ms
8 po6-0.auvbb1.aubervilliers.opentransit.net (193.251.241.94) [AS5511] 14 ms 14 ms 14 ms
9 pos0-7-0-1.auvtr1.aubervilliers.opentransit.net (193.251.128.106) [AS5511] 15 ms * *
10 po0-0.ashcr2.ashburn.opentransit.net (193.251.243.170) [AS5511] 93 ms 102 ms 209 ms
11 so-1-0-0-0.atlcr1.atlanta.opentransit.net (193.251.240.154) [AS5511] 110 ms 106 ms 192
12 so-0-0-0-0.dalcr2.dallas.opentransit.net (193.251.243.114) [AS5511] 126 ms 128 ms 126
13 sprint.gw.opentransit.net (193.251.247.158) [AS5511] 126 ms 126 ms 126 ms
14 sl-bb20-fw-6-0.sprintlink.net (144.232.20.80) [AS1239] 127 ms 129 ms 127 ms
15 sl-bb21-fw-14-0.sprintlink.net (144.232.11.218) [AS1239] 127 ms 127 ms 132 ms
16 sl-bb22-ana-12-0.sprintlink.net (144.232.20.131) [AS1239] 164 ms 164 ms 164 ms
17 sl-bb20-ana-15-0.sprintlink.net (144.232.1.178) [AS1239] 168 ms 168 ms 168 ms
18 sl-bb24-sj-4-0.sprintlink.net (144.232.9.93) [AS1239] 168 ms 168 ms 169 ms
19 sl-bb20-hk-3-3.sprintlink.net (144.232.8.216) [AS1239] 342 ms 338 ms 338 ms
20 sl-gw1-hk-0-0-0.sprintlink.net (203.222.38.67) [AS1239/AS4657] 346 ms 343 ms *
6
2012 Réseaux d'Opérateurs BGP 19
7
Structure d’un POP (Sprint)
• Point of Presence
• plusieurs routeurs de backbone rbb
– full mesh
– au moins 2 liens (de 2 routeurs diff)
vers autres POP
– 2,4 ou 10 Gb/s
• plusieurs routeurs « gateway » gw
connectés à au moins 2 rbb du POP
connectés aux clients ou pairs
Ex : routeur peering
144.232.20.81 (sl-st21-dal-13-0.sprintlink.net) [version 12.0]:
144.228.241.244 -> 0.0.0.0
144.232.20.17 -> 144.232.20.16 (sl-bb20-fw-13-0.sprintlink.net)
144.228.250.73 -> 0.0.0.0
144.228.250.77 -> 0.0.0.0
144.232.20.81 -> 144.232.20.80 (sl-bb20-fw-6-0.sprintlink.net)
208.173.178.134 -> 208.173.178.133 (dpr1-
so-0-1-0.dallasequinix.savvis.net)
193.251.247.158 -> 193.251.247.157
(so-1-1-0-0.dalcr2.Dallas.opentransit.net)
144.232.8.137 -> 0.0.0.0 (local)
208.51.134.34 -> 208.51.134.33 (so1-1-0-2488M.ar1.DAL2.gblx.net)
144.232.9.95 -> 144.232.9.94 (sl-st20-dal-3-0.sprintlink.net)
8
Nombre AS vus 97-2012
source www.potaroo.net
Graphe des AS
• Près de 40 000 AS effectifs (plus réservés)
– AS codés sur 16 bits => nouveau codage 32 bits
• Plus de 14 500 feuilles
– Origine d’annonces mais pas utilisé par transit
• Pratiquement tous les autres AS
origine ET transit
• Longueur moyenne depuis le « centre » 3,6
– Degré moyen 4 (en 2000)
– Degré max 1704 (en 2000) uunet
– Diamètre 10
2012 Réseaux d'Opérateurs BGP 26
9
Répartition des AS
par distance en # AS depuis AS2221
Politique de routage
• Chaque AS souhaite
– Sélectionner le trafic autorisé en transit
• Sur quel critère (destination …)
• Ne pas filtrer le transit, le « détourner »
– Choisir par quel(s) voisins/sortie
• Envoyer le trafic vers une destination
• Et coordonner avec le routage intra domaine
– Choisir/influencer par quel voisin
• Recevoir certains flux (plus difficile)
– Le tout
• Extensible à 40K AS, 400K destination,
• avec un réseau qui change en permanence
2012 Réseaux d'Opérateurs BGP 29
Interconnexion d’AS
• Deux (routeurs d’)AS différents
– Connectés à distance par liaison point-à-
point
• Pas de matériel commun
• Limite de responsabilité = liaison
– Coûteux si nombreux AS voisins
– Points d’échanges (GIX) (ou NAP)
• http://www.eurogix.org/fr/accueil.php
10
GIX /IXP
FAI1 R1 R2 FAI2
C
FAI3 R3 R4 FAI4
R routeur, C commutateur
peering
2012 Réseaux d'Opérateurs BGP 31
Adressage
• Destination
– Jusqu’en 1995
• Réseaux répartis en classes (A, B, C)
• Table contient
– Réseaux distants
– Sous-réseaux du réseau local
– Adresse par défaut (0.0.0.0)
• => épuisement des classes A et B
• => utilisation massive des classes C
• => explosion des tables de routage
2012 Réseaux d'Opérateurs BGP 32
CIDR
• Classless InterDomain Routing RFC 1518 et 1519
– Allocation de blocs d’adresses
• Représenté par un préfixe ex : 192.168.36.0 /23
• « super réseau » de taille 2n, n quelconque
– Allocation hiérarchique
– Préfixe client inclus dans bloc fournisseur
– Autorise agrégation dans le réseau (adresses PA)
– Problème pour multihoming et
– chgt fournisseur => renumérotation
– Routage par « longest match »
• Dans la FIB prendre plus long préfixe correspondant à
l’adresse destination
2012 Réseaux d'Opérateurs BGP 33
11
Taille table de commutation (FIB)
nombre de préfixes
explosion
bulle
bulle
internet
Cidr
Protocoles de routage
inter-domaine
• Protocoles IGP non adaptés
– Extensibilité
– Expression de la politique de routage
• EGP Exterior Gateway Protocol
– Apparu en 1984 (ne gère pas les cycles)
• BGP Border Gateway Protocol
– 1ère version 1989
– BGP 4 en 1995 RFC 1771 support CIDR
– M-BGP (BGP4+) extensions multi protocoles
• RFC 2283 => 2858
2012 Réseaux d'Opérateurs BGP 35
BGP
• Objectifs
– Diffuser l’existence et l’accessibilité de
destinations (préfixe CIDR)
– Contrôler que
• le transit respecte la politique de l’AS
• Que les routes sont valides (pas de boucles)
• Sont les « meilleures » (selon critères locaux et globaux)
– Dynamiquement en cas de pannes/changements
12
Sessions BGP
• Un routeur BGP ouvre une session
avec ses voisins (peer) BGP
– Sessions fiables : connexion TCP port 179
• Voisins déclarés (sécurité)
• Possibilité d’authentification
– Deux types de peer
• Voisins dans l’AS iBGP (interior BGP)
• Voisins extérieur eBGP (exterior BGP)
Annonce
• Destination
• AFI : address family (ipv4, ipv6, …)
• SAFI (sub address family: unicast, VPN, …)
Ex : préfixe CIDR en IPv4
• Attributs permettant de
• filtrer les annonces indésirables
• Sélectionner la meilleure annonce (à utiliser)
• Influencer les routeurs en aval
– Ex : AS-Path, Origin, Next-Hop, Local Pref
• Annonce peut être retirée explicitement
– Withdraw
2012 Réseaux d'Opérateurs BGP 38
Update
+-----------------------------------------------------+
| Unfeasible Routes Length (2 octets) | « withdraw »
+-----------------------------------------------------+
| Withdrawn Routes (variable) | liste préfixes retirés 0 à n
+-----------------------------------------------------+
| Total Path Attribute Length (2 octets) | « annonce 1 route »
+-----------------------------------------------------+
| Path Attributes (variable) | liste des attributs
+-----------------------------------------------------+ de la route
| Network Layer Reachability Information| liste préfixes access.
+-----------------------------------------------------+ via cette route
13
Attribut Multi-proto NLRI (rfc 2858)
+---------------------------------------------------------+
| Address Family Identifier (2 octets) | 1=IPv4, 2= IPv6, …
+---------------------------------------------------------+
| Subsequent Address Family Identifier (1 o) | Unicast, multicast,…
+---------------------------------------------------------+
| Length of Next Hop Network Address (1 o) |
+---------------------------------------------------------+
| Network Address of Next Hop (variable) | au format de l’AFI
+---------------------------------------------------------+
| liste des SNPA (adresses du NH) | Subnetwork Points of Attachment
+---------------------------------------------------------+
| Network Layer Reachability Information | liste des préfixes
+---------------------------------------------------------+
Annonces (suite)
• Routeur maintient
– Base d’annonces (acceptées) Adj-RIB
– Possibilité plusieurs annonces même dest.
– Seule meilleure annonce
• Utilisée par routeur (FIB)
• Propagée (éventuellement) aux voisins
– Base d’annonce« Hard State »
• Pas de timeout sur les annonces
• extensibilité
2012 Réseaux d'Opérateurs BGP 41
Session / messages
• Au démarrage routeur/BGP/liaison
– Open
• négociation de « capabilities » : IPv6, multicast, …
• Cycliquement
– Keep Alive (vérification session)
• Si changement RIB
– Update : envoi annonces/retraits
• Si anomalie
– Notification (fin session), suppression annonces
de la session
2012 Réseaux d'Opérateurs BGP 42
14
BGP et routage intra
• iBGP assure même vue de tous les routeurs
– Full mesh
• connexion avec tous les routeurs BGP de l’AS
– Annonce reçue par iBGP non propagées par iBGP
• Évite les boucles
– Coûteux => Possibilité de Route Reflector
• Connexion iBGP à travers routeurs intra
possible (et problème du NextHop)
• Nécessité de redistribution de routes
• de BGP vers IGP et réciproquement
• Problème des métriques incomparables
2012 Réseaux d'Opérateurs BGP 43
Algorithme de BGP
• Principe :
– Envoyer annonce préfixe P vers routeur R
– => accepter le trafic venant de R pour P
• Algorithme non complètement spécifié
– Ordre de traitement des attributs indéfini
• « tous les coups sont permis »
– Filtrage
– Modification des attributs
2012 Réseaux d'Opérateurs BGP 44
Algorithme de BGP
• Réception d’une annonce
– Filtrer annonces indésirables (et MaJ attributs)
– politique d’importation, détermine trafic sortant
– Insérer annonce dans Adj-RIB (si non filtrée)
• Calculer meilleure route pour préfixe
– Dépend ordre des attributs
– Si meilleure route change (ou nouveau préfixe)
• Maj FIB et redistribution IGP (si meilleur que IGP)
• Pour chaque voisin BGP V
– Maj attributs (AS Path notamment) et/ou filtrage
– Si non-filtrage envoyer Update à V
– Politique d’exportation (et donc transit si V externe)
2012 – Détermine Réseaux
le traficd'Opérateurs
entrant etBGP
le transit 45
15
Quelques attributs (1)
• AS-Path
– Indique suite d’AS traversés par annonce
– Chaque AS ajoute son ASN (a priori)
• aux annonces vers l’extérieur
• BGP : protocole à vecteur de chemins
• Détection de boucle (refus des annonces avec son ASN)
• Longueur AS Path critère principal par défaut de choix
• Possibilité de faire du « padding »
Exemple
Network Next Hop Metric LP W Path
*130.79.0.0 204.42.253.253 0 267 1225 2914 5511 2200 2259 i
* 195.66.225.254 0 5459 5511 2200 2259 i
* 158.43.206.96 0 1849 702 4000 5511 2200 2259 i
* 205.158.2.126 0 2828 5511 2200 2259 i
* 193.0.0.56 0 3333 1103 8933 2200 2259 i
* 12.127.0.249 0 7018 1740 1239 5511 2200 2259 i
* 4.0.0.2 120 0 1 1239 5511 2200 2259 i
* 134.55.24.6 0 293 1800 5511 2200 2259 i
*> 129.250.0.1 16 0 2914 5511 2200 2259 i
* 204.212.44.129 0 234 2914 5511 2200 2259 i
* 204.70.4.89 0 3561 1239 5511 2200 2259 i
* 202.232.1.8 0 2497 1239 5511 2200 2259 i
* 192.121.154.25 0 1755 2603 8933 2200 2259 i
* 129.250.0.3 48 0 2914 5511 2200 2259 i
16
Exemple
Network Next Hop Metric LP W Path
*130.79.0.0 204.42.253.253 0 267 1225 2914 5511 2200 2259 i
* 195.66.225.254 0 5459 5511 2200 2259 i
* 158.43.206.96 0 1849 702 4000 5511 2200 2259 i
* 205.158.2.126 0 2828 5511 2200 2259 i
* 193.0.0.56 0 3333 1103 8933 2200 2259 i
* 12.127.0.249 0 7018 1740 1239 5511 2200 2259 i
* 4.0.0.2 120 0 1 1239 5511 2200 2259 i
* 134.55.24.6 0 293 1800 5511 2200 2259 i
*> 129.250.0.1 16 0 2914 5511 2200 2259 i
* 204.212.44.129 0 234 2914 5511 2200 2259 i
* 204.70.4.89 0 3561 1239 5511 2200 2259 i
* 202.232.1.8 0 2497 1239 5511 2200 2259 i
* 192.121.154.25 0 1755 2603 8933 2200 2259 i
* 129.250.0.3 48 0 2914 5511 2200 2259 i
Ex local preference
Configuration de R3 et R4 : meilleure sortie R3
Remarque
Si R3 envoie
R1 R2 son annonce avant R4,
Alors R4 n’envoie pas
P P la sienne
R3 R4
P, LP=200 R5 P, LP=100
17
Quelques attributs (4)
• Multi Exit Discriminator (MED, metric)
– Nombre, + petit meilleur, défaut 0
– Envoyé voisins externes
– Ex :
• AS1 envoie à AS2 annonce pour P
– avec MED = 0 via routeur V1
– avec MED = 100 via routeur V2
• Influer sur porte d’entrée
– V1 et V2 échangent annonces => meilleure via V1
2012 Réseaux d'Opérateurs BGP 52
Ex MED
Configuration R1, R2 : meilleure entrée R1
AS1 influence trafic sortant de AS2
AS1
R1 R2
P, MED=100 P, MED=200
R3 R4
AS2
P, MED=100 R5 P, MED=200
Exemple Metric
Network Next Hop Metric LP W Path
*130.79.0.0 204.42.253.253 0 267 1225 2914 5511 2200 2259 i
* 195.66.225.254 0 5459 5511 2200 2259 i
* 158.43.206.96 0 1849 702 4000 5511 2200 2259 i
* 205.158.2.126 0 2828 5511 2200 2259 i
* 193.0.0.56 0 3333 1103 8933 2200 2259 i
* 12.127.0.249 0 7018 1740 1239 5511 2200 2259 i
* 4.0.0.2 120 0 1 1239 5511 2200 2259 i
* 134.55.24.6 0 293 1800 5511 2200 2259 i
*> 129.250.0.1 16 0 2914 5511 2200 2259 i
* 204.212.44.129 0 234 2914 5511 2200 2259 i
* 204.70.4.89 0 3561 1239 5511 2200 2259 i
* 202.232.1.8 0 2497 1239 5511 2200 2259 i
* 192.121.154.25 0 1755 2603 8933 2200 2259 i
* 129.250.0.3 48 0 2914 5511 2200 2259 i
18
Quelques attributs (3)
• NextHop
– Normalement adresse routeur source annonce
(source TCP)
• Voisin si eBGP
• Dans iBGP : par défaut NextHop reçu par eBGP
– (≠ prochain saut FIB)
– Le NextHop doit être accessible
• Annoncé par IGP si pas directement connecté
– Prochain_saut_FIB(P) =
prochain_saut_IGP(NextHop_BGP(P))
• Possibilité de le ré-écrire (adresse loopback p.e.)
Ex NextHop
R3 envoie à R6 (iBGP) un NH :
R1 (recopie annonce) ou R3 (self)
R6 devra envoyer
au prochain saut
interne
R1 R2 vers R1 ou R3
ex : R5
P, NH=R1 P, NH=R2
R3 R4
P, NH=R1 R5
ou NH=R3
2012 R6
Réseaux d'Opérateurs BGP 56
Exemple
Network Next Hop Metric LP W Path
*130.79.0.0 204.42.253.253 0 267 1225 2914 5511 2200 2259 i
* 195.66.225.254 0 5459 5511 2200 2259 i
* 158.43.206.96 0 1849 702 4000 5511 2200 2259 i
* 205.158.2.126 0 2828 5511 2200 2259 i
* 193.0.0.56 0 3333 1103 8933 2200 2259 i
* 12.127.0.249 0 7018 1740 1239 5511 2200 2259 i
* 4.0.0.2 120 0 1 1239 5511 2200 2259 i
* 134.55.24.6 0 293 1800 5511 2200 2259 i
*> 129.250.0.1 16 0 2914 5511 2200 2259 i
* 204.212.44.129 0 234 2914 5511 2200 2259 i
* 204.70.4.89 0 3561 1239 5511 2200 2259 i
* 202.232.1.8 0 2497 1239 5511 2200 2259 i
* 192.121.154.25 0 1755 2603 8933 2200 2259 i
* 129.250.0.3 48 0 2914 5511 2200 2259 i
2012 Réseaux d'Opérateurs BGP 57
19
Quelques attributs (4)
• Attribut Community
– Liste de communautés
• 32 bits : 16 bits ASN (AS qui a attribué) 16 bits N°
– Communautés prédéfinies
• 0xFFFFFF01 no export (ne pas annoncer via eBGP)
• 0xFFFFFF02 no advertise (ni eBGP ni iBGP)
20
Hot potatoe routing
dû à la règle 5
AS1 ASA
ASB AS2
21
Description des politiques
• Nécessité d’avoir une trace des
politiques
• bases de données auprès des
« registrars » régionaux
– (RIPE, ARIN, …)
• langage de description de politique
qui annonce quoi à qui ?
AS2259 (Osiris)
Extrait de la base RIPE whois.ripe.net
aut-num: AS2259
as-name: FR-U-STRASBOURG
descr: FR
import: from AS2200 action pref=100; accept ANY
export: to AS2200 announce AS2259
default: to AS2200 action pref=10; networks ANY
admin-c: GR1378-RIPE
tech-c: GR1378-RIPE
mnt-by: RENATER-MNT
Fait partie de
as-set: AS-RENATER
2012 Réseaux d'Opérateurs BGP 66
22
AS553 (Belwue)
aut-num: AS553
as-name: BELWUE
descr: Landeshochschulnetz Baden-Wuerttemberg (BelWue)
descr: Academic Network of the
descr: Federal State of Baden-Wuerttemberg
import: from AS174 action pref=100; accept AS-COGENT
import: from AS286 action pref=100; accept AS-KQ
…
import: from AS2259 action pref=100; accept AS2259
…
export: to AS2259 announce AS-BELWUE
AS2200 (Renater)
aut-num: AS2200
as-name: FR-RENATER
descr: Reseau National de telecommunications pour la Technologie
descr: l'Enseignement et la Recherche
descr: FR
import: from AS-SFINX-PEERS action pref=190; accept <^AS-SFINX-PEERS .$>
import: from AS5511 action pref=300; accept ANY /* Opentransit*/
import: from AS7500 action pref=190; accept AS7500 /* M root server Wide Japon */
import: from AS9270 action pref=250; accept AS-KOREN /* réseau recherche Coréen */
import: from AS20965 action pref=300; accept AS-GEANTNRN AS-AUCS
import: from AS2470 action pref=100; accept AS2470 /* La Réunion */
import: from AS-RENATER accept <^AS-RENATER+$>
export: to AS-SFINX-PEERS announce AS-RENATER
export: to AS5511 announce AS-RENATER AS7500
export: to AS9270 announce AS-RENATER AS-GEANTNRN
export: to AS12654 announce AS-RENATER
export: to AS21357 announce AS-RENATER
export: to AS20965 announce AS-RENATER AS-KOREN AS7500
export: to AS2470 announce AS-RENATER
2012 Réseaux d'Opérateurs BGP 68
export: to AS-RENATER announce ANY
23
AS5511 (Opentransit)
aut-num: AS5511
as-name: OPENTRANSIT
descr: France Telecom
descr: Worldwide IP Backbone
…
import: from AS2200 action pref=10 accept AS-RENATER
…
export: to AS2200 announce ANY
…
import: from AS2914 action pref=25 accept AS-VERIO
…
export: to AS2914 announce AS-OPENTRANSIT
24
Démarrage BGP (1)
• Configurer interfaces, routage IP
• Lancer processus BGP
– Router BGP <ASN_local>
• Déclarer les sessions iBGP et eBGP
• Neighbor <adresse-IP-voisin> remote-as
<ASN>
– Si ASN = ASN_local alors iBGP sinon eBGP
25
Politique (1)
• Access list (ACL) spécifiques aux attributs/
annonces
– Distribute-list in|out
• Filtrage sans modification
• Note : risque d’inaccessibilité
• Route-map : expressions conditionnelles
– Conditions (match)
– Modifications attributs (set)
26
filtrage
• filtrer une annonce
– en entrée => interdire trafic sortant
– en sortie => interdire trafic entrant
• et donc transit
• s’il n’y a pas d’autre annonce pour P
– => peut rendre P inaccessible
– => à manier avec prudence
• cisco : possibilité d’annonces conditionnelles
neighbor A.B.C.D advertise-map ADVERTISE non-exist-map NON-EXIST
route-map (1)
• Format général
Route-map nom permit|deny num_1
Match condition_1
Set action_1
Route-map nom permit|deny num_2
Match condition_2
Set action_2
…
Route-map nom permit|deny num_n
[match condition_n]
Set action_n
/* deny implicite en fin */
2012 Réseaux d'Opérateurs BGP 80
route-map (2)
• Liste interprétée ordre des num_n
– Jusqu’à un match satisfait (ou fin liste)
– Si match condition_i et permit
• => appliquer action_i (set) éventuelle et sortir (garder
annonce)
– Si match condition_i et deny
• => éliminer annonce et sortir
– donc un set est inutile avec un deny
– Sortie fin de liste sans match
• => deny implicite
27
Exemples de match
Match as-path liste-as
ip as-path access-list liste-as {permit|deny} AS_ER
…
Match community liste-communauté
Ip community-list liste_communauté {permit|deny} C1
IP community-list liste_communauté {permit|deny} C2
…
Match ip address liste_adresses
Match metric nombre
Match ip next-hop liste_adresses
2012 Réseaux d'Opérateurs BGP 82
Exemples de set
Set as-path prepend ASN1 ASN2…
ajoute ASN1 ASN2 au début de l’as path
Set metric nombre
positionne le MED
Set origin {igp| egp asn | incomplete}
Set local-preference nombre
Utilisation route-map
Comme filtre en entrée ou sortie vers pair
BGP
Neighbor adresse remote-as Asn
Neighbor adresse route-map nom_map in|
out
les annonces reçues/envoyées au voisin
sont filtrées/modifiés par nom_map
28
Next-hop
• Normalement Next-Hop
– routeur émetteur en eBGP
– recopié de eBGP en iBGP
– => pourrait ne pas être accessible
neighbor adresse_voisin next-hop-self
– En iBGP utilisation adresse loopback
• moins vulnérable panne
Route Reflector
• Permet de ne pas avoir de full mesh en iBGP
– => limite le nombre de sessions
• un routeur est client d’un RR :
router BGP ASNi
neighbor add1 remote-as ASNi
neighbor add1 route-reflector-client
– idem clien ts add2, add3, …
– Le routeur add1 ouvre une seule session iBGP
– le RR redistribue entre ses clients,
• et avec autres voisins BGP
• possibilité plusieurs RR en full mesh
2012 Réseaux d'Opérateurs BGP 86
Confédération d’AS
29
Autres commandes
sho …
• sho ip route
– affiche routes, y compris apprises par BGP
debug
• debug ip bgp paramètre
– ex :
debug ip bgp updates
30
Quelques problèmes classiques
• Pour communiquer
– Routage doit être correct dans les deux
sens
– Redistribution inter vers intra et
réciproquement
– Accessibilité des réseaux d’interconnexion
Problème de BGP
• Black hole
– P ∈ ASi (qui l’annonce)
– P annoncé à tort par ASj
– ∀ ASk plus proche de ASj que de ASi
– => trafic vers P passant par ASk« perdu »
– Filtrer explicitement préfixes annoncés par clients
31
Nb entrées avec dampening
32
Problème de convergence
• Exemple :
AS2
AS1
R
AS0
Convergence (1)
• Notation
– Asi -> Asj { AS-Path | W } W = withdraw
• On considère un préfixe P accessible
seulement par R
• R perd ce préfixe
– R -> 0 W
– R -> 1 W
– R -> 2 W
Convergence (2)
• Traitement R -> 0 W R -> 1 W R -> 2 W
0(∞, *1R, 2R) 1(*0R, ∞, 2R) 2(*0R,1R, ∞)
• Emission
0 -> 1 01R, 0-> 2 01R, 1 -> 0, 10R 1-> 2 10R, 2 -> 0 20R, 2 -> 1 20R
• Traitement 0 -> 1 01R, 0-> 2 01R
1(∞, ∞, *2R) 2(01R, *1R, ∞)
• Emission
1 -> 0 12R, 1 -> 2 12R, 2 -> 0 21R, 2 -> 1 21R
• Traitement 1 -> 0, 10R 1-> 2 10R
0(∞, ∞, *2R) 2(*01R, 10R, ∞) (ex æquo : ordre as)
• Emission 0 -> 1 02R, 0 -> 2 02R, 2 -> 0 201R, 2 -> 1 201R
• …. 48ème étape
0(∞, ∞, ∞), 1 (∞, ∞, ∞), 2 (∞, ∞, ∞)
• Updates inutiles émis vers extérieur 47 étapes
2012 Réseaux d'Opérateurs BGP 99
33
Biblio
• [BGP] RFC1771, - A Border Gateway Protocol 4 (BGP-4), mars 1995.
• [CIDR] Fuller, V., Li, T., Yu, J., and K. Varadhan, "Classless Inter-Domain
Routing (CIDR): An Address Assignment and Aggregation Strategy",
RFC1519, September 1993.
• [RFC3513] IP Version 6 Addressing Architecture
• [MBGP] RFC 2858 - Multiprotocol Extensions for BGP-4, juin 2000.
et le tutoriel de Sam Halabi
• Internet Routing Architectures, Second Edition by Sam Halabi, Danny
McPherson, Cisco Press
• la doc cisco en ligne, configuration BGP
http://www.cisco.com/en/US/docs/ios/12_0/np1/configuration/guide/1cbgp.html
• Tutoriel dynagen http://www.dynagen.org/tutorial.htm
34