User Tools

Site Tools


informatique:cisco:bgp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
informatique:cisco:bgp [2011/03/02 20:15] – édition externe 127.0.0.1informatique:cisco:bgp [2012/07/12 13:24] – création [Détermination du meilleur chemin] pteu
Line 3: Line 3:
 ======BGP====== ======BGP======
  
-BGP est un protocole de routage standart inter-domaine qui utilise le port tcp/179 pour établir des communications entre routeurs voisins.+BGP (Border Gateway Protocol) est le protocole de routage standard inter-domaine (**EGP**, Exterior Gateway Protocol) qui utilise le port tcp/179 pour établir des communications entre routeurs voisins
 + 
 +Le BGP permet un routage administratif basé sur la méfiance de ses voisins, ce qui signifie qu'à la différence des protocoles de routage **IGP** (Interior Gateway Protocol) comme l'OSPF, RIP ou EIGRP qui font confiance à leurs voisins et cherchent le chemin le plus court, le BGP permet de contrôler la façon de router les paquets entrant et sortant.
  
   * 2 déclinaisons du BGP   * 2 déclinaisons du BGP
     * iBGP pour le routage intra-domaine     * iBGP pour le routage intra-domaine
-    * EBGP pour le routage inter-domaine+    * eBGP pour le routage inter-domaine
   * 3 tables   * 3 tables
     * table des voisins     * table des voisins
Line 17: Line 19:
     * Update     * Update
     * Notification     * Notification
-  * la **synchronisation**, si elle est activée, invalide un préfix annoncé en IBGP mais dont la route est inconnue en IGP : il ne sera pas annoncé dans EBGP. L asynchro peut être désactivée si on utilise de l'IBGP full-mesh.+  * la **synchronisation**, si elle est activée, invalide un préfixe annoncé en IBGP mais dont la route est inconnue en IGP : il ne sera pas annoncé dans EBGP. La synchro peut être désactivée si on utilise de l'IBGP full-mesh.
   * une **communauté** est un groupe de destinations qui partagent certaine propriétés ; elles utilisent un tag ; cela permet un filtrage cohérent   * une **communauté** est un groupe de destinations qui partagent certaine propriétés ; elles utilisent un tag ; cela permet un filtrage cohérent
   * les numéros d'AS vont de 1 à 65535, les numéros de 64512 à 65535 son réservé pour un usage privé   * les numéros d'AS vont de 1 à 65535, les numéros de 64512 à 65535 son réservé pour un usage privé
Line 73: Line 75:
   network 10.10.10.0 mask 255.255.255.0   network 10.10.10.0 mask 255.255.255.0
  
 +=====Détermination du meilleur chemin=====
 +cf : BGP Best Path Selection Algorithm
  
 +  * highest WEIGHT : c'est un paramètre propriétaire Cisco, pas toujours/souvent utilisé
 +  * highest LOCAL_PREF : par défaut = 100
 +  * locally originated via a //network// or //aggregate// BGP subcommand or through redistribution from an IGP
 +  * shortest AS_PATH
 +  * lowest origin type (IGP < EGP < INCOMPLETE)
 +  * lowest multi-exit discriminator (MED) : uniquement si les next-hop appartiennent au même AS
 +  * prefer eBGP over iBGP paths
 +  * path with the lowest IGP metric to the BGP next hop
 +  * When both paths are external, prefer the path that was received first (the oldest one)
 +  * Prefer the route that comes from the BGP router with the lowest router ID
 +  * Prefer the path that comes from the lowest neighbor address.
 =====Configuration avancée===== =====Configuration avancée=====
  
