Livello di Rete: NAT, Forwarding, ICMP, algoritmo a stato del collegamento (Dijsktra) Protocollo OSPF

Documenti analoghi
Livello di Rete: Indirizzamento IPv4, DHCP, indirizzi privati e NAT, Forwarding, ICMP

Livello di Rete: Indirizzamento IPv4, DHCP, indirizzi privati e NAT

Routing. Forwarding e routing

Routing: approccio tradizionale. Routing: approccio SDN

Livello di Rete: Routing multicast IPv6

Livello di Rete: protocollo OSPF, protocollo BGP

Livello di Rete: Routing, protocollo RIP

Livello di Rete: IPv6, Algoritmi di instradamento

Routing IP. IP routing

(parte 2) DHCP e NAT

Strato di rete (parte 2) Autoconfigurazione Protocollo DHCP

Livello di Rete: Algoritmo PV, Protocollo BGP multicast

CORSO DI RETI DI CALCOLATORI II (Docente Luca Becchetti) Esercizi su instradamento e tabelle di routing 1

Routing gerarchico. Perchè diversi routing Intra- e Inter-AS?

Parte II: Reti di calcolatori Lezione 18 (42)

Parte II: Reti di calcolatori Lezione 17

INTERNET e RETI di CALCOLATORI A.A. 2015/2016 Capitolo 4 Instradamento e Algoritmi di instradamento Fausto Marcantoni

Configurazione delle interfacce di rete

RETI DI CALCOLATORI II

Parte II: Reti di calcolatori Lezione 19 (43)

Indirizzamento IPv4. Indirizzamento IP

ICMP ARP RARP DHCP -NAT

Appello 13 Febbraio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Un caso estremo per gli algoritmi di routing: Reti Mobili Ad Hoc (MANET)

Le Reti Informatiche

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori (a.a. 2011/12)

4b. Esercizi sul livello di Rete Inoltro in IP

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

L Inoltro e l Instradamento

Reti di Calcolatori:

Networking e Reti IP Multiservizio

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Sommario. Il modello TCP/IP. Introduzione al modello TCP/IP. Imbustamento in OSI. TCP/IP e OSI Applicazione (telnet, ftp, smtp,...

Internet Control Message Protocol (ICMP)

Formato del datagramma IP

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

Routing. Parte seconda: algoritmi Distance Vector e Link State

Antonio Cianfrani. I protocolli di Routing

Livello di Rete: algoritmi di routing: DV Protocollo di routing RIP

Parte II: Reti di calcolatori Lezione 17 (41)

C 2 = 10 Mb/s τ 2 = 1.5 ms

Parte II: Reti di calcolatori Lezione 18 (42)

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

Internet Control Message Protocol. IP si basa sulla collaborazione di tutti i computer (router) connessi alla rete

Capitolo 4 Livello di rete

Internet. b c. pp2. eth3

Homework assignment Ipv6 e protocolli di routing TUNNEL

Parte II: Reti di calcolatori Lezione 17

La mobilità dei nodi può modificare dinamicamente i cammini e il routing dei nodi

Reti di calcolatori l e Internet: Un approccio top-down. 4 a edizione Jim Kurose, Keith Ross 4-1

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

Parte II: Reti di calcolatori Lezione 18 (42)

Algoritmo di Dijkstra

Capitolo 4 Livello di rete

Livello rete. Piano di controllo. Introduzione: Piano dei dati e piano di controllo Architettura di un router IP: Internet Protocol

Le Reti LAN: componenti attivi. Descrizione dei principali componenti attivi di rete: Livello 3: Router

Reti wireless: Bluetooth, protocollo CDMA

Esame Completo - 26 Luglio 2017

Marco Listanti. Strato di rete. INFOCOM Dept. Telecomunicazioni e Telerilevamento - Prof. Marco Listanti - A.A. 2010/2011

Parte II: Reti di calcolatori Lezione 15

Lezione n.8 LPR- Informatica Applicata

Implementazione di una LAN

Appello 13 Febbraio Tempo complessivo a disposizione per lo svolgimento: 2h Usare lo spazio dopo ogni Esercizio/Quesito per la risposta.

Programmazione in Rete

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

Instradamento in IPv4

Homework assignment Ipv6 e protocolli di routing

4c. Esercizi sul livello di Rete Instradamento in Internet

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

Seconda Prova in itinere Esempio

Network layer. (cenni) Applicazioni di Rete M. Ribaudo - DISI. Network layer. application transport. network data link physical

Reti di Calcolatori I. Prof. Roberto Canonico Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Reti di calcolatori TCP/IP. Slide a cura di Simon Pietro Romano

Capitolo 4 Livello di rete

Politecnico di Milano Advanced Network Technologies Laboratory. ESERCIZI: Routing

Esame completo - 8 Luglio 2016

Fondamenti di Internet e Reti. Antonio Capone, Matteo Cesana, Ilario Filippini, Guido Maier

IP forwarding Firewall e NAT

Antonio Cianfrani. Open Shortest Path First (OSPF)

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

Routing dinamico: : RIP

SUBNETTING E SUPERNETTING

Border Gateway Protocol (BGP)

IL LIVELLO RETE IN INTERNET Protocollo IP

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Reti di Calcolatori IL LIVELLO RETE

Capitolo 4 - parte 1. Corso Reti ed Applicazioni Mauro Campanella Como 2003

III - 2. Il Livello Rete. Corso di RETI DI CALCOLATORI (9 CFU) a.a II anno / II semestre. Il Livello Rete.

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

Protocollo ARP IP forwarding

Instradamento. Fondamenti di Informatica

FONDAMENTI DI RETI E TELECOMUNICAZIONI

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

Introduzione alla rete Internet

Transcript:

Livello di Rete: NAT, Forwarding, ICMP, algoritmo a stato del collegamento (Dijsktra) Protocollo OSPF Prof.ssa Gaia Maselli maselli@di.uniroma1.it Parte di queste slide sono state prese dal materiale associato ai libri: 1) B.A. Forouzan, F. Mosharraf Reti di calcolatori. Un approccio top-down. Copyright 2013 McGraw-Hill Education Italy srl. Edizione italiana delle slide a cura di Gabriele D Angelo e Gaia Maselli 2) Computer Networking: A Top Down Approach, 6th edition. All material copyright 1996-2009 J.F Kurose and K.W. Ross, All Rights Reserved 2-1

