Perché tutte le aree devono connettersi a una dorsale Area 0 in OSPF?


22

Questa domanda è un repost letterale della stessa domanda posta su Cisco Support Community . Le risposte sono uniche per Stack Exchange.


Perché l'area 0 è l'area della spina dorsale in OSPF? Perché tutte le altre aree devono connettersi ad essa?

Ho cercato il motivo giusto per cui tutte le aree devono essere collegate all'area 0 in OSPF. Ho una piccola idea, ma non sono chiaro con l'intero concetto.

Se 2 aree non sono collegate attraverso l'area 0 (non contigua), in che modo OSPF si comporta come un protocollo dello stato dei collegamenti aumenta la possibilità di instradare i loop?

Risposte:


39

Backbone OSPF

Perché l'area 0 è l'area della spina dorsale in OSPF? Perché tutte le altre aree devono connettersi ad essa?

Questo è spiegato molto bene in RFC 3509, Sezione 1.2 1 :

1.2 Motivazione

Nei domini OSPF la topologia dell'area è limitata in modo tale che ci deve essere un'area backbone (area 0) e tutte le altre aree devono avere connessioni fisiche o virtuali alla backbone. La ragione di questa topologia a stella è che il routing interspazio OSPF utilizza l'approccio distanza-vettore e una rigida gerarchia di aree consente di evitare il problema del "conteggio all'infinito". OSPF impedisce i loop di routing inter-area implementando un meccanismo split-horizon, che consente agli ABR di iniettare nella spina dorsale solo gli Riepilogo-LSA derivati ​​dalle rotte intra-area e limitando il calcolo SPF degli ABR per considerare solo i Riepilogo-LSA nell'area della struttura portante database dello stato dei collegamenti.

OSPF è generalmente considerato un protocollo stato-link . Quello che alcune persone perdere è che OSPF utilizza entrambi i protocolli link-state e protocollo distanza-vettore di algoritmi.

Semplice esempio del comportamento distanza vettoriale di OSPF :

<-- Area 5 --><-- Area 0 --><--           Area 4           -->

R5-----------R1-----------R2------------R3---------------------R4
     Cost 3      Cost 5        Cost 7            Cost 12

               LSA-->          LSA-->
               Type3 LSA       Type3 LSA
               {From R1}       {From R2}
               R5 cost is 3    R5 cost is 8

Considera cosa succede a una route / 32 Loopback per R5.

  1. R5 invia un LSA Type1 contenente il / 32 Loopback
  2. R1 (Area 5 ABR), è collegata all'Area 0; traduce il tipo 1 LSA in un tipo 3 LSA con un costo di 3.
  3. R2 (ABR area 4) riceve LSA Type3 di R1 (metrica 3) e modifica la metrica in loopback di R5, in base al costo di R2 in R1 . Ora la LSA Type3 di R2 per R5 ha un costo di 8. Questo è il comportamento del vettore distanza che ho menzionato sopra.

Richiedere a tutte le route non backbone di passare attraverso la backbone è un meccanismo di prevenzione del loop.

Collegamento di aree OSPF non backbone in un ABR

Se 2 aree non sono collegate attraverso l'area 0 (non contigua), in che modo OSPF si comporta come un protocollo dello stato dei collegamenti aumenta la possibilità di instradare i loop?

Come abbiamo visto sopra, OSPF utilizza il comportamento distanza vettoriale per inviare rotte attraverso la spina dorsale Area 0. I protocolli distanza vettoriale hanno limiti ben noti, come il problema del conteggio all'infinito . OSPF sarebbe vulnerabile agli stessi problemi, se non avessimo confini sul suo comportamento.


1 RFC 3509 descrive il comportamento ABR di Cisco IOS


18

L'area 0 è stata scelta per essere la spina dorsale, il numero 0 o 0.0.0.0 è solo un numero.

Poiché OSPF è stato di collegamento, LSDB deve essere identico all'interno di un'area. Questo per garantire che il calcolo SPF sia coerente e per prevenire i cicli di routing.

Se si esegue OSPF a singola area, è possibile utilizzare qualsiasi area, non è necessario disporre di area 0.

Quando si esegue OSPF multi area, è necessario utilizzare un ABR. Un ABR è un router con adiacenza nell'area 0 e almeno un'altra area.

Gli ABR prendono gli LSA di tipo 1 e 2 e li annunciano come LSA di tipo 3 in altre aree. Questo non è un riepilogo dei prefissi, è un riepilogo delle informazioni topologiche. Questo è in effetti un comportamento vettoriale a distanza.

Poiché altre aree non dispongono di informazioni complete l'una sull'altra, tutto il traffico inter area deve passare attraverso l'area 0. In caso contrario, potrebbero esserci loop di routing perché non dispongono della topologia completa.

Per questo motivo, OSPF non deve eseguire SPF completo quando i collegamenti vanno su / giù in altre aree. Ciò aumenta la scalabilità.


lo scopo dell'area ospf 0 è impedire i loop di routing nel suo dominio ospf, ho ragione?
Trojan,

3
L'obiettivo principale dell'area 0 è quello di fornire connettività ad altre aree. Rendendo la progettazione OSPF essenzialmente simile a hub e raggio in cui l'area 0 è l'hub, è possibile impedire i loop di routing.
Daniel Dib,

9

Da "OSPF: Anatomy of a Routing Protocol" di John Moy, che ha scritto gran parte delle specifiche OSPF.

Lo scambio di informazioni di routing tra aree è essenzialmente Distance Vector. Con Distance Vector, maggiore è il numero di percorsi ridondanti, peggiori sono le proprietà di convergenza. OSPF richiede che tutte le aree si colleghino direttamente alla spina dorsale in modo da limitare la topologia a una topologia hub e spoke semplice. Ciò elimina i percorsi ridondanti e gli impedisce di essere soggetto a problemi di "conteggio all'infinito".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.