Fondamenti di routing (pag.34)



Documenti analoghi
Reti di calcolatori. Lezione del 10 giugno 2004

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

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

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

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

Lo scenario: la definizione di Internet

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

Informatica per la comunicazione" - lezione 8 -

Apparecchiature di Rete

3. Introduzione all'internetworking

Il livello 3 della pila ISO/OSI. Il protocollo IP e il protocollo ICMP

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

Livello di Rete. Prof. Filippo Lanubile. Obiettivo

Informatica per la comunicazione" - lezione 8 -

Reti di Calcolatori. Il software

Reti e Internetworking

Reti di calcolatori ed indirizzi IP

Reti di Calcolatori

Interconnessione di reti

RETI DI COMPUTER Reti Geografiche. (Sez. 9.8)

I canali di comunicazione

Reti di Telecomunicazione Lezione 8

Dal protocollo IP ai livelli superiori

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

Internet. Introduzione alle comunicazioni tra computer

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

Protocolli di Comunicazione

Gli indirizzi dell Internet Protocol. IP Address

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

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

ARP e instradamento IP

Laboratorio di Informatica Corso di laurea in Lingue e Studi interculturali. AA Paola Zamperlin. Internet. Parte prima

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

Il modello TCP/IP. Sommario

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

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

Introduzione alla rete Internet

COMPLESSO SCOLASTICO INTERNAZIONALE GIOVANNI PAOLO II. Pianificazione di reti IP (subnetting)

Protocollo IP e collegati

Internet, così come ogni altra rete di calcolatori possiamo vederla suddivisa nei seguenti componenti:

Reti di Calcolatori IL LIVELLO RETE

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

TECNOLOGIE E PROGETTAZIONE DI SISTEMI INFORMATICI E DI TELECOMUNICAZIONI

Linux User Group Cremona CORSO RETI

Inizializzazione degli Host. BOOTP e DHCP

Il routing in Internet Exterior Gateway Protocols

Argomenti della lezione

Reti LAN. IZ3MEZ Francesco Canova

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

Gestione degli indirizzi

Introduzione alla rete Internet

Elementi di Informatica e Programmazione

ARP (Address Resolution Protocol)

VPN CIRCUITI VIRTUALI

Introduzione alla rete Internet

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

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

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

Routing Dinamico EIGRP con Manual Summarization e Default Route 16/12/2014 Autore Roberto Bandiera

INTERNET e RETI di CALCOLATORI A.A. 2011/2012 Capitolo 4 DHCP Dynamic Host Configuration Protocol Fausto Marcantoni fausto.marcantoni@unicam.

Elementi di Informatica e Programmazione

InterNet: rete di reti

Reti e Internet: introduzione

Cos'è una vlan. Da Wikipedia: Una LAN virtuale, comunemente

Reti diverse: la soluzione nativa

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

Reti di Calcolatori. Lezione 2

Progettare un Firewall

La classificazione delle reti

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

Trasmissione di dati al di fuori di un area locale avviene tramite la commutazione

Internet e Peering. Fulvio RISSO

Reti diverse: la soluzione nativa

Determinare la grandezza della sottorete

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Venerdì 18 Febbraio 2005, ore 9.30

Gestione degli indirizzi

Internet e protocollo TCP/IP

Reti di calcolatori. Reti di calcolatori

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Dispositivi di rete. Ripetitori. Hub

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

Il funzionamento delle reti

Lezione 4. Le Reti ed i Protocolli

GLI INDIRIZZI DELL INTERNET PROTOCOL (IP ADDRESS) 2. Fondamenti sugli indirizzi dell Internet Protocol 2. Struttura di un indirizzo IP 2

DA SA Type Data (IP, ARP, etc.) Padding FCS

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Lunedì 24 Gennaio 2005, ore 15.00

RETI DI CALCOLATORI Lucidi delle Lezioni Capitolo VIII

