La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono.

Presentazioni simili


Presentazione sul tema: "Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono."— Transcript della presentazione:

1 Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono sono poi applicate senza più essere modificate. Alcuni algoritmi statici sono: shortest path routing (routing basato sul percorso più breve) flooding flow-based routing

2 shortest path routing - routing basato sul percorso più breve - shortest path routing - routing basato sul percorso più breve - sink tree : l’insieme dei cammini ottimali da tutte le sorgenti ad una destinazione. (a) Esempio di rete (b) Un sink tree per il router B

3 Ogni router della rete ha in memoria un grafo (Sink tree) dove: · i nodi rappresentano i router; · gli archi rappresentano le linee punto-punto. I sink tree sono calcolati all'avvio della rete da un host di gestione che: · applica al grafo un algoritmo (ad esempio l’algoritmo ideato da Dijkstra nel 1959) per il calcolo del cammino minimo fra ogni coppia di nodi; · invia tali informazioni a tutti i router. Il principio di ottimalità e i sink tree forniscono un modello per misurare gli algoritmi di routing.

4 Il cammino minimo viene calcolato sulla base della grandezza che si vuole minimizzare (peso). Tipicamente è: · il numero di hop, cioè di archi, da attraversare; · la lunghezza dei collegamenti; · il tempo medio di trasmissione. (Come esempio possiamo considerare un automobilista che può scegliere il suo itinerario in funzione del numero minimo di chilometri da percorrere oppure per arrivare nel minore tempo possibile).

5 Con questo algoritmo ogni nodo è associato a un’etichetta (racchiusa tra parentesi) che riporta la sua distanza dal nodo d’origine lungo il miglior percorso conosciuto. Inizialmente, ovvero all’avvio della rete, nessun percorso è noto, perciò tutti i nodi sono etichettati con un simbolo che rappresenta l’infinito. Mano a mano che l’algoritmo procede e si trovano i percorsi, le etichette cambiano rispecchiando i percorsi migliori. Inizialmente tutte le etichette sono provvisorie, e quando si scopre che rappresenta il percorso più breve possibile dall’origine a quel nodo viene resa permanente smettendo di modificarla. Algoritmo di Dijkstra

6 Lo scopo è quindi trovare il percorso minimo (più corto, più veloce, più economico…) tra due punti, uno di partenza e uno di arrivo. Con questo metodo è possibile: ottenere il percorso minimo tra un punto di partenza e uno di arrivo Ottenere il percorso minimo tra un punto di partenza e tutti gli altri punti della rete. Una buona schematizzazione per i problemi di percorso minimo deve includere tutti i possibili collegamenti tra i nodi (ed i relativi costi) e deve essere fissato un nodo di partenza e un peso (la grandezza che si vuole minimizzare). Algoritmo di Dijkstra

7 Esempio: consideriamo un problema in cui si vuole calcolare il percorso minimo tra casa e il posto di lavoro. Schematizziamo tutti i possibili percorsi ed il relativo tempo di percorrenza (supponendo di voler calcolare il percorso più breve in fatto di tempo di percorrenza). I nodi A, B, C, D, E indicano le città per cui è possibile passare.

8 Dobbiamo ora assegnare ad ogni nodo un valore (etichetta), seguendo alcune regole: · Ogni nodo ha all'inizio etichetta (che indichiamo con “inf”); · Il nodo di partenza (in questo caso “casa”) ha etichetta 0 (ovvero dista zero da se stesso); · Ogni volta si sceglie il nodo con etichetta minore e lo si rende definitivo si aggiornano i nodi adiacenti; · L’etichetta di un nodo è dato dalla somma dell’etichetta del nodo precedente + il costo del collegamento; · Non si aggiornano le etichette dei nodi resi definitivi; · Le etichette definitive indicano la distanza di quel nodo da quello di partenza; · Quando si aggiorna l’etichetta di un nodo si lascia quella minore (essendo un problema di percorso minimo). Algoritmo di Dijkstra

9 In questa rete sono indicate anche le etichette. Seguendo le regole appena fissate consideriamo il nodo con etichetta minore (“casa”) e lo rendiamo definitivo (colorandolo di rosso) ed aggiorniamo tutti i nodi adiacenti sommando l'attuale valore dell’etichetta (ovvero zero) al costo del percorso. Algoritmo di Dijkstra Aggiorniamo le etichette : nel caso di A, etichetta infinito diventa etichetta 2. Ricordando che l’etichetta minore è sempre preferibile. Vediamo come si è aggiornata la rete:

