Tecnologie e Protocolli per Internet 1 Algoritmi e protocolli di Routing. Prof. Stefano Salsano. AA2011/12 - Blocco A v1



Documenti analoghi
Reti di Accesso e di Trasporto Algoritmi e protocolli di Routing. Stefano Salsano. AA2010/11 - Blocco A - v2

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

Protocolli di Routing

Reti di calcolatori. Lezione del 10 giugno 2004

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

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

Il routing in Internet Exterior Gateway Protocols

Programmazione in Rete

Internet e Peering. Fulvio RISSO

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo XIII

RoutingInternet Protocol. Algoritmi di instradamento di tipo Distance vector

Interdomain routing Principi generali e BGP

Interdomain routing. Principi generali e protocolli di routing. Argomenti della presentazione. Nota di Copyright. Routing interdominio

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

Interdomain routing. Principi generali e protocolli di routing. Mario Baldi

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

I protocolli di routing dell architettura TCP/IP

Cognome Nome Matricola Tempo a disposizione per lo svolgimento: 1 ora e 20 min Avvertenza: Si usi lo spazio dopo ogni quesito per lo svolgimento.

Gestione delle Reti di Telecomunicazioni

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

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

SWITCH. 100 Mb/s (UTP cat. 5E) Mb/s SWITCH. (UTP cat. 5E) 100 Mb/s. (UTP cat.

Contesto: Peer to Peer

CORSO DI RETI SSIS. Lezione n.2. 2 Novembre 2005 Laura Ricci

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

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

I protocolli di routing dell architettura TCP/IP

Autonomous system (AS) Autonomous system: perchè? Autonomous system. Autonomous system: perchè? Autonomous system: perchè?

Reti di Calcolatori. Il software

Laboratorio di Reti di Comunicazione ed Internet Mod. 2

Instradamento tra Sistemi Autonomi -- BGP

Reti diverse: la soluzione nativa

PROTOCOLLI DI ROUTING. Vittorio Prisco

GLI APPARATI PER L INTERCONNESSIONE DI RETI LOCALI 1. Il Repeater 2. L Hub 2. Il Bridge 4. Lo Switch 4. Router 6

Forme di indirizzamento

TEST DI RETI DI CALCOLATORI I (9400N) anno 1999/2000

Argomenti della lezione

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 2 a lezione a.a. 2009/2010 Francesco Fontanella

Topologia delle reti. Rete Multipoint: ogni nodo è connesso agli altri tramite nodi intermedi (rete gerarchica).

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

8. IP: Instradamento dei datagrammi

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

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

Reti di Trasporto. Ing. Stefano Salsano. AA2006/07 - Blocco 5. Programma del corso

Parte terza. Routing & forwarding

Reti diverse: la soluzione nativa

Fondamenti di routing (pag.34)

Il routing in Internet Interior Gateway Protocols

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

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

Il modello TCP/IP. Sommario

IGRP Interior Gateway Routing Protocol

Reti di Calcolatori

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

Reti di Calcolatori:

IL LIVELLO RETE IN INTERNET Protocollo IP

Lo scenario: la definizione di Internet

Networking e Reti IP Multiservizio

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

Reti di Telecomunicazione Lezione 8

Protocolli di Comunicazione

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo VIII

Open Shortest Path First (OSPF)

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Informatica per la comunicazione" - lezione 8 -

INFOCOM Dept. - Laboratorio di Servizi di Telecomunicazioni

RETI DI CALCOLATORI II

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Introduzione alla rete Internet

Livello di Rete. Gaia Maselli

26 Febbraio 2015 Modulo 2

Reti di Calcolatori IL LIVELLO RETE

Gli indirizzi dell Internet Protocol. IP Address

Internet e protocollo TCP/IP

Internet. Introduzione alle comunicazioni tra computer

Università degli Studi di Pisa Dipartimento di Informatica. NAT & Firewalls

RETI DI CALCOLATORI E APPLICAZIONI TELEMATICHE

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

Reiss Romoli 2014 CISCO CERTIFIED NETWORK ASSOCIATE (CCNA) CCNA

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 14 Settembre 2005, ore 9.00

Per ognuno dei seguenti sottografi dire se è uno spanning tree o se no perché.

Internet e il routing gerarchico Autonomous System

Corso di Sistemi di Elaborazione delle informazioni. Reti di calcolatori 3 a lezione a.a. 2009/2010 Francesco Fontanella

Dispositivi di rete. Ripetitori. Hub

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

Elementi di Informatica e Programmazione

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

Capitolo 4 - parte 3. Corso Reti ed Applicazioni Mauro Campanella

Border Gateway Protocol (BGP)

Interconnessione di reti

Identità sulla rete protocolli di trasmissione (TCP-IP) L architettura del sistema. Dal livello A al livello B

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Mercoledì 2 Marzo 2005, ore 14.30

Indirizzi Internet e. I livelli di trasporto delle informazioni. Comunicazione e naming in Internet

Accreditamento operatori Elenco degli ISP accreditati ad OVER network. Direzione Sistema Informatico 09 Luglio 2009

API e socket per lo sviluppo di applicazioni Web Based

Introduzione alla rete Internet

Tecniche di Troubleshooting

/00$)#)+#// )#$ $ )""#,+#)#())# "# #$##( #%# $ )/ #//, #/ $#%# $# )""# +# $ +,+#) 1/-- $234&( + 20%)* /&) 6 / /00$)#"( 7 6$

