Il RIP, in quanto protocollo basato sull’algoritmo “Distance Vector” (DV), risente di alcune debolezze dell’algoritmo stesso.
In sostanza il DV puo’ andare incontro a quello che in letteratura viene chiamato il “Count-to-Infinity” problem.
L’algoritmo presenta tempi lunghi di convergenza (comunque converge!) quando deve propagare notizie “negative”, cioe’ aumenti del costo delle rotte.
Durante la fase di convergenza , le tabelle di instradamento dei nodi (router) della rete possono presentarsi incoerenti tra di loro e dare luogo ad anelli di instradamento, routing loops.
I loops naturalmente vengono meno quando l’algoritmo arriva a convergere, ma la loro presenza puo’ durare diversi minuti, con tutte le conseguenze che questo comporta sul traffico “routed”.
Le tecniche chiamate “split-horizon”, “poison reverse”, “triggered updates”, ecc., utilizzate dal RIP e da altri protocolli affini, hanno il comune obiettivo di ridurre al minimo il periodo di convergenza dell’algoritmo, e dunque la persistenza di possibili loops sulla rete.
a) Lo split-horizon, che consiste nel sopprimere gli annunci per quelle destinazioni imparate proprio dal vicino al quale le si vorrebbe annunciare, e’ in grado di prevenire loop temporanei tra due router connessi da un singolo link.
b) Il poisoned reverse, che consiste nell’annunciare come irraggiungibili al vicino le rotte da lui stesso imparate, manda piu’ in fretta a convergenza il RIP abbreviando i tempi di reazione della rete alle “cattive notizie”.
Entrambe queste tecniche tuttavia non possono evitare che, in determinate topologie, la rete conti fino all’infinito (vedi DOYLE 1, pag. 143), con conseguente formazione di loop. Non rimarra’ che attendere con pazienza l’avvicinamento a infinito.
Per mitigare il problema in modo sostanziale, si trattera’ di scegliere “un infinito piccolo” in modo che la rete, contando, ci arrivi un po’ piu’ in fretta.
RIP fissa l’infinito a 16, fissando nel contempo anche le dimensioni massime di una rete RIP-enabled (il prezzo da pagare per una convergenza ragionevole).
A questo proposito risulta efficace anche l’adozione dei “triggered updates” che consistono nell’annunciare immediatamente i cambi di metrica, accelerando cosi’ il processo di convergenza.
L’utilizzo di HOLDDOWN timers va invece nella direzione opposta, allunga i tempi di convergenza della rete RIP, con lo scopo di dare alle cattive notizie il tempo di propagarsi sulla rete, e non rischiare di introdurre informazioni di metrica inesatte a cura di router non ancora informati.
————————————–
Secondo me il limite del RIP, in particolare, deriva dall’aver voluto far svolgere ad un unico tipo di pacchetto la funzione di propagazione del vettore delle distanze (la routing table) e quella di HELLO.
Aumentare la frequenza dei pacchetti diminuirebbe i tempi di convergenza ma aumenterebbe in modo inaccettabile per molte reti il traffico RIP, in fondo un meta-traffico, a scapito del traffico dati.
I triggered updates in parte sopperiscono a questo limite.