Livello di rete Forwarding e routing Struttura dei router IPv4 Formato dei datagrammi IPv4 Frammentazione Indirizzamento IPv4 (con classi e senza classi) DHCP NAT Forwarding dei datagrammi IP ICMP Routing 4-2

Sottorete 223.1.1.0/24 223.1.2.0/24 Definizione r È detta sottorete una rete isolata i cui punti terminali sono collegati all interfaccia di un host o di un router. Indirizzo IP m Parte di sottorete (prefisso) m Parte dell host (suffisso) sottorete Indica che i 24 bit più a sinistra dell indirizzo definiscono l indirizzo della sottorete. Ogni host connesso alla sottorete 223.1.1.0/24 deve avere un indirizzo della forma 223.1.1.xxx 223.1.3.0/24 Maschera di sottorete o subnet mask: /24 4-3

N.B. Dato un indirizzo IP e la sua maschera di rete, come faccio a sapere a quale blocco appartiene? Il prefisso di rete ha una lunghezza variabile Multiplo di 8 bit esempio: a.b.c.d/24 allora gli indirizzi degli host vanno da a.b.c.0 a a.b.c.255 Non multiplo di 8 bit esempio a.b.c.d/26 Allora bisogna vedere la rappresentazione binaria di d Se per esempio d=10xyznls allora gli indirizzi degli host nella sottorete vanno da 10000000 (128) a 10111111 (191) 4-4

Problema La notazione CIDR ha reso molto più flessibile l assegnazione di blocchi di indirizzi (di dimensione variabile) a aziende, istituzioni, utenti privati Una volta assegnato un blocco, cosa succede se l entità che ha ricevuto il blocco ha bisogno di un numero maggiore di indirizzi? (aumentano i dipendenti, aumento i computer in una famiglia) Il blocco successivo può essere stato assegnato a un altra entità Soluzione? 4-5

