INSTRADAMENTO INSTRADAMENTO
IN INTERNET IN INTERNET
Micolucci Marianna n.matr. 3028856 Univ. “G. D’ Annunzio”
Corso di “reti di calcolatori e sicurezza”
Prof. Bistarelli
2004/2005 CLEIS
Sommario Sommario
Cos’è un AS Cos’è un AS
Algoritmi di instradamento intra AS (rip e Algoritmi di instradamento intra AS (rip e ospf)
ospf)
Algoritmi di instradamento inter AS (bgp) Algoritmi di instradamento inter AS (bgp)
Perché protocolli diversi Perché protocolli diversi
Protocolli di instradamento Protocolli di instradamento
Funzione: determinare il percorso seguito da Funzione: determinare il percorso seguito da un datagram dalla sorgente alla destinazione un datagram dalla sorgente alla destinazione 2 macroclassi :
2 macroclassi :
protocolli all’interno di un AS (Rip, Ospf) protocolli all’interno di un AS (Rip, Ospf)
protocolli tra AS multipli (Bgp) protocolli tra AS multipli (Bgp)
Sistema Autonomo : AS Sistema Autonomo : AS
I router vengono aggregati in regioni:
I router vengono aggregati in regioni:
Un AS è
Un AS è insieme di routers sotto un'unica insieme di routers sotto un'unica
amministrazione tecnica (sotto il controllo di un amministrazione tecnica (sotto il controllo di un
unico ente) unico ente) . .
Un "AS“ gestisce una propria "politica di routing"
Un "AS“ gestisce una propria "politica di routing"
Ogni AS avrà uno o più router responsabili di Ogni AS avrà uno o più router responsabili di instradare I pacchetti all’ esterno ( Exterior instradare I pacchetti all’ esterno ( Exterior
Router Gateway)
Router Gateway)
a
b b
a a
C
A
B d
A.a
A.c
C.b B.a
c
b c
Instradamento inter-AS e intra AS nel gateway A.c
A.a, A.c, B.a, C.b sono router gareway
Porzione del percorso che usa il protocollo inter-AS
Porzione del percorso che usa il protocollo intra-AS
RIP: Routing Information Protocol RIP: Routing Information Protocol
Protocollo Distance Vector le (informazioni Protocollo Distance Vector le (informazioni sono vettori di percorsi invece che
sono vettori di percorsi invece che distanze)
distanze)
Link a costo 1 Link a costo 1
Max percorso=15 Max percorso=15
Scambio tabelle di instradamento (30 sec.) Scambio tabelle di instradamento (30 sec.)
Messaggio di replica del RIP (Avvisi)
Il router inoltre può:
Il router inoltre può:
Modificare la sua Modificare la sua
tabella locale di rilancio tabella locale di rilancio
(es. dopo 180 sec non (es. dopo 180 sec non ha notizie da un vicino) ha notizie da un vicino)
Propagare informazione Propagare informazione
ai vicini ai vicini
Richiedere Richiedere
informazioni sul costo informazioni sul costo
dei vicini verso una dei vicini verso una
destinazione destinazione
messaggio di richiesta
messaggio di richiesta
Command : può avere due valori (1 Command : può avere due valori (1 se è un messaggio di richiesta o 2 se se è un messaggio di richiesta o 2 se è messaggio di aggiornamento).
è messaggio di aggiornamento).
Version : per indicare la versione del Version : per indicare la versione del protocollo.
protocollo.
Address Family Identifier : è Address Family Identifier : è
sempre uguale a 2 per il protocollo sempre uguale a 2 per il protocollo IP IP
IP Address : è l' indirizzo di IP Address : è l' indirizzo di
destinazione può essere una rete o destinazione può essere una rete o una sottorete
una sottorete
Metric : è l' hop count e puo' Metric : è l' hop count e puo'
assumere un valore compreso tra 1 e assumere un valore compreso tra 1 e 16. 16.
Campo Zeros Fornisce la Campo Zeros Fornisce la
compatibilità verso protocolli compatibilità verso protocolli
precedenti, inoltre può essere usato precedenti, inoltre può essere usato per riservare spazio per utilizzi
per riservare spazio per utilizzi futuri.
futuri.
Tutti i campi sono espressi come Tutti i campi sono espressi come interi a 32 bit che vengono trasmessi interi a 32 bit che vengono trasmessi in ordine di rete, ossia prima il byte in ordine di rete, ossia prima il byte piu' significativo.
piu' significativo.
Address family Address family Identifier Identifier
IP address IP address
Must be zero Must be zero Must be zero Must be zero
Metric Metric
Pacchetto RIP
command Version
(=1) Must be zero
Must be zero
RIP: come funziona RIP: come funziona
Rete di destinaz. Router successivo N.hop verso la dest.
w A 2
y B 2
z B 7
x -- 1
…. …. ....
w x y
z
A
C
D B
Rotabella di routing di D
... .
RIP: come funziona RIP: come funziona
Rete di destinazione Router successivo N.di hop verso la dest.
w A 2
y B 2
z B A 7 5
x -- 1
…. …. ....
Tabella di routing di D dopo l’ avviso di A
w x y
z
A
C
D B
Dest Succ. N.hops w - -
x - - z C 4 …. … ...
Avviso dal router A
Cosa succede ai vari livelli?
Cosa succede ai vari livelli?
Udp porta 520 Udp porta 520
RIP è un protocollo dello strato dell’ RIP è un protocollo dello strato dell’
applicazione che funziona su UDP applicazione che funziona su UDP
Fisico
Collegamento
rete tabelle di (IP) rilancio Trasporto
(UDP)
routed
Fisico Collegamento (IP) Rete Trasporto (UDP) routed
Tabelle di
rilancio
OSPF: Open Shortest Path First OSPF: Open Shortest Path First
Protocollo basato sullo stato dei link Protocollo basato sullo stato dei link
Suddivisione della rete in parti indipendenti Suddivisione della rete in parti indipendenti (aree) connesse attraverso la “backbone”
(aree) connesse attraverso la “backbone”
ciascun router mantiene lo stesso database realizzato mediante lo scambio di messaggi LSA e calcola il cammino minimo da sé, verso ogni altro router
appartenete alla medesima area, incluso il router che è connesso alla backbone
Il costo del protocollo è proporzionale al formato dell’ area e non
della rete
Miglioramenti di OSPF Miglioramenti di OSPF
Sicurezza Sicurezza
Percorsi multipli con lo stesso costo Percorsi multipli con lo stesso costo
Supporto per instradamento Multicast e Supporto per instradamento Multicast e unicast
unicast
Supporto della gerarchia all’ interno del Supporto della gerarchia all’ interno del dominio di un singolo router
dominio di un singolo router
Un AS OSPF può essere configurato in aree:
Sono all’ esterno della
backbone ed eseguono solo l’ instradamento intra AS
ABR:Appartengono sia ad un area che alla backbone, almeno uno per ogni area
Eseguono l’ instradamento entro la backbone ma non sono router di bordo area ASBR: Scambia
informazioni di
instradamento con
router di altri AS
I router OSPF della stessa area condividono un database composto I router OSPF della stessa area condividono un database composto
di record link state (LS).
di record link state (LS).
4 tipi con header comune:
4 tipi con header comune:
router, rete, sommario per rete ip, sommario per router di confine, router, rete, sommario per rete ip, sommario per router di confine,
esterno esterno
Link_State_ID: identificativo dell’LSA scelto dall’Advertising Router, ma il significato preciso può variare a seconda di Type
Advertising Router: uno degli indirizzi IP del router (quello
selezionato come OSPF_ROUTER_ID) Sequence number: puo' variare tra 1-N e N-2, dove N = 231. Quando un router invia il primo LSA, il numero di sequenza sara' il numero negativo 1-N;
questo numero verra' regolarmente incrementato per i successivi LSA.
Lenght: la totale lunghezza del
ROUTER LINK ROUTER LINK ADVERTISEMENT ADVERTISEMENT
Riporta informazioni su tutti i router adiacenti e Riporta informazioni su tutti i router adiacenti e le LAN cllegate
le LAN cllegate
Propagato solo all’ interno dell’ area Propagato solo all’ interno dell’ area
E: se il router è un Area Border Router (External)
B: se il router è un AS Boundary Router
(Border)
NETWORK LINK ADVERTISEMNT NETWORK LINK ADVERTISEMNT
Generato dal Designed routered elenca tutti i Generato dal Designed routered elenca tutti i router presenti sulla LAN
router presenti sulla LAN
Network Mask: Netmask della rete di transito
Attached Router:
Indirizzo IP di tutti i router che vi si affacciano sulla LAN Link_State_ID
(dell’header LSA): è il corrispondente indirizzo IP dell’interfaccia del
Designated Router collegata
NETWORK SUMMARY LINK NETWORK SUMMARY LINK
ADVERTISEMENT ADVERTISEMENT
Generato da un area border router (diversi Generato da un area border router (diversi rispetto ad ogni area con cui è collegato) rispetto ad ogni area con cui è collegato)
E’ usato dagli ABR per riassumere e E’ usato dagli ABR per riassumere e propagare informazioni su un’ area.
propagare informazioni su un’ area.
EXTERNAL LINK EXTERNAL LINK
Riportano le informazioni Riportano le informazioni relative a destinazioni
relative a destinazioni esterne al dominio esterne al dominio
Sono generati dagli AS Sono generati dagli AS Border Router e vengono Border Router e vengono
propagati a tutti i router propagati a tutti i router
del dominio OSPF.
del dominio OSPF.
Comprendono una Comprendono una destinazione per LSA destinazione per LSA
(come i Summary Links).
(come i Summary Links).
Campo LS Type = 5 Campo LS Type = 5
I PROTOCOLLI IN OSPF I PROTOCOLLI IN OSPF
Hello Exchange Hello Exchange
Flooding Flooding
• Version: Indica la corrente versione di
• Type: il tipo di pacchetto OSPF 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 Un valore 0 identifica il backbone.
• Checksum: calcolato sull'intero pacchetto
• Authentication Type: Identifica l'algoritmo di identificazione
0: No authentication 1: Simple authentication
2: Cryptographic authentication
IL PROTOCOLLO "HELLO”
IL PROTOCOLLO "HELLO”
Verifica l’ operatività dei link Verifica l’ operatività dei link
viene trasmesso tra nodi vicini e mai propagato viene trasmesso tra nodi vicini e mai propagato
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 E: (router è in grado di inviare e ricevere route
esterne) T(il router è in grado di gestire il routing TOS) Priority: serve per l’elezione del Designed Router e viene settato da management.
Dead_Interval: intervallo di tempo di validità dei pacchetti di Hello ricevuti. DR, BDR: indirizzo del Designated Router
Neighbor: lista di router_ID da cui è stato ricevuto il
pacchetto di Hello negli ultimi Dead_Interval secondi
IL link è dichiarato operativo se i pacchetti possono
scorrere in entrambe le direzioni ed entrambi i router
Il Protocollo Exchange Il Protocollo Exchange
Quando due routers OSPF stabiliscono la Quando due routers OSPF stabiliscono la
connessione su di un link punto a punto, devono connessione su di un link punto a punto, devono
sincronizzare i propri database sincronizzare i propri database
La sincronizzazione iniziale avviene tramite il La sincronizzazione iniziale avviene tramite il
protocollo "exchange"; di seguito sara' il protocollo protocollo "exchange"; di seguito sara' il protocollo
flooding ad occuparsi di mantenere sincronizzati i flooding ad occuparsi di mantenere sincronizzati i
database.
database.
Il protocollo Exchange e' asimmetrico; il primo step Il protocollo Exchange e' asimmetrico; il primo step del protocollo consiste nel selezionare un "master"
del protocollo consiste nel selezionare un "master"
e uno "slave" e solo di seguito i due routers si e uno "slave" e solo di seguito i due routers si
scambieranno la descrizione dei propri database
scambieranno la descrizione dei propri database
Il router che vuole iniziare la procedura emette un Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description e l’ altro pacchetto vuoto "Database Description e l’ altro
router risponde emettendo un pacchetto DD di router risponde emettendo un pacchetto DD di
"Acknowledgment“.
"Acknowledgment“.
Il primo router può quindi iniziare ad inviare le Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute
descrizioni da lui possedute
IL PROTOCOLLO "FLOODING"
IL PROTOCOLLO "FLOODING"
Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete il Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete il nuovo stato di un link.
nuovo stato di un link.
Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel caso di:
caso di:
un cambiamento di stato del link un cambiamento di stato del link
allo scadere di un timer (normalmente 60 min) allo scadere di un timer (normalmente 60 min)
Il pacchetto "Link State Update", che caratterizza il campo "Type" dell'header comune con il Il pacchetto "Link State Update", che caratterizza il campo "Type" dell'header comune con il valore 4
valore 4
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
BGP: border gateway protocol BGP: border gateway protocol
protocollo di instradamento inter AS protocollo di instradamento inter AS
Comunicazione solo tra router confinanti Comunicazione solo tra router confinanti (Pari BGP)
(Pari BGP)
Scambio di informazioni sui percorsi Scambio di informazioni sui percorsi
Indirizzamento verso reti Indirizzamento verso reti
AS identificati da un numero (ASN) AS identificati da un numero (ASN)
Scambi di annunci Scambi di annunci
Ogni router di frontiera rappresenta le Ogni router di frontiera rappresenta le destinazioni interne come se fossero destinazioni interne come se fossero
locali
locali
Annuncio BGP Annuncio BGP
inviati da pari a pari con una connessione punto inviati da pari a pari con una connessione punto
punto punto
Contiene indirizzo di rete di destinazione Contiene indirizzo di rete di destinazione
attributi attributi
Protocollo tcp porta 179
Le informazioni possono essere scambiate tra due AS solo se una sessione peering è Le informazioni possono essere scambiate tra due AS solo se una sessione peering è attiva
attiva
La sessione peering è una connessione TCP tra i due AS
La sessione peering è una connessione TCP tra i due AS
attività del BGP attività del BGP
Ricezione di annunci sui percorsi da parte dei vicini Ricezione di annunci sui percorsi da parte dei vicini attaccati
attaccati
Filtraggio: gli annunci possono essere filtrati sulla base di: Filtraggio: gli annunci possono essere filtrati sulla base di:
Una lista di prefissi validi Una lista di prefissi validi