Documento universitario sui Routing e la Routing Table. Il Pdf approfondisce i principi del routing e delle routing table, confrontando routing statico e dinamico, e descrivendo i protocolli IGP come RIP e OSPF. Questo materiale di Informatica è utile per studenti universitari.
Mostra di più16 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Un router per ottimizzare il percorso dei pacchetti da instradare, deve conoscere e aggiornare una serie di informazioni:
Basandosi su queste informazioni il router può dare avvio al processo di forwarding, processo per stabilire verso quale linea inviare il pacchetto.
Il router deve quindi costruire, nella propria memoria, una tabella di instradamento, detta routing table, che gli permetta di memorizzare i dati indispensabili per individuare il percorso ottimale verso le reti remote che deve raggiungere.
La routing table è una lista di tutte le reti che il router può raggiungere insieme a informazioni sulla modalità di instradamento.
Il formato della tabella di routing varia a seconda del protocollo routing utilizzato. In generale ogni riga (detta entry) della tabella presenta 4 campi:
Il router deve estrarre dall'header IP del datagram l'indirizzo del destinatario.
Nel caso in cui l'indirizzo di rete del destinatario sia presente nel campo network adress della routing table, il pacchetto viene instradato verso la sua direzione in modo diretto o indiretto.
Nel caso in cui il destinatario appartenga ad una rete che non è presente nella tabella di routing, il router inoltrerà il pacchetto verso un router di default che lo prenderà in carico con il compito di farlo giungere a destinazione. Se nella routing table non è definita questa default route, il router invia al mittente un messaggio ICMP Destination Unreachable.
Il funzionamento di un router è caratterizzato dal modo in cui la tabella di routing viene creata:
Il routing statico ha il vantaggio di non richiedere che i router si scambino informazioni per aggiornare i percorsi o per individuarne di nuovi, limitando così l'uso di banda; inoltre essendo i percorsi già determinati una volta configurata la tabella, non è richiesto nessuno sforzo computazionale da parte del router stesso per selezionare i percorsi più ottimali.
Il router statico ha però lo svantaggio di richiedere sempre la riconfigurazione da parte dell'amministratore tutte le volte che si devono modificare le entry, sia in seguito a guasti, sia per inserire nuove route; inoltre tale metodo può divenire oneroso quando l' Internetwork contiene diversi percorsi. Infatti il router statico viene usato quando il numero di segmenti LAN non è elevato.
Il routing dinamico permette ai vari router di scambiarsi informazioni necessarie per determinare i percorsi utili per raggiungere le destinazioni remote, mediante dei protocolli, chiamati appunto routing protocol, che usano appropriati algoritmi di routing.
Il vantaggio di tale metodo è che richiede un minor controllo da parte dell'amministratore; di contro richiede un maggior uso di banda rispetto al routing statico perchè, oltre al traffico relativo ai pacchetti, c'è un traffico relativo agli scambi di informazioni indispensabili ai routing protocol.
Un ulteriore vantaggio è dato dalla capacità di adattarsi automaticamente ai cambiamenti della topologia di rete: se si verifica un guasto lungo una connesione oppure ne viene attivata una nuova, gli aggiornamenti dei vari percorsi vengono automaticamente propagati a tutti i router.
| Vantaggi | Svantaggi | |
|---|---|---|
| Routing statico | - Non richiede che i router si scambino informazioni per aggiornare i percorsi, limitando così l'uso di banda. - Essendo i percorsi già determinati nella tabella, il router non deve fare nessuno sforzo computazionale per scegliere i percorsi più ottimali. | - Viene richiesta sempre la riconfigurazione all'amministratore tutte le volte che si devono modificare le entry. - È un metodo oneroso quando l'Interntwork contiene diversi percorsi. |
| Routing dinamico | - Permette ai router di scambiarsi informazioni sui percorsi mediante protocolli chiamati routing protocol, che usano algoritmi di routing. - Minor controllo da parte dell'amministratore. - Si adatta automaticamente ai cambiamenti della topologia della rete. | - Maggior uso di banda rispetto al routing statico (in quanto il routing dinamico prevede: traffico dei pacchetti + traffico relativo alle informazioni dei routing protocol) |
Un problema molto comune è il cosiddetto Routing Table Lookup Problem (RTLP), cioè il problema di dover decidere molto in fretta dove instradare i pacchetti per evitare rallentamenti e relative congestioni.
La difficoltà di RTLP risiede nel numero estremamente elevato di pacchetti che devono essere esaminati ogni secondo.
Inoltre il problema diventa ancora più complesso se si considera che un qualsiasi router ha più interfacce e che il tempo di accesso per una cache veloce è di 50 nanosecondi: in queste condizioni sono sufficienti pochi accessi alla memoria per esaurire il tempo disponibile per il routing.
Dato che l'RTLP è un problema chiave per lo sviluppo della rete internet, è stato affrontato intervenendo su più fattori con lo scopo di velocizzare al massimo il processo di routing: si sono studiate strutture dati per memorizzare la tabella di routing in maniera più efficiente; si sono ideati algoritmi per velocizzare la consultazione della tabella.
Tuttavia questo non è ancora sufficiente: negli ultimi anni per risolvere il problema legato alla gestione del traffico dei pacchetti (packet processing) in riferimento alle prestazioni, si è cominciato a sviluppare un hardware dedicato a tale gestione.
In questo caso i network processor sono un promettente tentativo di ottenere prestazioni elevate mantenendo almeno parte della flessibilità dei microprocessori tradizionali e con essa la capacità di adattarsi a mutamenti degli algoritmi e dei protocolli di rete.
Lo scopo di un protocollo di routing è quello di aggiornare dinamicamente le routing table. Rer fare ciò i rotuer condividono le informazioni sui percorsi (route) che ciascuno conosce. Tale scambio di informazioni è compiuto tramite pacchetti speciali chiamati routing update.
Lo scopo che un routing protocol si deve prefiggere sono:
La maggior parte dei protocolli che regolano il routing moderno utilizzano uno dei seguenti algoritmi:
Gli algoritmi di routing calcolano il percorso migliore o a costo minimo.
Lalgoritmo Distance Vector si basa sull'algoritmo Bellman-Ford per calcolare il percorso migliore. Crea una tabella di routing costituita essenzialmente da due colonne: una contenente la distanza (il costo) stimata per raggiungere ogni nodo della rete e una che specifica l'interfaccia (la linea) da utilizzare. La distanza può essere calcolata secondo metriche diverse in base al protocollo in uso. Le righe della tabella saranno invece tante quanti sono i nodi della rete.
Essendo un algoritmo dinamico, le tabelle vengono aggiornate a intervalli di tempo prestabiliti.
Inizialmente ogni router invia ai router vicini (neighbour) un pacchetto di ECHO per calcolare la distanza che lo separa da ciascuno di essi e inserisce il valore nella tabella. Subito dopo i router vicini si scambiano un vettore delle distanze, cioè un array contenente le informazioni che ciascun router ha a disposizione riguardo i costi per raggiungere le varie destinazioni. A quel punto, ricevuti i vettori dai vicini, ciascun router aggiorna la propria tabella mediante un confronto tra i costi risultanti dalla propria tabella e quelli ricevuti, modificando i valori laddove risultino inferiori e aggiornando le relative interfacce (linee d'uscita).
I due rincipali problemi che possono presentarsi con in Distance Vector sono:
Entambi i problemi sono legati al fatto che il Distance Vector non conosce la topologia della rete e che la convergenza della rete ( cioè la propagazione della rete) può richiedere molto tempo.
È possibile migliorare l'algoritmo Distance Vector, limitando così i due problemi, mediante modifiche all'algoritmo originale.
Le più note varianti sono: