Algoritmo di Dijkstra - Domande e Risposte

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Quale nodo è considerato il predecessore di e nella seconda fase dell'algoritmo?

  • c
  • b (correct)
  • a
  • d

Qual è l'obiettivo principale dell'algoritmo descritto?

  • Determinare il percorso di lunghezza minima. (correct)
  • Identificare i nodi isolati nella rete.
  • Trovare il nodo con la distanza massima.
  • Calcolare la somma delle distanze tra i nodi.

Dopo il passo 3, quale nodo ha come predecessore e?

  • b
  • c (correct)
  • e
  • d

Quale informazione si trova nella riga gialla della tabella?

<p>La distanza minima verso X e il suo predecessore. (B)</p> Signup and view all the answers

Qual è la distanza da A al nodo X indicata nella riga arancio?

<p>2 (C)</p> Signup and view all the answers

Nell'algoritmo, quale tipo di distanza viene considerata quella migliore?

<p>La distanza minima. (B)</p> Signup and view all the answers

In quale passo viene determinato il nodo a minima distanza da a che ha come predecessore b?

<p>Passo 2 (A)</p> Signup and view all the answers

Cosa rappresenta il gateway nel contesto descritto?

<p>Il nodo a cui A deve inviare i dati per raggiungere X. (A)</p> Signup and view all the answers

Qual è il nodo a minima distanza dal nodo 'a' nel passo 1?

<p>b (D)</p> Signup and view all the answers

Nel secondo passo dell'algoritmo, quale nodo ha 'b' come predecessore?

<p>e (D)</p> Signup and view all the answers

Quale delle seguenti informazioni viene visualizzata nella riga arancio?

<p>La distanza da A al nodo X e il gateway per raggiungerlo (D)</p> Signup and view all the answers

Quale affermazione descrive correttamente le righe grigie scure nella tabella?

<p>Indicano le distanze ritenute migliori per il calcolo successivo. (B)</p> Signup and view all the answers

Cosa rappresenta la riga gialla nella soluzione dell'algoritmo?

<p>La soluzione completa dell'algoritmo. (A)</p> Signup and view all the answers

Quale nodo viene considerato nel terzo passo con 'e' come predecessore?

<p>c (A)</p> Signup and view all the answers

Qual è l'output dell'algoritmo in termini di distanza minima?

<p>Le distanze non possono essere migliorate nei passi successivi. (B)</p> Signup and view all the answers

Quale nodo ha la distanza maggiore rispetto alla sorgente 'A' indicata nel riepilogo?

<p>E (B)</p> Signup and view all the answers

Cosa succede quando un nodo cambia lo stato della rete prima della convergenza dell’algoritmo?

<p>Si genera un risultato imprevedibile. (C)</p> Signup and view all the answers

Qual è una conseguenza del 'bouncing effect'?

<p>Si creano incongruenze temporanee. (D)</p> Signup and view all the answers

Quale fenomeno si verifica nel 'count to infinity'?

<p>Una nuova distanza è calcolata continuamente senza mai stabilizzarsi. (A)</p> Signup and view all the answers

Che cosa implica la tecnica 'split horizon'?

<p>Un nodo non comunica le proprie distanze agli altri nodi. (B)</p> Signup and view all the answers

Qual è l'obiettivo del 'triggered update'?

<p>Inviare immediatamente informazioni ai nodi vicini dopo un cambiamento. (A)</p> Signup and view all the answers

Perché non tutti i rimedi proposti risolvono i problemi di convergenza nei protocolli Distance Vector?

<p>Persistono situazioni patologiche che influenzano la convergenza. (C)</p> Signup and view all the answers

Cosa significa quando un nodo pone una distanza a infinito?

<p>Un collegamento è andato offline. (B)</p> Signup and view all the answers

Qual è la conseguenza diretta dell'algoritmo di instradamento Distance Vector in situazioni di guasto?

<p>Si possono formare cicli di comunicazione indefiniti. (A)</p> Signup and view all the answers

Che cosa determina il 'TTL' (Time To Live) in una rete?

<p>Il numero massimo di salti che un pacchetto può effettuare. (A)</p> Signup and view all the answers

Qual è il significato della riga arancio nella tabella?

<p>Fornisce la distanza minima da A al nodo X con il relativo gateway. (B)</p> Signup and view all the answers

Qual è il nodo a minima distanza da A secondo il Passo 1?

<p>b (A)</p> Signup and view all the answers

Che cosa si intende per 'gateway' nel contesto dell'algoritmo?

<p>Il nodo che permette di accedere al prossimo nodo nel percorso. (A)</p> Signup and view all the answers

Quali informazioni vengono indicate nelle righe grigie chiare della tabella?

<p>Le distanze minime determinate a quel passo dell'algoritmo. (A)</p> Signup and view all the answers

Cosa rappresentano le righe grigie scure nella tabella?

<p>Le distanze considerate migliori per i calcoli successivi. (A)</p> Signup and view all the answers

Qual è l'obiettivo dell'algoritmo descritto?

