Distance vector: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Abisys (discussione | contributi)
Xqbot (discussione | contributi)
m Bot: Aggiungo: ca:Protocol de vector de distàncies; modifiche estetiche
Riga 1:
{{S|informatica}}
[[ImmagineFile:routers.jpg|thumb|262px|Schema di una sottorete]]
Il [[routing]] '''Distance Vector''' (routing basato sul vettore delle distanze), noto anche come routing di '''[[Algoritmo di Bellman-Ford|Bellman-Ford]]''', è un tipo di algoritmo di '''routing dinamico''', che tiene conto del carico istantaneo della rete.
 
Riga 8:
Periodicamente il router aggiorna le misure di distanza dai router adiacenti e comunica la propria tabella ai vicini. Dopo sufficienti scambi di informazioni, ciascun router potrà avere una riga per ogni altro nodo nella rete.
 
== Esempio ==
 
Un processo di aggiornamento è riportato qui di seguito: si consideri una sottorete come in figura. Si supponga che F abbia stimato i ritardi dai router vicini C, I e G.
# C sa di poter raggiungere A in 5 ms, quindi F che ha calcolato un ritardo da C di 2 ms, sa di poter raggiungere A tramite C in 5+2=7 ms
# G sa di poter raggiungere A in 3 ms, quindi F che ha calcolato un ritardo da G di 3 ms, sa di poter raggiungere A tramite G in 3+3=6 ms
# I sa di poter raggiungere A in 6 ms, quindi F che ha calcolato un ritardo da I di 1 ms, sa di poter raggiungere A tramite I in 6+1=7 ms
Il valore migliore è 6, quindi F crea nella sua tabella di routing un valore associato ad A registrando il ritardo pari a 6 ms e la linea di trasmissione G.
 
== Problemi ==
Ogni router memorizza solo il primo passo dei percorsi che ha nella tabella. Questo implica che se A pubblica un percorso verso C, i vicini di A non possono sapere se sono stati inclusi da A nel percorso calcolato. Quindi:
* possono formarsi cicli
Riga 22:
Una parziale soluzione sono le tecniche di ''[[Split horizon]]'' e di ''route poisoning'', che evitano di pubblicizzare le route attraverso le stesse interfacce di rete da cui hanno ricevuto le stime originali. L'introduzione di tempi di attesa prima di aggiornare una route scoraggia la formazione di cicli. Protocolli come [[EIGRP]] e [[DSDV]] evitano del tutto la formazione di cicli scambiando ulteriori informazioni.
 
=== Count-to-infinity ===
Si supponga di avere una rete "lineare" A-B-C-D-E-F e che si interrompa il collegamento con A. Al momento di aggiornare la propria tabella, B noterà che non può più raggiungere A tramite il suo collegamento diretto. Tuttavia C (che è ancora inconsapevole della situazione) sta dichiarando di poter raggiungere A in due passi; B riterrà quindi di poter raggiungere A in tre passi tramite C.
 
Riga 28:
 
== Voci correlate ==
* [[Router]]
* Algoritmi basati su [[Link State]]
* [[Algoritmo di Bellman-Ford]]
 
{{Portale|Telematica}}
Riga 36:
[[Categoria:Protocolli di routing]]
 
[[ca:Protocol de vector de distàncies]]
[[de:Distanzvektoralgorithmus]]
[[en:Distance-vector routing protocol]]