A6. OSPF

De Wiki IES Marianao. Departament Informàtica
La revisió el 13:11, 21 abr 2026 per Alex (Discussió | contribucions) (Mètrica)

Dreceres ràpides: navegació, cerca

torna M7 - Planificació i administració de xarxes

OSPF

OSPF (Open Shortest Path First)

Característiques

  • Protocol d’estat d’enllaç IGP. Millor que vector distància per a xarxes més complexes.
  • Algoritme de la ruta més curta (Dijkstra).
  • Mètrica de cost dels enllaços que reflexa la capacitat abstracta d’aquests. La pot definir l’administrador. Pot fer referència per exemple a l’ample de banda.
  • Cada node manté una imatge de la xarxa (Limitada) completa. Les decisions d’enrutament són més fiables.
  • Tècnica d’inundació (flooding). Envia informació per tots els ports excepte el d’entrada.
  • No utilitza enviaments periòdics sinó només en cas de canvis a la topologia. Consumeix menys ample de banda.
  • Codi obert. (Original RFC 1131).
  • Millora la convergència del RIP però és més difícil de configurar i requereix més recursos (Memòria i CPU).
  • Permet autentificació (MD5).
  • Accepta adreçament sense classe.


Les xarxes OSPF es divideixen en àrees que són agrupacions lògiques de Routers que externament és veuen com una unitat. Redueix el tràfec donat que la topologia dins una àrea és desconeguda des de fora.


El nombre de Routers dins una àrea està limitat perquè els missatges LSA (Link State Advertisements) que inunden la xarxa impliquen l’actualització de taules i bases de dades.

Tipus d’àrees:

  • Backbone: Nucli OSPF, Manté connexió física o lògica amb la resta d’àrees. Estructura jeràrquica. Sempre ha d’existir una. Els routers que connecten l’àrea backbone amb les altres àrees s’anomenen “area-border routers”. Totes les àreas han d'estar connectades a aquesta físicament o amb un enllaç virtual
  • Transit: Àrees que permeten el trànsit entre d’altres àrees, per exemple per connectar (lògicament) l’àrea backbone i una stub (Topologia virtual)
  • Stub: Només tenen un punt (ABR) de sortida, i no rep rutes externes, només rutes entre àrees. Per accedir a l’exterior cal especificar una ruta per defecte i tots els routers interns s'han de definir com a stub. Aquesta configuració permet reduir la mida de les taules de ruta.
  • Altres: La resta d'àreas són normals


Els Routers que connecten àrees s’anomenen ABR (Area Border Routers).

  • Un Router amb totes les interfaces a la mateixa àrea és un Router Intern.
  • Un Router amb interfaces a múltiples àrees és un ABR.
  • Un Router que fa de gateway entre OSPF i altres protocols d'enrutament (En el mateix AS o diferent, RIP, altres configuracions OSPF, etc..) s'anomena ASBR (autonomous system boundary router).


Ospf01.png


En les xarxes multiaccés (P.E. Ethernet) amb varis Routers per evitar que el procés d’inundació col·lapsi la xarxa es selecciona un dels Routers (DR, Router Designat) com a representant i la resta només envien els LSA en aquest, és aquest l’únic que fa la inundació. Això representa un únic punt de fallada i per tant també és selecciona un altre de recolzament (BDR)


En xarxes punt a punt no existeix aquest problema.


Exemple: Una única àrea multiaccés


Ospf02.png


Exemple: Vàries àrees multiaccés


Ospf03.png


Per accedir d’una àrea a una altre cal passar per la backbone.


Algoritme SPF (Shortest Path First)

Un enllaç fa referència a cadascuna de les interfases d’un Router, l’algoritme de Dijkstra treballa sobre un enllaç, creant un arbre on l’arrel és aquest, que permet calcular les millors rutes a la resta de xarxes per afegir-les a la taula.


Exemple

Spf01.png


Spf02.png



A la taula de ruta es manté tots els possibles destins des de tots els nodes, l’algoritme de Dijkstra consisteix en el següent:


  • La xarxa és un conjunt de nodes connectats per enllaços punt a punt.
  • Cada enllaç té un cost (Menor cost, millor camí).
  • Cada node té un nom
  • Cada node té una base de dades amb la informació de tots els enllaços (totes dins l’àrea són iguals).


Exemple


Spf03.png



La base de dades d’enllaços és igual per a tots els nodes, indica cada node quins enllaços té i el cost.


Amb aquesta informació, cada node munta el seu arbre de rutes més curtes (Sense bucles i aquest a l’arrel)



Spf04.png



A partir del node B s’indica com accedir a la resta de nodes, amb quin cost i a través d’on.



Més exemples de funcionament de l’algoritme:


http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml


Configuració i verificació (IOS Cisco)

OSPF d’una àrea

http://www.cisco.com/en/US/tech/tk365/technologies_white_paper09186a0080094e9e.shtml

