La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Corso di laurea in INFORMATICA

Presentazioni simili


Presentazione sul tema: "Corso di laurea in INFORMATICA"— Transcript della presentazione:

1 Corso di laurea in INFORMATICA
RETI di CALCOLATORI A.A. 2003/2004 Instradamento Alberto Polzonetti

2 Instradamento (Forwarding)
Operazione comune a tutte le macchine con stack TCP/IP Router, end systems Il procedimento si applica: Se l’host in esame è il mittente del pacchetto Router intermedio sul percorso verso la destinazione Uno dei grossi problemi da risolvere per un host IP è capire che cosa fare nel momento in cui si ha un pacchetto da inoltrare verso una certa destinazione. L'host in esame può essere indifferentemente sia la macchina sorgente del pacchetto, sia un router intermedio sul percorso verso la destinazione. E' da notare infatti che dal punto di vista dell'instradamento (e non del routing) il comportamento di un host e di un router è assolutamente identico: questa sezione si applica pertanto indifferentemente a qualunque macchina con lo stack TCP/IP, sia essa un end system oppure un router. Instradamento

3 Instradamento diretto o indiretto
Tra hosts in net diverse L’instradamento coinvolge i livelli 1 , 2 e 3 Hosts identificati tramite l’IP address Gli host devono conoscere almeno un router presente sulla loro rete fisica DIRETTO Tra hosts nella stessa net L’instradamento coinvolge solo i livelli 1 e 2 (a parte eventuali ARP request) Hosts identificati tramite l’HW address Indirizzi MAC sulle LAN Indirizzi di DTE in X.25 Identificatori DLCI in Frame Relay ………….. IP lavora in due modi distinti a seconda che il destinatario sia un membro della stessa rete IP a cui appartiene il l'host in esame oppure sia un membro di una generica rete IP esterna. Nel primo caso (instradamento diretto o direct delivery) il problema è demandato dall'IP alla sottostante infrastruttura di livello 2, nel secondo caso (instradamento indiretto o indirect delivery) il livello IP si appoggia ad una macchina particolare, il router, che ha il compito di prendere il consegna il pacchetto e inoltrarlo verso la destinazione. Il procedimento costa in due fasi: verifica dell'appartenenza della destinazione ad uno degli address range delle interfacce dell'host in esame instradamento del pacchetto a seconda del risultato precedente: instradamento diretto (oppure) instradamento indiretto Domanda fondamentale: la destinazione appartiene alla mia stessa rete IP? Instradamento

