Algoritmi e protocolli di Routing

Documenti analoghi
RETI DI CALCOLATORI II

Parte II - Reti di Calcolatori ed Internet IL LIVELLO RETE

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

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

Open Shortest Path First (OSPF)

Routing IP. IP routing

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

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

Internet (- working). Le basi.

Tipi di comunicazione

Reti a commutazione di pacchetto

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

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

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

Reti di calcolatori. Lezione del 10 giugno 2004

Algoritmi e protocolli di Routing

I protocolli di routing dell architettura TCP/IP

RETI A COMMUTAZIONE DI PACCHETTO. Caratteristiche e principi di funzionamento

4c. Esercizi sul livello di Rete Instradamento in Internet

Routing. Parte prima

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

Routing. Forwarding e routing

Programmazione in Rete

Reti di Calcolatori:

1. Introduzione alle Reti di TLC

Fondamenti di Internet e Reti

Configurazione delle interfacce di 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

I protocolli di routing dell architettura TCP/IP

Livello rete strato di Rete

Generalità sui protocolli Tecniche di multiplazione Tecniche di accesso Tecniche di commutazione

Sistemi distribuiti e reti di calcolatori

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

ESERCIZI SVOLTI. Eserczio

Le Reti Informatiche

Le Reti Informatiche

Reti di calcolatori. Rete di calcolatori

Spanning Tree Protocol (STP) DIET Dept

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

Il routing in Internet Exterior Gateway Protocols

ISO- OSI e architetture Client-Server

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

Elementi di Reti per Telecomunicazioni

Dispositivi di Rete. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Reti a Commutazione. Commutazione di Circuito. Esempio di Rete a Commutazione. Elementi di una Rete a Commutazione

Tecniche di commutazione

Le reti e Internet. Struttura e protocolli

RETI DI CALCOLATORI. Domande di riepilogo Quarta Esercitazione. Quali sono le differenze tra Bridge, Router e Gateway?

Interdomain routing Principi generali e BGP

Le reti rete La telematica telematica tele matica Aspetti evolutivi delle reti Modello con mainframe terminali Definizione di rete di computer rete

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

Parte I. Ibrido MPLS. Figura 1.1

Indirizzamento IP. Politecnico di Milano Facoltà di Ingegneria dell Informazione

RETI DI CALCOLATORI II

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 8 novembre Corso di laurea in Economia

Transcript:

Algoritmi e protocolli di Routing Prof. Franco Callegati http://deisnet.deis.unibo.it Compiti dello strato di rete Trasportare informazioni lungo dal mittente al destinatario In una rete commutata con terminali e nodi di transito Scegliere il giusto percorso da sorgente a destinatario Se i nodi hanno più interfacce di rete Scegliere la corretta interfaccia di uscita verso la destinazione Commutazione = funzione di collegamento di una linea di ingresso con una di uscita opportunamente scelta Le due tecniche di commutazione usate tradizionalmente nelle reti e ora più diffuse sono Commutazione di circuito Commutazione di messaggio o di pacchetto 2 1

Commutazione di circuito La rete crea un canale di comunicazione dedicato fra due terminali che vogliono colloquiare Circuito di comunicazione Il circuito è riservato ad uso esclusivo dei terminali chiamante e chiamato Esiste quindi un ritardo iniziale dovuto al tempo necessario per instaurare il circuito dopo di ciò la rete è trasparente (è garantita la trasparenza temporale) per l'utente ed equivale ad un collegamento fisico diretto 3 Fasi della comunicazione Instaurazione del circuito Prima che i segnali di utente possano essere trasmessi la rete deve instaurare un circuito fra terminale chiamante e terminale chiamato (circuito end-to-end). Richiede un opportuna segnalazione. Dialogo I due terminali si scambiano informazioni utilizzando il circuito dedicato. Disconnessione del circuito Al termine del dialogo il circuito deve essere rilasciato, al fine di poter essere utilizzato per altre chiamate. 4 2

Pro e contro Pro il circuito è dedicato e garantisce sicurezza ed affidabilità è garantita la trasparenza temporale le procedure di controllo sono limitate ad inizio e fine chiamata Contro se le sorgenti hanno un basso tasso di attività il circuito è sottoutilizzato, la capacità del canale è fissata dalla capacità del circuito e non si può variare. 5 Commutazione di messaggio o pacchetto Trasporta informazioni in forma numerica Le informazioni di utente sono strutturate in messaggi unitamente ad opportune informazioni di segnalazione indirizzamento,verifica della correttezza delle informazioni, ecc. Commutazione di Pacchetto: i messaggi vengono suddivisi in sotto-blocchi di lunghezza massima prefissata detti pacchetti, per motivi Di linea: evitare frammenti troppo lunghi in relazione al rumore Di rete: limitare i tempi medi di attesa nei nodi I messaggi o i pacchetti vengono trasmessi da un nodo di commutazione all'altro utilizzando in tempi diversi risorse comuni 6 3