Indirizzi privati Proliferazione di sottoreti small office, home office (SOHO) ogni volta che si vuole installare una rete locale per connettere più macchine, l ISP deve allocare un intervallo di indirizzi per coprire la sottorete Spesso impossibile per mancanza di indirizzi aggiuntivi nella sottorete Soluzione: Si usano indirizzi privati Indirizzi CIDR 10.0.0.0-10.255.255.255 10.0.0.0/8 172.16.0.0-172.31.255.255 172.16.0.0/12 192.168.0.0-192.168.255.255 192.168.0.0/16 si adotta la traduzione degli indirizzi di rete (NAT, network address translation) 4-6

Traduzione degli indirizzi di rete (NAT) Spazio di indirizzi riservato alle reti private, molte delle quali usano un identico spazio, 172.18.3/24 per scambiare pacchetti tra i loro dispositivi I router abilitati al NAT non appaiono al mondo esterno come router ma come un unico dispositivo con un unico indirizzo IP. Indirizzo IP origine: 200.24.5.8, e tutto il traffico verso Internet deve riportare lo stesso indirizzo. 4-7

Traduzione degli indirizzi di rete (NAT) r Il router abilitato alla NAT nasconde i dettagli della rete domestica al mondo esterno m Non è necessario allocare un intervallo di indirizzi da un ISP: un unico indirizzo IP è sufficiente per tutte le macchine di una rete locale. m È possibile cambiare gli indirizzi delle macchine di una rete privata senza doverlo comunicare all Internet globale. m È possibile cambiare ISP senza modificare gli indirizzi delle macchine della rete privata m Dispositivi interni alla rete non esplicitamente indirizzabili e visibili dal mondo esterno (garantisce maggiore sicurezza) 4-8

Traduzione degli indirizzi di rete (NAT) 10.0.0.1 10.0.0.4 10.0.0.2 138.76.29.7 10.0.0.3 Implementazione: m Quando un router NAT riceve il datagramma, genera per esso un nuovo numero di porta d origine (es. 5001), sostituisce l indirizzo IP origine con il proprio indirizzo IP sul lato WAN (es. 138.76.29.7) e sostituisce il numero di porta origine iniziale (es. 3348) con il nuovo numero (5001) 4-9

Traduzione degli indirizzi di rete (NAT) 2: il router NAT cambia l indirizzo d origine del datagramma da 10.0.0.1, 3345 a 138.76.29.7, 5001, e aggiorna la tabella. 2 Tabella di traduzione NAT Lato WAN LatoLAN 138.76.29.7, 5001 10.0.0.1, 3345 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 10.0.0.4 S: 10.0.0.1, 3345 D: 128.119.40.186, 80 1 1: l host 10.0.0.1 invia il datagramma a 128.119.40.186, 80 10.0.0.1 10.0.0.2 138.76.29.7 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3 3: la risposta arriva all indirizzo di destinazione: 138.76.29.7, 5001 S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 10.0.0.3 4: il router NAT cambia l indirizzo di destinazione del datagramma da 138.76.29.7, 5001 a 10.0.0.1, 3345 4-10

Traduzione degli indirizzi di rete (NAT) r Il campo numero di porta è lungo 16 bit: m Il protocollo NAT può supportare più di 60.000 connessioni simultanee con un solo indirizzo IP sul lato WAN. r NAT è contestato perché: m i router dovrebbero elaborare i pacchetti solo fino al livello 3. m Il numero di porta viene usato per identificare host e non processi m Viola il cosiddetto argomento punto-punto m Gli host dovrebbero comunicare tra di loro direttamente, senza intromissione di nodi né modifica di indirizzi IP e numeri di porta m Per risolvere la scarsità di indirizzi IP si dovrebbe usare IPv6. m Interferenza con le applicazioni P2P in cui ogni peer dovrebbe essere in grado di avviare una connessione TCP con qualsiasi altro peer, a meno che il NAT non sia specificamente configurato per quella specifica applicazione P2P. 4-11

Livello di rete Forwarding e routing Struttura dei router IPv4 Formato dei datagrammi IPv4 Frammentazione Indirizzamento IPv4 (con classi e senza classi) DHCP NAT Forwarding dei datagrammi IP ICMP Routing 4-12

