RETI di CALCOLATORI 2 A.A. 2006/2007 Rete ed Instradamento Alberto Polzonetti...
-
Upload
aroldo-mazzei -
Category
Documents
-
view
218 -
download
1
Transcript of RETI di CALCOLATORI 2 A.A. 2006/2007 Rete ed Instradamento Alberto Polzonetti...
RETI di CALCOLATORI 2 A.A. 2006/2007Rete ed Instradamento
Alberto [email protected]
2Alberto Polzonetti
Reti di calcolatori 2
Protocolli di InstradamentoProtocolli di Instradamento
la loro funzione è di determinare il percorso seguito
da un datagramma dalla sorgente alla destinazione
I protocolli di instradamento di Internet incorporano
molti dei principi che abbiamo imparato
precedentemente :
gli approcci “stato dei link” (Link State LS) e
“vettore delle distanze” (Distance Vector DV)
sono punti fondamentali per l’instradamento
nell’Internet attuale.
3Alberto Polzonetti
Reti di calcolatori 2
Algoritmi DV e LSAlgoritmi DV e LS
Algoritmo DV Ciascun nodo dialoga solo con i vicini direttamente connessi
informandoli sulle stime a costo minimo da se stesso a tutti i nodi ( che conosce) della rete
Ciascun nodo mantiene un vettore delle distanze minime da ogni altro nodo consentendo di selezionare il router successivo ( next hop)
Algoritmo LS Ciascun nodo dialoga con tutti gli altri nodi via broadcast, ma
comunica loro solo i costi dei collegamenti direttamente connessi.
Si sviluppa in quattro passi :1. Creazione da parte di ciascun nodo di un pacchetto con lo stato dei
collegamenti diretti del nodo2. Inondazione (flooding)3. Sviluppo dell’albero con i percorsi più brevi (Dijkstra)4. Calcolo della tabella di instradamento
4Alberto Polzonetti
Reti di calcolatori 2
Problemi relativi al modello adottatoProblemi relativi al modello adottato
A. Scala. All’aumentare del numero dei router, l’overhead (carico
aggiuntivo) dell’esecuzione dei calcoli, dell’immagazzinamento e della comunicazione delle informazioni della tabella di instradamento diventa proibitivo.
B. Autonomia amministrativa. una società desidera far funzionare i suoi router a suo
piacere (per esempio, adottare un algoritmo di instradamento a sua scelta)
“nascondere” aspetti dell’organizzazione della rete interna all’esterno”.
5Alberto Polzonetti
Reti di calcolatori 2
Instradamento gerarchicoInstradamento gerarchico
aggregazione di router in regioni o sistemi autonomi (AS, Autonomous Systems).
I router all’interno dello stesso AS avranno tutti lo stesso algoritmo di instradamento (per esempio, un algoritmo LS o DV) e si scambieranno informazioni tra loro
L’algoritmo di instradamento che funziona all’interno di un sistema autonomo è detto protocollo di instradamento intra-sistema autonomo
Sarà necessario, naturalmente, collegare gli AS tra loro, e quindi uno o più dei router in un AS dovrà avere il compito aggiuntivo di essere responsabile di instradare i pacchetti alla destinazione esterna all’AS: questi router sono detti router gateway.
L’algoritmo di instradamento che i gateway usano per l’indirizzamento fra i diversi AS è conosciuto come protocollo di instradamento inter-sistema autonomo (inter-autonomous system routing protocol).
6Alberto Polzonetti
Reti di calcolatori 2
SCENARIOSCENARIO
In essa ci sono tre AS di instradamento, A, B e C. Il sistema autonomo A possiede quattro router, A.a, A.b, A.c e A.d, in cui funziona il protocollo di instradamento intra-AS adottato all’interno del sistema autonomo A. Questi quattro router hanno informazioni complete sui percorsi di instradamento all’interno del sistema autonomo A. In modo analogo, i sistemi autonomi B a C hanno tre e due router, rispettivamente.
I protocolli di instradamento intra-AS che funzionano all’interno di A, B e C non necessariamente sono gli stessi
I router gateway sono A.a, A.c, B.a e C.b. Oltre a far funzionare i protocolli di instradamento intra-AS insieme agli altri router dei loro AS, questi quattro fanno funzionare tra loro un protocollo di instradamento inter-AS.
Il router gateway A.c deve far funzionare sia un protocollo di instradamento intra-AS con i suoi vicini A.b e A.d, sia un protocollo inter-AS con il router gateway B.a. Si noti che le voci nella tabella di inoltro del router A.c sono derivate da entrambi i protocolli intra- e inter-AS.
7Alberto Polzonetti
Reti di calcolatori 2
Instradamento in InternetInstradamento in Internet
Protocolli di instradamento intra sistemi autonomi
(PROTOCOLLI per GATEWAY INTERNI - IGP)
RIP – Routing Information Protocol
OSPF – Open Short Path First
Protocolli di instradamento inter sistemi autonomi
(PROTOCOLLI per GATEWAY ESTERNI – EGP)
BGP – Border Gateway Protocol
8Alberto Polzonetti
Reti di calcolatori 2
RIP – Routing Information ProtocolRIP – Routing Information Protocol
Protocollo distance vector Usa il conteggio degli hop come metrica di costo Il massimo costo di un percorso è fissato a 15 Le tabelle di instradamento vengono scambiate
ogni 30 secondi (messaggio di replica RIP) Se un router non ha notizie da un vicino almeno
una volta ogni 180 secondi, il vicino è considerato morto
I messaggi di replica RIP sono trasportati da UDP (porta 520)
9Alberto Polzonetti
Reti di calcolatori 2
Come funzionano gli avvisi RIPCome funzionano gli avvisi RIP
Un router riceve un messaggio RIP dal router C
Rete2 4Rete3 8Rete6 4Rete8 3Rete9 5
Tutti gli hop count del messaggio vengono incrementati di 1
Rete2 5Rete3 9Rete6 5Rete8 4Rete9 6
Rete1 7 ARete2 2 CRete6 8 FRete8 4 ERete9 4 F
Vecchia tabella di
instradamento
Algoritmo di
aggiornamento
Rete1 7 A
Rete6 5 C
Rete8 4 E
Rete2 5 C
Rete3 9 C
Rete9 4 F
Nuova tabella di instradamento
RETE1 nessuna novità non cambia
RETE2 ci sono nuovi hop e si cambiaRETE3 nuovo router si aggiungeRETE6 hop successivo differente,
meno salti, si cambiaRETE8 hop successivo differente, stessi salti, non si cambiaRETE9 hop successivo differente, più salti, non si cambia
10Alberto Polzonetti
Reti di calcolatori 2
OSPF – Open Short Path First OSPF – Open Short Path First (componenti)(componenti)
Hello: ogni nodo deve riconoscere l'esistenza delle adiacenze (messaggio ai propri vicini nel quale annuncia se stesso)
Link State (Packet): tabella contenente le coppie link-costo per ogni nodo adiacente
Flooding: meccanismo che permette la diffusione in "broadcast" dei LS a tutta la rete;
Algoritmo di Dijkstra o Shortest Path First (SPF): algoritmo che permette di ricavare la tabella di routing
Bringing up Adiacencies: meccanismo per sincronizzare i database di macchine adiacenti
11Alberto Polzonetti
Reti di calcolatori 2
Miglioramenti incorporati in OSPFMiglioramenti incorporati in OSPF
Sicurezza. Tutti gli scambi fra router OSPF (per esempio,
aggiornamenti dello stato dei link) sono autenticati.
Percorsi multipli con lo stesso costo. Quando diversi percorsi
verso una destinazione hanno lo stesso costo, l’OSPF permette che
siano usati più percorsi
Supporto integrato per instradamento unicast e multicast. L’
OSPF multicast fornisce una semplice estensione all’OSPF per
fornire l’instradamento multicast
Supporto della gerarchia all’interno del dominio di un
singolo router. possibilità di strutturare gerarchicamente un
sistema autonomo configurandolo in aree
12Alberto Polzonetti
Reti di calcolatori 2
Struttura gerarchica di un AS con OSPFStruttura gerarchica di un AS con OSPF
Un sistema autonomo OSPF può essere configurato in “aree”. Ciascuna area ha il suo algoritmo di instradamento OSPF basato sullo stato dei link, con ciascun router nell’area che trasmette il suo stato dei link a tutti i router di quell’area. I dettagli interni di un’area restano quindi invisibili al suo esterno. L’instradamento intra-area coinvolge solo quei router che giacciono all’interno della stessa area.
Dentro ciascuna area, uno o più router di bordo area (area border router) sono responsabili dell’instradamento dei pacchetti verso l’esterno.
Esattamente un’area OSPF nell’AS è configurata per essere l’area backbone (dorsale). Il ruolo principale dell’area backbone è di instradare il traffico fra le altre aree nell’AS. La backbone contiene sempre tutti i router di bordo area delle diverse aree dell’ AS e può contenere anche dei router non di bordo area.
L’instradamento inter-area entro l’AS richiede che il pacchetto sia instradato prima verso un router di bordo area (instradamento intra-area), poi che venga instradato attraverso la backbone al router di bordo area che si trova nell’area di destinazione, e da qui verso la sua destinazione finale.
13Alberto Polzonetti
Reti di calcolatori 2
Schema di una rete OSPFSchema di una rete OSPF
Router interni. Questi router sono in un’ area diversa dalla backbone ed eseguono solo l’instradamento intra-AS.
Router di bordo area. Questi router appartengono sia a un’area sia alla backbone
Router della backbone (router non di bordo area). Questi router eseguono l’instradamento entro la backbone ma non sono router di bordo area. All’interno di un’area non backbone, i router interni apprendono dell’esistenza delle rotte verso altre aree dalle informazioni trasmesse entro l’area dai suoi router backbone
Router di confine (boundary router). Un router di confine scambia le informazioni di instradamento con router appartenenti ad altri sistemi autonomi. Questo router può, per esempio, usare BGP per compire l’instradamento inter-AS. È attraverso questo tipo di router di confine che gli altri router apprendono i percorsi verso reti esterne.
14Alberto Polzonetti
Reti di calcolatori 2
BGP – Border Gateway Protocol :usoBGP – Border Gateway Protocol :uso
Ottenere informazioni sulla raggiungibilità delle sottoreti da parte di sistemi confinanti
Propagare queste informazioni a tutti i router interni Determinare i percorsi sulla base delle informazioni
ricevute e delle politiche del sistema autonomo
15Alberto Polzonetti
Reti di calcolatori 2
Sessioni BGPSessioni BGP
Lo scambio di informazioni avviene su connessioni TCP punto-punto ( porta 179)
I router a capo della connessione sono chiamati peer BGP e la connessione è chiamata sessione BGP
Sessione BGP esterna e sessione BGP interna
16Alberto Polzonetti
Reti di calcolatori 2
BGP – Border Gateway Protocol : caratteristiche (I)BGP – Border Gateway Protocol : caratteristiche (I)
Protocollo path vector Router BGP confinanti si scambiano informazioni
dettagliate tra i percorsi (lista degli AS sul percorso verso una destinazione)
Come nel protocollo generico vettore delle distanze (distance vector) BGP è un protocollo distribuito,
i router BGP comunicano solo con quei router BGP ai quali sono direttamente attaccati.
L’informazione globale sui percorsi verso destinazioni remote si propaga in modo da-AS-ad-AS attraverso lo scambio di informazione di instradamento BGP tra coppie di pari BGP direttamente connessi
17Alberto Polzonetti
Reti di calcolatori 2 BGP – Border Gateway Protocol : caratteristiche BGP – Border Gateway Protocol : caratteristiche
(II)(II)
Instrada verso reti piuttosto che verso host Una volta che un datagram raggiunge la rete di
destinazione, per instradare il datagram verso la destinazione finale sarà utilizzato il sistema di instradamento intra-AS di quella rete
Un annuncio consiste in un indirizzo di rete di destinazione in forma CIDR (per esempio, 128.119.40/24)
Un sistema autonomo è identificato da un numero di sistema autonomo assegnato dall’ICANN
Attributi associati a quel percorso AS-PATH Lista di tutti gli AS su cui è passato l’annuncio NEXT-HOP Identità del prossimo router sul percorso
18Alberto Polzonetti
Reti di calcolatori 2
BGP – Border Gateway Protocol : attività BGP – Border Gateway Protocol : attività (I)(I)
1. Ricezione e filtraggio di annunci sui percorsi da parte di vicini direttamente attaccati.
Un pari BGP che annuncia un percorso verso un AS di destinazione promette che se un AS confinante gli rilancerà un datagram destinato a quell’AS di destinazione, esso sarà in grado di inoltrare quel datagram lungo un percorso verso quella destinazione
un router BGP ignorerà gli annunci che contengono il proprio numero di AS nell’AS-PATH, dato che quel percorso darebbe luogo a un loop di instradamento, se usato.
Poiché viene specificato l’intero percorso verso l’AS, un amministratore di rete può esercitare un notevole controllo sull’instradamento seguito dai datagram.
19Alberto Polzonetti
Reti di calcolatori 2
BGP – Border Gateway Protocol : attività BGP – Border Gateway Protocol : attività (II)(II)
2. Selezione del percorso. Un router BGP può ricevere diversi annunci sui percorsi verso lo
stesso AS di destinazione, e deve scegliere quale percorso usare tra quelli annunciati.
BGP fa una distinzione chiara tra meccanismo di instradamento e politica di instradamento.
In particolare, BGP non specifica come un AS deve scegliere un percorso tra quelli annunciati. Questa è una decisione politica che viene lasciata all’amministratore di rete dell’AS
In assenza di preferenze locali, il percorso selezionato è spesso il più breve percorso di AS (cioè, quello che attraversa il minor numero di AS nel percorso verso la destinazione).
3. Invio di annunci sui percorsi ai vicini. Così come un router BGP riceverà annunci sui percorsi dai suoi
vicini, anche lui annuncerà percorsi ai suoi vicini.
20Alberto Polzonetti
Reti di calcolatori 2
1. B conosce da A che ha un percorso AW
2. B installa il percorso BAW sulla sua base di informazione
3. B annuncia il suo percorso al proprio cliente X
4. Deve annunciarlo anche a C ?
Uno scenario BGP Uno scenario BGP politiche di politiche di instradamentoinstradamento
QUALUNQUE TRAFFICO CHE ATTRAVERSA LA DORSALE DI UN ISP DEVE AVERE UNA SORGENTE O UNA DESTINAZIONE IN UNA RETE CLIENTE DI QUELL’ISP
21Alberto Polzonetti
Reti di calcolatori 2
perché si usano diversi protocolli intra e inter AS ?perché si usano diversi protocolli intra e inter AS ?
A. POLITICA
B. SCALA
C. PRESTAZIONI
22Alberto Polzonetti
Reti di calcolatori 2
Instradamento Broadcast : unicast a N vieInstradamento Broadcast : unicast a N vie
Dati N nodi destinazione il nodo origine prepara N copie del pacchetto e le invia in unicast alle N destinazioni
Semplice ma inefficiente Se il nodo origine è connesso alla
rete tramite un singolo collegamento questo sarà attraversato da N copie dello stesso pacchetto
Si ammette implicitamente che i destinatari del broadcasting siano noti : necessari altri meccanismi di protocollo e necessità di computazione aggiuntiva
23Alberto Polzonetti
Reti di calcolatori 2
Flooding incontrollatoFlooding incontrollato
Il nodo origine invia una copia del pacchetto a tutti i vicini
Quando un nodo riceve un pacchetto lo duplica e lo invia a sua volta ai propri vicini ad eccezione di quello da cui lo ha ricevuto
Se il grafo è connesso questo schema alla fine farà pervenire una copia del pacchetto a tutti i nodi
Difetto fatale tempesta di brodcast ( broadcast storm)
24Alberto Polzonetti
Reti di calcolatori 2
Flooding controllato con numero di Flooding controllato con numero di sequenzasequenza
Ciascun nodo origine pone il proprio indirizzo ed
un numero di sequenza di broadcasting nei
pacchetti prima di inviarli ai suoi vicini
Ciascun nodo mantiene una lista di indirizzi e di
origine per ogni pacchetto broadcast ricevuto,
duplicato ed inoltrato
Quando un nodo ne riceve uno controlla la lista,
ed in caso affermativo lo elimina
25Alberto Polzonetti
Reti di calcolatori 2 Flooding controllato: Inoltro su percorso inverso Flooding controllato: Inoltro su percorso inverso
(reverse Path Forwarding)(reverse Path Forwarding)
Router riceve un pacchetto broadcast con indirizzo sorgente
Il pacchetto è stato ricevuto dal link di minor costo all’indietro verso il server ? SI: Trasmissione sui link di
uscita ad eccezione del link dove ha ricevuto il pacchetto
NO: pacchetto scartato Il nodo ha solo bisogno di
conoscere tra i link adiacenti quale è quello di percorso minimo verso la sorgente
26Alberto Polzonetti
Reti di calcolatori 2
Albero di coperturaAlbero di copertura
Un albero di copertura di un grafo G=(V,E) è un grafo G’=(V,E’) in cui E’ è un sottoinsieme di E che contiene tutti i nodi e non contiene i cicli.
Se i pacchetti fossero inoltrati lungo l’albero di copertura(lungo i lati) ogni nodo riceverebbe solo una copia del pacchetto broadcast
27Alberto Polzonetti
Reti di calcolatori 2
Broadcast con albero di coperturaBroadcast con albero di copertura
28Alberto Polzonetti
Reti di calcolatori 2 Determinazione dell’albero di copertura : Determinazione dell’albero di copertura :
approccio basato sul centroapproccio basato sul centro
Si definisce un nodo centrale (nucleo)
Utilizzando l’instradamento unicast i nodi inoltrano
al nodo centrale il loro messaggio di adesione
Il percorso si arresta quando il messaggio incontra
un noto che ha già aderito oppure il nucleo
Questo percorso viene considerato come un
innesto nell’albero di copertura
29Alberto Polzonetti
Reti di calcolatori 2
Costruzione di un albero di coperturaCostruzione di un albero di copertura
30Alberto Polzonetti
Reti di calcolatori 2
MULTICASTINGMULTICASTING
Un numero sempre maggiore di applicazioni di rete richiedono la spedizione di pacchetti da uno o più sender a un gruppo di receiver.
la trasmissione dell’aggiornamento di un software dal suo sviluppatore agli utenti che richiedono l’aggiornamento
il trasferimento di audio, video e testi per lettura diretta a un gruppo distribuito di partecipanti alla lettura
una riunione aziendale o una teleconferenza condivisa tra molti partecipanti distribuiti
Per ciascuna di queste applicazioni, un’astrazione molto utile è la nozione di multicast: l’invio di un pacchetto da un sender a molti receiver con una singola operazione di spedizione.
31Alberto Polzonetti
Reti di calcolatori 2
Approccio MULTICAST da uno a tuttiApproccio MULTICAST da uno a tutti
32Alberto Polzonetti
Reti di calcolatori 2
Approccio MULTICAST : livello applicativoApproccio MULTICAST : livello applicativo
33Alberto Polzonetti
Reti di calcolatori 2
Approccio MULTICAST : esplicitoApproccio MULTICAST : esplicito
34Alberto Polzonetti
Reti di calcolatori 2
Considerazioni generaliConsiderazioni generali
Il terzo approccio rende più efficiente l’uso della larghezza di banda della rete, in quanto solo una singola copia di un datagram attraverserà un link. D’altra parte, allo strato di rete è richiesto un supporto considerevole per implementare uno strato di rete “consapevole del multicast”.
Il multicast a livello applicativo può essere più efficiente dell’unicast da-uno-a-tutti ma richiede una quantità significativa di infrastrutture per installare e mantenere l’architettura di distribuzione a livello applicativo.
Con la comunicazione multicast, ci troviamo ad affrontare due problemi che sono molto più complessi rispetto al caso dell’unicast:
come identificare i receiver di un datagram multicast come indirizzare un datagram spedito a questi
receiver.
35Alberto Polzonetti
Reti di calcolatori 2 Come identificare i receiver di un datagram Come identificare i receiver di un datagram
multicastmulticast
un datagram multicast è indirizzato usando l’indirizzo per via indiretta
Vale a dire, si impiega un singolo identificatore per il gruppo di receiver, e una copia del datagram che è indirizzato al gruppo usando questo singolo identificatore è spedita a tutti i receiver multicast associati al gruppo.
il singolo identificatore che rappresenta un gruppo di receiver è un indirizzo multicast di classe D.
Al gruppo di receiver associati con l’indirizzo di classe D ci si riferisce come al gruppo multicast (multicast group).
36Alberto Polzonetti
Reti di calcolatori 2
Protocollo IGMP : caratteristica principaleProtocollo IGMP : caratteristica principale
Internet Group Management Protocol opera tra un host ed il router ad esso direttamente
collegato
37Alberto Polzonetti
Reti di calcolatori 2
Funzioni di IGMPFunzioni di IGMP
L’IGMP costituisce il mezzo per un host di informare il router a esso collegato che un’applicazione che funziona nell’host vuole unirsi a uno specifico gruppo multicast.
IGMP non è un protocollo che opera fra tutti gli host che sono riuniti in un gruppo multicast,
Per coordinare i router multicast è richiesto un altro protocollo all’interno di Internet, così che i datagram multicast possano essere instradati alle loro destinazioni finali. (algoritmi di instradamento multicast dello strato di rete).
Il multicast dello strato di rete in Internet consiste allora di due componenti complementari: l’ IGMP e i protocolli di instradamento multicast.
38Alberto Polzonetti
Reti di calcolatori 2
Messaggi IGMPMessaggi IGMP
Membership query (dal router) inviato attraverso un router a tutti gli host su
un’interfaccia collegata per determinare il set di tutti i gruppi multicast a cui sono uniti gli host su quella interfaccia.
Membership_report (dall’host) Gli host rispondono a un messaggio membersbip_query
con un messaggio IGMP membership_report (rapporto affiliazioni).
I messaggi membership-report possono anche essere generati da un host quando un’ applicazione si unisce per la prima volta a un gruppo multicast, senza aspettare un messaggio membership query dal router.
leave_group (dall’host)
39Alberto Polzonetti
Reti di calcolatori 2
Instradamento multicast : scenarioInstradamento multicast : scenario
L’obiettivo dell’instradamento multicast è di trovare un albero di link che colleghi tutti i router cui sono attaccati gli host che appartengono al gruppo multicast. I pacchetti multicast saranno allora instradati attraverso questo albero dal sender a tutti gli host appartenenti all’albero multicast. Naturalmente, l’albero può contenere router che non hanno collegati host appartenenti al gruppo multicast
40Alberto Polzonetti
Reti di calcolatori 2 Instradamento multicast che usa un albero Instradamento multicast che usa un albero
condiviso dal gruppocondiviso dal gruppo
Si usa un approccio centralizzato definendo un nodo centrale come punto di rendezvous o nucleo
Tutti i router cui sono collegati host multicast aderiscono al nucleo con messaggi unicast
Il percorso seguito definisce il ramo dell’albero
41Alberto Polzonetti
Reti di calcolatori 2 Instradamento multicast che usa un albero basato Instradamento multicast che usa un albero basato
sulla sorgentesulla sorgente
Mentre gli algoritmi per l’instradamento multicast visti
prima costruiscono un albero di instradamento
singolo, condiviso, che è usato per instradare i
pacchetti da tutti i sender, la seconda ampia classe di
algoritmi per l’instradamento multicast costruisce un
albero di instradamento multicast per ciascuna
sorgente nel gruppo
In pratica si usa è l’algoritmo di inoltro basato sul
percorso inverso (RPF, Reverse Path Forwarding) con
nodo origine il nodo sorgente multicast
42Alberto Polzonetti
Reti di calcolatori 2
RPF con potaturaRPF con potatura
Il router D inoltrerà messaggi multicast a tutti i router a valle anche se questi non appartengono a nessun gruppo multicast.
Un router multicast che riceve pacchetti multicast e che non ha host attaccati che appartengono a quel gruppo invierà un messaggio di potatura al router che sta a monte.
Se un router riceve un messaggio di potatura da ciascuno dei suoi router a valle, inoltrerà anch’esso un messaggio di potatura verso il router a monte.
43Alberto Polzonetti
Reti di calcolatori 2
Instradamento Multicast in Internet (1)Instradamento Multicast in Internet (1)
protocollo di instradamento multicast distance vector (DVMRP, Distance Vector Multicast Routing Protocol)
Alberi basati sulla sorgente con RPF e potatura usa un algoritmo distance vector che permette a ciascun
router di calcolare il link in uscita (hop successivo) che si trova sul suo percorso più breve all’indietro verso qualsiasi possibile sorgente.
Questa informazione è quindi usata nell’algoritmo RPF In aggiunta al calcolo delle informazioni sull’hop
successivo, calcola anche un elenco di router a valle per scopi di potatura.