<p>Determinare il percorso di lunghezza minima dal nodo A a tutti gli altri nodi. (C)</p> Signup and view all the answers

Cosa avviene nei passi successivi dell'algoritmo?

<p>Le distanze determinate sono minime e non possono essere migliorate. (D)</p> Signup and view all the answers

Qual è il risultato finale nella riga gialla della tabella?

<p>La soluzione finale dell'algoritmo con le distanze migliori. (A)</p> Signup and view all the answers

Qual è la funzione principale della riga arancio nella tabella descritta?

<p>Mostrare la distanza da A al nodo X e il gateway per inviare dati (A)</p> Signup and view all the answers

Quale nodo viene scelto come personale nel primo passo dell'algoritmo per determinare la distanza minima?

<p>il nodo b (D)</p> Signup and view all the answers

Nella riga gialla, che tipo di informazioni vengono riassunte?

<p>La soluzione dell'algoritmo (D)</p> Signup and view all the answers

Quale affermazione sulla determinazione delle distanze è corretta?

<p>Le distanze determinate sono minime e non possono essere migliorate (C)</p> Signup and view all the answers

Nel secondo passo dell'algoritmo, quale nodo è considerato come predecessore?

<p>b (B)</p> Signup and view all the answers

Qual è la relazione tra le righe grigio chiaro e grigio scuro nella tabella?

<p>Le righe scure indicano le distanze migliori finora (B)</p> Signup and view all the answers

Quale nodo viene scelto nel terzo passo dell'algoritmo?

<p>c (C)</p> Signup and view all the answers

Per quale motivo si utilizza il nodo 'predecessore' in questo algoritmo?

<p>Per garantire la validità delle distanze calcolate (B)</p> Signup and view all the answers

Quale delle seguenti affermazioni è corretta riguardo al protocollo RIP?

<p>RIP utilizza il metodo di split horizon per migliorare l'efficienza. (A)</p> Signup and view all the answers

Che cosa accade quando un router non autorizzato trasmette messaggi nel protocollo RIP?

<p>I percorsi ottimi convergono verso il router non autorizzato. (C)</p> Signup and view all the answers

Quale dei seguenti non è un miglioramento apportato in RIP versione 2?

<p>Miglioramento della convergenza rispetto a RIP versione 1. (D)</p> Signup and view all the answers

Qual è la principale problematica di RIP in relazione alla mancanza di CIDR?

<p>Indirizzi appartenenti alla stessa rete creano confusione. (A)</p> Signup and view all the answers

Qual è una caratteristica del traffico di routing?

<p>Condivide risorse e deve essere minimizzato. (C)</p> Signup and view all the answers

Cosa implica il concetto di 'triggered update' nel protocollo RIP?

<p>L'aggiornamento di solo quelle entry recentemente modificate. (B)</p> Signup and view all the answers

In quale situazione RIP-1 ignora le entry della tabella di routing?

<p>Quando ci sono campi riservati diversi da zero. (C)</p> Signup and view all the answers

Cosa determina la confusione per RouterB nella configurazione di rete descritta?

<p>La ricezione di distance vector da fonti diverse. (C)</p> Signup and view all the answers

Quale dei seguenti non è un caposaldo della architettura tipica di routing?

<p>Il traffico degli utenti non influisce sul controllo del piano. (B)</p> Signup and view all the answers

Flashcards

Algoritmo di Dijkstra

L'algoritmo di Dijkstra è un algoritmo che trova il percorso più corto tra due nodi in un grafo. Partendo da un nodo sorgente, l'algoritmo esplora i nodi adiacenti e aggiorna le distanze stimate verso ogni nodo, selezionando sempre il nodo con la distanza minima non ancora esplorata.

Nodo predecessore

Il nodo predecessore di un nodo X è il nodo che precede X nel percorso più corto da un nodo sorgente a X.

Distanza minima

La distanza minima da un nodo sorgente a un nodo X è la lunghezza del percorso più corto tra i due nodi.

Passo 1 di Dijkstra

Il passo 1 dell'algoritmo di Dijkstra seleziona il nodo con la minima distanza dal nodo sorgente. Questo nodo diventa il nodo iniziale del percorso.

Signup and view all the flashcards

Passi successivi di Dijkstra

I passi successivi dell'algoritmo di Dijkstra selezionano il nodo con la minima distanza dal nodo sorgente avente come predecessore il nodo selezionato al passo precedente.

Signup and view all the flashcards

Riga gialla

La riga gialla nella tabella riassume la soluzione dell'algoritmo di Dijkstra, mostrando la distanza minima e il nodo predecessore per ogni nodo.

Signup and view all the flashcards

Riga arancio

La riga arancio nella tabella mostra la distanza da un nodo A al nodo X e il gateway da A verso X. Il gateway è il nodo intermedio che A deve utilizzare per raggiungere X.

Signup and view all the flashcards

Calcoli iterativi

I calcoli dell'algoritmo di Dijkstra vengono svolti in modo iterativo, aggiornando le distanze stimate ai nodi e selezionando il nodo con la distanza minima non ancora esplorata.

Signup and view all the flashcards

