L’avvelenamento del percorso è un meccanismo per evitare cicli di routing infiniti o risolvere problemi relativi a percorsi errati nelle reti. Quando un percorso diventa non valido o inaccessibile, il route-avvelenamento contrassegna il percorso errato, o lo avvelena, per impedire ai dispositivi di routing di inviare pacchetti di dati lungo il suo percorso. Ciò aiuta a evitare ritardi inutili, larghezza di banda sprecata e consumo energetico non necessario.
Il route-avvelenamento consiste nell’assegnare ai segmenti di rete un valore di attesa infinito, in questo caso un numero di salti maggiore di 15 per raggiungere una destinazione, al fine di impedire ai dispositivi di instradamento di inviare pacchetti di dati verso una strada difettosa. Questa metrica infinita viene assegnata al percorso difettoso e mostra che tutti i nodi del percorso non valido sono infinitamente distanti.
Una volta che il percorso viene contrassegnato come inaccessibile, il meccanismo di route-avvelenamento propaga queste informazioni attraverso la rete finché la rete non si stabilizza. In effetti, il meccanismo annuncia a tutti gli altri dispositivi di instradamento nella rete che il percorso ha un numero infinito di salti. Altri router operativi considerano l’infinito per indicare un errore di routing e non inviano pacchetti di dati sul percorso non valido.
Cosa sono il routing del vettore di distanza e i loop di routing?
Il Distance Vector Routing (DVR) utilizza il route-avvelenamento per garantire aggiornamenti del percorso accurati ed efficienti. DVR è un algoritmo che consente ai router di scegliere il percorso di trasferimento dati più breve.
Ogni router mantiene una tabella di instradamento che contiene una raccolta di vettori di distanza – chiamati hop – necessari per raggiungere ciascun router nella rete. Esistono diverse metriche, tra cui conteggio hop, ritardo e costo. I dispositivi di routing pubblicizzano tutti i prefissi attraverso ciascuna interfaccia e si aggiornano periodicamente con informazioni complete attraverso le tabelle di routing.
L’algoritmo DVR fallisce quando un’interfaccia si guasta, un cavo si rompe o due router forniscono aggiornamenti simultanei. Di conseguenza, nella rete si forma un ciclo di routing infinito.
Un loop di routing è un errore tecnico in cui due o più router si inoltrano ripetutamente lo stesso pacchetto. Questi pacchetti non raggiungono mai il loro indirizzo di destinazione. I loop di routing causano latenza di rete indesiderata e spreco di larghezza di banda. L’avvelenamento del percorso classifica i loop di routing, i percorsi non validi e i percorsi errati come collegamenti non riusciti.
Il Routing Information Protocol, noto anche come RIP, è l’algoritmo più comunemente utilizzato nelle reti per DVR. Utilizza il conteggio degli hop come metrica di routing e il limite degli hop indica il numero di reti che RIP può supportare.
Problema di esempio
Supponiamo che un’azienda abbia cinque router: A, B, C, D ed E. Ciascun router dispone di voci nella tabella di routing per tutti gli altri router nella rete. L’esempio seguente elenca quattro iterazioni per spiegare il problema del conteggio infinito.
In questo esempio, il router E deve ricevere un pacchetto di informazioni. La tabella seguente mostra la distanza tra il Router E e tutte le altre apparecchiature di instradamento nella rete. Il Router D annuncia che può raggiungere il Router E più velocemente in un singolo salto.
Router | UN | B | C | D |
Numero di salti | 4 | 3 | 2 | 1 |
Supponiamo però che il collegamento tra D ed E venga interrotto a causa di un problema tecnico.
Prima che il router D rimuova questo collegamento dalla sua tabella di instradamento, nota che gli altri tre router hanno collegamenti con E.
Il Router C ora mostra il percorso più breve verso il Router E con due salti. Il problema è che D non sa che C si affida al collegamento da D a E per raggiungere E. Il router D aggiorna la tabella di instradamento per incorporare i costi di instradamento del router C.
La tabella seguente mostra il conteggio aggiornato degli hop al Router E.
Router | UN | B | C | D |
Numero di salti | 4 | 3 | 2 | 3 |
Nel percorso dal Router C a E, il Router D è l’hop successivo. Il router C nota che D ha aumentato il costo per raggiungere E, il che costringe anche C ad aumentare il costo. La tabella seguente mostra la distanza aggiornata nel percorso.
Router | UN | B | C | D |
Numero di salti | 4 | 3 | 4 | 3 |
Allo stesso modo, il router B aggiorna il costo per raggiungere il router E. Ancora una volta, il router D aggiorna la distanza per raggiungere E. Il processo continua indefinitamente, indicando la presenza di un anello di routing. La tabella seguente mostra la distanza di percorso aggiornata.
Router | UN | B | C | D |
Numero di salti | 4 | 5 | 4 | 5 |
Questo è un problema ben noto nell’algoritmo DVR, noto come conteggio all’infinito. Le informazioni si propagano indefinitamente attraverso la rete e si manifestano fisicamente come ulteriore consumo energetico, utilizzo della memoria e larghezza di banda sprecata.
La soluzione all’avvelenamento stradale
Quando il collegamento da D a E fallisce, il router D informa E del fallimento. Fare riferimento alla prima tabella per le distanze del percorso originale.
Utilizzando l’avvelenamento del percorso, il Router D assegna il valore 16 al Router E nella sezione del conteggio degli hop per indicare che il percorso non è riuscito. La tabella seguente mostra le distanze aggiornate dal Router E.
Router | UN | B | C | D |
Numero di salti | 4 | 3 | 2 | 16 |
Il numero massimo di salti consentiti nel RIP è 15. I parametri maggiori di 15, come i 16 salti assegnati dal router D a E, indicano che il router non è raggiungibile. A volte è possibile assegnare anche una metrica infinita al collegamento guasto. Il router C riceve l’aggiornamento da D e aggiorna il routing, come visto qui.
Router | UN | B | C | D |
Numero di salti | 4 | 3 | 17 | 16 |
Infine, i Router B e A ricevono il nuovo costo per aggiornare il routing, come mostrato qui.
Router | UN | B | C | D |
Numero di salti | 19 | 18 | 17 | 16 |
Ad ogni iterazione, il percorso avvelenato si propaga attraverso la rete. Il processo continua finché tutti i router non aggiornano i propri costi per raggiungere il Router E. Con il Router E contrassegnato come irraggiungibile e rimosso dalle tabelle di instradamento per garantire costi corretti, la rete raggiunge la convergenza dei percorsi. Tutti i percorsi verso il router E sono avvelenati, eliminando il circuito di routing e stabilizzando la rete.
Vantaggi e svantaggi dell’avvelenamento stradale
Un percorso potrebbe diventare inaccessibile a causa di un guasto del nodo, di modifiche alla topologia o di configurazioni manuali. Sebbene le reti più moderne generalmente non utilizzino il route-avvelenamento a causa dell’uso di protocolli di routing dello stato del collegamento, il meccanismo è ancora comunemente utilizzato nelle reti che distribuiscono protocolli DVR.
Ecco alcuni dei vantaggi dell’avvelenamento stradale:
– Ottimizzazione delle prestazioni. L’avvelenamento del percorso ottimizza le prestazioni della rete limitando il numero di pacchetti inviati su un percorso non valido. Esegue la convergenza del percorso per garantire che i router utilizzino percorsi corretti e aggiornati. Nelle reti di piccole dimensioni, il ripristino rapido riduce al minimo i tempi di inattività.
– Meccanismo di blocco. L’utilizzo di un tempo di attesa elimina le informazioni non corrispondenti e previene i loop di routing. Quando un collegamento fallisce, il percorso operativo assegna un valore metrico elevato allo stesso collegamento e lo annuncia all’intera rete. Dopo aver avvelenato il percorso, il router operativo entra nello stato di “hold-down”. In questo stato, il router ignora temporaneamente i costi di instradamento relativi al collegamento fallito.
Gli svantaggi dell’avvelenamento stradale sono:
– Lenta convergenza dei percorsi. La convergenza delle rotte richiede molto tempo per essere eseguita in reti di grandi dimensioni. I percorsi avvelenati contribuiscono al sovraccarico della memoria. Pertanto, le reti di grandi dimensioni tendono a riprendersi lentamente dopo un errore di collegamento.
– Guasto di più router. L’avvelenamento del percorso è meno efficace se più di un router si guasta o se più router formano loop di rete. In questo caso, la congestione e la latenza temporanea della rete persistono per lunghi periodi di tempo.
– Buchi neri su Internet. L’avvelenamento del percorso può formare buchi neri temporanei nella rete. Durante lo stato di attesa, il router potrebbe rifiutare aggiornamenti importanti, con conseguente perdita permanente di pacchetti.