390 likes | 545 Views
Univ. “G. D’ Annunzio” Corso di “reti di calcolatori e sicurezza” Prof. Bistarelli 2004/2005 CLEIS. INSTRADAMENTO IN INTERNET. Micolucci Marianna n.matr. 3028856. Sommario. Cos’è un AS Algoritmi di instradamento intra AS (rip e ospf) Algoritmi di instradamento inter AS (bgp)
E N D
Univ. “G. D’ Annunzio” Corso di “reti di calcolatori e sicurezza” Prof. Bistarelli 2004/2005 CLEIS INSTRADAMENTO IN INTERNET Micolucci Marianna n.matr. 3028856
Sommario • Cos’è un AS • Algoritmi di instradamento intra AS (rip e ospf) • Algoritmi di instradamento inter AS (bgp) • Perché protocolli diversi
Protocolli di instradamento • Funzione: determinare il percorso seguito da un datagram dalla sorgente alla destinazione • 2 macroclassi : • protocolli all’interno di un AS (Rip, Ospf) • protocolli tra AS multipli (Bgp)
Sistema Autonomo : AS I router vengono aggregati in regioni: Un AS è insieme di routers sotto un'unica amministrazione tecnica (sotto il controllo di un unico ente). Un "AS“ gestisce una propria "politica di routing" Ogni AS avrà uno o più router responsabili di instradare I pacchetti all’ esterno ( Exterior Router Gateway)
c b b a c A.a A.c C.b B.a 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 b a a C B d A Instradamento inter-AS e intra AS nel gateway A.c
RIP: Routing Information Protocol • Protocollo Distance Vector le (informazioni sono vettori di percorsi invece che distanze) • Link a costo 1 • Max percorso=15 • Scambio tabelle di instradamento (30 sec.) Messaggio di replica del RIP (Avvisi)
Il router inoltre può: • Modificare la sua tabella locale di rilancio (es. dopo 180 sec non ha notizie da un vicino) Propagare informazione ai vicini • Richiedere informazioni sul costo dei vicini verso una destinazione messaggio di richiesta
Pacchetto RIP Version (=1) command • Command : può avere due valori (1 se è un messaggio di richiesta o 2 se è messaggio di aggiornamento). • Version : per indicare la versione del protocollo. • Address Family Identifier : è sempre uguale a 2 per il protocollo IP • IP Address : è l' indirizzo di destinazione può essere una rete o una sottorete • Metric : è l' hop count e puo' assumere un valore compreso tra 1 e 16. • Campo Zeros Fornisce la compatibilità verso protocolli precedenti, inoltre può essere usato per riservare spazio per utilizzi futuri. • Tutti i campi sono espressi come interi a 32 bit che vengono trasmessi in ordine di rete, ossia prima il byte piu' significativo. Must be zero Must be zero
RIP: come funziona z .... w x y A D B C Rete di destinaz. Router successivo N.hop verso la dest. w A 2 y B 2 z B 7 x -- 1 …. …. .... Rotabella di routing di D
RIP: come funziona z w x y A D B C Dest Succ. N.hops w - - x - - z C 4 …. … ... Avviso dal router A 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
routed routed Cosa succede ai vari livelli? • Udp porta 520 • RIP è un protocollo dello strato dell’ applicazione che funziona su UDP Trasporto (UDP) Trasporto (UDP) rete tabelle di (IP) rilancio Rete (IP) Tabelle di rilancio Collegamento Collegamento Fisico Fisico
OSPF: Open Shortest Path First • Protocollo basato sullo stato dei link • Suddivisione della rete in parti indipendenti (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 • Sicurezza • Percorsi multipli con lo stesso costo • Supporto per instradamento Multicast e unicast • Supporto della gerarchia all’ interno del dominio di un singolo router
Un AS OSPF può essere configurato in aree: ASBR: Scambia informazioni di instradamento con router di altri AS Eseguono l’ instradamento entro la backbone ma non sono router di bordo area 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
I router OSPF della stessa area condividono un database composto di record link state (LS). 4 tipi con header comune: router, rete, sommario per rete ip, sommario per router di confine, 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 record, inclusi i 20 bytes dell'header
ROUTER LINK ADVERTISEMENT • Riporta informazioni su tutti i router adiacenti e le LAN cllegate • 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 • Generato dal Designed routered elenca tutti i 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 alla rete di transito
NETWORK SUMMARY LINK ADVERTISEMENT • Generato da un area border router (diversi rispetto ad ogni area con cui è collegato) • E’ usato dagli ABR per riassumere e propagare informazioni su un’ area.
EXTERNAL LINK • Riportano le informazioni relative a destinazioni esterne al dominio • Sono generati dagli AS Border Router e vengono propagati a tutti i router del dominio OSPF. • Comprendono una destinazione per LSA (come i Summary Links). • Campo LS Type = 5
I PROTOCOLLI IN OSPF • Version: Indica la corrente versione di OSPF • 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 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 Hello Exchange Flooding
IL PROTOCOLLO "HELLO” • Verifica l’ operatività dei link • 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 hanno lo stesso valore del bit E.
Il Protocollo Exchange • Quando due routers OSPF stabiliscono la connessione su di un link punto a punto, devono sincronizzare i propri database • La sincronizzazione iniziale avviene tramite il protocollo "exchange"; di seguito sara' il protocollo flooding ad occuparsi di mantenere sincronizzati i database. • Il protocollo Exchange e' asimmetrico; il primo step del protocollo consiste nel selezionare un "master" e uno "slave" e solo di seguito i due routers si scambieranno la descrizione dei propri database
Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description e l’ altro router risponde emettendo un pacchetto DD di "Acknowledgment“. • Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute
IL 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 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 protocolprotocollo di instradamento inter AS • Comunicazione solo tra router confinanti (Pari BGP) • Scambio di informazioni sui percorsi • Indirizzamento verso reti • AS identificati da un numero (ASN) • Scambi di annunci
Ogni router di frontiera rappresenta le destinazioni interne come se fossero locali
Annuncio BGPinviati da pari a pari con una connessione punto punto Contiene indirizzo di rete di destinazione attributi Protocollo tcp porta 179 Le informazioni possono essere scambiate tra due AS solo se una sessione peering è attiva La sessione peering è una connessione TCP tra i due AS
attività del BGP • Ricezione di annunci sui percorsi da parte dei vicini attaccati • Filtraggio: gli annunci possono essere filtrati sulla base di: • Una lista di prefissi validi • Una lista di numeri di AS • Selezione del percorso secondo la politica di instradamento (accordi commerciali, questioni legali, preferenze locali) • Invio di annunci sui percorsi ai vicini
I percorsi vengono immagazzinati nel RIB (informazioni base di routing suddiviso come segue: • ADJ-RIB-IN : contiene tutti i percorsi appresi da messaggi UPDATE, che vengono dati in input al processo decisionale. • LOC-RIB : contiene le informazioni di routing locale, cioè all'interno dell'AS, che il BGP speaker ha selezionato in base alla politica locale che viene stabilita dall'amministratore. • ADJ-RIB-OUT : contiene le informazioni di routing che il BGP speaker locale ha selezionato e che sono annunciate ai suoi interlocutori (peers).
Intestazione messaggi BGP • Precede ogni messaggio BGP ed identifica il tipo di messaggio • Marker (16 byte): scelto in accordo tra le due parti per sincronizzare i messaggi. Questa funzione non è fornita da TCP • Length (2 byte): lunghezza del messaggio tra 19 e 4096 byte • Type: tipo di messaggio BGP
Tipologie di messaggi BGP • OPEN: permette di stabilire un contatto con un pari • UPDATE: per annunciare un percorso verso una data destinazione • KEEPALIVE:per far conoscere ad un pari che il sender è attivo • NOTIFICATION: quando viene rilevato un errore
OPEN • Utilizzato per aprire una connessione peer • Il campo Hold specifica il massimo numero di secondi tra due messaggi successivi • Un router bgp è caratterizzato dall’asn e da un indentificatore unico a 32 bit che deve usare per tutte le connessioni peering • Parametri opzionali: ad esempio per l’autenticazione
OPEN • Il router destinatario di un messaggio OPEN risponde con un KEEPALIVE • Connessione aperta quando entrambi i router inviano un messaggio OPEN ed un messaggio KEEPALIVE
UPDATE • Announcement = prefix + attributes values • Annuncia nuove reti raggiungibili ed eventualmente l’instradamento • Annuncia reti precedentemente annunciate non più raggiungibili
KEEPALIVE • Verifica periodicamente la connessione TCP tra entità peer • Più efficiente rispetto ad inviare periodicamente messaggi di instradamento • Intervallo KEEPALIVE ogni 1/3 di HOLD time, mai inferiore a 1 sec.
NOTIFICATION • Controllo o segnalazione errori • BGP invia un messaggio di notifica e chiude la connessione TCP • Errori: • Errore nell’intestazione del messaggio • Errore nel messaggio OPEN • Errore nel messaggio UPDATE • Timer di attesa scaduto • Fine (connessione terminata)
Riassumendo il BGP… Due routers BGP neighbors inizialmente si scambieranno le intere routing tables, dopodichè solo le modifiche attraverso messaggi UPDATE. Dopo la connessione il primo messaggio ad essere spedito è quello OPEN che l'interlocutore confermerà con un messaggio KEEPALIVE. I messaggi KEEPALIVE sono trasmessi periodicamente per mantenere attiva la connessione. Il messaggio NOTIFICATION viene trasmesso quando si rileva un errore nella trasmissione o per speciali condizioni.
PERCHE’ DUE TIPI DI PROTOCOLLO ? • Politica • Scala • Prestazioni