Effetto del cambiamento di stato della rete sulla convergenza

Se lo stato della rete cambia prima che l'algoritmo di routing converga, il risultato è imprevedibile e la convergenza potrebbe essere ritardata.

Signup and view all the flashcards

Effetto rimbalzo

Quando un collegamento tra due nodi si interrompe, entrambi i nodi impostano la distanza del collegamento a infinito, in modo che non lo utilizzino più per la rotta. Tuttavia, se altri nodi hanno già inviato i loro vettori di distanza, possono verificarsi incongruenze temporanee, creando potenziali cicli di routing temporanei.

Signup and view all the flashcards

Convergenza lenta

Si verifica quando l'algoritmo di routing distance vector impiega un tempo eccessivo per convergere a causa di una forte discrepanza tra i dati di routing dei nodi. Questo può accadere in reti complesse o con molti nodi.

Signup and view all the flashcards

Conto all'infinito

Un problema che si verifica negli algoritmi di routing distance vector, in cui un nodo continua a scambiarsi dati di routing con altri nodi in un loop infinito, senza mai raggiungere una convergenza. Questo accade a causa di informazioni errate o incongruenti sui percorsi.

Signup and view all the flashcards

Split horizon

Una tecnica utilizzata per migliorare la convergenza degli algoritmi distance vector. Consiste nel non condividere con un nodo la distanza a una destinazione se quella destinazione è già raggiungibile tramite quel nodo. In questo modo si evita la propagazione di informazioni inutili e si velocizza la convergenza.

Signup and view all the flashcards

Triggered update

Un'ulteriore tecnica per velocizzare la convergenza degli algoritmi di routing distance vector. Consiste nell'inviare aggiornamenti di routing immediatamente quando ci sono cambiamenti significativi nella tabella di routing di un nodo. In questo modo, le informazioni vengono aggiornate rapidamente e la convergenza diventa più efficiente.

Signup and view all the flashcards

Limiti degli algoritmi distance vector

Anche con tecniche come Split horizon e Triggered update, gli algoritmi distance vector possono ancora incorrere in situazioni patologiche che impediscono la convergenza efficiente o addirittura la convergenza stessa. Ad esempio, in reti complesse, possono verificarsi situazioni in cui un nodo calcola una distanza errata e si crea un loop infinito.

Signup and view all the flashcards

Vulnerabilità ai protocolli Distance Vector

I protocolli Distance Vector sono vulnerabili ad attacchi di routing come l'avvelenamento del routing. Un attaccante può fornire informazioni errate a uno o più nodi, indirizzando il traffico in modo errato. Questo attacco può causare la disconnessione di parti della rete o rallentamenti significativi nel traffico.

Signup and view all the flashcards

Utilizzo dei protocolli Distance Vector

Nonostante i limiti degli algoritmi distance vector, essi sono ancora utilizzati in alcuni scenari, soprattutto in reti di piccole dimensioni o dove la complessità della rete non è elevata. In situazioni in cui i cambiamenti di configurazione sono rari e il tempo di convergenza non è critico, i protocolli distance vector possono essere una soluzione praticabile.

Signup and view all the flashcards

Evoluzione dei protocolli di routing

L'utilizzo dei protocolli Distance Vector è in calo dovuto all'ascesa dei protocolli Link State. I protocolli Link State sono basati su informazioni complete sulle connessioni di rete e offrono una convergenza più rapida e affidabile rispetto ai protocolli distance vector. Tuttavia, i protocolli Link State richiedono maggiore potenza di calcolo e banda.

Signup and view all the flashcards

Predecessore

Il predecessore di un nodo X è il nodo precedente a X nel percorso più breve che parte dal nodo sorgente.

Signup and view all the flashcards

Gateway

Il gateway verso un nodo X è il nodo a cui inviare i dati per raggiungere X dal nodo sorgente.

Signup and view all the flashcards

Nodo a minima distanza

Il nodo a minima distanza da un nodo sorgente è il nodo più vicino al nodo sorgente.

Signup and view all the flashcards

Approccio greedy

L'approccio greedy dell'algoritmo di Dijkstra consiste nel selezionare ad ogni passo il nodo con la distanza minima dal nodo sorgente, senza considerare le distanze future.

Signup and view all the flashcards

Calcolo della distanza minima

L'algoritmo di Dijkstra calcola la distanza minima e aggiorna le distanze in base ai nodi vicini.

Signup and view all the flashcards

Procedura iterativa

L'algoritmo di Dijkstra procede passo dopo passo, calcolando le distanze più brevi e aggiornando il percorso più breve ad ogni iterazione.

Signup and view all the flashcards

Passo 1

Il nodo più vicino ad 'a' (il nodo di partenza) è 'b'.

Signup and view all the flashcards

Passo 2

Selezionando 'b' come predecessore, il nodo più vicino ad 'a' è 'e'.

Signup and view all the flashcards

Passo 3

Considerando 'e' come predecessore, il nodo più vicino ad 'a' è 'c'.

Signup and view all the flashcards

Processo di ricerca del percorso minimo