Esempio quesiti d esame per il laboratorio del corso. Reti di Comunicazione ed Internet Mod 2, Prof. G. A. Maier

Transcript:

Tecnologie e Protocolli per Internet Algoritmi e protocolli di Routing Prof. Stefano Salsano AA0/ - Blocco A v Le slides relative a questi argomenti sono quasi integralmente tratte dal corso di Sistemi di Commutazione del prof. Marco Listanti e dalle relative esercitazioni preparate dall ing. Luca Veltri. Ad entrambi va il mio ringraziamento. [http://net.infocom.uniroma.it/sdc/sdc.htm] Dove siamo? Algoritmi di routing Protocolli di routing

Il problema dell instradamento Il problema dell instradamento riguarda praticamente ogni tipo di rete. Alcuni esempi:» In una rete a pacchetto basata su IP, i router devono decidere dove inoltrare i pacchetti IP» In una rete locale ( LAN ) di tipo ethernet gli switch ethernet devono decidere dove inoltrare le trame ethernet» In una rete telefonica tradizionale operante a circuito le centrali di commutazione devono decidere dove inoltrare una chiamata diretta verso un certo numero di telefono Esempio di rete IP domains/autonomous systems transit domains peering border routers hosts (terminali) Pacchetto IP routers Access networks (LAN) stub domains

Esempio di LAN ethernet Internet Router Bridge/ Switch Trama ethernet Risoluzione del problema dell instradamento Per risolvere il problema dell instradamento in genere sono necessari:» degli algoritmi di routing (o instradamento ), mediante i quali i nodi prendono effettivamente la decisione di instradamento sulla base delle informazioni a loro disponibili» dei protocolli di routing (o instradamento ), grazie ai quali i nodi si scambiano le informazioni necessarie per poi prendere le decisioni Le varie reti (ad esempio quelle citate nelle slide precedenti) possono utilizzare diversi algoritmi e diversi protocolli di instradamento. La teoria dei grafi è uno strumento utilizzato per lo studio e la definizione degli algoritmi di instradamento, la cui notazione e i concetti generali si possono applicare a tutte le reti che considereremo

Teoria dei Grafi Un grafo G(V,E) è dato da» un insieme V di nodi» un insieme E di rami, ogni ramo connette una coppia di nodi Due vertici i e j sono detti adiacenti se sono connessi da un ramo (i,j) Il ramo (i,j) è detto incidente ai nodi i e j La cardinalità V dell insieme dei nodi è detta ordine del grafo G La cardinalità E dell insieme dei rami è detta dimensione del grafo G 7 Teoria dei Grafi Un grafo può essere rappresentato dalla Matrice di Adiacenza A di dimensioni V x V A = [a ij ] a ij = 0 if (i, j) E otherwise V V V V V V V V V 0 0 0 0 0 0 V V V 0 V 0 0 V V V V V 0 0 0 0 0 0 0

Teoria dei Grafi Un cammino tra due nodi i e j è una sequenza di nodi e rami a partire dal nodo i al nodo j tale che ogni ramo è incidente al nodo precedente e successivo Un cammino in cui ogni nodo e ogni ramo appare una sola volta è detto cammino semplice (simple path) Il minimo numero di rami che compone un cammino tra due nodi i e j è detta distanza tra i due nodi Un ciclo è un cammino semplice in cui il nodo di partenza coincide con il nodo di arrivo Un grafo G è detto connesso se esiste un cammino tra qualsiasi coppia di nodi 9 Teoria dei Grafi Un grafo orientato è un grafo in cui i rami hanno un verso di percorrenza Un grafo pesato è un grafo in cui a ciascun ramo (i,j) è associato un numero w ij (peso del ramo) La matrice di adiacenza di un grafo orientato pesato è data da A = [a ij ] a ij w = 0 if (i, j) E otherwise La lunghezza di un cammino in un grafo pesato è data dalla somma dei pesi associati ai rami del cammino ij 0

Teoria dei Grafi Esempio Matrice di adiacenza V V V V V V V V V V V V V 0 0 0 0 0 0 0 7 0 0 V 0 0 0 V 7 V V V 0 0 0 0 Grafo Pesato Teoria dei Grafi Una qualsiasi rete a pacchetto può essere modellata come un grafo orientato pesato» i nodi sono i commutatori e/o router» i rami sono le linee trasmissive o le sotto-reti L instradamento (routing) di un pacchetto equivale alla ricerca di un cammino nel grafo associato della rete Ricerca del cammino a minima distanza» grafo non pesato Ricerca del cammino a minima lunghezza» grafo pesato (costo, congestione, capacità, ecc.)

Alberi Un grafo T è detto albero (tree) se» tra ogni coppia di nodi i e j, esiste un solo cammino semplice» detto N il numero di nodi, il numero di rami è N- ed il grafo è connesso senza cicli Ogni nodo di un albero può essere denominato radice Un albero può essere sempre raffigurato disponendo i nodi in livelli successivi a partire dalla radice In una raffigurazione di un albero a livelli» ogni nodo, tranne la radice, ha un solo nodo padre» ogni nodo ha zero o più nodi figli» se un nodo non ha figli è detto foglia dell albero Spanning Tree Un sottografo di un grafo G(V,E) è un grafo ottenuto dal grafo G» scegliendo un sotto insieme di rami e di nodi appartenenti a G» per ogni ramo scelto devono essere compresi, nel sottoinsieme dei nodi, i nodi in cui il ramo è incidente Un sottografo T di un grafo G è chiamato Spanning Tree di G se» T è un albero» T include tutti i nodi di G Uno spanning tree di un grafo G è un sottografo connesso in cui sono stati rimossi tutti i possibili cicli

Spanning Tree Grafo G Spanning Tree V V V V V V V V V V V V V V V Lo Spanning Tree di un grafo non è unico V V Spanning Tree V Ricerca di uno Spanning Tree Breadth-First Search (BFS) algorithm Si basa sulla classificazione dei nodi in livelli a partire da un nodo radice Algoritmo» si individua un nodo radice (nodo x)» si individuano tutti i nodi adiacenti a x (nodi di livello )» per ogni nodo appartenente al livello si individuano i nodi adiacenti non precedentemente raggiunti (nodi di livello )» il processo si itera sino a che non sono stati raggiunti tutti i nodi del grafo

Breadth-First Search v v v v v v v v v v 0 T={} v v v 0 T={,} v v v 0 v T={,,} v v v v v v v v v v v 0 v T={,,,} v v 0 v T={,,,,} v v 0 v T={,,,,,} v 7 Breadth-First Search L algoritmo BFS individua i cammini a distanza minima tra il nodo radice e tutti gli altri nodi del grafo Un cammino a distanza minima (shorthest path length) δ(s,v) tra un nodo s ed un nodo v è dato dal cammino con il minimo numero di rami tra i due nodi La complessità computazionale dell algoritmo BFS è proporzionale a V ed E [o( V. E )]

Bellman-Ford Algorithm L algoritmo di Bellman-Ford individua il cammino a lunghezza minima tra un nodo s e tutti gli altri nodi di un grafo G L algoritmo procede a passi» al primo passo individua i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo ramo» al secondo passo si trovano i cammini minimi tra il nodo sorgente e gli altri nodi con il vincolo che i cammini devono avere al massimo rami» si itera il procedimento sino al valore massimo di rami in un cammino 9 Bellman-Ford Algorithm Notazioni» N : insieme dei nodi del grafo» s : nodo sorgente» h : massimo numero di rami in un cammino correntemente consentito dall algoritmo» w(i,j) : peso (costo) del ramo (i,j)» w(i,i) = 0» w(i,j) 0 se i vertici i e j sono connessi direttamente» w(i,j) = se i vertici i e j non sono connessi direttamente» L h (n) : costo del cammino a costo minimo correntemente individuato dall algoritmo, tra il nodo s ed il nodo n, con il vincolo di un numero di rami sia non superiore a h 0

Bellman-Ford Algorithm Inizializzazione» L 0 (n) = per tutti i valori di n s» L h (s) = 0 per tutti i valori di h Aggiornamento» per tutti i valori successivi di h 0, calcolare L (n) = min [ L (j) w(j,n) ] h + h + j» connettere il nodo n con il nodo precedessore j che raggiunge il minimo ed eliminare le connessioni di n con altri nodi precedessori individuati in precedenti iterate La complessità dell algoritmo è o( V. E ), ovvero nel caso peggiore, in cui E = V, si ha o( V ) Esempio Bellman-Ford Algorithm V V h = 0 7 V V V V h = V V V 0 0 7 V V V h = V 0 V 7 V V V V h = V 0 V 7 V V V V

Bellman-Ford Algorithm La soluzione dell algoritmo di Bellman-Ford può essere anche scritta» detto L(n) il cammino a lunghezza minima tra il nodo s ed il nodo n j [ ] L(n) = min L(j) + w(j,n) La precedente espressione implica che il camminino a lunghezza minima tra il nodo s ed il nodo n è dato dalla composizione di» un cammino a lunghezza minima tra il nodo s ed un nodo j adiacente al nodo n» il ramo incidente ai nodi j e n Dijkstra s Algorithm L algoritmo di Dijkstra individua il cammino a lunghezza minima tra un nodo s e tutti gli altri nodi di un grafo G procedendo in modo da aumentare progressivamente la distanza L algoritmo procede a passi successivi» al passo k-mo sono individuati i k nodi raggiungibili dal nodo sorgente tramiti i cammini a costo più basso» tali k nodi formano l insieme T» al passo k+-mo è aggiunto un ulteriore nodo all insieme T caratterizzato dal cammino dal costo più basso dal nodo s che transita esclusivamente nei nodi dell insieme T» l algoritmo termina quando si sono esplorati tutti i nodi

Dijkstra s Algorithm Viene aggiunto all insieme T k- il nodo n caratterizzato dal cammino di lunghezza minima con il nodo sorgente s che transita esclusivamente in nodi dell insieme T k- x X k- n s x x i Insieme T k- Insieme T k Dijkstra s Algorithm Situazione al passo k Notazioni:» N : insieme dei nodi del grafo» s : nodo sorgente» T k : insieme dei nodi raggiunti dall algoritmo al passo k» w(i,j) : peso (costo) del ramo (i,j)» w(i,i) = 0» w(i,j) 0 se i vertici i e j sono connessi direttamente» w(i,j) = se i vertici i e j non sono connessi direttamente» L k (n) : costo del cammino a costo minimo, individuato dall algoritmo al passo k, tra il nodo s ed il generico nodo n

Dijkstra s Algorithm Inizializzazione (k=)» T = {s}» L (n) = w(s,n) per n s Aggiunta di un nodo (passo k)» trovare x T tale che Lk (x) = min Lk (j) j T» aggiungere all insieme T k- il nodo x ed il ramo incidente a x Aggiornamento dei cammini minimi» L k (n) = min [L k- (n), L k- (x) + w(x,n)] per tutti i valori di n T 7 Dijkstra s Algorithm L algoritmo termina quando tutti i nodi sono stati aggiunti all insieme T, ovvero T=N Al termine» l insieme T è uno spanning tree del grafo di partenza contenente i cammini a costo minimo tra il nodo sorgente e tutti gli altri nodi del grafo» L N (n) indica il costo del cammino a costo minimo tra il nodo s ed il nodo n Si noti che» al passo k-mo viene aggiunto all insieme T il k-mo nodo ed è individuato il cammino a costo minimo tra il tale nodo ed il nodo sorgente» questo cammino transita esclusivamente attraverso i nodi sinora compresi nell insieme T La complessità dell algoritmo è o( V )

Esempio Dijkstra Algorithm - () V V 0 7 V V V V V 0 V 7 V V V V T = {} T = {,,} V 0 V 7 V V V V T = {,} 9 Esempio Dijkstra Algorithm - () V 0 V 7 V V V V V 0 V 7 V V V V T = {,,,} V 0 V 7 V V V V T = {,,,,} T = {,,,,,} 0

Confronto I due algoritmi convergono alla stessa soluzione L algoritmo di Bellman-Ford, nel caso peggiore, è più complesso; in molti casi pratici i due algoritmi si equivalgono L algoritmo di Dijkstra richiede che un nodo conosca l intera topologia della rete e il peso (stato) di tutti i rami» necessità di colloquio tra tutti i nodi L algoritmo di Bellman-Ford richiede la conoscenza dello stato dei rami uscenti da un nodo insieme alle informazioni provenienti dai nodi vicini» possibilità di colloquio solo tra nodi adiacenti (implementazione distribuita) Esercizio (/) Si consideri il grafo mostrato in figura in cui i rami sono bidirezionali con peso uguale in entrambe le direzioni. Si determini, applicando l algoritmo di Dijkstra, lo spanning tree a costo minimo avente come radice il nodo e si completi la tabella sottostante. V V V V V V Passo T L() Path L() Path L() Path L() Path L() Path - --- --- --- -

Esercizio (/) V 0 V V V V V Passo T L() Path L() Path L() Path L() Path L() Path - --- --- --- -, - -- --- -- -,, - --- --- -- ---,,, - --- --- -- ---,,,, - --- ---- -- ---,,,,, - --- ---- -- --- Esercizio (/) Si consideri lo stesso grafo dell esercizio precedente. Si determini, applicando, questa volta, l algoritmo di Bellman-Ford, lo spanning tree a costo minimo avente come radice il nodo e si completi la tabella sottostante. V V V h Lh() Path Lh() Path Lh() Path Lh() Path Lh() Path 0 --- --- --- --- --- V V V

Esercizio (/) Si consideri il grafo mostrato in figura in cui i rami sono bidirezionali con peso uguale in entrambe le direzioni. Si determini, applicando l algoritmo di Djikstra, lo spanning tree a costo minimo avente come radice il nodo A e si completi la tabella sottostante. B C D A G E F Passo T L(B) Path L(C) Path L(D) Path L(E) Path L(F) Path L(G) Path A A-B --- --- --- --- A-G 7 Esercizio (/) Si consideri lo stesso grafo dell esercizio precedente. Si determini, applicando l algoritmo di Bellman-Ford, lo spanning tree a costo minimo avente come radice il nodo A e si completi la tabella sottostante. A B G F C D E h L h (B) Path L h (C) Path L h (D) Path L h (E) Path L h (F) Path L h (G) Path 0 --- --- --- --- --- ---

Dove siamo? Algoritmi di routing Protocolli di routing 7 Protocolli di Routing I protocolli di routing stabiliscono le regole per la comunicazione tra i vari router all interno di una rete. I protocolli di routing distribuiscono dinamicamente le informazioni sulla topologia della rete necessarie per la scelta dei percorsi e le modificano quando avviene qualche cambiamento. Ogni protocollo di routing applica un algoritmo di routing per la scelta del percorso più breve sulla base delle informazioni sulla topologia della rete possedute

Mappa dei Protocolli di Routing IP Routing Protocols Interior Gateway Protocol ( intra - Autonomous System) Exterior Gateway Protocol ( inter - Autonomous Systems) Distance Vector Protocol RIP Link State Protocol OSPF IS-IS BGP 9 Dove siamo? Algoritmi di routing Protocolli di routing» Intra dominio (IGP)» Inter dominio (EGP) 0

IGP ed EGP Autonomous system (AS) Internal Router Internal Router Internal Router IGP EGP AS Border Router Autonomous system Autonomous system IGP: RIP o OSPF? Rip è un protocollo di tipo Distance Vector Utilizza l algoritmo di Bellmann-Ford Ogni router informa solamente i suoi vicini sulla propria tabella di routing I cambiamenti sul routing vengono propagati periodicamente causando un occupazione di banda (circa ogni 0 sec.) Lenta convergenza RIP viene utilizzato in reti di piccole dimensioni OSPF è un protocollo di tipo link state Utilizza l algoritmo di Dijkstra Ogni router conosce lo stato di tutta la rete I cambiamenti sul routing vengono propagati istantaneamente (nel momento in cui avvengono) attraverso la tecnica del flooding Migliore convergenza rispetto al RIP OSPF utilizza una struttura gerarchica OSPF si adatta bene a reti di grandi dimensioni

Routing Information Protocol (RIP) / RIP appartiene alla categoria dei Distance Vector Routing Protocols Applica l algoritmo di Bellman-Ford per la determinazione delle tabelle di instradamento E richiesto che ogni nodo scambi informazioni con i nodi vicini» due nodi sono vicini se sono direttamente connessi mediante la stessa rete RIP è utilizzato in reti di piccole dimensioni E molto semplice, tuttavia» la convergenza è lenta» lo stato di equilibrio può essere un sub-ottimo RIP / Notazioni» M : numero di reti a cui il nodo x è direttamente connesso» w(x,i) : costo associato al ramo uscente dal nodo x verso la rete i ( i M)» N : numero di reti» L(x,j) : stima della lunghezza del cammino minimo dal nodo x alla rete j» R(x,j) : next router nel cammino a minima lunghezza dal nodo x alla rete j Ogni nodo mantiene al suo interno tre vettori W x w(x,) = M w(x,m) L x L(x,) = M L(x,N) R x R(x,) = M R(x,N) Vettore dei costi dei rami uscenti dal nodo Vettore delle distanze minime verso le altre reti Vettore next hop verso le altre reti

RIP / Periodicamente (circa 0 s) avviene lo scambio dei vettori L x tra i nodi vicini Il nodo x aggiorna i suoi vettori nel seguente modo L(x, j) = Min R (x, j) = y A [ w(x,n ) + L(y, j) ] xy dove» A : insieme dei nodi vicini al nodo x» N xy : rete che interconnette i nodi x e y y Tabella di Instradamento (Routing Table) Ogni router ha una tabella di instradamento in cui compare una riga (colonna) per ciascuna rete di cui il router sia a conoscenza Ogni riga (colonna) contiene le seguenti informazioni:» indirizzo identificativo della rete» indirizzo del primo router del percorso (next hop)» distanza dalla rete (numero minimo di reti da attraversare se metriche unitarie)

Esempio RIP Host X Network 7 C B A Network Network Network Dest. Net R(X,j) L(X,j) Routing Table Host X (iniziale) --- B B A A VARIAZIONI INDIVIDUATE DA * G D E * * 9 9 * 0 Messaggi RIP verso Host X (primo refresh dopo variazione) A B H F C Network * Routing Table Host X (finale) Host Y Dest. Net R(X,j) L(X,j) --- B A A A 7 Open Shorthest Path First (OSPF) E un protocollo di tipo link-state che supera le limitazioni del protocollo RIP Consente una maggiore velocità di convergenza Algoritmo:» inizialmente ogni router determina il costo dei rami uscenti» invia questi dati a tutti i router della rete (tecnica flooding)» continua a monitorare il costo dei propri rami» in caso di variazione del costo di un ramo, il router invia il nuovo valore del costo di quel ramo a tutti i router Ogni nodo conosce quindi lo stato dell intera rete e può usare localmente l algoritmo di Dijkstra

Link State Routing (/) I protocolli Link State sono adatti a reti di grandi dimensioni Principi base:» i router hanno la responsabilità di contattare i router vicini e acquisire la loro identità (pacchetti Hello)» i router emettono i link state packets (LSP) che contengono la lista delle reti connesse al router (vicini) ed i loro costi associati» gli LSP sono trasmessi a tutti gli altri router (flooding)» tutti i router hanno lo stesso insieme di dati e quindi possono costruire la stessa mappa della rete (database topologico)» le mappe di rete sono utilizzate per determinare i cammini migliori e quindi l instradamento 9 Link State Routing (/) Gli LSP sono emessi» quando un router contatta un nuovo router vicino» quando un link si guasta» quando il costo di un link varia» periodicamente ogni fissato intervallo di tempo La rete trasporta gli LSP mediante la tecnica del flooding» un LSP è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto» gli LSP trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per» evitare il rilancio di pacchetti già rilanciati» consentire un corretto riscontro dal ricevente 0

Tecnica Flooding (/) Assicura che tutti i router di una rete» riescano a costruire un database contenente lo stato della rete» abbiano le stesse informazioni sullo stato dei link Alla ricezione di un LSP:» un router esamina i campi di un LSP: link identifier, metrica, time stamp o numero di sequenza» se il dato non è contenuto nel database, viene memorizzato e l LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione» se il dato ricevuto è più recente di quello contenuto nel database, il suo valore è memorizzato e l LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione» se il dato ricevuto è più vecchio di quello contenuto nel database, viene rilanciato un LSP con il valore contenuto nel database esclusivamente sull interfaccia di arrivo dell LSP» se i due dati sono della stessa età non viene eseguita alcuna operazione Tecnica Flooding (/) La tecnica del flooding ha i seguenti vantaggi» esplora tutti i possibili cammini tra origine e destinazione» è estremamente affidabile e robusta» almeno una copia di ogni LSP seguirà la via a minor costo Dall altro lato, il traffico generato dipende dalle dimensioni della rete e può essere molto elevato

OSPF : Topologia della Rete (/) Ogni router mantiene un database che riflette i dati aggiornati sulla topologia della rete (Link State Database o Database topologico) La topologia di rete è rappresentata come un grafo orientato» I nodi rappresentano» router» network reti di transito: non contengono host (sorgenti e/o destinazioni) reti stub: reti non di transito» I rami rappresentano» collegamenti diretti tra nodi di tipo router» collegamenti tra nodi di tipo router e nodi di tipo network OSPF: Topologia della Rete (/) N N H R N R R N N R9 N9 0 R Rete R R N N N R 7 R0 N N R 7 R7 R N7 N0 9 N N N N H R R R N R9 N9 0 R N R N 7 R R7 7 R0 R N N0 Grafo R N7 R N

OSPF: Costruzione del Grafo Nel grafo rappresentativo della rete:» due router collegati da una linea punto-punto sono connessi da due rami orientati (uno per ogni verso)» più router connessi alla stessa rete sono rappresentati da nodi (router node) connessi ciascuno da due rami orientati (uno per ogni verso) al nodo rappresentativo della rete (network node)» una rete connessa ad un singolo router è rappresentata da un nodo di tipo stub» un host direttamente connesso ad un router è rappresentato con un ramo» sistemi autonomi esterni sono rappresentati da nodi stub ed il costo dei rami è determinato dal protocollo EGP Spanning Tree e Tabelle di Routing Ogni router calcola lo spanning tree a partire dal grafo rappresentativo della rete mediante l algoritmo di Dijkstra Spanning Tree e Routing Table in R Destin. N. H. Dist. N R 0 N R 0 N R 7 N R R R 7 N R0 N7 R0 N R0 0 N9 R0 Destin. N.H. Dist. N0 R0 N R0 H R0 R R R7 R0 N R0 0 N R N R N R0 7 N N H R N R R N N R9 R0 N9 N R R N N R N N R7 9 7 N R R N N0 N7 0 R

Costruzione delle Tabelle di Routing (/) Nodi vicini si riconoscono attraverso messaggi di Hello Una volta riconosciutisi, instaurano rapporti di adiacenza Nodi adiacenti si scambiano le informazioni sulla topologia dell intera rete in loro possesso A regime tutti i nodi hanno una visione completa (ed uguale) della topologia di tutta la rete (Database Topologico) A partire dal database topologico ogni router costruisce la propria tabella di routing Costruzione delle Tabelle di Routing (/) 7 Database Topologico From To Link Costo A B A C B A B C 0 B D C A C B 0 C D 0 D B D C 0 Link ID (Metrica) A B () () Ogni router calcola i percorsi a costo più basso Algoritmo SPF (Dijkstra) () C () (0) D Routing Table for A D e s t C o s t N e x t H o p B B C C D 0 B

Esempio OSPF (/) A B C A Routing Table Destinazione A B C D E Distanza 0 Link local D E B Destinazione A B C D E Distanza 0 Link local Database Topologico (link bidirezionali) Da A link Dist A B A D B C B E D E E C C D E Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local 9 Esempio OSPF (/) Routing Table Guasto del ramo AB A xxxx B C D E A B C D E Destinazione A B C D E Distanza 0 inf inf inf Link local Destinazione A B C D E Distanza inf 0 inf Link local Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local 0

Esempio OSPF (/) A xxxx B C A Routing Table Destinazione A B C D E Distanza 0 Link local A D Link Metric Database Topologico E Inf B Link Metric Da A link A B A D B C B E D E E C Inf Dist Inf B C D E Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local Destinazione A B C D E Distanza 0 Link local Esercizio (/) Si consideri il sistema autonomo mostrato in figura formato da sotto-reti e da router; in figura sono indicati i costi dei singoli rami come sono visti dai diversi router. Si supponga che il protocollo IGP utilizzato sia il protocollo OSPF con metrica coincidente con i costi dei rami e si supponga infine che il router R X sia identificato con il valore di host_id=x (ad esempio se SN=00.0.0, R C su SN viene visto come 00.0.0.C). SNB SNA 0 SN RB SN RA RD 0 0 SN RC SN 0 SNC SND

Esercizio (/) Le sottoreti hanno gli indirizzi mostrati nella seguente tabella: Sotto-rete Net_id Sotto-rete Net_id SNA.0.0 SN 9.0.0 SNB.0.0 SN 00.0.0 SNC 0.0.0 SN 0.0.0 SND.0.0 SN 0.0.0 Si chiede di:» )Completare i messaggi LSP inviati dal router RA sulle proprie interfacce verso tutti gli altri router della rete, in seguito alla scoperta dei propri vicini A Link to Metric.0.0 0 A Link to Metric A Link to Metric Esercizio (/)» ) Completare la tabella di instradamento (routing table) del router R A Sotto-rete Routing (next hop) Distanza Sotto-rete Routing (next hop) Distanza SNA Local 0 SN SNB 00.0.0 SN SNC SN SND SN

