Algoritmo di Dijkstra

Documenti analoghi
Redistribuzione route esterne in OSPF

Introduzione. Il routing permette la comunicazione tra due nodi differenti anche se non sono collegati direttamente

Fondamenti di Internet e Reti

Routing IP. IP routing

RETI DI CALCOLATORI II

4c. Esercizi sul livello di Rete Instradamento in Internet

Routing. Forwarding e routing

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Packet Tracer: simulatore di RETE. (Router.pkt)

Routing. Parte prima

Advanced Networking: Routing & Switching 2 Capitolo 6

Il routing in Internet Interior Gateway Protocols

Routing IP A.A. 2006/2007. Walter Cerroni. Routing gerarchico in Internet

Internet Protocol Versione 4: instradamento e routing. Aspetti di forwarding e routing del protocollo IPv4

Strato di rete (parte 3) Funzione di instradamento: generalità

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Open Shortest Path First

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori I

Reti di calcolatori. Lezione del 10 giugno 2004

SUBNETTING E SUPERNETTING

Open Shortest Path First

Parte terza. Routing & forwarding

Programmazione in Rete

Appello Esempio d esame. Es1 (6 pt) Es2 (6 pt) Es3 (6 pt) Ques (9 pt) Lab (6pt)

Il modello TCP/IP. Sommario

Instradamento IP A.A. 2005/2006. Walter Cerroni. IP: instradamento dei datagrammi. Routing : scelta del percorso su cui inviare i dati

Routing (instradamento) in Internet. Internet globalmente consiste di Sistemi Autonomi (AS) interconnessi:

Parte terza. Routing & forwarding. Routing: due diverse attività. come un router processa un datagram IP D. Gerarchia in Internet

Laboratorio di Reti di Comunicazione ed Internet Mod.2

Il Routing Gli scenari possibili sono due 1. rimessa diretta rimessa indiretta

ARP e instradamento IP

Routers e LAN aggregati in regioni prendono il nome di Autonomous System quando sono controllati dalla stessa amministrazione; in un AS:

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Indirizzamento, Routing e Forwarding per reti IP. Andrea Detti rev. 01

L Inoltro e l Instradamento

Marco Listanti. Indirizzamento IP. DIET Dept. Telecomunicazioni (Canale 2) - Prof. Marco Listanti - A.A. 2016/2017

Reti di Calcolatori - Laboratorio. Lezione 8. Gennaro Oliva

CAP 6 Internetworking

Il Sistema di Routing. Routing nell Interrete. Routing con Informazioni Parziali. Propagazione delle Rotte

Introduzione. Algoritmi Link-State. Principi. Adiacenze OSPF (2) Adiacenze OSPF (1) Open Shortest Path First Protocol (OSPF)

Gli indirizzi IP. Gli indirizzi IP sono univoci a livello mondiale e vengono assegnati da un unica autorità ICANNN

IL LIVELLO RETE IN INTERNET Protocollo IP

Architettura degli Elaboratori 2

NAT e PAT. Prof. Pier Luca Montessoro

Forme di indirizzamento

WAN / 24. L obiettivo è quello di mappare due server web interni (porta 80) associandoli agli indirizzi IP Pubblici forniti dall ISP.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Scenari Dual WAN. Modulo 4

IP Internet Protocol

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2010/11)

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

II prova in itinere - Rete Internet (ing. Giovanni Neglia)

Calcolatrice IP Online

8. IP: Instradamento dei datagrammi

4b. Esercizi sul livello di Rete Inoltro in IP

network subnet host Classe A poche reti di dimensioni molto grandi 127

Algoritmi e strutture dati

Subnetting. Queste slide sono distribuite con licenza Creative Commons Attribuzione-Non commerciale-condividi allo stesso modo 2.

Sistemi e Tecnologie della Comunicazione

Il livello Network in Internet

02/10/2015 SISTEMI E RETI. Router Cisco. Parte 2 - IOS. A cura dell Ing. Claudio Traini. router. sottoreti. terminali

Configurazione delle interfacce di rete

Università degli Studi di Bergamo

16. Router Trasparenti e Indirizzamento a Sottoreti

Introduzione alla rete Internet

Transcript:

Algoritmo di Dijkstra Dato un grafo diretto G(N,A) e scelto un vertice z di N: Poni inizialmente: D[z]=0, u[]=?, V ={}, F = {z}, S = N-V-F Esegui finchè F {} Scegli x tale che d[x] = min { d[i] } per ogni i ε F V = V {x}, S(x) = {successori di x} F = [F - {x}] (S(x) S), S = S (S(x) S) per ogni i ε Sx d 0 = d[i], d[i] = min (d[i], d[x] + d[x,i]) dove d[x,i] ε A Se d[i] d, u[i] = x 0