Tecniche di commutazione di pacchetto Circuito virtuale (connection oriented) scambio delle informazioni preceduto da una procedura di segnalazione (apertura) durante la quale viene stabilito il percorso dei pacchetti da origine a destinazione a tale percorso viene associato un numero di circuito virtuale tutti i pacchetti di dati seguono lo stesso percorso, contengono solamente il numero di circuito virtuale. Datagramma (connectionless) ogni pacchetto viene gestito e instradato in modo indipendente, senza relazione con pacchetti precedenti o successivi, anche appartenenti alla stessa connessione ogni pacchetto porta tutte le informazioni di indirizzamento necessarie per raggiungere la destinazione finale pacchetti diversi di una stessa connessione possono seguire percorsi diversi e quindi avere tempi di percorrenza diversi 7 Pro e contro Pro L'efficienza nell'utilizzazione dei collegamenti è maggiore, poiché la stessa linea è condivisa in modo dinamico da più chiamate La rete può supportare diverse velocità ed effettuare anche conversioni tramite memorizzazione. È facile implementare meccanismi per il controlo dell errore (trasparenza semantica) Contro È difficile garantire un predeterminato tempo di transito, quindi è poco adatta per servizi di tipo real time 8 4

Modello del nodo di commutazione a pacchetto Linee di ingresso Funzione di instradamento Linee di uscita Tabella di instradamento 9 Store-and-Forward La tecnica Store-and-Forward è tipica della commutazione di pacchetto Il pacchetto entrante è verificato e memorizzato nella relativa memoria di ingresso Una volta ricevuto viene trasferito nella memoria principale, ne viene letta l intestazione e la funzione di instradamento decide su quale linea di uscita ritrasmetterlo Il pacchetto è tolto dalla memoria principale e inserito in quella di uscita, in attesa della effettiva trasmissione Il pacchetto viene prima memorizzato interamente nel nodo e quindi ritrasmesso nella direzione opportuna 10 5

Tabelle di routing La funzione di routing può richiedere molte elaborazioni, per processare velocemente i pacchetti viene costruita la tabella di routing: Tabella che deve essere costruita in ogni nodo nella quale per ogni indirizzo di destinazione è indicata la porta di uscita che porta a quella destinazione Per costruire la tabella di routing gli elaboratori possono costruire diverse tabelle ausiliarie 11 Instradamento: implementazione L implementazione della funzione di forwarding dipende dal costruttore del nodo di commutazione La funzione di instradamento deve invece essere standard al fine di avere coerenza nel comportamento dei nodi La funzione di routing si avvale di: algoritmi di routing usati per il calcolo delle tabelle di instradamento note le informazioni sulla topologia della rete protocolli di routing usati per lo scambio delle informazioni sulla topologia della rete necessarie per applicare l algoritmo 12 6

Routing: piano di utente e di controllo L instradamento è una delle funzioni dello strato di rete dal punto di vista dell utilizzo della rete (piano di utente) i router implementano le funzionalità fino allo strato di rete I protocolli di routing si basano su uno scambio di informazioni tra applicazioni dal punto di vista del controllo della rete (piano di controllo) i router implementano anche funzionalità di livello superiore (sono calcolatori specializzati) 13 Caratteristiche di un algoritmo di routing (RA) Gli algoritmi di routing si differenziano per le modalità con cui le tabelle di instradamento vengono create ed eventualmente aggiornate nel tempo. Si possono classificare in: Statici Dinamici Centralizzati Distribuiti 14 7

Routing statico Le tabelle di instradamento sono: invarianti nel tempo indipendenti dalle condizioni di traffico della rete Le tabelle di instradamento sono create in fase di configurazione del router Grande lavoro di configurazione modificate con l intervento di un operatore solo in caso di variazioni strutturali o topologiche della rete inserimento o caduta di nodi, collegamenti 15 Routing dinamico Le tabelle di instradamento vengono create e periodicamente aggiornate in modo automatico Consentono di adattare le decisioni di instradamento a variazioni topologiche della rete inserimento di nuovi collegamenti caduta di un collegamento per guasto condizioni di traffico si evita la scelta di percorsi che comprendono collegamenti congestionati 16 8

Routing centralizzato Un unico nodo centrale: raccoglie tutte le informazioni sullo stato e la topologia della rete, calcola le tabelle di instradamento per ogni nodo, le trasmette a tutti i nodi. Pro Garantisce massima consistenza delle informazioni Contro Dipende dal corretto funzionamento di un solo apparato di rete Il nodo centrale è soggetto ad un grande traffico di overhead 17 Routing distribuito Ogni nodo calcola in modo autonomo le sue tabelle di instradamento Il calcolo può essere basato su informazioni : locali riguardanti il solo nodo in cui sta avvenendo il calcolo, senza scambio di informazioni tra i nodi distribuite si utilizzano informazioni relative agli altri nodi e collegamenti della rete Nel caso di routing basato su informazioni distribuite deve essere previsto un meccanismo di scambio delle informazioni fra routers 18 9

