lezione 6: routing gerarchico

60
Lezione 6: Routing Gerarchico

Upload: aisha

Post on 13-Jan-2016

78 views

Category:

Documents


2 download

DESCRIPTION

Lezione 6: Routing Gerarchico. Tabella di Routing. Operatività di un Router. Processo/i di Routing. Processo di Forwarding. L. A. N. W. A. N. Tabella di routing. Source. Next Hop. Metric. Age. Network #. Interface. 192.150.42.177. 02:03:50. D. 198.113.181.0/24. Ethernet0. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lezione 6: Routing Gerarchico

Lezione 6: Routing Gerarchico

Page 2: Lezione 6: Routing Gerarchico

Il routing in Internet: com’era

Page 3: Lezione 6: Routing Gerarchico

Il routing in Internet: com’è

Page 4: Lezione 6: Routing Gerarchico

Il routing in Internet: com’è

Page 5: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1

Un protocollo di routing è un processo di comunicazione tra i router per scambiarsi informazioni utilizzate per formare la tabella di routing (routing table).

Page 6: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1INTERNETWORK

Per realizzare una internetwork, dobbiamo unire più reti insieme, ciascuna delle quali può essere gestita in modo indipendente rispetto alle altre. Questo ha portato alla suddivisione dell’internetwork in aree diverse. Ogni zona che appartiene allo stesso dominio amministrativo prende il nome di Autonomous System (AS).

L'instradamento attraverso le reti avviene sulla base di particolari tabelle dette tabelle di routing (caricate sul router). All'aumentare del numero dei Router, cresce la complessità di tali tabelle e delle procedure per la determinazione dei percorsi migliori.La scelta di suddividere l'insieme delle reti in AS, ha permesso di semplificare le procedure abbinate al processo di routing.

Tutti i router del medesimo AS condividono lo stesso protocollo di routing. Ricordiamo che lo scopo di un protocollo di routing (Routing Protocol), è quello di mantenere dinamicamente le routing table.

Page 7: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1AUTONOMOUS SYSTEM

Si rende a questo punto importante collegare i vari Autonomous System fra loro mediante l'uso di router in grado di instradare pacchetti fra aree diverse. Possiamo suddividere i router nelle 3 seguenti categorie:

Interior Router: responsabili della trasmissione informazioni all'interno di un AS, per cui non hanno una diretta connessione con una qualsiasi rete esterna.

Exterior Router (Router esterno) appartengono a questa classe tutti i router che sono esterni rispetto all’AS che stiamo considerando.

Border Router: (Router di confine) realizza la connessione fra AS diversi. Può essere considerato quindi come il punto di ingresso e di uscita verso altri AS.