Line 109: Line 124:
   neighbor 10.0.0.1 send-community   neighbor 10.0.0.1 send-community
  
 +====Load Sharing====
 +
 +Le load sharing permet d'utiliser plusieurs liaisons WAN de façon statique (sans répartition de charge à la différence du load-balancing), ainsi que du fail-over en cas de panne d'une liaison.
 +
 +===Double raccordement au même ISP===
 +
 +On considère un router WAN relié en eBGP à 2 routeurs d'un même ISP. Il faut monter les adjacences eBGP et ajouter la commande ''maximum-paths 2'' pour installer jusqu'à 2 paths dans la table de routage.
 +
 +Exemple : notre AS=100 et l'AS de notre ISP=200. Configuration de notre routeur :
 +<code>
 +                     R1
 +                   /
 +AS=100  Router_WAN         AS=200
 +                   \
 +                     R2
 +</code>
 +
 +<code bash>
 +interface Loopback0
 + ip address 10.0.0.1 255.255.255.0
 +!
 +interface FastEthernet0/1
 + description vers ISP_R1
 + ip address 100.0.1.1 255.255.255.0
 +!
 +interface FastEthernet0/2
 + description vers ISP_R2
 + ip address 100.0.2.1 255.255.255.0
 +!
 +router bgp 100
 + neighbor 100.0.1.2 remote-as 200
 + neighbor 100.0.2.2 remote-as 200
 + network 10.0.0.0
 + ! détermine le nombre de path différents à installer dans la table de routage
 + maximum-paths 2
 +</code>
 +
 +===as-path prepend===
 +
 +L'AS-path prepend permet à un routeur BGP d'alourdir l'AS-path de certaines routes afin de déterminer quel routeur sera privilégier pour tel ou tel réseau.
 +
 +
 +Dans ce cas on a cette architecture : 2 routeurs WAN locaux vers 2 routeurs d'un même ISP ; avec des adjacences BGP "en carré" :
 +<code>
 +               R1--------------R3
 +AS10 (local)                     AS11 (ISP)
 +               R2--------------R4
 +</code>
 +
 +J'ai 2 réseaux locaux 10.0.1.0/24 et 10.0.2.0/24 ; mon n° d'AS est 10. Je veux que le premier réseau soit routé par mon ISP (AS=11) vers R1, et le second vers R2.
 +
 +Sur R1 :
 +<code bash>
 +router bgp 1
 + network 10.0.1.0 mask 255.255.255.0
 + network 10.0.2.0 mask 255.255.255.0
 + neighbor 192.168.0.1 remote-as 10
 + neighbor 192.168.0.1 route-map rm_R1 out
 +!
 +access-list 1 permit 10.0.1.0
 +access-list 2 permit 10.0.2.0
 +!
 +route-map rm_R1 permit 10
 + match ip address 1
 +!         
 +route-map R101-103-MAP permit 20
 + match ip address 2
 + ! on "alourdi" l'AS-path vers le réseau qui doit passer par R2
 + set as-path prepend 11 11
 +</code>
 +
 +On "alourdi" l'AS-path (on ajoute dans l'entête 2 numéros d'AS = 2 "sauts") des routes annoncées en BGP au routeur de l'ISP, afin que celui-ci préfère R2. R2 aura la conf inverse, c'est-à-dire qu'il va alourdir l'AS-path du réseau 10.0.1.0/24 afin que le routeur de l'ISP envoie la trafic vers R1.
 +
 +===Liens===
 +
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a00800945bf.shtml|Load Sharing with BGP in Single and Multihomed Environments: Sample Configurations]]
  
 =====Vérifications===== =====Vérifications=====
  
 Lister les annonces BGP sur un routeur Lister les annonces BGP sur un routeur
-  show bgp ipv4 unicast+<code bash> 
 +show bgp ipv4 unicast 
 +</code>
  
 Lister les voisins Lister les voisins
-  show ip bgp neighbors+<code bash> 
 +show ip bgp neighbors 
 +</code>
  
 Pour redémarrer toutes les sessions BGP Pour redémarrer toutes les sessions BGP
-  clear bgp all +<code bash> 
- +clear bgp all 
-  clear ip bgp *+clear ip bgp * 
 +</code>
 ou ou
-  clear ip bgp 192.168.0.0+<code bash> 
 +clear ip bgp 192.168.0.0 
 +</code>
  
 Voir la liste de préfixes : Voir la liste de préfixes :
-  show ip prefix-list+<code bash> 
 +show ip prefix-list 
 +</code> 
 + 
 + 
 +=====Liens utiles===== 
 + 
 +  * [[http://www.cisco.com/en/US/docs/ios/12_2/ip/configuration/guide/1cfbgp.html|Configuring BGP (cisco.com)]] 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a00800945bf.shtml|Load Sharing with BGP in Single and Multihomed Environments: Sample Configurations]] 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml|BGP case studies]]
informatique/cisco/bgp.txt · Last modified: 2013/10/14 20:44 by 127.0.0.1