Calcolo della tabella di routing step 2 Personalizzazioni dell'algoritmo Dijkstra nel caso OSPF L'insieme dei nodi/vertici è composto dai router e dalle reti Per ogni vertice viene mantenuta una lista dei next hop del cammino minimo dalla radice al vertice (cammini di costo equivalente) Per calcolare l'insieme dei successori di un nodo si considerano tutti gli LSA del database che sono stati generati dal nodo stesso (look sul db basata su Router_id)

Calcolo della tabella di routing step 2 - fase 1 Nel calcolo del nodo più vicino alla radice nell'insieme F, in caso di parità tra una rete e un router si sceglie sempre la rete in modo tra trovare cammini di costo uguale Nell'aggiornamento di d[i], se d[i] = d[x] + d[x,i] aggiorna la lista dei next hop per il nodo i Ogni volta che si esegue l'operazione V = V {x} si sta aggiungendo un vertice allo SPT per cui è possibile aggiornare la tabella di routing associando le route all'area di appartenza, tipo = intra-area, e costo = d[] Se il vertice aggiunto è un un ABR si aggiunge una entry alla tabella di routing classificandola come tipo router Se il vertice è una rete multiaccesso si aggiunge una entry con destination_id uguale alla rete IP ottenuto dall'operazione di and bit a bit tra Link_State_id e network mask dell'lsa

Calcolo della tabella di routing step 2 -fase 1 Esempio Database LSA Network Link Link State_ID ADV Router Network Mask Attached Router 20.250.15.68 20.250.1.41 255.255.255.192 20.250.1.41, 20.250.15.67 Destination_id della routing table: Network = 11001011 11111010 00001111 01000100 Network mask = 11111111 11111111 11111111 11000000 Subnet bitmap: n = network, s = subnet, h = host 110nnnnn nnnnnnnn nnnnnnnn sshhhhhh Subnet id = 11001011 11111010 00001111 01000000 Destination id: 20.250.15.64

Calcolo della tabella di routing step 2 - Calcolo dei next hop Poiché OSPF prevede cammini multipli di costo equivalente per ogni vertice va calcolato l'insieme dei next hop Ogni next hop è composto da: Interfaccia di uscita Indirizzo IP del router a cui inviare il pacchetto L'insieme dei next hop può essere ricalcalato diverse volte durante il processo di costruzione della tabella di routing (ogni volta che viene effettuato il confronto d[i] <> d[x] + d[x,i] Sono possibili diversi casi

Calcolo della tabella di routing step 2 - Calcolo dei next hop- caso 1 Radice Y: router nel percorso radice destinazione X: (vertice aggiunto allo SPT) durante una iterazione dell'algoritmo i destinazione aggiornata (i è uno dei successori di x) Esiste un router nel percoso radice - destinazione In questo caso l'insieme dei next hop per i è ereditato da Y

Calcolo della tabella di routing step 2 - Calcolo dei next hop caso 2 Radice i destinazione aggiornata (i è uno dei successori di x) Il nodo parent di i è la radice (il router che sta eseguendo il processo di calcolo dello Shortest Path Tree); questo implica che i è un router direttamente connesso oppure una rete direttamente connessa. In questo caso l'insieme dei next hop per i è l'interfaccia che connette direttamente il router ad i

Calcolo della tabella di routing step 2 - Calcolo dei next hop caso Radice X (vertice aggiunto allo SPT) durante una iterazione dell'algoritmo i: destinazione aggiornata (i è uno dei successori di x) X è una rete direttamente connessa alla radice (router che sta eseguendo il processo di calcolo dello SPT) In questo caso l'insieme dei next hop per i è determinato dalla destinazione degli LSA di tipo router di i (Link Data di tutti i link connessi al vertice X)

Calcolo tabella di routing step In questa fase si usano solo LSA summary Router ABR: usa solo LSA di tipo summary del backbone Router interno: usa solo LSA iniettati nell'area dal router ABR Si considerano in questa fase: LSA summary tipo (network) LSA summary tipo 4 (ASBR) Per ogni LSA presente nel DB (facciamo riferimento ad un router R1 nell'area A1): Se LSA originato da R1, vai al successivo LSA Se LSA è di tipo e contiene reti raggiungibili con cammini intra-area, vai al successivo LSA