Page 8: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1Le reti sono quindi raggruppate in Autonomous System (gruppi di reti controllati e gestiti da un'unica entità amministrativa). Gli Autonomous System sono identificati tramite un numero intero, univoco a livello mondiale, assegnato dalla stessa autorità che rilascia gli indirizzi Internet (IANA http://www.iana.org/).

Gli interior router scambiano le informazioni di instradamento tramite l’ Interior Gateway Protocol (IGP) mentre i border router utilizzano un Exterior Gateway Protocol (EGP).

Nel caso di routing interno all’AS (intradomain routing) i router interni devono conoscere solo i segmenti di rete appartenenti allo stesso AS. Non è quindi necessario che mantengano informazioni su reti esterne. Qualora servisse comunicare con altri AS si limitano a mandare i pacchetti relativi ai router di confine. Questa organizzazione ha dei notevoli vantaggi, poiché riduce le dimensioni della routing table in quanto le network esterne non sono presenti direttamente in tale tabella se non attraverso i border router.

Page 9: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1Protocolli IGP:

• RIP: E’ un protocollo utilizzato all’interno di un AS per l’ instradamento dinamico. RIP e' l'acronimo di Routing Information Protocol ed e' un protocollo relativamente semplice appartenente alla famiglia di protocolli di tipo "distance vector".

• OSPF: è l'acronimo di Open Shortest Path First. OSPF appartiene alla classe IGP e pertanto opera internamente a ciascun Autonomous System (AS). Il protocollo, essendo di tipo “link state”, utilizza l'algoritmo SPF per calcolare il percorso più breve verso la destinazione. L’algoritmo SPF si basa principalmente sulla larghezza di banda; il percorso a costo più basso viene inserito nella routing table (o forwarding database). OSPF è protocollo pubblico (quindi non proprietario).L’OSPF raccoglie le informazioni dai router vicini circa lo stato dei link ed invia i suoi dati agli altri. Questo scambio di informazioni permette ai router di creare la topology table o link state database. L’OSPF è un protocollo da utilizzare in reti estese e scalabili (ampliabili). Vengono usati in alternativa ai protocolli “distance vector” quando i limiti di questi ultimi li rendono inapplicabili. Ad esempio se voglio utilizzare metriche basate sulla larghezza di banda o quando voglio, in reti estese, avere una maggior convergenza del protocollo (con reti ampie il RIP può avere una convergenza di alcuni minuti).

PRINCIPALI PROTOCOLLI DI ROUTING

Page 10: Lezione 6: Routing Gerarchico

Docente: Marco Sechi

Modulo 1Protocolli EGP:

• BGP: Il Border Gateway Protocol è un protocollo di instradamento che agisce nel 'cuore' della rete Internet. Il BGP usa tabelle di reti IP, o prefissi, che forniscono informazioni sulla raggiungibilità dei diversi AS. Si tratta di un protocollo di routing a indicazione di percorso (“path vector”), che non usa metriche di carattere tecnico ma prende le decisioni di instradamento basandosi su regole definite in ciascun rete. La versione corrente, BGP-4, è definita nella specifica RFC 4271. Tutti i provider Internet (ISP) sono obbligati a usarlo. BGP è quindi il protocollo di routing usato nell'internet pubblica ed è l'unico (visto che si è costretti ad usarlo!) di tipo exterior.I protocolli EGP, a differenza degli IGP, non hanno metodi per scoprire l’esistenza di router “vicini” ma devono essere definiti manualmente.Il BGP è un protocollo d’instradamento decentralizzato (comunica solo con i router a cui è direttamente collegato). Essendo un algoritmo di tipo “path vector” non viene fornito il numero di hop ma l’intero percorso da attraversare per giungere ad una determinata destinazione.

Page 11: Lezione 6: Routing Gerarchico

Gli “Autonomous Systems” o“Sistemi Autonomi”

AS 1

AS 2

AS 3

BGP-4

BGP-4

BGP-4OSPF

RIP

IGRP

AS 4

RIP

BGP-4

Page 12: Lezione 6: Routing Gerarchico

• OSPF è un protocollo di tipo link state

• Utilizza l’algoritmo di Dijkstra• Ogni router conosce lo stato di

tutta la rete• I cambiamenti sul routing

vengono propagati istantaneamente (nel momento in cui avvengono) attraverso la tecnica del “flooding”

• Migliore convergenza rispetto al RIP

• OSPF utilizza una struttura gerarchica

• OSPF si adatta bene a reti di grandi dimensioni

• OSPF è un protocollo di tipo link state

• Utilizza l’algoritmo di Dijkstra• Ogni router conosce lo stato di

tutta la rete• I cambiamenti sul routing

vengono propagati istantaneamente (nel momento in cui avvengono) attraverso la tecnica del “flooding”

• Migliore convergenza rispetto al RIP

• OSPF utilizza una struttura gerarchica

• OSPF si adatta bene a reti di grandi dimensioni

IGP: RIP o OSPF?IGP: RIP o OSPF?

• Rip è un protocollo di tipo Distance Vector

• Utilizza l’algoritmo di Bellmann-Ford

• Ogni router informa solamente i suoi vicini sulla propria tabella di routing

• I cambiamenti sul routing vengono propagati periodicamente causando un’occupazione di banda (circa ogni 30 sec.)

• Lenta convergenza• RIP viene utilizzato in reti di

piccole dimensioni

• Rip è un protocollo di tipo Distance Vector

• Utilizza l’algoritmo di Bellmann-Ford

• Ogni router informa solamente i suoi vicini sulla propria tabella di routing

• I cambiamenti sul routing vengono propagati periodicamente causando un’occupazione di banda (circa ogni 30 sec.)

• Lenta convergenza• RIP viene utilizzato in reti di

piccole dimensioni

Page 13: Lezione 6: Routing Gerarchico

Altri protocolli di routing• IGRP (Interior Gateway Routing Protocol) è stato

sviluppato da CISCO per risolvere alcune limitazioni di RIP. Come RIP, è un protocollo “distance-vector”.

• IS-IS è molto simile ad OSPF (è un protocollo “link state”)

• EGP (Exterior Gateway Protocol) è stato il primo protocollo di routing inter-dominio utilizzato. Presenta molte limitazioni ed è stato quindi sostituito dal BGP

• BGP (Border Gateway Protocol) è il protocollo di routing inter-dominio attualmente utilizzato (nella versione BGP-4)

Page 14: Lezione 6: Routing Gerarchico

Routing Information Protocol (RIP)Routing Information Protocol (RIP)

• RIP appartiene alla categoria dei Distance Vector Routing Distance Vector Routing ProtocolsProtocols

• Applica l’algoritmo di Bellman-Ford per la determinazione delle tabelle di instradamento

• E’ richiesto che ogni nodo scambi informazioni con i nodi vicini

– due nodi sono vicini se sono direttamente connessi mediante la stessa rete

• RIP è utilizzato in reti di piccole dimensioni• E’ molto semplice, tuttavia

– la convergenza è lenta– lo stato di equilibrio può essere un sub-ottimo

Page 15: Lezione 6: Routing Gerarchico

Esempio RIP : Conteggio all’infinito

Page 16: Lezione 6: Routing Gerarchico

RIP (Versione 1)• Un messaggio RIP, come vedremo in seguito, viene incapsulato nel

protocollo UDP

• Il pacchetto RIP può essere di due tipi:

Pacchetto Request

- è emesso da un router per chiedere ad un nodo vicino l’invio della distance vector table o di una parte di essa

Pacchetto Response

- è emesso per inviare tutta o una parte della distance vector table

- è emesso:

• ogni 30 secondi• in risposta ad un pacchetto Request• quando la routing table cambia (Triggered updates)

Page 17: Lezione 6: Routing Gerarchico

RIP (Versione 1)• Il formato massimo di un messaggio RIP è di 512 bytes

– massimo 25 blocchi per messaggio – in caso di un numero maggiore di 25 indirizzi da aggiornare si

utilizzano messaggi RIP multipli

• Non supporta la tecnica della subnet mask (è classfull)– un router deve conoscere la struttura degli indirizzi

• La metrica usata è la distanza (intero compreso da 1 a 16)– il valore 16 indica infinito

• Se un router non riceve notizie da uno dei suoi vicini per più di 180 secondi la metrica del vicino nella propria tabella viene posta a ∞ (16) e l’informazione viene propagata ai router vicini che la diffonderanno su tutta la rete

• In caso di variazioni consecutive dello stato dei link i messaggi RIP sono emessi con intervallo da 1 a 5 secondi

Page 18: Lezione 6: Routing Gerarchico

RIP (Versione 1)

Page 19: Lezione 6: Routing Gerarchico

RIP (Versione 2)

• Estende le funzionalità di RIP-1– può essere utilizzato in reti di media dimensione– supporta la tecnica di subnetting variabile o supernetting

(CIDR)– è compatibile con RIP-1– router di diverso tipo possono coesistere in una stessa

rete• Le metrica utilizzata è identica a quella di RIP-1

– distanza (intero da 1 a 16)– il valore 16 indica infinito

• RIP-2 utilizza i byte inutilizzati nel formato dei pacchetti RIP-1

Page 20: Lezione 6: Routing Gerarchico

RIP (Versione 2)

Page 21: Lezione 6: Routing Gerarchico

Link State Routing• I protocolli “Link State” sono adatti a reti di grandi

dimensioni• Principi base:

– i router hanno la responsabilità di contattare i router vicini e acquisire la loro identità (pacchetti Hello)

– i router emettono i link state packets (LSP) che contengono la lista delle reti connesse al router (vicini) ed i loro costi associati

– gli LSP sono trasmessi a tutti gli altri router (flooding)– tutti i router hanno lo stesso insieme di dati e quindi possono

costruire la stessa mappa della rete (database topologicodatabase topologico)– le mappe di rete sono utilizzate per determinare i cammini

migliori e quindi l’instradamento

Page 22: Lezione 6: Routing Gerarchico

Link State Routing

• Gli LSP sono emessi– quando un router contatta un nuovo router vicino– quando un link si guasta– quando il costo di un link varia– periodicamente ogni fissato intervallo di tempo

• La rete trasporta gli LSP mediante la tecnica del flooding– un LSP è rilanciato da un router su tutte le sue interfacce

tranne quella da cui è stato ricevuto– gli LSP trasportano dei riferimenti temporali (time stamp) o

numeri di sequenza per• evitare il rilancio di pacchetti già rilanciati

• consentire un corretto riscontro dal ricevente

Page 23: Lezione 6: Routing Gerarchico

Tecnica del “Flooding”• Assicura che tutti i router di una rete

– riescano a costruire un database contenente lo stato della rete

– abbiano le stesse informazioni sullo stato dei link

• Alla ricezione di un LSP:– un router esamina i campi di un LSP: link identifier, metrica, età e numero di

sequenza

– se il dato non è contenuto nel database, viene memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione

– se il dato ricevuto è più recente di quello contenuto nel database, il suo valore è memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione

– se il dato ricevuto è più vecchio di quello contenuto nel database, viene rilanciato un LSP con il valore contenuto nel database esclusivamente sull’interfaccia di arrivo dell’LSP

– se i due dati sono della stessa età non viene eseguita alcuna operazione

Page 24: Lezione 6: Routing Gerarchico

(replicato su ogni router)

A B/2 D/5 a/1

B A/2 C/2 b/1

C B/2 D/4 E/3

D A/5 F/6 G/7 C/4

E C/3 G/2

F D/6 c/1

G D/7 E/2 d/1 e/1

A B/2 D/5 a/1

B A/2 C/2 b/1

C B/2 D/4 E/3

D A/5 F/6 G/7 C/4

E C/3 G/2

F D/6 c/1

G D/7 E/2 d/1 e/1

LSP Database

Costo

A

D

F

C

E

B

G

a

b

c

d

e

2

54

7 3

2

6

1

1

1

1

1

2

Esempio di LSP database

Page 25: Lezione 6: Routing Gerarchico

Ogni router calcola inizialmente le sue tabelle di routing applicando alla mappa della rete l'algoritmo di Dijkstra o SPF (Shortest Path First)

Tabella di routing di Aa

A

D

F

C

E

B

G

b

c

d

e

2

5

3

2

6

1

1

1

1

1

2

Dest via costoa diretto 1b B 3c D 12d B 10e B 10B diretto 2C B 4D diretto 5E B 7F D 11G B 9

Dest via costoa diretto 1b B 3c D 12d B 10e B 10B diretto 2C B 4D diretto 5E B 7F D 11G B 9

Tabella di routing

Page 26: Lezione 6: Routing Gerarchico

Vantaggi:Può gestire reti di grandi dimensioniHa una convergenza rapidaDifficilmente genera loop, e comunque è in grado di identificarli e interromperli facilmenteFacile da capire: ogni nodo ha la mappa della rete

Svantaggi:Molto complesso da realizzare (la prima implementazione ha richiesto a Digital 5 anni)

Link State: caratteristiche

Page 27: Lezione 6: Routing Gerarchico

Open Shorthest Path First (OSPF)Open Shorthest Path First (OSPF)

• E’ un protocollo di tipo link-statelink-state che supera le limitazioni del protocollo RIP

• Consente una maggiore velocità di convergenza

• Algoritmo:

– inizialmente ogni router determina il costo dei rami uscenti (Hello)

– invia questi dati a tutti i router della rete (tecnica flooding)

– continua a monitorare il costo dei propri rami

– in caso di variazionein caso di variazione del costo di un ramo, il router invia il nuovo valore del costo di quel ramo a tutti i router

• Ogni nodo conosce quindi lo stato dell’intera rete e può usare localmente l’algoritmo di Dijkstra

Page 28: Lezione 6: Routing Gerarchico

28

Abbiamo detto che il "routing gerarchico" è la suddivisione della rete in un set di parti indipendenti connesse attraverso un "backbone".

In OSPF le parti indipendenti sono chiamate aree e la parte superiore e' chiamata "Backbone area".

I router sono classificati in base alla loro posizione nella rete. Allo scopo di connettere l'intera rete, alcuni routers appartengono a piu' aree, tipicamente a un'area a basso livello, e all'area di backbone. Questi routers sono chiamati "area-border routers" (ABR): ci deve essere perlomeno un ABR in ciascun area, per connetterla al backbone. Gli ABR mantengono numerosi database, uno per ciascuna area alla quale appartengono ed ogni area include un set di sottoreti IP.  

OSPF e i domini di instradamento 1/4OSPF e i domini di instradamento 1/4

Page 29: Lezione 6: Routing Gerarchico

Oltre agli ABR (router di bordo area), possiamo distinguere ancora 3 tipologie di router:

• Internal router (router interni all’area): sono i router che gestiscono il traffico all'interno della stessa area

• Backbone Router : sono i router della backbone area

• Autonomous System Boundary Router (ASBR – router di confine) : sono gateway per il traffico esterno e convertono i percorsi nel dominio OSPF appresi da altri protocolli come BGP e EIGRP.

OSPF e i domini di instradamento 2/4OSPF e i domini di instradamento 2/4

Page 30: Lezione 6: Routing Gerarchico

Nella seguente figura, viene illustrato un esempio di rete composta da 4 aree (delle quali una e' l'area di backbone) e da una serie di router interni, ABR e ASBR:

OSPF e i domini di instradamento 3/4OSPF e i domini di instradamento 3/4

Page 31: Lezione 6: Routing Gerarchico

Vengono inoltre definiti due router con incarichi particolari:

• il Designated Router (DR)

• il Backup Designated Router (DR)

Il DR è un router eletto dagli altri router appartenenti alla sua area per ridurre il traffico di rete. Il DR memorizza una tabella completa sulla topologia della rete e manda gli aggiornamenti agli altri router.In questo modo tutti i router non devono costantemente aggiornarsi l'un l'altro ma ricevono tutti gli aggiornamenti da una singola sorgente.

Un backup designated router (BDR, router di backup predefinito) è un router che diventa il principale se il router principale in uso ha un problema o si guasta.

Un router potrebbe essere un DR su un’interfaccia ma non su un’altra.

OSPF e i domini di instradamento 4/4OSPF e i domini di instradamento 4/4

Page 32: Lezione 6: Routing Gerarchico

 

 

Il protocollo OSPF è composto da tre sotto-protocolli:

•   Hello

•   Exchange

•   Flooding 

tutti i pacchetti condividono un unico header comune.

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 33: Lezione 6: Routing Gerarchico

 

 

L’header comuneL’header comune

• Version: Indica la corrente versione di OSPF, attualmente 2• Type: il tipo di pacchetto OSPF trasportato• Packet Lenght : numero di bytes del pacchetto• Router_ID: indirizzo IP scelto per identificare il router• Area_ID: numero che identifica univocamente l’area all’interno del dominio OSPF; spesso viene scelto un indirizzo IP. Un valore 0 identifica il backbone.• Checksum: Viene calcolato sull'intero pacchetto OSPF, con l'esclusione degli 8 bytes del campo Authentication. • Authentication Type: Identifica l'algoritmo di identificazione; ne sono definiti tre tipi:

o 0: No authenticationo  1: Simple authenticationo  2: Cryptographic authentication 

I sotto-protocolli di OSPF: l’headerI sotto-protocolli di OSPF: l’header

Page 34: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo HELLOIl sotto-protocollo HELLO

Il sotto-protocollo "Hello" viene utilizzato per due scopi ben precisi:

• Verifica dell'operativita' dei link • Elezione del "Designed Router" e del "Backup Designed Router“.

I pacchetti "Hello" vengono trasmessi solo tra nodi vicini e mai propagati. Il campo "Type" dell‘header comune vale 1 per questo protocollo.

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 35: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo HELLOIl sotto-protocollo HELLO

• Network Mask: netmask associata all’interfaccia da cui viene emesso il pacchetto• Hello Interval: comunica ogni quanti secondi viene emesso un pacchetto di Hello• Options: vengono definiti solo gli ultimi 2 bit

o E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub areao T: se il router è in grado di gestire il routing TOS

• Priority: serve per l’elezione del Designed Router e viene settato da management. Ciascun router e' configurato con una priorita', che puo' variare tra 0 e 255. Viene eletto DR il router che ha la priorità più alta.• Dead_Interval: intervallo di tempo di validità dei pacchetti di Hello ricevuti.• DR, BDR: indirizzo del Designated Router - BDR (0 se non sono ancora stati definiti)• Neighbor: lista di router_ID da cui è stato ricevuto il pacchetto di Hello negli ultimi Dead_Interval secondi

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 36: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo EXCHANGEIl sotto-protocollo EXCHANGE

Quando due routers OSPF stabiliscono la connessione su di un link punto a punto, devono sincronizzare i propri database; sui link di una rete questo accade tra i routers ed il DR o il BDR. La sincronizzazione iniziale avviene tramite il protocollo "exchange"; di seguito sara' il protocollo flooding ad occuparsi di mantenere sincronizzati i database.Il protocollo utilizza un record, il "Database Description Packet", riconosciuto dal valore 2 presente nel campo "Type" dell'header.

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 37: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo EXCHANGEIl sotto-protocollo EXCHANGE

• Options: e' equivalente al pacchetto Helloo E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub areao T: se il router è in grado di gestire il routing TOS

• I: Initialize• M: More• MS: Master - Slave (1= Master)• DD SN: numero di sequenza del pacchetto DD

Una  stub area è un'area che non riceve percorsi esterni, fuori dai limiti dell'autonomous  system, ma riceve i percorsi dal AS, anche se il percorso proviene da un'altra area. Una stub area tipicamente ha bisogno di un percorso di default a cui mandare i dati per  destinazioni esterne. Tra le limitazioni derivanti da queste caratteristiche, una stub area  ha comunque il vantaggio di ridurre l'utilizzo delle risorse, quali CPU e memoria. 

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 38: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo EXCHANGE: La proceduraIl sotto-protocollo EXCHANGE: La procedura

A. Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description" con I, M e MS settati ed il numero di sequenza settato ad un valore arbitrario.

B. L’altro router risponde emettendo un pacchetto DD di "Acknowledgment", con lo stesso numero di sequenza ed i bit I ed M settati a 1 e MS a 0 (slave). 

C. Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute ed emette pacchetti DD con I settato a 0, M ed MS settati ad 1 (eccetto M per l’ultimo pacchetto). I pacchetti saranno numerati in sequenza ed inviati uno alla volta.

D. Lo slave risponde ad ogni pacchetto con un DD Acknowledgment che riporta la sua descrizione del database, caratterizzato dallo stesso numero di sequenza ma con il bit MS settato a 0. 

E. Se il master non riceve l’Ack entro un certo intervallo ri-invia il pacchetto originale DD.

F. Se viceversa e' lo slave che non ha finito di trasmettere le sue descrizioni:• In corrispondenza del pacchetto del Sender con M=0 emette un

pacchetto DD con M = 1

• Il master continua ad inviare pacchetti vuoti con M = 0, ed accettare gli Ack (pieni) che gli arrivano dallo slave

• La procedura di sincronizzazione termina quando anche lo Slave invia un pacchetto con M = 0

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 39: Lezione 6: Routing Gerarchico

 

 

Il sotto-protocollo FLOODINGIl sotto-protocollo FLOODING

Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete il nuovo stato di un link.

Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel caso di:

• un cambiamento di stato del link• allo scadere di un timer (normalmente 60 min)

Il pacchetto "Link State Update", che caratterizza il campo "Type" dell‘header comune con il valore 4, e' di seguito riportato:

• Number of Advertisement:  è il numero di LSA che vengono trasportati dal pacchetto in esame in quanto e' possibile trasportare più LSA• LSA: è il Link State vero e proprio

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 40: Lezione 6: Routing Gerarchico

 

 

Il pacchetto LSA (Link State Advertisement)Il pacchetto LSA (Link State Advertisement)

Gli LSA del pacchetto Link State Update vengono normalmente riconosciuti, attraverso una conferma dell'avvenuta ricezione, con il pacchetto di Link State Acknowledgment, che caratterizza il campo "Type" dell‘ header comune con il valore 5, e che e' di seguito riportato:

Ciascun pacchetto di acknowledgment contiene una serie di campi con lo stesso formato del pacchetto di "database description" del protocollo di exchange.A tutti gli effetti, il Link State Advertisment (LSA) e' l'effettiva struttura dati che trasporta le informazioni ed e' la corrispondente del LSP visto per l'algoritmo teorico Link State.Gli LSA vengono propagati in tutta la rete tramite la tecnica del flooding: ogni router che riceve un LSA lo invia su tutte le interfacce tranne quella da cui lo ha ricevuto.

I sotto-protocolli di OSPFI sotto-protocolli di OSPF

Page 41: Lezione 6: Routing Gerarchico

OSPF : Topologia della Rete (1/2)OSPF : Topologia della Rete (1/2)

• Ogni router mantiene un database che riflette i dati aggiornati sulla topologia della rete (Link State Link State Database o Database topologicoDatabase o Database topologico)

• La topologia di rete è rappresentata come un grafo orientato

– I nodi rappresentano• router

• network reti di transito: non contengono host (sorgenti e/o

destinazioni) reti stub: reti non di transito (contengono host)

– I rami rappresentano• collegamenti diretti tra nodi di tipo router

• collegamenti tra nodi di tipo router e nodi di tipo network

Page 42: Lezione 6: Routing Gerarchico

OSPF: Topologia della Rete (2/2)OSPF: Topologia della Rete (2/2)

N11

N3

N4

N6

N7

N8

N9

N1

N2

N10

R2 R3

R1

R6

R4 R5

R7

R10R9

R11 R8

H1 R12

31

31 1

1 88

7

6

2

7

5

6

6

1

1

4

12

1

3

21

6

8

10

N12 N13 N14

N12

N15

Rete8

88

2

9

N6

R1

R2

R4

R3 R6

R5

R7

R10

R8

R11

R9

R12

N1

N2

N3

N4

N7

N8

N11

N9

N10

3

3 1

11 8

67

6

6

1

5

7

8

6

1

3

1

1

41

2

3

1

1

10 2Grafo

8

H1

2

Page 43: Lezione 6: Routing Gerarchico

Spanning Tree e Tabelle di RoutingSpanning Tree e Tabelle di Routing

• Ogni router calcola lo spanning tree a partire dal grafo rappresentativo della rete mediante l’algoritmo di Dijkstra

R1

R2

R4

R3 R6

R5

R7

R10

R8

R11

R9

R12

N1

N2

N3

N4

N6

N7

N8

N11

N9

N10

3

3

6 8

7

2

6

1

3

1

4

1

3

10 2

8

8

9

2

N12

N13

N14

N12

N15

H1

Destin. N. H. Dist.N1 R3 10N2 R3 10N3 R3 7N4 R3 8R1 R3 7N6 R10 8N7 R10 12N8 R10 10

Destin. N.H. Dist.

N9 R10 11

N10 R10 13

R5 R5 6R7 R10 8

N12 R10 10N13 R5 14N14 R5 14N15 R10 17

N11 R10 14H1 R10 21

Spanning Tree e Routing Table in R6

Page 44: Lezione 6: Routing Gerarchico

OSPF: Costruzione delle Tabelle di RoutingOSPF: Costruzione delle Tabelle di Routing

• Nodi vicini si riconoscono attraverso messaggi di “Hello”

• Una volta riconosciutisi, instaurano rapporti di adiacenza

• Nodi adiacenti si scambiano le informazioni sulla topologia dell’intera rete in loro possesso (flooding)

• A regime tutti i nodi hanno una visione completa (ed uguale) della topologia di tutta la rete (Database Database TopologicoTopologico)

• A partire dal database topologico ogni router costruisce la propria tabella di routing

Page 45: Lezione 6: Routing Gerarchico

OSPF: Costruzione delle Tabelle di RoutingOSPF: Costruzione delle Tabelle di Routing

Ogni routercalcola i percorsi a

costo più basso

Algoritmo SPF(Dijkstra)

C

DA

B

1(15)

2(25)

3(15)

4(5)

5(10)

Link ID (Metrica)

Database TopologicoFrom To Link Costo

A B 1 15A C 2 25B A 1 15B C 3 10B D 4 5C A 2 25C B 3 10C D 5 10D B 4 5D C 5 10

Routing Table for ADest Cost Next HopB 15 BC 25 CD 20 B

Page 46: Lezione 6: Routing Gerarchico

Esempio OSPF (1/3)

A B C

D E

3

2

5

1

6

4A

DestinazioneDistanza

A B C D E0 1 2 1 2

Link local 1 1 3 1

BDestinazione

DistanzaA B C D E1 0 1 2 1

Link 1 local 2 1 4

CDestinazione

DistanzaA B C D E2 1 0 2 1

Link 2 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 3 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 4 4 5 6 local

Routing Table

Database Topologico (link bidirezionali)

Da A link

A B 1

A D 3

B C 2

B E 4

D E 6

E C 5

Dist

1

1

1

1

1

1

Page 47: Lezione 6: Routing Gerarchico

Esempio OSPF (2/3)

• Guasto del ramo AB

A B C

D E

3

2

5

xxxx

6

4

ADestinazione

DistanzaA B C D E0 inf inf 1 inf

Link local 1 1 3 1

BDestinazione

DistanzaA B C D E

inf 0 1 inf 1Link 1 local 2 1 4

CDestinazione

DistanzaA B C D E2 1 0 2 1

Link 2 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 3 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 4 4 5 6 local

Routing Table

Page 48: Lezione 6: Routing Gerarchico

Esempio OSPF (3/3)

A B C

D E

3

2

5

xxxx

6

4

A LinkMetric

1Inf B Link

Metric1

Inf

DatabaseTopologico

Da A link

A B 1

A D 3

B C 2

B E 4

D E 6

E C 5

Dist

Inf

1

1

1

1

1

ADestinazione

DistanzaA B C D E0 3 3 1 2

Link local 3 3 3 3

BDestinazione

DistanzaA B C D E3 0 1 2 1

Link 4 local 2 4 4

CDestinazione

DistanzaA B C D E3 1 0 2 1

Link 5 2 local 5 5

DDestinazione

DistanzaA B C D E1 2 2 0 1

Link 3 6 6 local 6

EDestinazione

DistanzaA B C D E2 1 1 1 0

Link 6 4 5 6 local

Routing Table

Page 49: Lezione 6: Routing Gerarchico

Exterior Gateway Protocol (EGP)

Gli EGP sono i protocolli che vengono utilizzati

nella comunicazione tra i router di confine tra AS.

Devono eseguire quindi sia protocolli di routing

intra-AS che inter-AS

Page 50: Lezione 6: Routing Gerarchico

Exterior Gateway Protocol (EGP)

Page 51: Lezione 6: Routing Gerarchico

Exterior Gateway Protocol (EGP)

Page 52: Lezione 6: Routing Gerarchico

Limiti degli IGP come EGP• Come già detto, gli algoritmi d’instradamento e i

relativi IGP non sono adatti per essere applicati come EGP, in quanto:

– nei protocolli del tipo RIP• Si assume che tutti i router utilizzino la stessa metrica;

questa condizione non è garantita tra AS diversi;• non ci sono indicazioni dei router intermedi lungo il

cammino; in un ambiente inter-AS ci possono essere dei transiti privilegiati e dei transiti proibiti;

– nei protocolli del tipo OSPF• AS diversi possono utilizzare metriche diverse;• la modalità a “inondazione” è inapplicabile tra AS diversi.

Page 53: Lezione 6: Routing Gerarchico

protocollo EGP

• EGP è stato il primo protocollo di tipo EGP (da cui prende il nome) nato negli anni 80. Oggi non è più utilizzato per la sua lentezza e perché non supporta cammini alternativi.

• È stato completamente sostituito da BGP, nel 1989, che è diventato lo standard degli EGP

Page 54: Lezione 6: Routing Gerarchico

protocollo BGP (1/4)

Nei protocolli EGP, come è BGP (Border GatewayProtocol), si usa l’instradamento a “Vettore dipercorso” (path-vector routing).

• La tecnica PATH VECTOR è una variante del Distance Vector che permette la memorizzazione dell'intero percorso tra gli AS.

Page 55: Lezione 6: Routing Gerarchico

protocollo BGP (2/4)

Nel path vector i nodi si scambiano informazioni suipercorsi anziché sui costi:

– il vettore che ogni router manda ai vicini contiene l’intero cammino che il pacchetto deve seguire– Ogni nodo applica le proprie regole

Ogni entry nella routing table contiene:

la rete di destinazione il next hop il percorso per arrivare a destinazione

Page 56: Lezione 6: Routing Gerarchico

Ogni AS segnala il suo percorso preferenziale per raggiungere D (le freccieindicano il percorso della segnalazione). Adesempio quando il nodo B riceve le duesegnalazioni CD ed ED seleziona tra questequella che reputa migliore (ad esempio CD) e informa i ruoter successivi sul suopercorso preferenziale verso D (ovveroBCD). La selezione del percorso avvienesulla base di regole locali definite su ogni AS(esempio evitare il nodo E perchè lento edinaffidabile, dare precedenza ai percorsi più brevi, etc.).

protocollo BGP (3/4)

Esempio: Vediamo un esempio di applicazione dell’algoritmo “Path vector”. Obiettivo è trovare il percorso migliore per raggiungere l’AS D.

Page 57: Lezione 6: Routing Gerarchico

Si utilizzano quindi solo informazioni di raggiungibilità: si determina la lista degli AS che devono essere attraversati per raggiungere una particolare rete lungo un particolare cammino;

L’instradamento terrà conto di eventuali preferenze per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.).