Forwarding datagrammi IP Inoltrare significa collocare il datagramma sul giusto percorso (porta di uscita del router) che lo porterà a destinazione (o lo farà avanzare verso la destinazione) Inviare il datagramma al prossimo hop Quando un host ha un datagramma da inviare lo invia al router della rete locale Quando un router riceve un datagramma da inoltrare, accede alla tabella di routing per trovare il successivo hop a cui inviarlo L inoltro richiede una riga nella tabella per ogni blocco di rete 4-13

esempio Tabella di inoltro per il router R1 Indirizzo di rete Hop successivo interfaccia 180.70.65.192/26 - m2 180.70.65.128/25 - m0 201.4.22.0/24 - m3 201.4.16.0/22 - m1 default 180.70.65.200 m2 4-14

Altra rappresentazione della tabella d inoltro Quando arriva un datagramma in cui i 26 bit a sinistra nell indirizzo di destinazione combaciano con i bit della prima riga, il pacchetto viene inviato attraverso l interfaccia m2. Analogamente negli altri casi. La tabella mostra chiaramente che la prima riga ha un prefisso più lungo (che matcha con il successivo) che indica uno spazio di indirizzi più piccolo 4-15

esempio Mostrare il processo d inoltro di un datagramma, con indirizzo di destinazione 180.70.65.140 (10110100 1000110 1000001 10001100), nel caso arrivi a R1. Soluzione Il router esegue i seguenti passaggi: 1. La prima maschera (/26) ovvero 10110100 1000110 1000001 11 è applicata all indirizzo di destinazione. 10110100 1000110 1000001 10001100 (indirizzo destinazione) 10110100 1000110 1000001 11 (maschera) 10110100 1000110 1000001 10000000 (indirizzo di rete della destinazione) Il risultato è 180.70.65.128, che non combacia con l indirizzo di rete corrispondente. 2. La seconda maschera (/25) è applicata all indirizzo di destinazione. Il risultato è 180.70.65.128 che combacia con l indirizzo di rete corrispondente. L indirizzo del salto successivo e il numero di interfaccia m0 vengono estratti dalla tabella e usati per inoltrare il datagramma. 4-16

Aggregazione degli indirizzi Inserire nella tabella una riga per ogni blocco può portare a tabelle molto lunghe, con aumento del tempo necessario per fare la ricerca Soluzione: aggregazione degli indirizzi Aggregazione di indirizzi nella tabella di R2 4-17

Corrispondenza con la maschera più lunga Cosa accade se l organizzazione 4 è connessa al router R2? Corrispondenza con la maschera più lunga!!! 4-18

Livello di rete Forwarding e routing Struttura dei router IPv4 Formato dei datagrammi IPv4 Frammentazione Indirizzamento IPv4 (con classi e senza classi) DHCP NAT Forwarding dei datagrammi IP ICMP Routing 4-19

Livello di rete Uno sguardo al livello di rete Internet: Livello di trasporto: TCP, UDP Livello di rete Protocolli di instradamento Selezione di percorso RIP, OSPF, BGP Tabella d inoltro Protocollo IP Convenzioni di indirizzamento Formato dei datagrammi Convenzioni di manipolazione dei pacchetti Protocollo ICMP Notifica degli errori Segnalazioni del router Livello di collegamento Livello fisico Il campo dati dei datagrammi IP può contenere un messaggio ICMP 4-20

Internet Control Message Protocol (ICMP) r Viene usato da host e router per scambiarsi informazioni a livello di rete. A typical use of ICMP is to provide a feedback mechanism when an IP message is sent. In this example, device A is trying to send an IP datagram to device B. However, when it gets to router R3 a problem of some sort is detected that causes the datagram to be dropped. R3 sends an ICMP message back to A to tell it that something happened, hopefully with enough information to let A correct the problem, if possible. R3 can only send the ICMP message back to A, not to R2 or R1. 4-21

Internet Control Message Protocol (ICMP) r Viene usato da host e router per scambiarsi informazioni a livello di rete. m report degli errori: host, rete, porta, protocollo irraggiungibili. m echo request/reply (usando il programma ping). r Livello di rete sopra IP: m ICMP è considerato parte di IP anche se usa IP per inviare i suoi messaggi r Messaggi ICMP: hanno un campo tipo e un campo codice, e contengono l intestazione e i primi 8 byte del datagramma IP che ha provocato la generazione del messaggio. Tipo Codice Descrizione 0 0 Risposta eco (a ping) 3 0 rete destin. irraggiungibile 3 1 host destin. irraggiungibile 3 2 protocollo dest. irraggiungibile 3 3 porta destin. irraggiungibile 3 6 rete destin. sconosciuta 3 7 host destin. sconosciuto 4 0 riduzione (controllo di congestione) 8 0 richiesta eco 9 0 annuncio del router 10 0 scoperta del router 11 0 TTL scaduto 12 0 errata intestazione IP 4-22

