User Tools

Site Tools


informatique:cisco:ospf

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
informatique:cisco:ospf [2009/12/10 16:53] – Timers par défaut pteuinformatique:cisco:ospf [2013/10/14 20:44] (current) – external edit 127.0.0.1
Line 32: Line 32:
   * **PDU** Protocol Data Units ; les LSAs sont des PDUs   * **PDU** Protocol Data Units ; les LSAs sont des PDUs
   * **LSA** Link-State Advertisement qui sont envoyer à tous les routeurs de l'aire   * **LSA** Link-State Advertisement qui sont envoyer à tous les routeurs de l'aire
-  * **LSU** Link-State Update+  * **LSR** Link-State Request : si les LSA sont plus récents que la base de topologie, le routeur demande les informations manquantes 
 +  * **LSU** Link-State Update : envoyé sur demande (LSR) par le DR aux autre routeurs du segment
   * **LSDB** Link-State DataBase qui sont identiques sur tous les routeurs de l'aire   * **LSDB** Link-State DataBase qui sont identiques sur tous les routeurs de l'aire
   * **DR** Designated Router   * **DR** Designated Router
Line 67: Line 68:
   * LSU   * LSU
   * LSR   * LSR
-  * DBD+  * DBD : DataBase Descriptor
   * LSAck   * LSAck
-  * hello (**Hello interval** sur NBMA = 30s, sur interface rapides comme l'Ethernet c'est 10s ; le **dead time** est égal à <del>3</del> 4 fois le **Hello interval**)+  * hello (**Hello interval** sur NBMA = 30s, sur interface rapides comme l'Ethernet c'est 10s ; le **dead time** est égal à <del>3</del> 4 fois le **Hello interval** donc = 40s sur Ethernet par ex.)
  
 ====Les différents types de LSAs==== ====Les différents types de LSAs====
  
-Les **Link State Advertisement** sont les paquets utilisés par les routeurs OPF pour communiquer (des LSUs) :+Les **Link State Advertisement** sont les paquets utilisés par les routeurs OPF pour communiquer (des LSUs) ; ils doivent être acquitter par les voisins (il sont retransmis toutes les ''retransmit-interval'' - 5s par défaut - tant que l'acquittement n'est pas reçu). Il y en a de plusieurs types :
  
   * LSA type 1 (router) : envoyés par chaque routeur, contient les routes //connected// ; ils sont de type :   * LSA type 1 (router) : envoyés par chaque routeur, contient les routes //connected// ; ils sont de type :
Line 85: Line 86:
   * LSA type 7 (NSSA) : générés par les ASBR d'une aire NSSA, ils sont convertis par l'ABR de l'aire en LSA de type 5.   * LSA type 7 (NSSA) : générés par les ASBR d'une aire NSSA, ils sont convertis par l'ABR de l'aire en LSA de type 5.
   * LSA type 9 à 11 (opaque)   * LSA type 9 à 11 (opaque)
 +
 +
 +=====Les états OSPF=====
 +
 +^DOWN     | premier état OSPF ; le routeur émet des hello mais n'en reçoit pas |
 +^ATTEMPT  | uniquement sur NBMA ; envoi de hello unicast a son voisin dont le dead time a expiré |
 +^INIT     | le routeur reçoit un hello d'un voisin, mais il ne contient pas (encore) son router-id |
 +^2WAY     | communication bidirectionnelle établie = les hellos reçus contiennent son router-id ; état normal d'un DROTHER avec un autre DROTHER puisqu'un routeur ne peut être FULL qu'avec le DR et le BDR) |
 +^EXSTART  | état d'échange de //link state information// avec le DR/BDR |
 +^EXCHANGE | état d'échange de DBD/LSA avec le DR/BDR |
 +^LOADING  | suite à l'état EXCHANGE, état de demande au voisin une information pour mise à jour (link-stat request) |
 +^FULL     | état normal symbolisant une adjacence complète = la base de données des voisins sont synchronisés |
 +
 +En résumé : seul l'état FULL dénote bon fonctionnement __sauf__ sur un réseau de type broadcast (comme l'Ethernet) dans le cas de l'adjacence de 2 routeurs DROTHER qui restent à l'état 2WAY.
 +
 +Voici l'algorithme d'état OSPF :
 +
 +{{:informatique:cisco:ospf_states.gif|}}
  
  
Line 103: Line 122:
  
 |                          ^ Protocole ^ Hello timer (s) ^ Dead timer (s) ^ |                          ^ Protocole ^ Hello timer (s) ^ Dead timer (s) ^