Insegnamento di Informatica CdS Scienze Giuridiche A.A. 2007/8

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

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

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

Reti. Reti. IPv4: concetti fondamentali. arp (address resolution protocol) Architettura a livelli (modello OSI)

ARP e RARP. Silvano GAI. sgai[at]cisco.com. Mario BALDI. mario.baldi[at]polito.it Fulvio RISSO

Reti di Calcolatori. una rete di calcolatori è costituita da due o più calcolatori autonomi che possono interagire tra di loro una rete permette:

Standard di comunicazione

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

Reti di Telecomunicazioni LB Introduzione al corso

Altro esempio di HTML

Parte II: Reti di calcolatori Lezione 21

Transcript:

Fondamenti di routing (pag.34) UdA2L1 Il livello di rete (Network layer) è il livello 3 della pila ISO/OSI. Questo livello riceve datagrammi (pacchetti) dal livello di trasporto e forma pacchetti che vengono passati al livello Datalink, è incaricato quindi di muovere i pacchetti dalla sorgente fino alla destinazione finale, attraversando tanti sistemi intermedi (router) della sottorete di comunicazione quanti è necessario. Il compito del livello di rete è quindi la trasmissione di pacchetti tra due host arbitrari, che in generale non sono direttamente connessi (ovvero non hanno un collegamento diretto tra di loro). Nel modello ISO/OSI, il software del livello di rete è presente in tutti i commutatori della rete, mentre quello dei livelli superiori è presenti solo nei nodi terminali. In dettaglio, le funzioni del livello di rete sono: inoltro, ovvero ricevere un pacchetto su una porta, immagazzinarlo e ritrasmetterlo su un'altra. Questa funzione è presente in tutti i nodi della rete, e può comportare l'utilizzo di protocolli di livello collegamento differenti frammentazione: se un pacchetto ricevuto ha una dimensione eccessiva per la rete su cui deve essere trasmesso, il livello di rete lo divide in frammenti e si occupa di riassemblare i frammenti ricevuti al momento della consegna. instradamento (routing), ovvero determinare il percorso per la trasmissione dei dati attraverso la rete. Nella maggior parte dei casi, questa funzione viene svolta dinamicamente tramite appositi algoritmi, che analizzano le condizioni della rete, le tabelle di instradamento, la priorità del servizio e altri elementi secondari. controllo della congestione Nel modello TCP/IP, il livello 3 viene detto livello internet, in quanto interconnette reti eterogenee, per realizzare un'unica rete in modo trasparente agli utilizzatori. ISO/OSI TCP/IP Applicazione Presentazione Applicazione Telnet /FTP / HTTP / SMTP Sessione Trasporto Rete Collegamento Fisico Trasporto Rete (o internet) Collegamento + Fisico UDP / TCP IP / ICMP / ARP / RARP IEEE 802.3 / 802.5 / 802.6 / 802.11 Il routing Abbiamo visto che le reti geografiche (Wide Area Network, WAN) sono le reti che si estendono a livello di una nazione, di un continente o dell'intero pianeta. L instradamento è alla base della funzionalità delle reti WAN. 1