L'algoritmo continua in questo modo, trovando il nodo più vicino con il predecessore precedentemente determinato, fino ad arrivare al nodo desiderato.

Signup and view all the flashcards

Ottimalità del percorso

Il percorso più corto trovato dall'algoritmo non può essere migliorato nei passaggi successivi.

Signup and view all the flashcards

Scopo dell'algoritmo

L'algoritmo trova il percorso più corto da un nodo a tutti gli altri nodi.

Signup and view all the flashcards

RIP

RIP (Routing Information Protocol) è un protocollo di routing a vettore di distanza utilizzato per scambiare informazioni di routing tra router in una rete. È stato sviluppato negli anni '80 ed è stato utilizzato principalmente in reti di piccole dimensioni.

Signup and view all the flashcards

Come funziona RIP?

RIP utilizza un algoritmo di routing a vettore di distanza per determinare il percorso più breve verso una destinazione. Ogni router mantiene una tabella di routing con i costi stimati per raggiungere diverse destinazioni. Periodicamente, i router scambiano le proprie tabelle di routing con i router vicini.

Signup and view all the flashcards

Cosa contiene una entry della tabella RIP?

Ogni entry nella tabella di routing RIP contiene la seguente informazione: rete di destinazione, costo (distanza) e next-hop (il router successivo per raggiungere la rete).

Signup and view all the flashcards

Come viene misurata la distanza in RIP?

La distanza in RIP è misurata come il numero di salti (hop) che un pacchetto deve eseguire in un router per raggiungere la destinazione. Il valore massimo di distanza è 15. Se un router riceve un'entry con una distanza >= 15, la destinazione viene considerata irraggiungibile.

Signup and view all the flashcards

Loop di routing in RIP

Un loop di routing è una situazione in cui i pacchetti instradati in una rete vengono inviati in modo ciclico, senza mai raggiungere la destinazione. Questo può verificarsi in RIP se i router inviano informazioni obsolete.

Signup and view all the flashcards

Cosa può essere fatto per evitare loop di routing?

Per evitare i loop di routing, RIP utilizza il meccanismo Split Horizon. Ogni router non trasmette informazioni di routing che provengono dallo stesso router verso cui viene inviato il pacchetto.

Signup and view all the flashcards

Quali sono le modalità di aggiornamento in RIP?

RIP utilizza un algoritmo Triggered Update, il che significa che gli aggiornamenti di routing vengono inviati immediatamente quando vengono rilevate modifiche nelle tabelle di routing. Ciò consente a RIP di reagire rapidamente ai cambiamenti di rete.

Signup and view all the flashcards

RIPv2

RIPv2 è una versione migliorata di RIP che risolve diversi problemi di RIPv1. RIPv2 supporta CIDR (Classless inter-domain routing), autenticazione, subnetting e altri miglioramenti.

Signup and view all the flashcards

Limiti di RIP

RIP non scalabile per reti di grandi dimensioni, è lenta e non sicura. È più adatto per uffici, piccole reti domestiche e per test.

Signup and view all the flashcards

Study Notes

Instradamento nelle reti a pacchetto e in Internet

  •  Il tema riguarda l'instradamento di pacchetti nelle reti a pacchetto e in Internet.
  •  Le funzioni di IP includono indirizzamento, frammentazione e instradamento.
  •  L'instradamento decide il percorso che un datagramma deve seguire per raggiungere la destinazione.
  •  Utilizza le informazioni contenute nei datagrammi, in particolare l'indirizzo di destinazione.
  •  Determina il comportamento di commutazione nei nodi.
  •  Il problema dell'instradamento è più generale del protocollo di livello 3.

Algoritmi e protocolli

  •  L'instradamento implica la scelta di un percorso.
  •  Spesso implica la scelta del router successivo a cui inviare il pacchetto ("next hop").
  •  Gli algoritmi di instradamento hanno obiettivi di ottimalità e includono la semplicità, robustezza, stabilità ed efficienza.

Tabella?

  •  I nodi di commutazione possono usare tabelle per l'applicazione di algoritmi e informazioni predisposte localmente.
  •  Gli algoritmi senza tabella non usano tabelle di instradamento.
  •  Gli algoritmi con tabella invece utilizzano tabelle di instradamento.

Algoritmi di instradamento

  •  Gli algoritmi di instradamento senza tabella includono Flooding, Random, Deflection routing (hot potato), Source routing.
  •  Gli algoritmi di instradamento con tabella includono instradamento fisso e centralizzato, instradamento dinamico a distanza minima.

Flooding

  •  Ogni nodo ritrasmette ogni pacchetto ricevuto su tutte le porte di uscita.
  •  Il pacchetto viene sicuramente ricevuto da tutti i nodi della rete e quindi anche dal nodo destinatario.
  •  Tutte le strade possibili sono percorse.
  •  L'elaborazione associata a questo metodo è minima.
  •  Adatto per inviare informazioni a tutti i nodi della rete (broadcasting).

Problema

  •  Il problema di flooding è la proliferazione dei pacchetti che si moltiplicano esponenzialmente in ogni nodo.