Esercizio (/) )Nel caso in cui il peso del ramo uscente dal router R C verso la rete SN divenga uguale a e che il protocollo IGP utilizzato sia il RIP, completare il seguente messaggio RIP, che comprende tale aggiornamento, emesso dal router R C verso i router adiacenti Sotto-rete Metrica Sotto-rete Metrica SNA SN SNB SN SNC SN SND SN )Riscrivere la tabella di instradamento del router R A a seguito della variazione indicata al punto precedente Dove siamo? Algoritmi di routing Protocolli di routing» Intra dominio (IGP)» Inter dominio (EGP) Le slides relative a questo argomenti sono tratte da Interdomain Routing and The Border Gateway Protocol (BGP) courtesy of Timothy G. Griffin Intel Research, Cambridge UK, tim.griffin@intel.com [http://www.cs.northwestern.edu/~ychen/classes/cs0-0/lectures/bgp_tutorial_simplified.ppt]

Architecture of Dynamic Routing AS IGP EGP (= BGP) IGP = Interior Gateway Protocol Metric based: OSPF, IS-IS, RIP, EIGRP (cisco) EGP = Exterior Gateway Protocol Policy based: BGP AS IGP The Routing Domain of BGP is the entire Internet 7 Technology of Distributed Routing Link State Topology information is flooded within the routing domain Best end-to-end paths are computed locally at each router. Best end-to-end paths determine next-hops. Based on minimizing some notion of distance Works only if policy is shared and uniform Examples: OSPF, IS-IS Vectoring Each router knows little about network topology Only best next-hops are chosen by each router for each destination network. Best end-to-end paths result from composition of all next-hop choices Does not require any notion of distance Does not require uniform policies at all routers Examples: RIP, BGP

Comparison of protocols IGP Link State OSPF IS-IS Vectoring RIP EGP BGP 9 BGP- for interdomain routing Tier- AS or Tier- ISP AS AS ISP: Internet Service Provider transit domain transit domain AS BGP session AS AS AS stub domain 70

BGP- BGP = Border Gateway Protocol Is a Policy-Based routing protocol Is the de facto EGP of today s global Internet Relatively simple protocol, but configuration is complex and the entire world can see, and be impacted by, your mistakes. 7 BGP Operations (Simplified) Establish session on TCP port 79 AS Exchange all active routes BGP session AS Exchange incremental updates While connection is ALIVE exchange route UPDATE messages 7

Four Types of BGP Messages Open : Establish a peering session. Keep Alive : Handshake at regular intervals. Notification : Shuts down a peering session. Update : Announcing new routes or withdrawing previously announced routes. announcement = prefix + attributes values 7 AS Numbers (ASNs) ASNs are bit values. through are private Genuity: MIT: JANET: 7 UC San Diego: 777 AT&T: 70,, 07, UUNET: 70, 70,, 99, Sprint: 9, 0,,, ASNs represent units of routing policy in BGP- 7

BGP Routing Tables show ip bgp BGP table version is 90, local router ID is 0... Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP,? - incomplete Network Next Hop Metric LocPrf Weight Path... *>i9...0.9.0. 0 0 779 70 70 i *>i9..9.0.9.. 0 0 77 70 i *>i9...0.9.0. 0 0 779 70 7 i *>i9..7.0.9.0. 0 0 779 i *>i9..9.0.9.0. 0 0 779 70 0 i *>i9...0.9.. 0 0 77 70 7 i *>i9...0 0... 0 779 09 7 i *>i9..9.0 0... 0 779 09 7 i *>i9..0.0 0... 0 779 9 7 7 7 i *>i9...0/ 0... 0 779 9 7 7 7 7 7 7 7 7 i... Thanks to Geoff Huston. http://www.telstra.net/ops on July, 00 Use whois queries to associate an ASN with owner (for example, http://www.arin.net/whois/arinwhois.html) 70 = AT&T Worldnet, 70 =Uunet, = Cable & Wireless, AS Graphs Do Not Show Topology! 7 BGP was designed to throw away information! The AS graph may look like this. Reality may be closer to this 7

AS Graphs Can Be Fun The subgraph showing all ASes that have more than 00 neighbors in full graph of, nodes. July, 00. Point of view: AT&T route-server 77 How Many ASNs are there today?,7 Thanks to Geoff Huston. http://bgp.potaroo.net on October, 00 7

How Many ASNs are there today? Thanks to Geoff Huston. http://bgp.potaroo.net on November, 00 79 How many prefixes today? 79,90 Note: numbers actually depends point of view Thanks to Geoff Huston. http://bgp.potaroo.net on October, 00 0

How many prefixes today? Thanks to Geoff Huston. http://bgp.potaroo.net on November, 00 Attributes are Used to Select Best Routes 9.0..0/ pick me! 9.0..0/ pick me! 9.0..0/ pick me! 9.0..0/ pick me! Given multiple routes to the same prefix, a BGP speaker must pick at most one best route (Note: it could reject them all!)

AS PATH attribute.07.0.0/ AS Path = 7 9 70 AS 9 Global Access.07.0.0/ AS Path = 9 70 AS 9 Sprint AS 7 Ebone.07.0.0/ AS Path = 70.07.0.0/ AS Path = 9 7 9 70 AS RIPE NCC RIS project.07.0.0/ AS Path = AS AT&T Research.07.0.0/ Prefix Originated AS70 AT&T.07.0.0/ AS Path = 70.07.0.0/ AS Path = 9 70 AS 9 Global Crossing Policy-Based vs. Distance-Based Routing? Minimizing hop count can violate commercial relationships that constrain interdomain routing. Cust ISP Host YES NO ISP ISP Host Cust Cust

Why not minimize AS hop count? National ISP National ISP YES NO Regional ISP Regional ISP Regional ISP Cust Cust Cust Shortest path routing is not compatible with commercial relations Customers and Providers provider provider customer IP traffic customer Customer pays provider for access to the Internet

The Peering Relationship peer provider peer customer Peers provide transit between their respective customers Peers do not provide transit between peers traffic allowed traffic NOT allowed Peers (often) do not exchange $$$ Peering Provides Shortcuts 7 Peering also allows connectivity between the customers of Tier providers. peer provider peer customer

Peering Wars Peer Reduces upstream transit costs Can increase end-to-end performance May be the only way to connect your customers to some part of the Internet ( Tier ) Don t Peer You would rather have customers Peers are usually your competition Peering relationships may require periodic renegotiation Peering struggles are by far the most contentious issues in the ISP world! Peering agreements are often confidential. Implementing Customer/Provider and Peer/Peer relationships 9 Two parts: Enforce transit relationships» Outbound route filtering (to avoid being used as transit if not desired) Enforce order of route preference» provider < peer < customer 90

Import Routes provider route peer route customer route ISP route From provider From provider From peer From peer From customer From customer 9 Export Routes provider route peer route customer route ISP route To provider From provider To peer To peer To customer To customer filters block 9

BGP Route Processing Each operator defines its own policies! Receive BGP Updates Apply Policy = filter routes & tweak attributes Based on Attribute Values Best Routes Apply Policy = filter routes & tweak attributes Transmit BGP Updates Apply Import Policies Best Route Selection Best Route Table Apply Export Policies Install forwarding Entries for best Routes. IP Forwarding Table 9 Shorter Doesn t Always Mean Shorter Mr. BGP says that path is better than path Duh! AS AS AS AS Non è possibile fare di meglio : se si esportasse lo stato interno degli autonomous systems la soluzione non sarebbe scalabile! 9

Routing Example A = planetlab.xeno.cl.cam.ac.uk B = planetlab.info.ucl.ac.be C = planetlab.cs.cornell.edu A JANET BELNET B NY UK NL BE GEANT New York Chicago Abilene NYSERNet C Cornell 9 Routing Example A = planetlab.xeno.cl.cam.ac.uk B = phys0bha a.chem.msu.ru C = planetlab.ie.cuhk.edu.hk AS09 GEANT AS7 ABILENE ASCC AS9 AS RBNET AS9 PCCW AS7 REACH AS TeleGlobe B MSU A JANET C CUHK AS AS7 AS 9

Tweak Tweak Tweak For inbound traffic» Filter outbound routes» Tweak attributes on outbound routes in the hope of influencing your neighbor s best route selection For outbound traffic» Filter inbound routes» Tweak attributes on inbound routes to influence best route selection In general, an AS has more control over outbound traffic inbound traffic outbound traffic outbound routes inbound routes Tweak: letteralmente pizzicare, in slang mettere a punto 97 Implementing Backup Links with Local Preference (Outbound Traffic) AS primary link backup link Set Local Pref = 00 for all routes from AS AS 000 Set Local Pref = 0 for all routes from AS Forces outbound traffic to take primary link, unless link is down. 9

Multihomed Backups (Outbound Traffic) AS provider AS provider primary link backup link Set Local Pref = 00 for all routes from AS AS Set Local Pref = 0 for all routes from AS Forces outbound traffic to take primary link, unless link is down. Controlling Inbound Traffic with ASPATH Prepending 99 AS provider Prepending will (usually) force inbound traffic from AS to take primary link 9.0..0/ ASPATH = 9.0..0/ ASPATH = primary customer AS backup 9.0..0/ 00

But it does not always work AS provider AS provider 9.0..0/ ASPATH = 9.0..0/ ASPATH = primary customer AS backup 9.0..0/ AS will send traffic on backup link because it prefers customer routes and local preference is considered before ASPATH length! 0 BGP issues There is no guarantee that a BGP configuration has a unique routing solution.» When multiple solutions exist, the (unpredictable) order of updates will determine which one is wins. There is no guarantee that a BGP configuration has any solution!» And checking configurations NP-Complete [GW999] Complex policies increase chances of routing anomalies.» yet this is the current trend! 0