-^ NBMA                     | FR | 30 | 120 | +^ NBMA                     | FR        | 30              | 120            
-^ Multipoint Broadcast     | | 30 | 120 | +^ Multipoint Broadcast               | 30              | 120            
-^ Multipoint Non-Broadcast | | 30 | 120 | +^ Multipoint Non-Broadcast |           | 30              | 120            
-^ Broadcast                | Ethernet | 10 | 40 | +^ Broadcast                | Ethernet  | 10              | 40             
-^ Point-to-point           | Série | 10 | 40 |+^ Point-to-point           | Série     | 10              | 40             |
  
 =====Mise en place basique===== =====Mise en place basique=====
Line 156: Line 175:
 ====Redistribution de routes==== ====Redistribution de routes====
  
-La redistribution de route est utiliser pour injecter des routes apprise d'un AS vers un autre AS : par exemple de ''eigrp 1'' vers ''OSPF 1'' ; ou des routes statiques vers ''eigrp 1''.+La redistribution de route est utilisée pour injecter des routes apprises d'un AS vers un autre AS : par exemple de ''eigrp 1'' vers ''ospf 1'' ; ou des routes statiques vers ''eigrp 1''.
  
 Voici un article plus détaillé sur la [[informatique:cisco:redistribution_de_route#ospf|redistribution de routes]]. Voici un article plus détaillé sur la [[informatique:cisco:redistribution_de_route#ospf|redistribution de routes]].
Line 190: Line 209:
 Ne peut se faire que sur les ABR ou les ASBR : Ne peut se faire que sur les ABR ou les ASBR :
  
-  * les ABRs : aggréger les routes de l'aire 1 afin de limiter les annonces vers les autres aires+  * les ABRs : agréger les routes de l'aire 1 afin de limiter les annonces vers les autres aires
  
-  (config-router)#network 10.1.1.0 0.0.0.255 area 1 +<code bash> 
-  (config-router)#network 10.1.2.0 0.0.0.255 area 1 +(config-router)#network 10.1.1.0 0.0.0.255 area 1 
-  (config-router)#area 1 range 10.1.0.0 255.255.0.0+(config-router)#network 10.1.2.0 0.0.0.255 area 1 
 +(config-router)#area 1 range 10.1.0.0 255.255.0.0 
 +</code>
  
 Ici on agrège pour n'annoncer qu'un réseau en /16 (attention il ne faut pas que d'autres réseaux de la plage soient utilisés sur un autre routeur !). Ici on agrège pour n'annoncer qu'un réseau en /16 (attention il ne faut pas que d'autres réseaux de la plage soient utilisés sur un autre routeur !).
  
 On peut spécifier des réseaux agrégés à ne **pas** diffuser : On peut spécifier des réseaux agrégés à ne **pas** diffuser :
-  (config-router)#area 1 range 10.1.0.0 255.255.0.0 not-advertise+<code bash> 
 +(config-router)#area 1 range 10.1.0.0 255.255.0.0 not-advertise 
 +</code>
  
-  * les ASBRs : aggréger les routes redistribuées dans l'OSPF à partir d'une source externe (static, autres IGP, etc...)+  * les ASBRs : agréger les routes redistribuées dans l'OSPF à partir d'une source externe (statique, autres IGP, etc...)
  
-  (config-router)#summary-address 192.168.0.0 255.255.0.0+<code bash> 
 +(config-router)#summary-address 192.168.0.0 255.255.0.0 
 +</code>
  
 +Si le routeur agrège le réseau 192.168.0.0/16 mais qu'il ne possède connait que le réseau 192.168.0.0/24, alors il ajoute une route vers Null0 avec un coût de 0 pour les réseaux de la plage qu'il ne connait pas :
 +
 +<code bash>
 +ABR#show ip route 192.168.1.0
 +Routing entry for 192.168.1.0/24
 +  Known via "ospf 1", distance 110, metric 0, type intra area
 +  Routing Descriptor Blocks:
 +  * directly connected, via Null0
 +      Route metric is 0, traffic share count is 1
 +</code>
  
 ====Stub area==== ====Stub area====
Line 249: Line 284:
  
 Vérifs avec ''sh ip ospf virtual-links''. Vérifs avec ''sh ip ospf virtual-links''.
 +
 +====Sub-second hello packet====
 +
 +Sur les liens de bonne qualité (donc souvent du LAN Ethernet) il peut être intéressant d'augmenter la réactivité de l'OSPF pour baisser les temps de convergence du réseau en cas de perte d'un routeur. On peut le faire en diminuant les timers d'envoi des paquets hello ainsi que le dead-time interval. Quand on descend en-dessous de la seconde, on appelle cela **Fast Hello Packets** ou **subsecond hello packets**. Cela doit être manipuler avec précaution sous peine d'avoir les adjacences OSPF de ses routeurs qui bagottent sans cesse.
 +
 +Cela se configure facilement, en spécifiant sur l'interface de routage la commande :
 +<code bash>
 +interface Gi0/0
 + ip ospf dead-interval minimal hello-multiplier 5
 +</code>
 +Ici on configure le //dead-interval// au minimum possible (càd 1 seconde) et on indique qu'on envoie 5 hellos dans cet intervalle de temps, ce qui fait un toutes les 200 ms. Comme un voisin est déclaré dead après la perte de 4 hellos packet, on descend bien en dessous de la seconde pour converger.
 +
 +Lien cisco : [[http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/fasthelo.html|OSPF Support for Fast Hellos]]
  
  
Line 255: Line 303:
 ====show ip route==== ====show ip route====
  
-Cette commande permet d'afficher la table de routage du routeur. Les annonces correspondent à : +<code bash> 
-^ Code     ^ Type                 ^ Description ^ +show ip route
-| ''O''    | OSPF                 | routes OSPF de la même aire (intra-area) | +
-| ''O IA'' | OSPF inter-area      | les routes OSPF inter-aire (inter-area) | +
-| ''N1''   | OSPF NSSA external type 1 | | +
-| ''N2''   | OSPF NSSA external type 2 | | +
-| ''E1''   | OSPF external type 1 | route externe de type 1 (issue d'un autre AS = route redistribuée) à métrique variable | +
-| ''E2''   | OSPF external type 2 | route externe de type 2 (issue d'un autre AS = route redistribuée) à métrique constante | +
-| ''*''    | candidate default    | route candidate par défaut | +
   Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP   Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
        D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area         D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
Line 273: Line 313:
        o - ODR, P - periodic downloaded static route        o - ODR, P - periodic downloaded static route
  
-  debug ip ospf adj +Gateway of last resort is 10.0.1.0 to network 0.0.0.0 
-  debug ip ospf events+</code>
  
-(Pour désactiver le debugging : ''undebug all'')+Cette commande permet d'afficher la table de routage du routeur. Les annonces correspondent à : 
 +^ Code     ^ Type                 ^ Description ^ 
 +''O''    | OSPF                 | routes OSPF de la même aire (intra-area
 +| ''O IA'' | OSPF inter-area      | les routes OSPF inter-aire (inter-area) | 
 +| ''N1''   | OSPF NSSA external type 1 | | 
 +| ''N2''   | OSPF NSSA external type 2 | | 
 +| ''E1''   | OSPF external type 1 | route externe de type 1 (= route redistribuée) à métrique variable | 
 +| ''E2''   | OSPF external type 2 | route externe de type 2 (= route redistribuée) à métrique constante | 
 +| ''*''    | candidate default    | route candidate par défaut |
  
-  sh ip ospf interface +<code bash> 
-  sh ip ospf neighbor +show ip ospf interface 
-  sh ip protocols +show ip ospf neighbor 
-  sh ip route ospf+show ip ospf 8 database adv-router 10.167.131.1 
 +show ip ospf 8 database router 10.167.131.1
  
 +show ip protocols
 +show ip route ospf
 +</code>
 +
 +====debug====
 +
 +<code bash>
 +debug ip ospf adj
 +debug ip ospf events
 +</code>
 +(Pour désactiver le debugging : ''undebug all'')
  
 =====Liens===== =====Liens=====
  
- * [[http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080094e9e.shtml#t32|OSPF Design Guide]] sur cisco.com+  * [[http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080094e9e.shtml#t32|OSPF Design Guide]] sur cisco.com 
 +  * [[http://www.cisco.com/en/US/docs/ios/12_0/np1/configuration/guide/1cospf.html|Configuring OSPF]] sur cisco.com 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080093f0e.shtml|OSPF neighbor states]] 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_configuration_example09186a00801ec9f0.shtml|How OSPF Injects a Default Route into a Normal Area]] 
 +  * [[http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a0080094050.shtml|OSPF Neighbor Problems Explained]] 
informatique/cisco/ospf.1260464029.txt.gz · Last modified: 2013/10/14 20:51 (external edit)