RETI DI CALCOLATORI - Instradamento

Documenti analoghi
RETI DI CALCOLATORI - Instradamento

Corso di Laurea in Ingegneria Informatica. Corso di Reti di Calcolatori a.a. 2009/10

Routing. Forwarding e routing

Networking e Reti IP Multiservizio

Routing IP. IP routing

RETI DI CALCOLATORI II

Parte 4: Livello Network

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

Routing. Parte prima

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

Reti a commutazione di pacchetto

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Instradamento per servizi di tipo circuito virtuale. Dr. S. Greco Polito,

Risorse riservate al circuito Se ci sono troppi circuiti le risorse si esauriscono Non è possibile stabilire una nuova connessione

Dr. S. Greco Polito, Instradamento

Protocolli di Routing

Reti di calcolatori. Lezione del 10 giugno 2004

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Argomenti: ! Servizi dello strato di rete! Routing: selezione del cammino. ! Routing gerarchico! IP! Protocolli di routing in Internet

Fondamenti di Internet e Reti

Livello rete strato di Rete

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

4c. Esercizi sul livello di Rete Instradamento in Internet

Grafi. Moreno Marzolla Dip. di Informatica Scienza e Ingegneria Università di Bologna. moreno.marzolla@unibo.it

Introduzione alla rete Internet

28/05/2015 Laura Ricci

Corso di Reti di Telecomunicazioni. Giovanni Schembra. Trasmissione trame su canale broadcast

Algoritmi di Visita di Grafi. Damiano Macedonio

Routing. Slides partly based on L. Peterson s course slides. Obiettivi

Svantaggi della Commutazione di Circuito. Commutazione di Pacchetto. Struttura di un Pacchetto

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

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

ROUTER NOTE. Dispositivo attivo di rete che lavora a livello 3 della pila ISO-OSI, si occupa di instradare pacchetti di dati tra reti eterogenee

Algoritmi e protocolli di Routing

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

Il Livello Network. Panoramica: Obiettivi:

RETI DI CALCOLATORI - Reti locali

Formato del datagramma IP

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

Introduzione alle Reti Telematiche

Strato di rete. Argomenti: Obiettivi:

R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing in IP, Maggio 2010

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

Pier Luca Montessoro (si veda la nota di copyright alla slide n. 2) 1

Homework assignment Ipv4 e algoritmi di routing. Maurizio Bonuccelli. Dipartimento di Informatica Università di Pisa

Dal livello di linea al livello di rete: il problema dell instradamento nel livello di rete

Programmazione in Rete

TFA 2014/15 SISTEMI E RETI DI CALCOLATORI PER L'INSEGNAMENTO UNITA' DIDATTICA: ALGORITMI DI ROUTING

Corso di Laurea in Informatica Esame di Reti Prof. Panzieri frame con source address uguale a MAC_UNI X X X X X

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo VIII

Evoluzione del livello di rete

Algoritmo di Dijkstra

R. Cusani - F. Cuomo, Telecomunicazioni - Network layer: Routing, Maggio 2010

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo XIII

Wireless Mesh Routing. Antonino Ciurleo e Fabrizio Giordano

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Routing nelle reti a pacchetto

RETI DI CALCOLATORI. Che cosa sono gli IS e gli ES?

Topologie delle reti di telecomunicazione

Parte I. Ibrido MPLS. Figura 1.1

Commutazione di pacchetto

Introduzione alla rete Internet

Il routing in Internet Exterior Gateway Protocols

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Redistribuzione route esterne in OSPF

Anno Accademico Lucidi del corso di Reti di Calcolatori e Comunicazione Digitale. Modulo 4 - TCP/IP : algoritmi di routing.

IGRP Interior Gateway Routing Protocol

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Il modello TCP/IP. Sommario

Tipi di comunicazione

Parte terza. Routing & forwarding

Programmazione Orientata agli Oggetti in Linguaggio Java

Tecnologie di Sviluppo per il Web

Politecnico di Milano Scuola di Ingegneria Industriale e dell Informazione. Modelli Funzionali

Funzionalità e servizi del livello Rete

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Programma del corso. Introduzione Rappresentazione delle Informazioni Calcolo proposizionale Architettura del calcolatore Reti di calcolatori

8. IP: Instradamento dei datagrammi

Esercizi Capitolo 11 - Strutture di dati e progettazione di algoritmi

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

Reti di Calcolatori IL LIVELLO RETE

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

Sicurezza e Gestione delle Reti (di telecomunicazioni)

RETI DI CALCOLATORI. Internet Protocol

Architetture di rete. 4. Le applicazioni di rete

RETI INTERNET MULTIMEDIALI MPLS

ESERCITAZIONE 9 Lezioni di riferimento: 29, 30

Indirizzi Internet. Indirizzi Internet (2)

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

