DCN - Routing a livello di rete
Quando un dispositivo ha più percorsi per raggiungere una destinazione, seleziona sempre un percorso preferendolo rispetto ad altri. Questo processo di selezione è definito Routing. L'instradamento viene eseguito da speciali dispositivi di rete chiamati router o può essere effettuato mediante processi software. I router basati su software hanno funzionalità limitate e portata limitata.
Un router è sempre configurato con un percorso predefinito. Un percorso predefinito indica al router dove inoltrare un pacchetto se non viene trovato alcun percorso per una destinazione specifica. Nel caso in cui esistano più percorsi per raggiungere la stessa destinazione, il router può prendere una decisione in base alle seguenti informazioni:
Conteggio del luppolo
Bandwidth
Metric
Prefix-length
Delay
I percorsi possono essere configurati staticamente o appresi dinamicamente. Un percorso può essere configurato per essere preferito rispetto ad altri.
Instradamento unicast
La maggior parte del traffico su Internet e intranet noto come dati unicast o traffico unicast viene inviato con una destinazione specificata. L'instradamento dei dati unicast su Internet è chiamato instradamento unicast. È la forma più semplice di instradamento perché la destinazione è già nota. Quindi il router deve solo cercare la tabella di instradamento e inoltrare il pacchetto all'hop successivo.
Instradamento delle trasmissioni
Per impostazione predefinita, i pacchetti di trasmissione non vengono instradati e inoltrati dai router su nessuna rete. I router creano domini di trasmissione. Ma può essere configurato per inoltrare trasmissioni in alcuni casi speciali. Un messaggio broadcast è destinato a tutti i dispositivi di rete.
L'instradamento delle trasmissioni può essere eseguito in due modi (algoritmo):
Un router crea un pacchetto di dati e quindi lo invia a ciascun host uno per uno. In questo caso, il router crea più copie di un singolo pacchetto di dati con diversi indirizzi di destinazione. Tutti i pacchetti vengono inviati come unicast ma poiché vengono inviati a tutti, simula come se il router stesse trasmettendo.
Questo metodo consuma molta larghezza di banda e il router deve l'indirizzo di destinazione di ogni nodo.
In secondo luogo, quando il router riceve un pacchetto che deve essere trasmesso, semplicemente inonda quei pacchetti fuori da tutte le interfacce. Tutti i router sono configurati allo stesso modo.
Questo metodo è facile sulla CPU del router, ma può causare il problema dei pacchetti duplicati ricevuti dai router peer.
L'inoltro del percorso inverso è una tecnica in cui il router conosce in anticipo il suo predecessore da dove dovrebbe ricevere la trasmissione. Questa tecnica viene utilizzata per rilevare ed eliminare i duplicati.
Routing multicast
Il routing multicast è un caso speciale di routing broadcast con differenze significative e sfide. Nel routing broadcast, i pacchetti vengono inviati a tutti i nodi anche se non lo desiderano. Ma nel routing multicast, i dati vengono inviati solo ai nodi che desiderano ricevere i pacchetti.
Il router deve sapere che ci sono nodi che desiderano ricevere pacchetti multicast (o stream), quindi solo lui deve inoltrare. Il routing multicast funziona con il protocollo spanning tree per evitare loop.
Il routing multicast utilizza anche la tecnica di inoltro del percorso inverso, per rilevare ed eliminare duplicati e loop.
Anycast Routing
L'inoltro di pacchetti Anycast è un meccanismo in cui più host possono avere lo stesso indirizzo logico. Quando viene ricevuto un pacchetto destinato a questo indirizzo logico, viene inviato all'host più vicino nella topologia di routing.
Il routing anycast viene eseguito con l'aiuto del server DNS. Ogni volta che viene ricevuto un pacchetto Anycast, viene chiesto al DNS dove inviarlo. Il DNS fornisce l'indirizzo IP che è l'IP più vicino configurato su di esso.
Protocolli di routing unicast
Sono disponibili due tipi di protocolli di instradamento per instradare i pacchetti unicast:
Protocollo di routing del vettore di distanza
Distance Vector è un semplice protocollo di instradamento che prende la decisione di instradamento sul numero di salti tra l'origine e la destinazione. Un percorso con un numero inferiore di salti è considerato il percorso migliore. Ogni router annuncia i suoi percorsi migliori impostati ad altri router. In definitiva, tutti i router costruiscono la loro topologia di rete sulla base degli annunci dei loro router peer,
Ad esempio Routing Information Protocol (RIP).
Link State Routing Protocol
Il protocollo Link State è un protocollo leggermente complicato rispetto a Distance Vector. Tiene conto degli stati dei collegamenti di tutti i router in una rete. Questa tecnica aiuta i percorsi a costruire un grafico comune dell'intera rete. Tutti i router quindi calcolano il percorso migliore ai fini del routing, ad esempio Open Shortest Path First (OSPF) e Intermediate System to Intermediate System (ISIS).
Protocolli di routing multicast
I protocolli di routing unicast utilizzano grafici mentre i protocolli di routing multicast utilizzano alberi, cioè spanning tree per evitare loop. L'albero ottimale è chiamato albero di copertura del percorso più breve.
DVMRP - Protocollo di routing multicast vettoriale a distanza
MOSPF - Multicast Open Shortest Path First
CBT - Albero basato su core
PIM - Multicast indipendente dal protocollo
Il multicast indipendente dal protocollo è comunemente usato ora. Ha due gusti:
PIM Dense Mode
Questa modalità utilizza alberi basati sull'origine. Viene utilizzato in ambienti densi come la LAN.
PIM Sparse Mode
Questa modalità utilizza alberi condivisi. Viene utilizzato in ambienti sparsi come WAN.
Algoritmi di instradamento
Gli algoritmi di instradamento sono i seguenti:
Allagamento
L'inondazione è il metodo più semplice di inoltro dei pacchetti. Quando un pacchetto viene ricevuto, i router lo inviano a tutte le interfacce tranne quella su cui è stato ricevuto. Questo crea un carico eccessivo sulla rete e molti pacchetti duplicati che vagano nella rete.
Time to Live (TTL) può essere utilizzato per evitare loop infiniti di pacchetti. Esiste un altro approccio per le inondazioni, denominato Selective Flooding per ridurre l'overhead sulla rete. In questo metodo, il router non si riversa su tutte le interfacce, ma su quelle selettive.
Percorso più breve
Le decisioni di instradamento nelle reti vengono prese principalmente sulla base del costo tra origine e destinazione. Il conteggio del luppolo gioca un ruolo importante qui. Il percorso più breve è una tecnica che utilizza vari algoritmi per decidere un percorso con un numero minimo di salti.
Gli algoritmi del percorso più breve comuni sono:
Algoritmo di Dijkstra
Algoritmo di Bellman Ford
Algoritmo di Floyd Warshall