Calcolo tabella di routing step Altrimenti se LSA è di tipo, sia X la destinazione a cui si riferisce (se LSA è di tipo, X è ottenuto facendo l'operazione and bit a bit tra link state id e network mask) e R2 il router ABR che ha originato LSA: Fai look up nella tabella di routing per R2 nell'area A Se non trovi R2, vai a LSA successivo (non è possibile raggiungere la destinazione N attraverso R2) Se trovi R2, X è raggiunbile tramite un cammino di costo C pari al costo c del cammino verso R2 + il costo contenuto nell'lsa;

Calcolo tabella di routing step Fai look up nella tabella di routing per vedere se esiste una entry X (di tipo router o di tipo network a seconda dei casi) : Se non esiste un'entry X o se esiste è di tipo external aggiungi una nuova entry: Area associata A, Costo C, Next hop uguale alla lista dei next hop per R2, Advertising Router = R2 Se esiste un'entry inter-area per X di costo superiore, sostituiscila con la nuova route Se esiste un'entry inter-area di costo uguale, aggiungi il nuovo cammino

Calcolo tabella di routing step - esempio R6 Area 0 N1, N2 R2 R Area 2 R4 Tipo destinazione Area tipo Path Costo Next Hops Adv Router R R2 2 intra-area 4 R4,R5 * R R 2 intra-area 4 R4,R5 * R5 Tabella di routing intra- area di R1 (area 2) LSA iniettati da R2 e R nell'area 2 1 1 R1 LSA tipo Destinazione Advertising Router Metrica N1 R2 5 N2 R2 5 N1 R 4 N2 R 5 LSA tipo 4 R6 R2 10 R6 R 12

Calcolo tabella di routing step - esempio R6 Area 0 N1, N2 R2 R Area 2 R4 R5 1 1 R1 Tabella di routing R1 (area 2) Tipo destinazione Area tipo Path Costo Next Hops Adv Router R R2 2 intra-area 4 R4,R5 * R R 2 intra-area 4 R4,R5 * R R6 2 inter-area 14 R4,R5 R2 N N1 2 inter-area 8 R4,R5 R N N2 2 inter-area 9 R4,R5 R2 N N2 2 inter-area 9 R4,R5 R

Calcolo tabella di routing step 5 Esamina gli LSA di tipo 5 (supponiamo di considerare il router R1 connesso alle aree A i1, A i2,...,a ik Per ogni LSA (N destinazione, R ASBR router di tipo ASBR origine di LSA) se LSA è originato da R1, vai al successivo LSA Se R ASBR non è presente nella tabella di routing nelle aree A i1, A i2,...,a ik, vai al successivo LSA Se LSA specifica un forwarding address che non è presente nelle aree A i1, A i2,...,a ik, vai al successivo LSA

Calcolo tabella di routing step 5 Se N non è presente nella tabella di routing aggiungi una entry Destinazione: N Next hop: lo stesso di ASBR/forwarding address Costo = a + b se LSA external link tipo 1 Costo = b se LSA external link tipo 2 a = costo del cammino verso R ASBR router b = metrica contenuta nel LSA Se N è già presente nella tabella di routing con un costo superiore sostituisci questa entry Se N è già presente nella tabella di routing con un costo uguale aggiungi la nuova entry

Calcolo tabella di routing step 5 Ulteriore criterio: LSA external di tipo 1 sono sempre preferiti rispetto a LSA external di tipo 2

N, N4 Calcolo tabella di routing step 5 - esempio R6 Area 0 N1, N2 R2 R Tabella di routing R1-R4-R5 (area 2) Area 2 Tipo destinazione Area tipo Path Costo Next Hops Adv Router R R2 2 intra-area 4 R4,R5 * R R 2 intra-area 4 R4,R5 * R R6 2 inter-area 14 R4,R5 R2 N N1 2 inter-area 8 R4,R5 R N N2 2 inter-area 9 R4,R5 R2 N N2 2 inter-area 9 R4,R5 R R4 R5 1 1 R1 LSAExternal Link iniettati da R6 Destinazione Advertising Router Metrica Tipo Forwarding Address N R6 5 1 0.0.0.0 N R6 2 2 0.0.0.0 N4 R6 2 0.0.0.0

N, N4 Calcolo tabella di routing step 5 - esempio R6 Area 0 N1, N2 R2 R Area 2 R4 R5 1 1 R1 Tabella di routing R1 (area 2) Tipo destinazione Area tipo Path Costo Next Hops Adv Router R R2 2 intra-area 4 R4,R5 * R R 2 intra-area 4 R4,R5 * R R6 2 inter-area 14 R4,R5 R2 N N1 2 inter-area 8 R4,R5 R N N2 2 inter-area 9 R4,R5 R2 N N2 2 inter-area 9 R4,R5 R N N * Ext- tipo 1 19 R4,R5 R6 N N4 * Ext-tipo 2 R4,R5 R6

Calcolo tabella di routing step 6 Se il router è un ABR: Se è cambiata una entry della tabella di routing di un'area a cui l'abr è connesso (si è aggiunta una rete o un ASBR) genera nuovi LSA summary su tutte le aree direttamente connesse Se una entry precedentemente annunciata come summary LSA è stata rimossa, effettua il flush di questa LSA (invalida LSA rimandandolo con l'age a MaxAge) Se i cambiamenti sono solo su destinazioni esterne, non deve essere eseguita nessuna azione