PROTOCOLLI DI ROUTING. Vittorio Prisco

Algoritmi di Routing

Gli Apparati di Rete. Repeater, Hub, Bridge, Router. arcipelago scrl

Programmazione Orientata agli Oggetti in Linguaggio Java

RETI A COMMUTAZIONE DI PACCHETTO. Caratteristiche e principi di funzionamento

la trasmissione è regolata solamente dall algoritmo per il controllo del flusso prima di inviare l ACK.

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

2) Completare la tabella di instradamento (routing table) del router RA

4b. Esercizi sul livello di Rete Inoltro in IP

Fondamenti di Reti di Telecomunicazioni Prof. Guido Maier IV appello 8 febbraio 2010

Transcript:

Strato 3: Instradamento Gruppo Reti TL nome.cognome@polito.it http://www.telematica.polito.it/ RTI I LOLTORI Instradamento - opyright Quest opera è protetta dalla licenza reative ommons Noerivs-Nonommercial. Per vedere una copia di questa licenza, consultare: http://creativecommons.org/licenses/nd-nc/.0/ oppure inviare una lettera a: reative ommons, 9 Nathan bbott Way, Stanford, alifornia 930, US. This work is licensed under the reative ommons Noerivs-Nonommercial License. To view a copy of this license, visit: http://creativecommons.org/licenses/nd-nc/.0/ or send a letter to reative ommons, 9 Nathan bbott Way, Stanford, alifornia 930, US. RTI I LOLTORI Instradamento - cknowledgements lcune immagini sono derivate dai lucidi Jim Kurose e Keith Ross - omputer Networking: Top own pproach Some pictures are taken from the slides of Jim Kurose and Keith Ross - omputer Networking: Top own pproach RTI I LOLTORI Instradamento - 3 Pag.

Funzioni strato rete Instradamento (routing) ffettuato consultando tabelle di instradamento per ogni PU in rete datagram per ogni connessione in rete a circuito virtuale Tabelle di instradamento contengono informazioni tipo per ogni destinazione next-hop (prossimo router) Tre elementi Protocolli di instradamento (routing protocols) lgoritmi di instradamento (routing algorithms) Procedure di inoltro pacchetti (forwarding) RTI I LOLTORI Instradamento - Funzioni strato rete Indirizzamento Indirizzi univoci Risoluzione indirizzi (mapping) Tariffazione su rete pubblica ontrollo di congestione Pre-allocazione memorie Scarto pacchetti Invio segnali di congestione RTI I LOLTORI Instradamento - Instradamento Protocollo di instradamento: definizione delle modalità di scambio di informazioni sullo stato della rete al fine di costruire tabelle di instradamento lgoritmo di instradamento: operazioni necessarie per scegliere il percorso verso la destinazione, date le informazioni sullo stato della rete crea tabelle di instradamento Procedura di forwarding: operazioni necessarie per instradare i singoli pacchetti verso la corretta porta di uscita usa tabelle per inoltrare pacchetti RTI I LOLTORI Instradamento - 6 Pag.

lgoritmi di instradamento Obiettivo degli algoritmi di instradamento: determinare un buon percorso (sequenza di link o nodi) nella rete da nodo sorgente a nodo destinazione per semplicità si utilizza un solo identificativo per ogni nodo, che rappresenta un aggregato di sorgenti/destinazioni Si trasforma la topologia in un grafo nodi sono vertici link fisici sono archi 3 Si assegnano costi agli archi uon percorso: 3 percorso a costo minimo F RTI I LOLTORI Instradamento - 7 osto istanza, ritardo, euro, livello di congestione Statico o dipendente dallo stato della rete Influenza le politiche di aggiornamento Possibili oscillazioni: sempio: costo canali legato al carico trasportato +e 0 0 0 e e Situazione iniziale +e 0 0 +e +e 0 +e 0 0 +e 0 0 +e 0 0 ricalcolo percorsi ricalcolo ricalcolo RTI I LOLTORI Instradamento - 8 lgoritmi di instradamento: esempi Semplici algoritmi senza necessità di coordinamento da parte dei nodi Random Scelgo a caso una porta di uscita Flooding Instrado verso tutte le porte disponibili eflessione o hot potato Su topologie regolari Instrado verso la porta corretta, se libera. Se occupata, instrado verso una altra porta libera lgoritmi complessi per il calcolo del percorso ottimo iversa classificazione RTI I LOLTORI Instradamento - 9 Pag. 3

