BGP Protocoles de routage intra-domaines (RIP, OSPF, IS-IS, etc.) ne passent pas à l'échelle => il faut des protocoles de routage inter-domaines AS = autonomous system = un seul administrateur IGP = interior gateway protocol (RIP, OSPF, IS-IS, IGP, EIGRP, etc.) EGP = exterior gateway protocol NLRI = network layer reachability information = préfixe + masque (exemple : « /24, 1.2.3.4 »), permet à BGP de faire du supernetting (regrouper des subnets) et de l'agrégation (fusionner des entrées similaires) BGP = border gateway protocol (version 4), RFC 1771, 1995 • l'un des seuls protocoles de la catégorie EGP (successeur d'un protocole nommé EGP) • protocole de routage entre AS (de type ISP), distance-vector protocol, qui passe à l'échelle et qui est décentralisé • peut aussi être utilisé en intra-domaine • utilisé aussi pour transmettre des infos sur les routes (ex : VPN) • supporte CIDR + agrégation de routes (pour réduire la taille des tables d'acheminement) Quand implémenter BGP ? • Réseaux de cœur • single-homed : un lien vers un ISP => non • dual-homed : deux liens vers un ISP => no (car pas de load balancing avec BGP) • single multihomed : un lien vers un ISP + un autre lien vers un autre ISP => oui (mais implémenter du BGP filtering pour ne pas être un domaine de transit mais bien comme un domaine souche (stub domain)) • dual multi-homed : plusieurs liens vers un ISP + plusieurs liens vers un autre ISP => oui (idem) Remarques • organisation des ISP : tier 1 (cœur) + tier 2 + tier 3, voir des images de GEANT ou RENATER qui montrent la topologie du backbone • nombre de préfixes annoncés sur Internet : 100k en 2001, 400k en 2012, 500k en 2014 (il peut y avoir des préfixes supplémentaires qui sont privés, pour les routes internes par exemple) • nombres d'AS : alloués = 60k en 2014, annoncés sur Internet = 45k Fonctionnement • un routeur BGP est appelé un peer, tous les voisins (au sens BGP, mais il s'agit généralement de voisins directs) d'un nœud sont configurés manuellement (customer-provided peering (relation asymétrique) ou shared-cost peering (relation symétrique)) • BGP envoie des keep-alives toutes les 30 secondes • BGP utilise TCP (port 179) pour l'échange de données entre peers • chaque AS possède un ASN, et BGP manipule ces ASN (actuellement 32 bits) • utilise un best prefix match (préfixe le plus spécifique) • mises à jour incrémentales (via numéro de séquence + hachage) et triggered (différent de RIP, mais obligatoire pour passer à l'échelle) • métrique BGP = liste triée de beaucoup d'attributs • algo de routage • • • • ◦ liste des chemins reçus, recherche gloutone du max dans cette liste ◦ le meilleur chemin dépend de la politique d'administration interne ◦ ce chemin est envoyé aux autres routeurs (donc pas de boucle car c'est la source qui a calculé la route complète) table de routage = table de routage par voisin (plusieurs centaines de mégas par voisin) + table d'acheminement (avec les meilleurs voisins) seulement les meilleures routes sont envoyées aux voisins BGP d'un nœud load balancing = dépend du constructeur des routeurs, mais il y a quelques fonctionnalités possibles ◦ ex (CISCO) : conserver plusieurs entrées dans une table d'acheminement particulière ◦ ex (JUNIPER) : répartir certains préfixes sur le chemin C1 et d'autres sur le chemin C2, quand les préfixes pour C1 et C2 pointent sur le même next-hop, et que coût(C1) =coût(C2) BGP filtering BGP sur un exemple : TODO (dessin + configuration pour un dual multi-homed) iBGP = Internal BGP • = permet de redistribuer des infos BGP dans un même AS • chaque peer est connecté à tous les autres (= full mesh) • mise en place de réflecteurs de routes = nœuds centraux d'un AS (généralement 2 pour des raisons de redondance) qui sont peers de tous les autres nœuds du réseau et qui peuvent annoncer des routes dont ils ne sont pas à l'origine (peuvent aussi être mis en hiérarchie) • mise en place de confédérations = ensemble d'AS avec un seul ASN Remarque : • différence avec RIP (qui est distance-vector) : BGP mémorise toutes les routes vers toutes les destinations +BGP évite les boucles (car les routes sont explicites) => BGP est souvent classé comme un protocole path-vector plutôt que distance-vector • iBGP n'est pas un protocole intra-domain, mais iBGP utilise un protocole intra-domaine ◦ iBGP est lent et demande beaucoup de ressources (pour établir le full mesh) ◦ iBGP ne configure pas les routeurs intermédiaires (qui doivent être configurés par l'IGP) ◦ une entité iBGP ne diffuse pas les routes trouvées par une autre entité Avantages et inconvénients : • contrôle des routes + gestion flexible de la politique de routes • lent (il a été conçu pour l'être, étant donné que l'on ne veut pas transmettre des notifications pour des réseaux qui tombent/reviennent rapidement) • iBGP ne passe pas à l'échelle, augmente le temps de convergence de BGP, fait du routage non optimal, et peut générer des oscillations de routes • load balancing difficile • routage asymétrique difficile • relation IGP + BGP parfois difficile (routes jamais distribuées entre BGP et IGP) • route flapping = certaines routes peuvent être annoncées/désannoncées rapidement, ce qui génère beaucoup de trafic et de charge, souvent à cause de routeurs mal configurés et de liens qui tombent • BGP ne détecte pas la congestion • pour les réseaux multi-homed, dur de faire du load balancing pour le trafic qui va à destination de ce réseau, à cause de la manière dont BGP annonce les préfixes : le même préfixe est annoncé pour tous les peers BGP du réseau => diviser le bloc d'adresses en bloc plus petit et faire en sorte que chaque bloc paraisse optimal sur des chemins différents (mais augmente la taille des tables d'acheminement) Compléments • route flap damping (RFC 2439) pour réduire les problèmes de route flapping ◦ supprime les routes externes qui oscillent ◦ les routes au-dessus de supress-limit ne sont pas annoncées ◦ les routes en dessous de reuse-limit sont annoncées ◦ additive penalty, exponential decay • route summarization pour réduire la taille des tables d'acheminement = on regroupe les subnets • pour les réseaux multi-homed avec load balancing, une autre solution est d'utiliser des gateways BGP/LISP (locator/identifier separation protocol) en un point d'échange Internet pour permettre du traffic engineering pour les communications entrantes (ce qui n'augmente pas le nombre d'entrées dans la table d'acheminement des routeurs) • recursive route lookup = 2 searches in the routing table are required (ce qui paraître un problème parfois) TODO : exemple de recursive route lookup
© Copyright 2024 ExpyDoc