Diferència entre revisions de la pàgina «A6. OSPF»
(Es crea la pàgina amb «torna M7 - Planificació i administració de xarxes == OSPF == OSPF (Open Shortest Path First) Característiques * '''Protocol d’estat d’enllaç''' IGP....».) |
|||
| Línia 129: | Línia 129: | ||
http://www-b2.is.tokushima-u.ac.jp/~ikeda/suuri/dijkstra/Dijkstra.shtml | 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 | ||
| + | |||
| + | |||
| + | <html><pre><code> | ||
| + | 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 | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | 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''' | ||
| + | |||
| + | <html><pre><code> | ||
| + | Router(config)#router ospf 1 | ||
| + | Router(config-router)#router-id 1.1.1.1 | ||
| + | Router(config-router)# | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | També es pot configurar una interface ''loopback'' (Lògica) i obligar a que aquesta identifiqui el Router. | ||
| + | |||
| + | |||
| + | <html><pre><code> | ||
| + | Router(config)#interface loopback 0 | ||
| + | Router(config-if)#ip address 1.1.1.1 255.255.255.0 | ||
| + | </code></pre></html> | ||
| + | |||
| + | ==== Mètrica ==== | ||
| + | |||
| + | |||
| + | Cisco calcula el cost com 10^8/ample de banda (Més cost per a rutes més lentes), però l’administrador pot assignar el valor que cregui a cada ruta. | ||
| + | |||
| + | |||
| + | <html><pre><code> | ||
| + | Router(config)#interface serial 0/0 | ||
| + | Router(config-if)#bandwidth 56 // Cisco | ||
| + | Router(config-if)#ip ospf cost number //General | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | |||
| + | ==== Autentificació ==== | ||
| + | |||
| + | |||
| + | |||
| + | Exemple autenticació simple | ||
| + | |||
| + | |||
| + | <html><pre><code> | ||
| + | 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 | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | 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 | ||
| + | |||
| + | <html><pre><code> | ||
| + | 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 | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | 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. | ||
| + | |||
| + | <html><pre><code> | ||
| + | Router(config)#interface fa0/0 | ||
| + | Router(config-if)#ip ospf hello-interval seconds | ||
| + | Router(config-if)#ip ospf dead-interval seconds | ||
| + | </code></pre></html> | ||
| + | |||
| + | |||
| + | 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)'' | ||
| + | |||
| + | <html><pre><code> | ||
| + | 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 | ||
| + | </code></pre></html> | ||
Revisió del 16:52, 8 abr 2026
torna M7 - Planificació i administració de xarxes
Contingut
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).
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
Exemple: Vàries àrees multiaccés
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
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
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)
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 com 10^8/ample de banda (Més cost per a rutes més lentes), però l’administrador pot assignar el valor que cregui a cada ruta.
Router(config)#interface serial 0/0
Router(config-if)#bandwidth 56 // Cisco
Router(config-if)#ip ospf cost number //General
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