In una WAN possiamo distinguere dispositivi di due tipologie: un insieme di elaboratori (host oppure end system) sui quali girano i programmi usati dagli utenti; elementi di commutazione: elaboratori specializzati utilizzati per connettere fra loro due o più linee di trasmissione. Quando arrivano dati su una linea, l'elemento di commutazione deve scegliere una linea in uscita sul quale instradarli. L elemento in questione è il router. (Altri termini usati sono sistemi intermedi (Intermediate System)). I dispositivi sono collegati da linee di trasmissione (dette anche circuiti, canali, trunk) che spostano i bit e possono essere realizzate in fibra ottica, con collegamenti radio, in rame o altro. Una tipica WAN è utilizzata per connettere più LAN fra loro: Figura 1: struttura tipica di una WAN Ogni router, in generale, deve: 1. ricevere un pacchetto da una linea in ingresso; 2. memorizzarlo per intero in un buffer interno; 3. appena la necessaria linea in uscita è libera, instradare il pacchetto su essa. Quando si vogliono connettere fra di loro reti progettualmente diverse (spesso incompatibili fra loro) si ricorre a speciali attrezzature di commutazione, dette gateway (o router multiprotocollo), che oltre ad instradare i pacchetti da una rete all'altra, effettuano le operazioni necessarie per rendere possibili tali trasferimenti. Figura 2: interconnessione di reti Il gateway opera tra i livelli da 4 a 7 del modello ISO/OSI, generalmente si colloca al livello 7: Instradamento dei pacchetti Come abbiamo visto il livello di rete è incaricato di muovere i pacchetti dalla sorgente fino alla destinazione finale, attraversando tanti sistemi intermedi (router). Ovvero: Acquisito l indirizzo IP di un pacchetto da inoltrare, il router controlla, attraverso la propria netmask, se è relativo ad un host della propria rete; 2

Se l indirizzo appartiene alla stessa rete del router, l IP del router utilizzerà i servizi dello strato inferiore (data-link) per spedire il pacchetto direttamente all host destinatario. Se l indirizzo appartiene ad un altra rete, il router consulterà la propria Routing Table, che associa ad ogni rete l indirizzo del router di frontiera delle reti connesse. Se il router (che è collegato a più reti) ha una connessione diretta col router dove è collegato l host destinatario, gli inoltra direttamente il pacchetto, altrimenti lo passa al router più vicino, fino a raggiungere un router in grado di consegnare il pacchetto. Ciò è molto diverso dal compito del livello data link, che è di muovere informazioni solo da un capo all'altro di un singolo canale di comunicazione. Tipi di instradamento (pag 35 in poi) Instradamento diretto.. Instradamento indiretto.. Tabella di instradamento Router di default. Tabelle di routing con righe a costo diverso Aggregazione di indirizzi ESERCIZI Una volta ricevuto il pacchetto, il router verifica l indirizzo di destinazione e inizia il processo di forwarding, ovvero l inoltro del pacchetto verso l host di destinazione finale, per stabilire su quale linea deve essere instradato il pacchetto. Algoritmi di routing (pag.50) UdA2L2 Dopo avere individuato la topologia della rete, il compito del livello di rete è quello di scegliere di volta in volta il cammino migliore, oltre a gestire il flusso dei dati e le congestioni (flow control e congestion control) e le problematiche derivanti dalla presenza di più reti diverse (internetworking). Per far ciò vengono applicate delle politiche di routing (o algoritmi di routing). Per poter scegliere la linea giusta, l algoritmo deve valutare alcuni parametri: Il numero degli hop (salti), ovvero dei nodi (router) attraversati prima di giungere a destinazione; Il costo, inteso come l inverso della velocità della linea. Una prima classificazione degli algoritmi di routing riguarda l organizzazione delle reti in Autonomous System (AS), un entità costituita da un gruppo di router e reti sotto il controllo di una singola e ben definita autorità amministrativa (esempio di sistema autonomo può essere quello che contraddistingue gli utenti di un unico provider oppure, più in piccolo, quello che costituisce la rete interna di un'azienda). Ogni AS è identificato da un numero univoco a livello internazionale rilasciato dall'autorità che rilascia gli indirizzi Internet. Le funzioni dei router, le modalità d'esecuzione e gli algoritmi utilizzati dipendono dalla dislocazione logica, che può essere internamente ad una rete o sul confine dell'as. 3