Soluzioni

  •  Un nodo non ritrasmette un pacchetto nella stessa direzione da cui è arrivato.
  •  Ogni pacchetto ha un identificativo unico (indirizzo sorgente e numero di sequenza)
  •  Ogni nodo crea una lista dei pacchetti già ricevuti e ritrasmessi.
  •  I pacchetti già trasmessi vengono ignorati.
  •  Un contatore del tempo di vita (TTL) del pacchetto impedisce di rimbalzare all'infinito.

Dinamicità

  •  Le metodologie di instradamento devono adattarsi ai cambiamenti topologici della rete.
  •  Lo statico decide i percorsi in momenti specifici e non cambia nel breve periodo.
  •  Il dinamico modifica i percorsi periodicamente per adattarsi ai cambiamenti della rete.

Random

  •  Il next hop viene scelto a caso fra quelli possibili.
  •  Le probabilità di scelta possono variare nel tempo.
  •  Questo metodo non garantisce la consegna in tempi certi e può portare a comportamenti instabili (loop).

Deflection routing (hot potato)

  •  Un nodo riceve un pacchetto e lo ritrasmette sulla linea di uscita avente il minor numero di pacchetti in attesa.
  •  Adatto per reti a bassa memorizzazione nei nodi di commutazione.
  •  Non tiene conto della destinazione finale del pacchetto e può portare a pacchetti fuori sequenza.

Instradamento con tabella

  •  Le linee di ingresso e uscita dei pacchetti sono gestite da una tabella di instradamento all'interno di un nodo di commutazione.
  •  Ogni nodo gestisce una tabella di instradamento per il posizionamento dei pacchetti.

Store-and-Forward

  •  Il pacchetto entrante viene memorizzato nel nodo.
  •  Una volta completamente memorizzato, il nodo lo ritrasmette nella direzione opportuna.
  • In generale, una base dati è necessaria per il confronto con la tabella di instradamento.

Shortest path routing

  • Si assume che ad ogni collegamento della rete possa essere attribuita una lunghezza.
  • La lunghezza rappresenta il costo del collegamento.
  • L'algoritmo cerca il percorso più breve per ogni mittente e destinatario.
  • L'implementazione può avvenire in modalità centralizzata o distribuita.
  • I percorsi vengono aggiornati periodicamente per adattarsi ai cambiamenti nella rete.

Rappresentazione della rete

  • Una rete è rappresentata come un grafo orientato.
  • I nodi corrispondono a terminali e commutatori.
  • Gli archi rappresentano i collegamenti.
  • L'orientazione degli archi indica la direzione di trasmissione.
  • Il peso degli archi rappresenta il costo del collegamento.

Il grafo della rete

  • Una rete è un insieme di nodi di commutazione interconnessi da collegamenti.
  • Per rappresentare la rete si possono usare i modelli matematici della teoria dei grafi.
  • Un grafo è definito come una coppia di nodi (V, E).
  • Un grafo può essere orientato o non orientato.
  • Se (i,j) ∈ E, il nodo j è vicino del nodo i.

Rappresentazione di grafi

  •  I nodi rappresentano i terminali e i commutatori.
  •  Gli archi rappresentano i collegamenti e la loro direzione di trasmissione.

Grafo pesato

  •  Un grafo pesato è un grafo G=(V,E) con un peso reale w(i,j) per ogni arco (i,j)
  • 
In un grafo non orientato w(i,j) = w(j,i) e in un grafo orientato w(i,j) ≠ w(j,i).

Routing shortest path nel mondo IP

  •  Quando i nodi vengono accesi conoscono solo la configurazione delle loro interfacce.
  •  Con queste informazioni popolano la tabella di instradamento iniziale.
  •  Per implementare il routing shortest path, i nodi utilizzano uno o più protocolli di routing per conoscere la topologia della rete e calcolare le distanze più corte.

Routing Distance Vector

  • Basato su Bellman-Ford, in versione dinamica e distribuita.
  • Ogni nodo scopre i suoi vicini e ne calcola la distanza da se stesso.
  • Ogni nodo invia ai suoi vicini un vettore contenente la distanza stimata da tutti gli altri nodi della rete.
  • È un protocollo semplice e richiede poche risorse.
  • Presenta problemi di convergenza lenta e partenza lenta (cold start).
  • Può soffrire di problemi di stabilità, come il conteggio all'infinito.

Esempio

  • Questa sezione presenta esempi numerici o visuali.

Routing algoritmi e protocolli

  • Questo capitolo introduce gli algoritmi e protocolli specifici per l'instradamento in Internet.

Cold start e tempo di convergenza

  • Allo start-up le tabelle dei singoli nodi sono incomplete.
  • Lo scambio di distance vector permette di creare tabelle più complete.
  • L'algoritmo converge dopo un numero di passi pari al numero di nodi.

Bouncing effect

  • Se un link fra due nodi A e B cade, tutti i nodi interagiscono con la stessa rete tramite altri nodi.
  • I nodi possono continuare a scambiarsi inutilmente datagrammi fino a che il TTL non viene esaurito.
  • Le incongruenze causate da un link caduto possono creare cicli.