Ping Il programma ping si basa sui messaggi di richiesta e risposta echo di ICMP 4-23

Traceroute e ICMP r Il programma invia una serie di datagrammi IP alla destinazione ciascuno contenente un segmento UDP con un numero di porta inutilizzata. m Il primo pari a TTL =1 m m m Il secondo pari a TTL=2, ecc. Numero di porta improbabile L origine avvia un timer per ogni datagramma r Quando l n-esimo datagramma arriva all n-esimo router: m Il router scarta il datagramma. m m Invia all origine un messaggio di allerta ICMP (tipo 11, codice 0). Il messaggio include il nome del router e l indirizzo IP. r Quando il messaggio ICMP arriva, l origine può calcolare RTT r Traceroute lo fa per 3 volte Criteri di arresto dell invio r Quando un segmento UDP arriva all host di destinazione. r L host di destinazione restituisce un messaggio ICMP di porta non raggiungibile (tipo 3, codice 3). r Quando l origine riceve questo messaggio ICMP, si blocca. 4-24

traceroute Non c è un programma server (ma solo un client) Le risposte arrivano da ICMP (tempo scaduto dai router intermedi e porta non raggiungibile dall host di destinazione) 4-25

Livello di rete Forwarding e routing Struttura dei router IPv4 Formato dei datagrammi IPv4 Frammentazione Indirizzamento IPv4 (con classi e senza classi) DHCP NAT Forwarding dei datagrammi IP ICMP Routing Link state Distance vector 4-26

Routing Quale percorso deve seguire un pacchetto che viene instradato da un router sorgente a un router destinazione? Sono disponibili più percosi quale si sceglie? Il routing si occupa di trovare il miglior percorso (o rotta, path, route) e inserirlo nella tabella di routing (o forwarding) Il routing costruisce le tabelle, il forwarding le usa! 4-27

Grafo di una rete di calcolatori 5 Grafo: G = (N,E) u 1 2 v x 2 3 1 3 w y 1 5 2 z N = insieme di nodi (router) = { u, v, w, x, y, z } E = insieme di archi (collegamenti) ={ (u,v), (u,x), (v,x), (v,w), (x,w), (x,y), (w,y), (w,z), (y,z) } N.B.: Il grafo è un astrazione utile anche in altri contesti di rete Esempio: P2P, dove N è un insieme di peer ed E è un insieme di collegamenti TCP 4-28

Grafo di una rete : costi u 1 2 5 v 2 x 3 1 3 w y 1 5 2 z c(x,x ) = costo del collegamento (x,x ) - es., c(w,z) = 5 il costo di un cammino è semplicemente la somma di tutti i costi degli archi lungo il cammino Costo di un cammino (x 1, x 2, x 3,, x p ) = c(x 1,x 2 ) + c(x 2,x 3 ) + + c(x p-1,x p ) Domanda: Qual è il cammino a costo minimo tra u e z? Algoritmo d instradamento: determina il cammino a costo minimo. 4-29

Classificazione degli algoritmi d instradamento Globale o decentralizzato? Globale: r L algoritmo riceve in ingresso tutti i collegamenti tra i nodi e i loro costi. r Algoritmi a stato del collegamento (link-state algorithm). Decentralizzato: r Ogni nodo elabora un vettore di stima dei costi (distanze) verso tutti gli altri nodi nella rete. r Il cammino a costo minimo viene calcolato in modo distribuito e iterativo. r Algoritmo a vettore distanza (VC, distance-vector algorithms) Statico o dinamico? Statico: r I cammini cambiano molto raramente. Dinamico: r Determinano gli instradamenti al variare di: m Volume di traffico m Topologia della rete 4-30