Per questo i protocolli che agiscono su un AS si possono denominare: IGP (Interior Gateway Protocol), che identifica i protocolli di routing che agiscono all interno di un AS (generalmente chi gestisce un AS utilizza gli stessi protocolli di routing per le reti che appartengono allo stesso AS, in caso di protocolli diversi si creeranno altri AS); EGP (Exterior Gateway Protocol), che identifica i protocolli che fanno routing fra diversi AS. Internet non è altro che un insieme di AS interconnessi. Gli algoritmi di routing si dividono in due classi principali: algoritmi statici (o non adattivi): le decisioni di routing sono prese in anticipo, all'avvio della rete, e sono comunicate ai router che poi si attengono sempre a quelle. Le tabelle di routing possono essere compilate manualmente da una persona (l Amministratore di rete) o in modo automatico all avvio della rete attraverso un protocollo di routing; algoritmi dinamici (o adattivi): le tabelle vengono continuamente aggiornate in automatico in funzione delle informazioni che pervengono al router sui cambiamenti della rete (sulla base del traffico, della topologia della rete, ecc.). I grafi (pag. 58) UdA2L3 Un grafo è un insieme di nodi e archi in cui ogni arco connette due nodi. Effettuare l instradamento di un pacchetto in una rete significa individuare un percorso tra sorgente e destinatario il cui cammino sia il più corto possibile, il cosiddetto cammino minimo. 4

La distanza è la lunghezza del cammino più breve tra due nodi. Il peso di un cammino è la somma dei pesi associati a tutti gli archi che compongono il cammino. (Definizioni pag. 58-61) Rappresentazione dei grafi (pag 63-64) Matrice delle adiacenze Algoritmi di routing statici (pag.72) UdA2L4 Questi algoritmi, come abbiamo già accennato, sono eseguiti solamente all'avvio della rete, e le decisioni di routing a cui essi pervengono sono poi applicate senza più essere modificate. Alcuni algoritmi statici sono: shortest path routing (routing basato sul percorso più breve); flooding flow-based routing Shortest path routing Ogni router della rete ha in memoria un grafo (Sink tree) dove: i nodi rappresentano i router; gli archi rappresentano le linee punto-punto. I sink tree sono calcolati all'avvio della rete da un host di gestione che: applica al grafo un algoritmo (ad esempio l algoritmo ideato da Dijkstra nel 1959) per il calcolo del cammino minimo fra ogni coppia di nodi; invia tali informazioni a tutti i router. Quale sia il cammino minimo dipende da qual è la grandezza che si vuole minimizzare (peso). Tipicamente è: il numero di hop, cioè di archi, da attraversare; la lunghezza dei collegamenti; il tempo medio di trasmissione. (Come esempio possiamo considerare un automobilista che può scegliere il suo itinerario in funzione del numero minimo di chilometri da percorrere oppure per arrivare nel minore tempo possibile). Algoritmo di Dijkstra Con questo algoritmo ogni nodo è associato a un etichetta (racchiusa tra parentesi) che riporta la sua distanza dal nodo d origine lungo il miglior percorso conosciuto. Inizialmente, ovvero all avvio della rete, nessun percorso è noto, perciò tutti i nodi sono etichettati con un simbolo che rappresenta l infinito. Mano a mano che l algoritmo procede e si trovano i percorsi, le etichette cambiano rispecchiando i percorsi migliori. Inizialmente tutte le etichette sono provvisorie, e quando si scopre che rappresenta il percorso più breve possibile dall origine a quel nodo viene resa permanente smettendo di modificarla. 5