Convergenza lenta

  • La convergenza lenta può portare a problemi di stabilità nella connettività.

Count to infinity

  • Situazione problematica in cui un'informazione errata sul costo di un percorso si propaga indefinitamente nella rete.
  • I diversi rimedi proposti in realtà non sono davvero risolutivi
  • Ancora presenti situazioni patologiche in cui protocolli Distance Vector convergono troppo lentamente.

Split horizon

  • La tecnica Split Horizon evita le informazioni che creano loop, impedendo l'invio indietro dei dati che si sono appena ricevuti.
  • In OSPF, i router non inviano informazioni di routing su collegamenti di ritorno, permettendo una maggiore robustezza.

Triggered update

  • Un nodo deve inviare immediatamente le informazioni a tutti i vicini qualora si verifichi una modifica nella propria tabella di instradamento.

Ma non basta...

  • I problemi di convergenza possono verificarsi anche con i rimedi proposti.
  • In alcune situazioni si potrebbero formare loop.
  • Ogni nodo costruisce un'immagine del grafo della rete.
  • Il protocollo ha lo scopo di far creare a ciascun nodo dell'immagine completa della rete.
  • L'invio di informazioni di routing è fatto in modo che ciascun nodo sappia come è strutturata la rete.
  • Ogni nodo calcola le tabelle di routing utilizzando un algoritmo opportuno.

Raccolta delle informazioni

  • Ogni router comunica con i suoi vicini e "impara" i loro indirizzi
  • Il router misura la distanza dai suoi vicini.
  • Il router crea un pacchetto con lo stato delle linee (Link State Packet) contenente la lista dei suoi vicini e le lunghezze dei collegamenti.

Diffusione ed elaborazione delle informazioni

  • I pacchetti LSP vengono distribuiti a tutti i router tramite flooding.
  • Ogni pacchetto LSP include indirizzo del mittente, numero di sequenza e data.
  • Ogni router ricevendo i LSP si costruisce l'immagine della rete.
  • L'algoritmo di Dijkstra è comunemente usato per calcolare i percorsi minimi.

Esempio

  • Un esempio di calcolo della distanza di percorsi più brevi usando algoritmo di Dijkstra.

Routing gerarchico

  • In Internet si usa il routing gerarchico, detto Autonomous System (AS).
  • Ogni network IP è contenuta in un AS o in una RA.
  • I protocolli di routing tra i diversi AS sono chiamati Exterior Gateway Protocol (EGP), o meglio Border Gateway Protocol (BGP).
  • I protocolli di routing all'interno di un AS invece sono chiamati Interior Gateway Protocol (IGP).

Autonomous Systems and peering

  • I sottoinsiemi di Internet sono chiamati Autonomous Systems (AS).
  • Internet è una rete di reti, composta da AS interconnessi.

Internet = rete di reti

  • Internet viene rappresentata graficamente come un insieme di AS interconnessi.

Internet = sistemi interconnessi

  • Internet viene rappresentata graficamente come un insieme di AS interconnessi.

Internet: grafo semplificato

  •  Il grafo mostra i sistemi autonomi.
  •  I contatti fra gli AS sono indicati con i collegamenti fra i nodi.

Il routing a livello globale

  • Il routing a livello globale è un'organizzazione gerarchica di sottoinsiemi di rete autonomi.
  • Ogni sottoinsieme è chiamato Autonomous System (AS).
  • Le reti autonomi sono legate da punti di contatto.

Autonomous Systems

  •  I sottoinsiemi in cui viene suddivisa la rete Internet sono detti Autonomous Systems (AS).
  • La definizione classica di AS è un insieme di router gestiti da un'unica amministrazione che utilizza un solo protocollo di routing.

I protocolli di routing

  • Gli AS devono implementare sia i protocoli di routing all'interno di un AS (Interior Gateway Protocol, o IGP), sia i protocolli di routing fra diversi AS (Exterior Gateway Protocol, o EGP).

RFC 1930

  • L'evoluzione di Internet richiede una definizione più estensiva dell'AS.
  • L'AS è un insieme di prefissi di rete IP gestito in modo unitario e con una ben definita politica di routing.

Esempio

  • Questo capitolo presenta esempi concreti di AS e loro identificazione.

Internet Routing Registries

  • I database contenenti le politiche di routing degli AS sono chiamati Internet Routing Registries.
  • 
Un esempio di database è RADb.

AS 137

  • Le regole di import e export definiscono quali AS possono comunicare con AS137.
  • 
Gli AS ad esempio comunicano a chi possono inviare informazioni di routing.

AS20965. Regole di Import

  • AS20965 riceve informazioni di routing da altri AS.

Interconnessione fra AS

  • L'interconnessione fra gli AS può essere diretta (peering) o indiretta (attraverso altri AS).

Internet Service Provider (ISP)

  • Un ISP fornisce connettività e servizi correlati (web, email, hosting di numeri IP e nomi di dominio) a clienti.
  • La classificazione degli ISP avviene in base a diversi criteri e può includere ISP privati con finalità di lucro, senza finalità di lucro o cooperative