4 Longest Prefix Match Instradamento
L'algoritmo si basa quindi sulla determinazione dell'identificativo di rete, ossia, dato un indirizzo IP e la netmask (o network prefix), si determina l'indirizzo di rete della macchina in esame. Ad esempio, nel caso di un host con indirizzo /24, l'indirizzo di rete sarà /24. A questo punto, la stessa operazione verrà fatta sull'indirizzo dell'host destinazione, dove la netmask utilizzata è sempre quella precedente (in generale l'host in esame non ha modo di conoscere la netmask della destinazione). Se, ad esempio, l'indirizzo di destinazione contenuto nel pacchetto IP è , l'identificativo di rete presunto sarà /24. A questo punto si confrontano i due risultati: se gli indirizzi di rete dell'host in esame e della destinazione coincidono, queste due entità apparterranno allo stesso address range; in caso contrario apparterranno a due reti IP diverse. E' facilmente dimostrabile che il risultato sarà uguale indipendentemente dalla vera netmask della destinazione (se, ovviamente, gli indirizzi sono stati assegnati in maniera corretta): l'algoritmo avrà un risultato positivo solo se la destinazione appartiene allo stesso address range dell'host in esame. Dal punto di vista del router, l'algoritmo si basa su un'operazione di AND bit a bit tra il proprio indirizzo IP e la propria netmask, ricavando il proprio identificativo di rete. La stessa procedura viene fatta sull'indirizzo IP di destinazione: le due macchine apparterranno alla stessa rete IP solamente quando i due risultati coincidono. Nel caso di un host multihomed (ad esempio un router) il procedimento viene reiterato per tutti gli indirizzi IP configurati sulle interfacce dell'host alla ricerca di un possibile indirizzamento diretto (che è sempre quello preferito Instradamento

5 Algoritmo di instradamento
Il primo passo dell'algoritmo di instradamento consiste nel riconoscere se attivare un instradamento di tipo diretto oppure indiretto, che implica il determinare l'appartenenza del destinatario alla stessa rete IP dell'host in esame (oppure no). Questa operazione viene svolta dall'algoritmo del calcolo del longest prefix match, il quale ricava sostanzialmente la rete di appartenenza della macchina in esame e la confronta con la rete di appartenenza (presunta) della destinazione. Se i due prefissi di rete coincidono verrà utilizzato l'instradamento di tipo diretto, altrimenti verrà utilizzato quello di tipo indiretto. Instradamento

6 Algoritmo di instradamento 2

7 Instradamento diretto (esempio)

8 Instradamento indiretto:esempio

9 Modulo di instradamento
Modulo instradamento Tabella di instradamento Next hop Al modulo di frammentaz. Pacchetto IP Pacchetto IP Instradamento

10 Tabella di instradamento
Presente (obbligatoria) in tutti gli host IP Più sviluppata sui routers Elenco di coppie: Destinazioni raggiungibili dall’host Next hop router “migliore” Es: da Torino a Napoli è necessario passare per Roma Informazione aggiuntiva: costo Discrimina tra percorsi alternativi verso una stessa destinazione La tabella di instradamento è più spesso denominata tabella di routing (routing table) in quanto è il risultato finale del processo di routing ed  è un elemento essenziale per l'instradamento dei pacchetti. Questa tabella è presente in tutti gli host (end system e router), anche se è molto più sviluppata (sia in termini di capacità di aggiornamento della stessa che in termini di informazioni presenti) sui router. Una routing table non corretta porterebbe nella maggior parte dei casi a tagliar fuori qualche nodo dalla rete: per questo motivo, soprattutto chi gestisce un router, deve porre la massima attenzione sul contenuto di questa tabella. Una tabella di routing contiene fondamentalmente un insieme di coppie di valori che indicano l'elenco delle destinazioni raggiungibili dalla macchina in esame e il next hop (spesso un router) migliore a cui appoggiarsi per raggiungere quella destinazione. Fondamentalmente, è come se il nodo autostradale di Torino dispondesse dell'informazione che "per andare a Napoli (destinazione) è necessario passare da Roma (next hop)". Ad esempio, è possibile trovare l'informazione che: rete destinazione: /8, next-hop rete destinazione /16, next-hop e così via. Dal momento che è possibile definire percorsi alternativi verso una stessa destinazione, la tabella mantiee anche una informazione aggiuntiva di costo, il quale viene utilizzato per discriminare il percorso migliore. Instradamento

11 Deve essre obbligatoriamente un indirizzo direttamente raggiungibile
Next Hop Deve essre obbligatoriamente un indirizzo direttamente raggiungibile Percorsi asimmetrici Normali nel mondo TCP/IP Il next hop è configurato in una sola direzione; la direzione opposta può scegliere un altro percorso Il next hop deve essere un indirizzo IP direttamente raggiungibile. In altre parole, un host IP deve essere in grado di raggiungere direttamente tale next hop attraverso i meccanismi della rete di livello data-link. Questa è ua regola assolutamente tassativa nel TCP/IP: un next hop non deve essere raggiungibile attraverso un router. Una seconda particolarità è il fatto che il next hop è configurato indipendentemente nelle due direzioni: non è vietato (anzi, è abbastanza frequente per varie ragioni) configurare un percorso in andata A->B e in ritorno B->C->A. Ad esempio sarebbe possibile, utilizzando una rete ad anello, impostare un routing di tipo "circolare" dove ogni router invia i pacchetti al suo vicino di destra, e così via. Purchè questa scelta sia coerente, la rete sarà in grado di recapitare a destinazione tutti i pacchetti Instradamento

12 Tipologie di informazioni
Informazioni nella tabella di instradamento Route Statiche route configurate staticamente dal gestore Route Diretta address range corrispondenti alle interfacce del router Route Dinamica address range appresi attraverso un ‘protocollo di routing’ route apprese attraverso ICMP redirect Route per uno stesso address range appresa da diverse fonti (es. Dinamica + Statica) Deve essere specificato quale deve essere preferita Default route Presente sugli end-systems e gran parte dei routers Le informazioni presenti nella tabella di routing (dette route) possono essere state apprese in tre modi: Route Statica: la route (il percorso) per un certo address range viene configurata staticamente dal gestore. Tutti i pacchetti i cui indirizzi destinazione appartengono a quell'address range saranno inoltrati "ciecamente" verso il next hop specificato. Route Diretta: questa categoria di informazione viene configurata automaticamente dalla macchina. Le route dirette sono quelle riguardanti le reti direttamente connesse all'host e sono inserite automaticamente dall'host stesso grazie al fatto che l'host conosce l'indirizzo delle reti IP direttamente connesse a lui stesso. Ad esempio, una macchina con indirizzo IP /24 saprà che tutte le destinazioni della rete /24 si raggiungeranno direttamente attraverso la sua stessa interfaccia mediante instradamento diretto. Route Dinamica: una entry dinamica indica la route al momento migliore per un certo address range. Migliore deriva dal fatto che ad ogni link è associato un costo, quindi ogni destinazione ha un costo di raggiungibilità in base al percorso necessario per raggiungerla. La route migliore è quella con costo minore secondo un determinato criterio (ad esempio il numero di Km percorsi, etc). Le route dinamiche sono normalmente apprese grazie ai protocolli di routing oppure ai messaggi ICMP redirect; questi tipi di route sono normalmente presenti sono sui router. Nel caso in cui non sia presente nessuna informazione relativa a quella destinazione, l'host inoltra il pacchetto secondo quanto indicato dalla default route, cioè su un router designato ad essere l'ultima spiaggia in caso non si conosca un percorso specifico per quella destinazione. Tendenzialmente, ogni end system (e una parte non indifferente dei router) ha un'informazione di default route Instradamento

13 Tabella di instradamento di un router

14 Composizione della tabella di instradamento
Mask Indirizzo destinatario Indirizzo next-hop Flag Reference count Uso Interfaccia UG 4 20 M2 ……….. ………. ………… …………. ………….. Per il processo di messa in AND Nell’instradamento di default ed in quello di host specifico il mask è Numero utenti che stanno usando il percorso Numero pacchetti trasmessi al destinatario Contiene cinque switch on/off U  router attivo G  destinatario su altra rete H Host specifico …………….. Nome dell’interfaccia Instradamento

15 Tabella di un host (1) Instradamento

16 Tabella di un host (2) : route di default; viene utilizzata per l’inoltro di tutte le route che non sono coperte da altre route più specifiche. La destinazione dei pacchetti di questa route è il default gateway, : route di loopback; è utilizzata per la gestione di tutti i pacchetti “locali”, che devono essere inviati (attraverso l’interfaccia di loopback) alla stazione stessa. Tali pacchetti non usciranno mai sulla LAN (da qui il valore nel campo interface) e verranno recapitati direttamente allo stack protocollare TCP/IP. : route diretta per tutte le destinazioni che risiedono sulla stessa rete IP della stazione ( x.x); il gateway è l’interfaccia stessa dell’host, in quanto le destinazioni sulla stessa rete IP possono essere raggiunte direttamente sfruttando i meccanismi di livello data-link (con il solo ausilio del protocollo ARP). : route diretta per tutti i pacchetti destinati alla stazione stessa; non è necessario inviare i dati sulla rete locale ma è sufficiente utilizzare lo stesso meccanismo della route di loopback. Infatti il gateway e l’interfaccia di uscita sono uguali a quelli di quest'ultima: i pacchetti non escono neppure dalla scheda di rete principale e vengono inviati direttamente allo stack protocollare TCP/IP della stazione stessa. Instradamento

17 Tabella di un host (3) : pacchetti di broadcast per la rete IP a cui appartiene la stazione; questi pacchetti usciranno dall’interfaccia principale diretti sulla rete locale, come un pacchetto qualunque; questo è un caso particolare della terza route. : tutti i pacchetti di multicast più tutto lo spazio di indirizzamento della classe E (riservato) dovranno uscire dall’interfaccia principale sulla rete locale (il multicast viene inviato sulla LAN di appartenenza). : limited broadcast; tutti i pacchetti di questo tipo vengono immessi direttamente sulla LAN di appartenenza della stazione. Altre informazioni riportate nella schermata sono: Default gateway: l’indirizzo IP del default router della stazione Interface list: elenco delle interfacce (loopback inclusa) presenti nel sistema, con il loro indirizzo MAC Persistent route: è una particolare caratteristica implementata dal sistema operativo in esame e consiste nel memorizzare una route in maniera “permanente”, in modo che questa venga ad essere attiva automaticamente ad ogni successivo avvio del sistema. Instradamento

18 Modulo di instradamento per il router R1
Consegna diretta Host specifico Rete specifica Default routing Instradamento

19 Esempio 1 Instradamento
Il router R1 riceve 500 pacchetti con indirizzo destinatario tipo Destinazione Mask AND Destinatario Esito Consegna diretta Host specifico Rete specifica Default Next hop R U I NO NO NO NO SI m0 1 500 Instradamento

20 Esempio 2 Instradamento
Il router R1 riceve 100 pacchetti con indirizzo destinatario tipo Destinazione Mask AND Destinatario Esito Consegna diretta Host specifico Rete specifica Default Next hop R U I NO SI 1 100 m2 Instradamento

21 Esempio 3 Instradamento
Il router R1 riceve 20 pacchetti con indirizzo destinatario tipo Destinazione Mask AND Destinatario Esito Consegna diretta Host specifico Rete specifica Default Next hop R U I NO NO NO NO NO NO SI m0 1 20 Instradamento

22 Indirizzamento di super-rete
L'idea fondamentale alla base del routing nel mondo TCP/IP è che ogni router comunica agli altri l'elenco delle destinazioni da lui direttamente conosciute. Essendo questo processo ripetuto da ogni router, in breve tempo ognuno di essi sarò in grado di costruire una lista delle reti esistenti nel dominio TCP/IP. Ottenuto l'elenco delle reti esistenti, il router sarà anche in grado di determinare (attraverso algoritmi propri dei protocolli di routing) la direzione su cui instradare i pacchetti per raggiungere le varie destinazioni. Tuttavia, questo modello di indirizzamento con una struttura di gerarchica su soli due livelli ha mostrato i suoi limiti soprattutto per quanto riguarda la scalabilità dal momento che, potenzialmente, ogni router deve ricordare tutte le centinaia di migliaia di reti presenti su una grossa rete TCP/IP (quale Internet). Instradamento

23 Rimedio Instradamento

24 Tecnica Classless Inter-Domain Routing (CIDR)
Concettualmente CIDR comprime un blocco di indirizzi contigui di classe C in una singola immissione rappresentata dalla coppia [indirizzo di rete più piccolo del blocco, numero di blocchi] ,3  corrisponde a tre reti contigue – – Se gli ISP formano il nucleo di internet il vantaggio dell’aggregazione è chiaro : La tabella di routing del provider P : Deve fornire un percorso corretto verso ognuno degli abbonati di P Memorizza per tutti gli altri provider una voce che identifica il blocco di indirizzi di proprietà di quel provider Non deve contenere un instradamento per gli abbonati degli altri provider Questo problema è stato affrontato attraverso il CIDR, la cui introduzione è stata possibile grazie all'adozione della netmask come completamento dell'indirizzo IP. L'adozione della netmask ha permesso lo sviluppo di alcune novità interessanti: gestione di reti con subnet diverse all'interno della stessa organizzazione, senza alcun vincono con le "netmask naturali" (quelle relative alle reti di classe A, B, C): è possibile assegnare ad ogni rete la netmask più opportuna ed interconnettere il tutto al resto della rete TCP/IP. aggregazione di reti verso l'esterno: è possibile compattare più reti insieme per quanto riguarda la informazioni di connettività. Nel caso della rete aziendale in figura, composta di 3 reti interne e un unico collegamento verso il resto del mondo TCP/IP, è inutile che il mondo sappia che l'azienda è composta dalle tre reti distinte. In fondo, tutte queste reti vengono raggiunte attraverso un'unico percorso e per di più gli indirizzi assegnati alle reti sono contigui, quindi possono essere compattati. Il Classless Inter-Domain Routing (CIDR) prevede quindi l'accorpamento di più informazioni di routing in un'unico annuncio, nascondendo i dettagli interni del dominio annunciato Instradamento

25 Aggregazione di reti : esempio
In figura è possibile vedere la differenza rispetto al routing IP tradizionale: il router R1 non conoscerà l'esistenza delle reti periferiche 10.0.x.0 prese singolarmente, ma conoscerà l'esistena di una rete "equivalente" che le raggruppa tutte quante. D'altro canto, l'informazione compattata è assolutamente equivalente in quanto, a fronte di un pacchetto destinato ad un host qualunque 10.0.x.y, il router R1 invierà sempre i pacchetti verso R2 indipendentemente dl fatto che l'informazione di routing sia compattata o meno. Viceversa, il router R2 è tenuto ad avere una visione più precisa della rete: infatti un pacchetto per l'host verrà inoltrato a R3, mentre un pacchetto destinato a verrà inoltrato ad R4. Questa è una regola generale del CIDR: man mano che ci si sposta dalla periferia al cuore (backbone) della rete, il numero di informazioni compattabili aumenta. Instradamento

26 Aggregazione di reti esempio
Instradamento

27 Indirizzamento e notazione CIDR
CIDR richiede La dimensione di ogni blocco deve essere una potenza del 2 Maschera di bit per identificarla Elementi che specificano il blocco di indirizzi : Indirizzo più basso del blocco Maschera di sottorete standard che individui l’estremità del prefisso di rete Esempio : blocco di 2048 indirizzi a partire da Se il blocco è di 2048 indirizzi significa che il prefisso di rete è di 21 bit (32 – 11) Indirizzo più basso x y  Indirizzo più alto x y  Notazione di super rete , , 2048 /21 (NOTAZIONE CIDR o NOTAZIONE SLASH) Instradamento

28 Flessibilità dell’indirizzamento senza classi (RFC 1519)
Se un sito necessita di 2000 indirizzi otto reti in classe C contigue e non una rete in classe B Se un sito necessita di 8000 indirizzi  trentadue reti in classe C contigue Regole di allocazione cambiate EUROPA da a NORD AMERICA da a SUD e CENTRO AMERICA da a ASIA e PACIFICO da a Ogni regione viene fornita da 32 milioni di indirizzi (2^24)*2 Ogni router esterno all’europa che riceve un pacchetto con indirizzo 194.x.y.z o 195.x.y.z lo dirige sul gateway standard per l’EUROPA SONO STATI COMPRESSI 32 MILIONI DI INDIRIZZI (Naturlamente le tabelle di routing interne saranno più dettagliate) Instradamento

29 UNICAMha bisogno di 1024 indirizzi…. allora
Esempio UNICAMha bisogno di 1024 indirizzi…. allora UNIMC ha bisogno di 2048 indirizzi…. allora Blocco 1024 indirizzi 2048=8 reti in classe C contigue =211/21 UNIMC da 24.0 a 24.7 1024=4 reti in classe C contigue =210/22 UNICAM da 24.8 a 24.11 UNIAN da a 24.31 UNIAN ha bisogno di 4096 indirizzi…. allora 4096=16 reti in classe C contigue =212/20 1 1 1 1 1 Da dove deve partire il primo indirizzo ? Instradamento

30 ESEMPIO continua Università Primo indirizzo Indirizzo finale
Numero indirizzi Maschera Macerata 2048 Camerino 1024 Spazio disponibile Ancona 4096 Instradamento

31 Esempio: Instradamento 194.24.17.4
Pacchetto in arrivo 1 1 1 1 Mask super rete 1 1 1 1 1 1 1 1 1 1 Risultato Mask super rete 1 1 1 1 1 1 1 1 1 Risultato Instradamento

32 Assegnazione di indirizzi
Parte Network ISP (Internet Service Provider) IANA (Internet Assigned Number Authority) ARIN (Nord e Sud America e Africa) RIPE (Europa) APNIC (Asia) Parte Host Configurazione manuale DHCP [RFC 2131] L’assegnazione di indirizzi è quindi di fondamentale importanza per il buon funzionamento di una grande rete TCP/IP. L’autorità mondiale che gestisce l’assegnazione degli indirizzi IP su Internet è la IANA (Internet Assigned Numbers Authority) che agisce sotto le direttive dello RFC2050. La IANA ha tre “succursali” che gestiscono gli indirizzi in varie parti del globo. Esse sono l’ARIN (American Registry for Internet Numbers) per il continente americano e parte dell’Africa, il RIPE (Reseaux IP European) per l’Europa e nazioni limitrofe e infine l’APNIC (Asia Pacific Network Information Center) per l’Asia e l’Oceania. In Italia l'organismo competente per gli indirizzi IP è il GARR, emanazione della rete accademica della ricerca. A queste autorità si rivolgono gli ISP (Internet Service Provider) che provvedono a richiedere e rivendere gli indirizzi IP agli utenti finali. Queste autorità non assegnano normalmente gli indirizzi al pubblico, ma tendono ad assegnare grossi blocchi di indirizzi agli operatori del settore, per favorire l'operatività del CIDR). E' quindi difficile che un'azienda piccola riesca ad ottenere un indirizzo direttamente da queste entità: è molto probabile che debba passare comunque attraverso un ISP per ottenere gli indirizzi.Le agenzie quali ARIN, RIPE e APNIC non hanno una disponibilità di indirizzi infinita. Ognuna di queste agenzie ha il proprio budget di indirizzi, stabilito a priori, finito il quale gli indirizzi non possono più essere assegnati nell'area di quella competenza. L'assegnazione deli indirizzi a questi enti non è stata fatta in modo equo: l'ARIN ha ancora una certa abbondanza di indirizzi, mentre APNIC sta sperimentando dei grossi problemi. Tuttavia non è conveniente rilocare alcuni indirizzi da ARIN ad APNIC, ad esempio, in quanto in questo modo si tornerebbe ad avere, in qualche misura, dei blocchi di indirizzi disgiunti e quindi non aggregabili con il CIDR. I valori assegnati dalla IANA non sono in realtà indirizzi IP singoli, quanto identificativi di reti (blocchi di indirizzi). Una volta acquisito un indirizzo di rete (o più di uno, a seconda delle necessità dell'utente) è necessario procedere all'assegnazione degli indirizzi agli host. Questa fase può avvenire manualmente oppure attraverso un servizio centralizzato quale quelli forniti da BOOTP e, meglio, DHCP. Instradamento


Scaricare ppt "Corso di laurea in INFORMATICA"

Presentazioni simili


Annunci Google