lassificazione algoritmi di instradamento alcolo percorso entralizzato: Un nodo si occupa di raccogliere l informazione da tutti gli altri nodi alcola i percorsi Ridistribuisce il risultato del calcolo a tutti gli altri nodi istribuito: Tutti i nodi si scambiano informazione tra loro (utilizzando protocolli di instradamento) alcolano i percorsi (indipendentemente o in base a quanto fatto dai nodi adiacenti) RTI I LOLTORI Instradamento - 0 lassificazione algoritmi di routing entralizzato: Vantaggi: Possibile usare percorsi algoritmi e metriche complesse Tutti i nodi usano piano di instradamento coerente Svantaggi: Sensibile al guasto nodo centrale Scambio informazione da/verso nodo centralizzato genera congestione istribuito: Vantaggi: Robusto ai guasti Scambio informazione uniforme su tutta la rete Svantaggi: Richiede intelligenza nei nodi Scambio informazione parziale/errata porta a incongruenze nell instradamento RTI I LOLTORI Instradamento - lassificazione algoritmi di routing lgoritmi distribuiti - informazione: Globale: Tutti i nodi conoscono la topologia completa, compresi i costi dei canali Scambio informazione tra tutti i nodi lgoritmi link state Parziale: I nodi conoscono i nodi cui sono fisicamente collegati ed i costi dei canali cui sono collegati Scambio di informazione solo con i nodi adiacenti lgoritmi distance vector RTI I LOLTORI Instradamento - Pag.

lgoritmi Link-State Ogni nodo invia informazioni di costo (stato) dei soli suoi canali in (multi)broadcast a tutti gli altri nodi della rete Tutti nodi si costruiscono topologia della rete e conoscono i costi di tutti gli archi ata la topologia, ogni nodo calcola i percorsi a minimo costo verso tutti gli altri nodi Si ottengono tabelle di routing per questo nodo lgoritmo di ijkstra: usato per determinare cammini ottimi lgoritmo iterativo: dopo k iterazioni si ottengono i cammini a costo minimo per k destinazioni Funziona solo con costi positivi RTI I LOLTORI Instradamento - 3 lgoritmo di ijkstra Notazione: c(i,j): costo del canale dal nodo i al nodo j Infinito se nodo non collegato direttamente al canale (n): costo corrente del percorso migliore da sorgente alla destinazione n p(n): nodo che precede n nel percorso da sorgente a destinazione n N: insieme di nodi per cui il cammino ottimo è noto RTI I LOLTORI Instradamento - lgoritmo di ijkstra Inizializzazione (nodo ): N = {} 3 per tutti i nodi n N if n adiacente ad then (n) = c(,n), p(n) = 6 else (n) = infinito 8 repeat 9 trova nodo w N tale per cui (w) è minimo 0 aggiungi w ad N aggiorna (n) per tutti gli n adiacenti a w, n N: if ( (n) > (w) + c(w,n)) 3 then (n) = (w) + c(w,n), p(n) = w 3 /* il nuovo costo verso n è o il vecchio costo verso n o il cammino a minimo costo verso w più costo da w a n*/ opyright until Gruppo Reti tutti Politecnico i nodi Torino in N RTI I LOLTORI Instradamento - Pag.

ijkstra: esempio Step 0 3 start N F (),p(),,, 3 3 (),p(),, 3, 3, F (),p(), F (),p() infinity, Prossimo nodo, costo,,3,,, (F),p(F) infinity infinity,,, RTI I LOLTORI Instradamento - 6 lgoritmo di ijkstra: proprietà omplessità con M nodi Ogni iterazione: ontrollo tutti i nodi w N ggiungo w a distanza minima M*(M+)/ confronti: O(M**) sistono implementazioni migliori: O(M log(m)) RTI I LOLTORI Instradamento - 7 lgoritmi istance Vector lgoritmi iterativi: continuano fino a quando i nodi non scambiano più informazioni Termina in modo autonomo: nessun segnale esplicito di fine algoritmo istribuito: ogni nodo comunica solo con nodi adiacenti RTI I LOLTORI Instradamento - 8 Pag. 6

istance Vector Ogni nodo scambia periodicamente con i vicini diretti un vettore contenente: le destinazioni che può raggiungere la distanza dalle destinazioni misurata in costo (ad esempio: numero nodi da attraversare compreso se stesso) Il nodo che riceve il vettore lo confronta con la propria RT (Routing Table, tabella di instradamento) ed effettua modifiche: aggiunge nuove destinazioni cambia instradamenti se nuovi sono più brevi modifica costi se usa nodo adiacente come miglior scelta RTI I LOLTORI Instradamento - 9 istance Vector Vantaggi facile da implementare Problemi: lento a convergere propaga errori di routing non molto scalabile (le dimensioni dei messaggi scambiati dai nodo crescono al crescere della rete) RTI I LOLTORI Instradamento - 0 istance Vector Implementazione Struttura dati: tabella distanze Ogni nodo possiede la propria Una riga per ogni possibile destinazione Una colonna per ogni nodo adiacente sempio: nel nodo, per la destinazione Y attraverso nodo adiacente : Sorgente estinazione (Y,) = Next hop c(,) + min { (Y,w)} w RTI I LOLTORI Instradamento - Pag. 7