Internet region

  • Un'Internet region è una parte di Internet che generalmente copre una nazione o un insieme di nazioni vicine.
  • L'ISP possono essere nazionali o globali.

Classificazione degli ISP

  • I diversi ISP possono essere classificati in base al loro ruolo e copertura della rete (Tier 1, Tier 2, Tier 3).
  • Gli ISP Tier 1 hanno un'infrastruttura di rete che copre tutta una nazione.
  • Gli ISP Tier 2 o Tier 3 servono aree più ristrette acquistando connettività da ISP di livello superiore.

In sintesi

  • Questa sezione fornisce una rappresentazione grafica della gerarchia di interconnessione degli ISP e AS.

In Italia

  • Il principale ISP Tier 1 in Italia è Telecom Italia Sparkle (AS6762).

Il Peering

  • Il peering è la relazione fra due AS (comunità di rete) per scambiarsi traffico.
  • Non ha carattere economico, gli AS non devono pagarsi reciprocamente.

Peering policy

  • Policy ristretta: si deve chiedere esplicitamente l'autorizzazione per il peering.
  • Policy aperta: i peering sono concessi di default.

In sintesi

Illustrato schematicamente la gerarchia fra i diversi tipi di ISP, specificando la struttura di interconnessione via peering, anche mostrando l'interconnessione fra ISP locale e POP.

ISP locali e POP

  • Gli ISP locali forniscono servizi a gruppi di utenti co-localizzati (città, aree industriali)
  • Gli ISP locali hanno un POP (Point of Presence) dove hanno l'infrastruttura di rete (router e switch).
  • Collegano gli utenti alla loro infrastruttura usando reti (ADSL, fibra ottica, Wi-Fi).

Esempio

  • Rappresentazione grafica di una possibile rete di un ISP locale con i suoi POP e le connessioni ai suoi utenti.

Indirizzamento

  • Gli ISP gestiscono un sottoinsieme di indirizzi IP per i propri clienti.
  • Gli indirizzi IP possono essere consecutivi o meno, richiedendo gestione di più prefissi di rete.

Interconnessione

  • Gli ISP che coprono una medesima zona si connettono tramite peering.
  • Interconnettere tutti i POP è più complesso.

Non utilizzata

  • Questa sezione non contiene informazioni sostanziali; probabilmente il riferimento è ad una immagine o parte non utilizzata della presentazione.

Peering diretto tramite due POP

  • Rappresentazione grafica delle connessioni peering fra due ISP.

Da Tier 3 a Tier 1

  • Gli ISP di livello Tier 3 si connettono con quelli di livello Tier 1 per accedere a Internet a livello globale, usando generalmente interconnessione fra più POP e attraverso router di transito chiamati Network Service Provider o NSP.
  • Possono coincidere con ISP Tier 1.

Internet Exchange

  • Le Infrastrutture di scambio dati per connettere direttamente gli ISP si chiamano IXP (Internet Exchange Point).

IXP in Italia

  • Si elencano i principali Internet Exchange (IX) presenti in Italia.

Interior Gateway Protocol (IGP)

  • Questo è un protocollo di routing che funziona all'interno di un AS (autonomo sistema) per l'instradamento dei pacchetti.

Routing Information Protocol (RIP)

  •  Protocollo distance vector, di implementazione vecchia, usato per instradamento.
  •  Utilizza messaggi REQUEST e RESPONSE per scambiare informazioni di routing.
  • 
Non supporta CIDR, ma solo hop count (distanza da raggiungibilità).

RIP: aggiornamento della tabella di routing

  • Se un router riceve un RESPONSE da un altro router, verifica la validità dei dati (indirizzo IP e metrica) e aggiorna la sua tabella di routing.

RIP: problematiche

  • Usa split horizon e triggered update, con possibilità di errori.
  • Non supporta CIDR.
  • È un protocollo insicuro, chiunque possa inviare dati come se fosse un router autorizzato.

La mancanza di CIDR

  • Senza CIDR, i router possono confondersi di fronte alla sovrapposizione di indirizzi IP.
  • RIP non gestisce il subnetting, e quindi le sottoreti.

RIP versione 2

  • Aggiunto il supporto per CIDR, subnet mask.
  • Gestione del campo autenticazione.
  • Migliorata la compatibilità con altre versioni di RIP.
  • Gestione più completa di altre versioni.

Una tipica architettura

  •  Diversi router possono fungere da gateway verso diverse reti.
  •  Le reti condividono una network per lo scambio delle informazioni di routing.
  • 
Il traffico di dati viene distinguito dal traffico di routing.

Il traffico di routing

  • Il traffico di routing si scambia sulle reti, richiedendo una gestione ottimizzata e minimizzata per non inficiare il traffico degli utenti.

Multicast

  •  Si può ridurre il traffico di routing della rete usando multicast.

IP Multicast

  • Utilizza indirizzi IP multicast (da 224.0.0.0 a 239.255.255.255).
  • I router possono usare diversi protocolli contemporaneamente per instradare i pacchetti multicast.