Un semplice algoritmo di routing: il flooding Flooding: ogni nodo ritrasmette su tutte le porte di uscita ogni pacchetto ricevuto Un generico pacchetto verrà sicuramente ricevuto da tutti i nodi della rete e quindi anche da quello a cui è effettivamente destinato Dal momento che tutte le strade possibili sono percorse, il primo pacchetto che arriva a un nodo è quello che ha fatto la strada più breve possibile L elaborazione associata a questo algoritmo è pressoché nulla Molto adatto quando si desidera inviare una certa informazione a tutti i nodi della rete (broadcasting) 19 Miglioramenti del flooding E necessario introdurre ulteriori regole per evitare la proliferazione dei pacchetti broadcast un nodo non ritrasmette il pacchetto nella direzione dalla quale è giunto un nodo ritrasmette un pacchetto una sola volta ad ogni pacchetto viene associato un identificativo unico (l indirizzo della sorgente e un numero di sequenza) e ciascun nodo mantiene in memoria una lista con gli identificativi dei pacchetti già trasmessi bisogna evitare che la lista cresca all infinito contatore quando un pacchetto già trasmesso giunge al nodo, viene ignorato Un instradamento più efficiente per il broadcasting si basa sull uso di uno spanning tree si trasmette solo lungo lo spanning tree miglioramento per l assenza di cicli 20 10

Deflection routing (hot potato) Quando un nodo riceve un pacchetto lo ritrasmette sulla linea d uscita avente il minor numero di pacchetti in attesa di essere trasmessi E adatto a reti in cui i nodi di commutazione dispongono di spazio di memorizzazione molto limitato si desidera minimizzare il tempo di permanenza dei pacchetti nei nodi I pacchetti possono essere ricevuti fuori sequenza Alcuni pacchetti potrebbero percorrere all infinito un certo ciclo in seno alla rete, semplicemente perché le sue linee sono poco utilizzate Si deve prevedere un meccanismo per limitare il tempo di vita dei pacchetti Non tiene conto della destinazione finale del pacchetto 21 Scelta ibrida (load sharing) Si legge su di una tabella la linea d uscita preferenziale nella direzione della destinazione finale del pacchetto Il pacchetto viene posto nella coda di trasmissione per tale linea se la coda non supera una soglia e se non vi sono altri pacchetti richiedenti contemporaneamente tale linea d uscita Altrimenti viene inviato sulla linea d uscita avente coda di trasmissione più breve Vantaggio: in condizioni di basso carico della rete, l instradamento non viene fatto a caso, ma sulla base della effettiva destinazione finale 22 11

Shortest path routing Si assume che ad ogni collegamento della rete possa essere attribuita una lunghezza La lunghezza è un numero che serve a caratterizzare il peso di quel collegamento nel determinare una certa funzione di costo del percorso totale di trasmissione L algoritmo cerca la strada di lunghezza minima fra ogni mittente e ogni destinatario Si applicano gli algoritmi di calcolo dello shortest path (Bellman-Ford e Dijkstra) in modalità centralizzata distribuita Distance Vector Link State 23 Tabelle di routing con alternative Dall applicazione degli algoritmi di calcolo dello shortest path si ottengono anche percorsi alternativi di peso minimo di peso superiore Uso probabilistico della tabella di routing Se si instrada sempre sulla linea più breve si creano nella rete dei cammini ad alto traffico e si lasciano alcune linee scariche Si potrebbero instradare i pacchetti su tutte le uscite disponili con probabilità inversamente proporzionale al peso del cammino corrispondente Questa tecnica rende la distribuzione del traffico più uniforme sui vari link della rete Pericolo di ricezione fuori sequenza 24 12

Routing gerarchico Nel caso di reti di grandi dimensioni non è possibile gestire le tabelle di routing per l intera rete in tutti i router, in questo caso il routing deve essere gerarchico: la rete viene ripartita in porzioni, chiamate per ora aree di routing i router all interno di un area sono in grado di effettuare l instradamento relativamente alla sola area per destinazioni al di fuori dell area si limitano ad inviare i pacchetti a dei router di bordo che sono a conoscenza della topologia esterna dell area i router di bordo si occupano solamente dell instradamento dei pacchetti fra aree In linea di principio la ripartizione può essere effettuata tante volte quante si vuole creando più livelli nella gerarchia di routing 25 Il routing in Internet: cenni Prof. Franco Callegati http://deisnet.deis.unibo.it 13

