Passa al contenuto principale

14. Routing Table Calculation (Calcolo della tabella di routing)

Questo capitolo descrive il calcolo della tabella di routing usando l'algoritmo Dijkstra SPF.


14.1 Panoramica algoritmo Dijkstra​

Obiettivo​

  • Costruire l'albero del percorso più breve (SPF Tree)
  • Radice: router calcolante
  • Pesi degli archi: costi dei collegamenti

Strutture dati​

  • Lista candidati: nodi da elaborare
  • Albero SPF: nodi elaborati
  • Tabella routing: rotte finali

14.2 Passi dell'algoritmo​

Fase 1: Inizializzazione​

  • Aggiungere nodo radice (se stesso) ad albero SPF
  • Distanza = 0

Fase 2: Costruzione albero SPF​

WHILE lista candidati non vuota:
1. Selezionare nodo V a distanza minima
2. Aggiungere V ad albero SPF
3. Per ogni vicino W di V:
- Calcolare distanza
- Aggiornare lista candidati

Percorsi equivalenti (ECMP)​

  • Più percorsi con stesso costo
  • Mantenere tutti i percorsi equivalenti

14.3 Fasi di calcolo delle rotte​

Rotte intra-area​

  • Generate da albero SPF
  • Priorità più alta

Rotte inter-area​

  • Calcolate da LSA Type 3
  • Priorità media

Rotte esterne (External)​

  • Calcolate da LSA Type 5
  • Type 1: Costo = interno + esterno
  • Type 2: Costo = solo esterno (predefinito)

14.4 Priorità selezione rotte​

  1. Rotte intra-area
  2. Rotte inter-area
  3. Rotte esterne Type 1
  4. Rotte esterne Type 2

Trigger di calcolo​

Ricalcolo necessario quando​

  • Cambiamento LSDB
  • Cambiamento stato interfaccia
  • Cambiamento stato adiacenza

Ottimizzazioni​

  • Calcolo ritardato
  • SPF incrementale (iSPF)

Punti tecnici​

Complessità algoritmica​

  • Implementazione standard: O(N²)
  • Implementazione ottimizzata: O((E + N) log N)

Punti di implementazione​

  • Coda di priorità efficiente
  • Ricerca LSDB veloce
  • Elaborazione ECMP corretta

Riferimenti (References)