Tabella distanze: esempio (,) (,) (,) 7 8 c(,) + min { (,w)} w = = + = c(,) + min { (,w)} w = = +3 = anello! = c(,) + min { (,w)} w = 8+6 = anello! () osto verso destinazione attraverso nodo 7 6 8 9 RTI I LOLTORI Instradamento - () Tabella di instradamento a partire da tabella distanze osto verso destinazione atttraverso nodo Prossimo nodo, costo, 7 8, 6 9,, Tabella distanze Tabella di Routing RTI I LOLTORI Instradamento - 3 Instradamento istance Vector Iterativo, asincrono: una iterazione (locale al nodo) causata da: modifica costo canale a cui nodo collegato messaggio ricevuto da nodo adiacente, che causa modifica del cammino ottimo istribuito: ogni nodo avvisa i vicini solo quando il suo cammino migliore verso una certa destinazione è cambiato i vicini avviseranno a loro volta nodi vicini, se necessario RTI I LOLTORI Instradamento - Pag. 8

Instradamento istance Vector Ogni nodo esegue un loop infinito aspetta modifica costo canale locale oppure messaggio da nodo adiacente ricalcola tabella distanze se percorso migliore verso qualche destinazione cambiato, avvisa i vicini RTI I LOLTORI Instradamento - lgoritmo istance Vector d ogni nodo : Inizializzazione: per tutti i nodi adiacenti v: 3 (*,v) = infinito /* l operatore * significa per ogni riga" */ (v,v) = c(,v) per tutte le destinazioni, y 6 invia min (y,w) verso ogni nodo adiacente /* w sono tutti i vicini di */ w 7 RTI I LOLTORI Instradamento - 6 lgoritmo istance Vector 8 loop 9 wait (until I see a link cost change to neighbor V 0 or until I receive update from neighbor V) if (c(,v) changes by d) 3 /* change cost to all dest's via neighbor V by d */ /* note: d could be positive or negative */ for all destinations y: (y,v) = (y,v) + d 6 7 else if (update received from V wrt destination Y) 8 /* shortest path from V to some Y has changed */ 9 /* V has sent a new value for its min W V (Y,w) */ 0 /* call this received new value is "newval" */ for the single destination y: (Y,V) = c(,v) + newval 3 if we have a new min W (Y,w) for any destination Y send new value of min W (Y,w) to all neighbors 6 forever RTI I LOLTORI Instradamento - 7 Pag. 9

istance Vector: esempio Y 7 (Y,) = c(,) + min W { (Y,w)} = 7+ = 8 (,Y) Y = c(,y) + min W { (,w)} = + = 3 RTI I LOLTORI Instradamento - 8 istance Vector: esempio Y 7 RTI I LOLTORI Instradamento - 9 lgoritmo V: modifica costo canale Nodo riconosce modifica costo canale Modifica tabella distanze (passo ) Se modifica implica modifica del cammino migliore avvisa nodi adiacenti (passi 3,) good news travels fast Y 0 algoritmo termina RTI I LOLTORI Instradamento - 30 Pag. 0

lgoritmo V: modifica costo canale Modifica costo canale: good news travels fast bad news travels slow - problema del count to infinity! 60 Y 0 algoritmo prosegue RTI I LOLTORI Instradamento - 3 istance Vector: poisoned reverse Se instrada via Y per raggiungere : comunica ad Y sua distanza verso è infinito (Y non instraderà verso passando da ) non risolve il problema completamente 60 Y 0 algoritmo termina RTI I LOLTORI Instradamento - 3 onfronto tra algoritmi LS e V omplessità messaggi: con M nodi, canali per nodo LS: ogni nodo invia O(M) messaggi, ciascuno lungo O() V: ogni messaggio contiene tutte le destinazioni O(M), ed è mandato a O() vicini O( M) Velocità di convergenza LS: ogni volta che un link state è propagato, ho nuova topologia: convergenza immediata V: scelte nodo dipendono da scelte nodi vicini; si richiedono più scambi di messaggi: tempo di convergenza variabile RTI I LOLTORI Instradamento - 33 Pag.

onfronto tra algoritmi LS e V ffidabilità: cosa succede se un nodo funziona non correttamente? LS: i nodi possono annunciare costi dei canali scorretti Ogni nodo calcola la propria tabella: tutti sbagliano Non si possono creare anelli l prossimo annuncio tutto si corregge V: i nodi possono annunciare costi dei cammini scorretti Ogni annuncio è usata da tutti i nodi (indirettamente) Gli errori si propagano nella rete rrori di routing creano anelli RTI I LOLTORI Instradamento - 3 Pag.