Sistemi di elaborazione dell'informazione / Reti

Count-to-infinity

E’ uno dei principali problemi relativi ai protocolli Distance vector. Consideriamo la rete seguente schematizzata sotto forma di grafo delle reti.

Nel caso di indisponibilita' di un ramo, vengano identificati nuovi cammini. Supponiamo che prima il link 1 e poi il link 6 cadano o cessino di funzionare. Si puo' osservare immediatamente che i nodi A e D diventano del tutto isolati dai nodi B, C ed E. Abbandoniamo questi nodi al loro destino e concentriamoci a quanto succede tra A e D. Il nodo D rileva il nuovo guasto ed aggiorna di conseguenza la propria tabella che possiamo schematizzare nel seguente modo:

Da D a :

Link

Costo

D

Local

0

A

3

1

B

6

Inf.

E

6

Inf.

C

6

Inf.

Se D ha l' opportunità di inviare immediatamente il proprio distance vector , A aggiornerà immediatamente la propria tabella rilevando che tutti i nodi, ad eccezione di D, sono diventati irraggiungibili: l'algoritmo converge. Ma se invece A ha l'opportunità' di inviare prima il suo ultimo distance vector che dopo aver cancellato il link 1 avrà il seguente aspetto:
Da A : A = 0, B = 3, D = 1, C = 3, E = 2
allora la tabella di D verrà aggiornata in:

Da D a :

Link

Costo

D

Local

0

A

3

1

B

3

4

E

3

3

C

3

4

Si e' quindi inizializzato un loop e poiché B, C ed E sono effettivamente isolati non vi e' alcuna possibilità di convergere naturalmente ad uno stato stabile. Ad ogni scambio, quindi, le distanze B, C ed E verranno incrementate di 2 unità. Questo processo e' conosciuto come conteggio all'infinito (counting to infinity) e può essere terminato solo attraverso una convenzione sulla rappresentazione di infinito a distanze molto grandi (più grandi della lunghezza del peggior possibile percorso nella rete). Quando la distanza raggiunge questo valore, l'entry nella tabella di routing viene considerata infinitamente distante e, di conseguenza, irraggiungibile. Di seguito un altro esempio di come si può propagare l’ errore di count-to-infinity:






















































Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.