Livello di rete Forwarding e routing Struttura dei router IPv4 Formato dei datagrammi IPv4 Frammentazione Indirizzamento IPv4 (con classi e senza classi) DHCP NAT Forwarding dei datagrammi IP ICMP Routing Link state Distance Vector 4-31

Algoritmo d instradamento a stato del collegamento (LS) Algoritmo di Dijkstra: r La topologia di rete e tutti i costi dei collegamenti sono noti a tutti i nodi m attraverso il link-state broadcast. m tutti i nodi dispongono delle stesse informazioni r Calcola il cammino a costo minimo da un nodo (origine) a tutti gli altri nodi della rete. m Crea una tabella d inoltro per quel nodo r È iterativo: dopo la k-esima iterazione i cammini a costo minimo sono noti a k nodi di destinazione. 4-32

Algoritmo d instradamento a stato del collegamento (LS) Definiamo la seguente notazione: r c(x,y): costo del collegamenti dal nodo x al nodo y r D(v): costo del cammino minimo dal nodo origine alla destinazione v per quanto riguarda l iterazione corrente. r p(v): immediato predecessore di v lungo il cammino. r N': sottoinsieme di nodi per cui il cammino a costo minimo dall origine è definitivamente noto. Algoritmo di Dijsktra Calcola i percorsi di costo minimo da un nodo u a tutti gli altri nodi della rete È iterativo e viene eseguito un numero di volte pari al numero di nodi nella rete 4-33

Algoritmo di Dijsktra 1 Inizializzazione: 2 N' = {u} /* u è il nodo che esegue l algoritmo (radice dell albero)*/ 3 per tutti i nodi v 4 se v è adiacente a u 5 allora D(v) = c(u,v) 6 altrimenti D(v) = 7 8 Ciclo 9 determina un w non in N' tale che D(w) sia minimo 10 aggiungi w a N' 11 per ogni nodo v adiacente a w e non in N' aggiorna D(v): 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* il nuovo costo verso v è il vecchio costo verso v oppure 14 il costo del cammino minimo noto verso w più il costo da w a v */ 15 Finché N = N 4-34

Algoritmo di Dijkstra: esempio passo 0 1 2 3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) 2,x D(z),p(z) 4,y 4,y 4,y u 1 2 5 v 2 x 3 1 3 w y 1 5 2 z 1 Inizializzazione: 2 N' = {u} /* u è il nodo che esegue l algoritmo (radice dell albero)*/ 3 per tutti i nodi v 4 se v è adiacente a u 5 allora D(v) = c(u,v) 6 altrimenti D(v) = 7 8 Ciclo 9 determina un w non in N' tale che D(w) sia minimo 10 aggiungi w a N' 11 per ogni nodo v adiacente a w e non in N' aggiorna D(v): 12 D(v) = min( D(v), D(w) + c(w,v) ) 13 /* il nuovo costo verso v è il vecchio costo verso v oppure 14 il costo del cammino minimo noto verso w più il costo da w a v */ 15 Finché N = N 4-35

Algoritmo di Dijkstra: un altro esempio Cammino a costo minimo da u: v w u z x y Tabella d inoltro in u: destinazione collegamento v x y w z (u,v) (u,x) (u,x) (u,x) (u,x) 4-36

Altro esempio ESERCIZIO: Albero dei cammini a costo minimo? Tabella di routing di A? 4-37

Protocollo di routing Un protocollo è qualcosa di più di un algoritmo! Un protocollo deve definire il suo ambito di funzionamento, i messaggi che vengono scambiati, la comunicazione tra router e l interazione con gli altri protocolli OSPF: Open Shortest Path First basato su LS 4-38

OSPF (Open Shortest Path First) r open : le specifiche del protocollo sono pubblicamente disponibili. r È un protocollo a stato del collegamento: 1. Utilizza il flooding di informazioni di stato del collegamento 2. Utilizza l algoritmo di Dijkstra per la determinazione del percorso a costo minimo. r Flooding r Con OSPF, ogni volta che si verifica un cambiamento nello stato di un collegamento, il router manda informazioni d instradamento a tutti gli altri router. r Invia periodicamente (ogni 30 minuti) messaggi OSPF all intero sistema autonomo, utilizzando il flooding. r I messaggi OSPF vengono trasportati direttamente in datagrammi IP usando il numero di protocollo 89 nel campo IP protocol 4-39