Lo scopo è quindi trovare il percorso minimo (più corto, più veloce, più economico ) tra due punti, uno di partenza e uno di arrivo. Con questo metodo è possibile ottenere non solo il percorso minimo tra un punto di partenza e uno di arrivo ma il percorso minimo tra un punto di partenza e tutti gli altri punti della rete. Una buona schematizzazione per i problemi di percorso minimo deve includere tutti i possibili collegamenti tra i nodi (ed i relativi costi) e deve essere fissato un nodo di partenza e un peso (la grandezza che si vuole minimizzare). Esempio: Per fare un semplice esempio consideriamo un problema in cui si vuole calcolare il percorso minimo tra casa e il posto di lavoro. Schematizziamo tutti i possibili percorsi ed il relativo tempo di percorrenza (supponendo di voler calcolare il percorso più breve in fatto di tempo di percorrenza). I nodi A, B, C, D, E indicano le città per cui è possibile passare. Ecco una schematizzazione della rete: Dobbiamo ora assegnare ad ogni nodo un valore (etichetta), seguendo alcune regole: Ogni nodo ha all'inizio etichetta (che indichiamo con inf ); Il nodo di partenza (in questo caso casa ) ha etichetta 0 (ovvero dista zero da se stesso); Ogni volta si sceglie il nodo con etichetta minore e lo si rende definitivo si aggiornano i nodi adiacenti; L etichetta di un nodo è dato dalla somma dell etichetta del nodo precedente + il costo del collegamento; Non si aggiornano le etichette dei nodi resi definitivi; Le etichette definitive indicano la distanza di quel nodo da quello di partenza; Quando si aggiorna l etichetta di un nodo si lascia quella minore (essendo un problema di percorso minimo). Vediamo in pratica come si risolve questo esercizio. Questa è la rete in cui sono indicate anche le etichette: Seguendo le regole appena fissate consideriamo il nodo con etichetta minore ( casa ) e lo rendiamo definitivo (colorandolo di rosso) ed aggiorniamo tutti i nodi adiacenti sommando l'attuale valore dell etichetta (ovvero zero) al costo del percorso. Aggiorniamo le etichette perché avevamo, nel caso di A, etichetta infinito mentre ora abbiamo etichetta 2. Ricordando che l etichetta minore è sempre preferibile. Vediamo come si è aggiornata la rete: 6

Bisogna ora considerare il nodo non definitivo (ovvero quelli scritti in nero) con etichetta minore (il nodo A). Lo si rende definitivo e si aggiornano le etichette dei nodi adiacenti B e C. Indichiamo con una freccia da dove proviene l etichetta dei nodi resi definitivi. Il nodo con etichetta minore ora è C, lo si rende definitivo e si aggiornano quelli adiacenti D ed E senza renderli definitivi: Va notato come il nodo D abbia ora etichetta 6 in quanto 6 è minore di 8 e quindi lo si aggiorna. Se avessimo avuto un valore maggiore di quello che già c era lo avremmo lasciato invariato. Rendiamo definitivo il nodo D e aggiorniamo il grafico (il nodo E diventa 9): Il nodo con etichetta minore restante è B e lo si rende definitivo aggiornando di conseguenza il grafico (Ufficio diventa 13): 7

Resta da considerare il nodo E ed aggiornare ufficio. Seguendo all'indietro le frecce si ottiene il percorso minimo che dista casa da ufficio, che dista (come indicato dall etichetta) 10. Bisogna notare come questo algoritmo ci dia non solo la distanza minima tra il punto di partenza e quello di arrivo ma la distanza minima di tutti i nodi da quello di partenza. Flooding La tecnica del flooding consiste nell'inviare ogni pacchetto su tutte le linee eccetto quella da cui è arrivato. E un metodo per collezionare velocemente informazioni sullo stato attuale della rete. In linea di principio il flooding può essere usato come algoritmo di routing: ogni pacchetto inviato arriva a tutti i router, sempre nel minimo tempo possibile, ma presenta l'inconveniente di generare un numero enorme di pacchetti. Il flooding è utile per l'aggiornamento contemporaneo di informazioni distribuite (database). Flow-based routing Tramite questo algoritmo il percorso migliore viene calcolato in base al traffico medio di ogni linea. Si suppone che il livello di traffico sia abbastanza costante nel tempo. (es: Questo metodo è utilizzato da un automobilista che evita le strade dove sa già che ci sarà parecchio traffico, ma se tutti evitano le strade con traffico il problema si sposta). 8