10 Algoritmo di Dijkstra Bisogna ora considerare il nodo non definitivo (ovvero quelli scritti in nero) con etichetta minore (il nodo A). Lo si rende definitivo e si aggiornano le etichette dei nodi adiacenti B e C. Indichiamo con una freccia da dove proviene l’etichetta dei nodi resi definitivi.

11 Algoritmo di Dijkstra Il nodo con etichetta minore ora è C, lo si rende definitivo e si aggiornano quelli adiacenti D ed E senza renderli definitivi

12 Algoritmo di Dijkstra Va notato come il nodo D abbia ora etichetta 6 in quanto 6 è minore di 8 e quindi lo si aggiorna. Se avessimo avuto un valore maggiore di quello che già c’era lo avremmo lasciato invariato. Rendiamo definitivo il nodo D e aggiorniamo il grafico (il nodo E diventa 9):

13 Algoritmo di Dijkstra Il nodo con etichetta minore restante è B e lo si rende definitivo aggiornando di conseguenza il grafico (Ufficio diventa 13):

14 Algoritmo di Dijkstra Resta da considerare il nodo E ed aggiornare “ufficio”.

15 Algoritmo di Dijkstra Seguendo all'indietro le frecce si ottiene il percorso minimo che dista casa da ufficio, che dista (come indicato dall’etichetta) “10”. Bisogna notare come questo algoritmo ci dà non solo la distanza minima tra il punto di partenza e quello di arrivo ma anche la distanza minima di tutti i nodi da quello di partenza.

16 16 Protocolli IGP: RIP: E’ un protocollo utilizzato all’interno di un AS per l’ instradamento dinamico. RIP e' l'acronimo di Routing Information Protocol ed e' un protocollo relativamente semplice appartenente alla famiglia di protocolli di tipo "distance vector". OSPF: è l'acronimo di Open Shortest Path First. OSPF appartiene alla classe IGP e pertanto opera internamente a ciascun Autonomous System (AS). Il protocollo, essendo di tipo “link state”, utilizza l'algoritmo SPF per calcolare il percorso più breve verso la destinazione. L’algoritmo SPF si basa principalmente sulla larghezza di banda; il percorso a costo più basso viene inserito nella routing table (o forwarding database). OSPF è protocollo pubblico (quindi non proprietario). L’OSPF raccoglie le informazioni dai router vicini circa lo stato dei link ed invia i suoi dati agli altri. Questo scambio di informazioni permette ai router di creare la topology table o link state database. L’OSPF è un protocollo da utilizzare in reti estese e scalabili (ampliabili). Vengono usati in alternativa ai protocolli “distance vector” quando i limiti di questi ultimi li rendono inapplicabili. Ad esempio se voglio utilizzare metriche basate sulla larghezza di banda o quando voglio, in reti estese, avere una maggior convergenza del protocollo (con reti ampie il RIP può avere una convergenza di alcuni minuti).

17 17 Protocolli EGP: BGP: Il Border Gateway Protocol è un protocollo di instradamento che agisce nel 'cuore' della rete Internet. Il BGP usa tabelle di reti IP, o prefissi, che forniscono informazioni sulla raggiungibilità dei diversi AS. Si tratta di un protocollo di routing a indicazione di percorso (“path vector”), che non usa metriche di carattere tecnico ma prende le decisioni di instradamento basandosi su regole definite in ciascun rete. La versione corrente, BGP-4, è definita nella specifica RFC 4271. Tutti i provider Internet (ISP) sono obbligati a usarlo. BGP è quindi il protocollo di routing usato nell'internet pubblica ed è l'unico (visto che si è costretti ad usarlo!) di tipo exterior. I protocolli EGP, a differenza degli IGP, non hanno metodi per scoprire l’esistenza di router “vicini” ma devono essere definiti manualmente. Il BGP è un protocollo d’instradamento decentralizzato (comunica solo con i router a cui è direttamente collegato). Essendo un algoritmo di tipo “path vector” non viene fornito il numero di hop ma l’intero percorso da attraversare per giungere ad una determinata destinazione.

18 No default router


Scaricare ppt "Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono."

Presentazioni simili


Annunci Google