The Internet Group Management Protocol (IGMP)

  • Serve per dichiarare l'appartenenza ad un gruppo multicast.
  • Prevede dei messaggi per iscriversi, abbandonare o valutare l'appartenenza a un gruppo.

Open Shortest Path First (OSPF)

  •  Protocollo di tipo link-state per instradamento.
  •  Ogni router costruisce un'immagine completa della topologia della rete.
  •  In una rete ad accesso multiplo, un Designated Router (DR) si occupa di scambiare queste informazioni.

OSPF: aree di routing

  • Un AS può essere suddiviso in aree (RA), interconnesse da un "backbone" (Area 0).
  • Ogni area ha router interni ed un Area Border Router che le collega.

OSPF: aree di routing e tipologie di router

  •  Rappresentazione grafica di un AS con le sue diverse aree e i diversi tipi di router.

Tipi di route

  • Le route possono essere intra-area (all'interno di una stessa area), inter-area (tra aree diverse), o esterne (da altri protocolli).

Tipi di aree

  •  Le aree OSPF possono essere normali, stub o totally stub.
  •  Le aree stub hanno un solo punto di connessione all'esterno.
  • 
Le aree totalmente stub hanno un Route di Default che viene propagata.

OSPF: ulteriori caratteristiche

  • OSPF offre bilanciamento del carico per routing.
  • Supporta autenticazione per maggiori sicurezze e crittografia.
  • Supporta il routing dipendente dal tipo di servizio (TOS).

OSPF: rappresentazione di host e router

  • Rappresentazione grafica di host e router in OSPF.

OSPF: tipologie di rete

  • OSPF supporta reti point-to-point, broadcast multi-access, e non-broadcast multi-access.

OSPF: vicinanza e adiacenza tra router

  • I router possono essere vicini o adiacenti.
  • I vicini sono connessi su una stessa rete.
  • I router adiacenti devono scambiare informazioni di routing.

OSPF: identificazione di router e priorità

  • Ogni router OSPF deve avere un identificativo univoco (Router ID).
  • Le priorità vengono assegnate ai router con uno scopo preciso per selezionare il DR.

OSPF: elezione di DR e BDR

  • Il procedimento per l'elezione dei router DR e BDR, in modo da permettere lo scambio sicuro di informazioni.
  • Il Link State Database è la rappresentazione del grafo di rete a disposizione di ogni router.

OSPF: i protocolli

  • OSPF usa il protocollo IP con un campo protocol speciale, e messaggi specifici.

OSPF: intestazione comune

  • Le caratteristiche dell'intestazione dei messaggi OSPF.

OSPF: Type

  • Descrizione dei vari tipi di messaggi OSPF (Hello, Database Description, Link State Request, ecc.).

OSPF: Hello protocol

  • Utilizza pacchetti Hello per scoprire i vicini, eleggere DR/BDR, e monitorare i collegamenti.

OSPF: Exchange protocol

  • Dopo aver stabilito le adiacenze, router adiacenti sincronizzano i loro database dei link per ottenere complete informazioni sulla rete.

OSPF: Flooding protocol

  • Si usa flooding per diffondere le informazioni di stato dei collegamenti in modo rapido ed affidabile.

OSPF: sincronizzazione e aggiornamento

  • Le fasi per la sincronizzazione ed aggiornamento di tutti i nodi.

Stub Area

  • Area specifica dell'OSPF per facilitare le connessioni verso reti esterne, riducendo la complessità dei router.

Exterior Gateway Protocols (EGP)

  • I protocolli EGP funzionano tra diversi autonomous systems (AS).

EGP: limiti

  • EGP è progettato per reti ad albero, non reti a maglia.

BGP: Border Gateway Protocol

  • BGP è il principale protocollo EGP per Internet, basato su connessione TCP.
  • Utilizza due tipi di sessioni (eBGP e iBGP) per la comunicazione fra diversi o stessi AS.

BGP: Path Vector

  • BGP è un protocollo path vector perché fornisce un cammino per raggiunger un determinato indirizzo IP, indicando tutti gli Autonomous System attraversati dal percorso.


BGP: attributi

  • I diversi attributi delle informazioni nei pacchetti BGP

BGP: codifica degli attributi

  • Formato dei dati sugli attributi

BGP: alcuni attributi

  • Origin (Code = 1, campo well-known mandatory), identifica la fonte di un'informazione di raggiungibilità.
  • AS path (Code = 2, campo well-known mandatory), elenca gli AS attraversati per raggiungere la destinazione.
  • Next hop (Code = 3, campo well-known mandatory).

BGP: formato dei messaggi

  • BGP utilizza un formato standard per i propri messaggi, comune alla maggior parte dei messaggi, con identificativi e campi dati specifici.

BGP: tipi di messaggio

  • I vari tipi di messaggi utilizzati da BGP in diverse circostanze durante le interazioni tra i router.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Routing Protocolli PDF

More Like This

Use Quizgecko on...
Browser
Browser