http://www.cisco.com/en/US/docs/ios/12_0/np1/configuration/guide/1cospf.html


Cada Router es troba a una àrea, aquestes s’identifiquen per un nombre de 0 a 65.535.


Una de les àrees serà la 0 (backbone) i estarà connectada a la resta. Aquesta àrea és obligatòria.


Les adreces de xarxa es configuren amb màscares wildcard.

Per exemple si el Router té connectada la xarxa 100.50.0.0/16 a l'àrea 0 seria, i la interfície fa0/0 connecta una xarxa local i per tant és passiva



Router(config)#router ospf 1   // process-id  1
Router(config-router)#passive-interface fa0/0
Router(config-router)#network 100.50.0.0 0.0.255.255 area 0 


Caldria repetir el procés per totes les xarxes connectades al Router

Router ID i Interface Loopback

Cada Router OSPF té una ID que correspon a la interfase amb IP més alta, si no existeix o es desactiva OSPF no funciona.


Per la estabilitat de OSPF cal configurar un ID diferent a cada dispositiu


Router(config)#router ospf 1  
Router(config-router)#router-id 1.1.1.1
Router(config-router)#


També es pot configurar una interface loopback (Lògica) i obligar a que aquesta identifiqui el Router.



Router(config)#interface loopback 0
Router(config-if)#ip address 1.1.1.1 255.255.255.0

Mètrica

Cisco calcula el cost per defecte prenent com a referència 100 Mbps (cost 1). Interfícies més lentes tenen un cost major, però les interfícies més ràpides tenen cost 1 donat que el cost no pot ser decimal.

El cost de les rutes OSPF és la suma del cost de totes les interfícies de la ruta fins a la xarxa destí.

El cost es calcula amb la següent formula: cost = 10^8/bandwitdth (bandwidth en bps)

Es pot actualitzar la velocitat de referència del cost per integrar xarxes més ràpides de 100 Mbps,


Router(config)#router ospf 1
Router(config-router)#auto-cost reference-bandwidth <1-4294967>  // Valor en Mbits, per exemple 10000 correspondria a 10 Gbps

L’administrador també pot assignar el valor del cost que cregui a cada interfície, canviant el valor de l'ample de banda o bé indicant directament un valor per al cost.


Router(config)#interface Gig 0/0
Router(config-if)#bandwidth <1-10000000> 10000000 // Valor en Kbits, per exemple 100000 correspondria a 100 Mbps
Router(config-if)#ip ospf cost <1-65535> 

Autentificació

Exemple autenticació simple



Router(config)#router ospf 1
Router(config-router)#area area-number authentication // Activa autenticació
Router(config-router)#ex
Router(config)#interface fa0/0
Router(config-if)#ip ospf authentication-key password // Clau compartida entre Routers


En el cas anterior la clau viatja en text pla. Es pot configurar autenticació tipus md5 on es calcula un valor hash (signatura o resum, en format 32 dígits hexadecimals) a partir del contingut del paquet OSPF i la clau configurada. Aquest valor s'envia als veïns junt amb la id de la clau (permet definir diferents claus), i aquests que coneixen aquesta clau verifiquen si el valor hash es correcte.

Exemple autenticació md5


Router(config)#router ospf 1
Router(config-router)#area area-id authentication message-digest  // Activa autenticació xifrda
Router(config-router)#ex
Router(config)#interface fa0/0
Router(config-if)#ip ospf message-digest-key key-id md5 key    // Key-id [1-255] i Key fins a 16 caràcters


Amb el missatge i la clau es genera un message-digest que es comprova per veure si s’ha modificat el paquet.

Temporitzadors

Es pot configurar per exemple a nivell d'interfície cada quants segons s'envien les comunicacions hello i temps d'espera que cal esperar sense rebre una comunicació hello abans de decidir que el veí està caigut, o dit d'altre manera si es supera el dead-interval sense rebre un hello el Router (veí) es declara caigut.


Router(config)#interface fa0/0
Router(config-if)#ip ospf hello-interval seconds
Router(config-if)#ip ospf dead-interval seconds


Per defecte la relació hauria de ser 10/40, i totes les interfícies dels Routers han de tenir el mateixos intervals.


Verificació OSPF

Exemple de comandes per a verificar OSPF


A la taula de ruta

  • Rutes internes a una àrea (Marcades O a la taula de ruta)
  • Rutes entre àrees (Marcades O IA a la taula de ruta)
  • Rutes externes (Injectades des de fora del sistema, marcades amb O EX a la taula de ruta)


Router#show ip protocols
Router#show ip route [ospf]
Router#show ip ospf interface // Info. Designats DR, i BackUp BDR
Router#show ip ospf //Nombre de vegades executat SPF
Router#show ip ospf neighbor detail // Informació veïns
Router#show ip ospf database // bbdd topològica