Inoltre:• I router che supportano BGP si chiamano BGP Speaker e non

necessariamente sono border router. Permettono di scambiarsi informazioni di raggiungibilità tra AS diversi.

• Supportano il meccanismo di indirizzamento CIDR.• Lo scambio di messaggi BGP è supportato da connessioni TCP sulla

porta 179.• La versione più recente è BGP-4.

protocollo BGP (4/4)

Page 58: Lezione 6: Routing Gerarchico

Esempio di applicazione BGP (1/3)

BGPrelationship

R6

R8

R7

SubNet 2.1

SubNet 2.3

SubNet 2.4

AS 2

SubNet 2.2R5

R3

SubNet 1.2

SubNet 1.3

SubNet 1.4

R2

R4 R1

AS 1

SubNet 3.3

AS 3R10

R11SubNet 3.2

R9

SubNet 1.1

SubNet 3.1

Page 59: Lezione 6: Routing Gerarchico

Esempio di applicazione BGP (2/3)• I router R1, R5 e R9 sono rispettivamente i BGP speaker

degli AS1, AS2 e AS3.• I router R1, R5 e R9 implementano anche un protocollo

IGP (es. OSPF) e quindi conoscono la struttura interna dei propri AS.

• Il router R1 emette un messaggio BGP verso R5 con:– l’identità di AS1;– l’indirizzo IP di R1;– la lista delle sottoreti di AS1.

• R5 memorizza che le reti di AS1 sono raggiungibili tramite R1.

Page 60: Lezione 6: Routing Gerarchico

Esempio di applicazione BGP (3/3)• R5 emette un messaggio BGP verso R9 contenente:

– le identità di AS1 e AS2;– l’indirizzo IP di R5;– la lista delle sottoreti di AS1.

• Il messaggio avverte R9 che le reti di AS1 sono raggiungibili tramite il router R5 e che nel cammino sono attraversati sia AS2 che AS1.

• A sua volta R9 invia, verso i router appartenenti a AS adiacenti, un messaggio BGP contenente:

– le identità di AS1, AS2 e AS3;– l’indirizzo IP di R9;– la lista delle sottoreti di AS1.

• In questo modo le informazioni di raggiungibilità si propagheranno di router in router attraverso tutta la rete.