Routing gerarchico in Internet In Internet si usa il routing gerarchico e le aree di routing sono chiamate Autonomous System (AS) un AS può essere ulteriormente suddiviso in porzioni dette Routing Area (RA) interconnesse da un backbone (dorsale) ogni network IP è tutta contenuta in un AS o in una RA tradizionalmente secondo la classe, oggi secondo il CIDR gli AS decidono autonomamente i protocolli e le politiche di routing che intendono adottare al loro interno i vari enti di gestione si devono accordare su quali protocolli utilizzare per il dialogo tra i router che interconnettono AS diversi I protocolli di routing all interno di un AS sono detti Interior Gateway Protocol (IGP) I protocolli di routing fra AS sono detti Exterior Gateway Protocol (EGP) 27 Internet = rete di reti 28 14

Internet = insieme di AS interconnessi AS1 AS5 EGP AS3 IGP RA AS2 AS4 29 Grafo della rete a livello EGP AS5 AS3 AS1 AS2 AS4 30 15

Ma cos è un Autonomous System? Originariamente definito come un insieme di router gestiti da un unica amministrazione (enti, aziende, università, ) Nuova definizione (1996 RFC 1930) un AS è un gruppo connesso di una o più reti IP (classless) gestite da uno o più operatori ma con identiche e ben definite politiche di routing politica di routing di un AS: modalità con cui si prendono decisioni di routing nel resto della rete Internet sulla base delle informazioni provenienti dall AS (attraverso un EGP) Esempio: Università di Bologna 137.204.0.0/16 Politecnico di Torino 130.192.0.0/16 entrambi comunicano con il resto del mondo tramite il GARR e le sue scelte di peering (stesse politiche di routing) non c è bisogno di avere un AS per ogni ateneo il GARR (e tutte le reti connesse ad esso) costituiscono un unico AS (AS137) 31 Protocolli di routing per Internet Interior Gateway Protocol RIP: Routing Information Protocol OSPF: Open Shortest Path First Exterior Gateway Protocol EGP: Exterior Gateway Protocol BGP: Border Gateway Protocol 32 16

IGP Si usano protocolli dinamici distribuiti La rete si evolve continuamente senza un vero controllo centralizzato la configurazione manuale diventa quasi impossibile La rete deve reagire automaticamente ai cambiamenti e ai guasti Si utilizzano Algoritmi per il calcolo dei percorsi di lunghezza minima Dijkstra Bellman Ford Protocolli per lo scambio delle informazioni necessarie per il calcolo Distance Vector Link State 33 Distance Vector Si basano su di un algoritmo dinamico distribuito proposto da Bellmann-Ford, poi perfezionato da Ford- Fulkerstone Ogni nodo conosce i suoi vicini la distanza dai suoi vicini Ogni nodo invia ai propri vicini (e solo a loro) un vettore contenente la stima della sua distanza da tutti i nodi della rete (il distance vector) Utilizzando i distance vector ricevuti ogni nodo calcola la propria distanza dagli altri nodi della rete (applicando l algoritmo di Bellman-Ford) identifica il percorso di lunghezza minima verso ogni destinazione Problemi: convergenza lenta, partenza lenta, problemi di stabilità: conto all infinito 34 17

Link state Ogni nodo della rete: si procura un immagine della topologia della rete Sulla base di tale immagine calcola le tabelle di routing con un RA Il protocollo di routing ha come scopo fondamentale quello di permettere ad ogni nodo di crearsi l immagine della rete Sono i protocolli più usati nell Internet moderna 35 Link state (2) Ogni router deve comunicare con i propri vicini ed imparare i loro indirizzi Hello Packet Deve poi misurare la distanza dai vicini Echo Packet In seguito ogni router costruisce un pacchetto con lo stato delle linee (Link State Packet o LSP) che contiene la lista dei suoi vicini le lunghezze dei collegamenti per raggiungerli 36 18

Link state (3) I pacchetti LSP devono essere trasmessi da tutti i router a tutti gli altri router della rete Si usa il protocollo Flooding A tal fine nel pacchetto LSP occorre aggiungere L indirizzo del mittente Un numero di sequenza Una indicazione dell età del pacchetto Avendo ricevuto i LSP da tutti i router, ogni router è in grado di costruirsi un immagine della rete Tipicamente si usa l algoritmo di Dijkstra 37 Distance Vector - Link State: confronto Distance Vector Semplici da implementare Richiedono in genere una quantità di memoria inferiore, in particolare se la connettività della rete è bassa, e minori risorse di calcolo Link State Offrono maggiori funzionalità in termini di gestione di rete La topologia generale della rete e i percorsi al suo interno possono essere ricavati da qualunque router La velocità di convergenza è solitamente maggiore Maggiore velocità di adattamento ai cambi di topologia Il flooding di pacchetti LSP può provocare un aumento significativo di traffico 38 19