Guida MikroTik
RoutingBase

Come RouterOS sceglie le rotte: distanza, scope e next-hop ricorsivo

Spiega come RouterOS seleziona la rotta migliore nel RIB tramite distance e metric, come risolve il next-hop via scope/target-scope e la differenza tra RIB e FIB.

RIB e FIB: due tabelle distinte

RouterOS mantiene due strutture dati per il routing. Il RIB (Routing Information Base) raccoglie tutte le rotte note — statiche, connected, OSPF, BGP, RIP — le confronta e sceglie la migliore per ogni prefisso. Il FIB (Forwarding Information Base) contiene solo le rotte attive necessarie per l'inoltro reale dei pacchetti: è la struttura che il kernel/hardware consulta per ogni pacchetto in transito.

Distance: il criterio principale di selezione

La distance (preferenza amministrativa) è il primo criterio usato per scegliere tra rotte allo stesso prefisso provenienti da fonti diverse. Il valore più basso vince. Se due rotte hanno la stessa distance, la selezione è arbitraria (salvo ECMP). Valori predefiniti per fonte:

  • Connected (interfaccia attiva): 0
  • Static routes: 1
  • eBGP: 20
  • OSPF: 110
  • RIP: 120
  • iBGP: 200
Puoi abbassare la distance di una rotta statica a 0 per renderla più preferita persino delle rotte connected, ma fai attenzione ai loop: la rotta connected è necessaria per raggiungere il gateway.

Scope e target-scope: la risoluzione ricorsiva del next-hop

Molte rotte (es. eBGP) puntano a un next-hop non direttamente connesso. RouterOS risolve ricorsivamente il gateway cercando nel RIB una rotta con scopetarget-scope della rotta che stai risolvendo. Valori predefiniti:

  • Connected routes: scope=0, target-scope=5
  • Static / IGP routes: scope=10, target-scope=10
  • eBGP: scope=10, target-scope=40
  • iBGP: scope=30, target-scope=30

Una rotta eBGP (target-scope=40) può essere risolta da una rotta IGP (scope=10 ≤ 40): questo permette al BGP di funzionare su una rete OSPF senza che ogni peer sia direttamente connesso. Se occorre modificare questi valori (es. multihop BGP su reti particolari), si usa un filtro di input routing con set target-scope.

Visualizzare il RIB e il FIB attivo
# Tutte le rotte nel RIB (include inattive)
/ip/route/print detail

# Solo rotte attive nel FIB (flag A = active)
/ip/route/print where active=yes

# Verificare come viene risolto un next-hop specifico
/ip/route/print where gateway=203.0.113.1
Una rotta con flag 'A' (active) è in FIB e viene usata per l'inoltro. Una rotta senza 'A' è nel RIB ma non selezionata. Il flag 'S' indica rotta statica, 'C' connected, 'o' OSPF, 'b' BGP.
route selectiondistancemetricscopetarget-scopeRIBFIBrecursive next-hopselezione rottarouting table

Configura senza fatica con l'AI

In WispOS l'agente AI genera la configurazione RouterOS dalle tue parole e un tutor ti guida passo passo.

Prova WispOS