Scarica Protocollo IP e indirizzamento dei pacchetti e più Dispense in PDF di Reti Di Telecomunicazioni solo su Docsity!
Algoritmi e protocolli di routing
Corso di Reti di Telecomunicazione
a.a. 2013/
- Ingegneria Elettronica e delle Telecomunicazioni –
Ingegneria Informatica e dell’Automazione -
Ing. G. Boggia
Algoritmi di routing: Tassonomia
Senza
Tabella
Gerarchico
Con Tabella
Source
Routing
Flooding
Random
Dinamico Statico
Link State
Distance
Vector
Metriche per il costo dei path
- Si possono utlizzare diverse metriche per definire il costo dei percorsi (path)
verso una data destinazione
- Bandwidth: la capacità di un link (es. generalmente un link a 10 Mbps è preferibile rispetto ad una linea a 64 kbps)
- Delay: il tempo necessario ad ogni pacchetto per andare dalla sorgente alla destinazione
- Load: il carico di lavoro degli elementi della rete come i router o i link
- Reliability: l’affidabilità è generalmente riferita al tasso di errore di ogni singolo link
- Hop count: il numero di router che un pacchetto deve attraversare per raggiungere la destinazione
- Ticks: il ritardo un un collegamento dati in multipli di un IBM PC clock tick (approssimativamente 55 ms)
- Cost: un valore arbitrario, generalmente basato sulla banda, sul costo economico di un link, o su altre misure stabilite dall’amministratore di rete Delay Bandwidth Reliability Load Hop Count Metriche per il Routing
Operazioni svolte da un router
- Ricerca nella routing table una entry con lo stesso indirizzo di rete del destinatario del datagram ricevuto
- Se la entry corrisponde ad una rete direttamente connessa al router allora viene individuata la sottorete e poi il datagram è inoltrato
- Se la entry corrisponde ad una rete remota il datagram è inoltrato (forwarding)
- Se nessuna entry è trovata allora viene utilizzato il default route
Instradamento gerarchico in Internet
- L’insieme di router amministrati dallo stesso gestore è definito
Autonomous System (AS)
- Si distinguono algoritmi di routing intra ed inter AS
- RIP : Routing Information Protocol
- OSPF : Open Short Path First
- BGP : Border Gateway Protocol exterior routing protocol (inter AS): BGP interior routing protocol Autonomous System (intra AS): RIP, OSPF, ecc. Autonomous System
Distance Vector
- Ogni router invia, periodicamente o quando c’è un cambiamento topologico, il
distance vector (informazioni della propria tabella di routing riguardo i nodi
conosciuti e le relative distanze)
- I router scelgono la strada migliore confrontando i distance vector ricevuti
- Ogni router non conosce l’intera topologia Distance Vector Distance Vector Distance Vector Distance Vector Distance Vector Distance Vector Distance Vector Distance Vector
Soluzioni
- La definizione di un massimo blocca il “Counting to infinity”
- Per evitare i loop si può usare
Ø Split horizon: non si inviano informazioni su una destinazione (“route”)
all’indietro verso la porta da cui l’informazione è giunta
Ø Split horizon with poisoned reverse: le destinazioni (“route”) vengono
annunciate con metrica “infinity” sulla rete su cui si trova il loro next hop se
apprese da quest’ultimo
Ø Trigger Update: gli aggiornamenti delle tabelle di routing sono inviate ogni
qualvolta vi è un cambiamento topologico e non solo allo scadere del route
timer
Ø Una rete dichiarata irraggiungibile è considerata tale (la sua entry è
eliminata) solo allo scadere di un hold-down timer
Routing Information Protocol (RIP)
- È adatto a reti di piccole dimensioni
- È un protocollo di routing di tipo Distance Vector
- Usa come metrica gli hop count
- Il valore massimo è 15 ; il valore 16 indica rete irraggiungibile (per evitare il counting to infinity)
- Ne esistono 2 versioni; la seconda cambia il formato dei pacchetti
- Ogni router comunica lo stato della propria tabella di distanze ai router direttamente raggiungibili (routing update ogni 30 s o ad ogni cambiamento topologico; hold-down timer pari a 120 s)
Processo di routing update in RIP Ricezione Routing Update Elaborazione di una Route, Metrica = min{Metrica +1, 16} C’è una entry per la stessa rete da raggiungere indicata nella route? Metrica= Inserisce la route in nuova entry Metrica dell’update inferiore a quella della entry? Next hop diverso? Metrica uguale aggiorna entry avvia cancellazione entry aggiorna entry Next hop uguale sostituisce route Azzera route timer elaborata ultima route? Fine Inizio Metrica= NO SI SI NO SI NO NO SI NO SI SI (^) NO NO SI NO SI
Open Shortest Path First (OSPF)
- Ogni nodo conosce la topologia della rete (Instradamento Link State)
- Possono essere utilizzate molteplici metriche per ognuno dei servizi previsti dal campo ToS del protocollo IP: - Banda Disponibile - Affidabilità - Ritardo - ecc.
- Il miglior percorso è determinato con l’algoritmo di Dijkstra
- Maggiore complessità e necessità di conoscenza approfondita del protocollo
- Ogni AS è diviso in aree ognuna definita da 4 ottetti (struttura gerarchica)
- OSPF opera in maniera indipendente in ogni area
- Limitando la dimensione delle aree e i messaggi tra aree, OSPF è altamente scalabile
- Ogni router ha un suo router ID incluso negli Hello packet inviati periodicamente su tutte le interfacce (in LAN si usa un indirizzo multicast riservato: 224.0.0.5)
Propagazione LSA
- I pacchetti tra due diverse aree transitano sempre per la backbone area
- Le informazioni di routing di un’area sono diffuse sulla backbone area dagli area border router e sono propagate fino a raggiungere gli altri area border router
- La backbone area deve avere alta affidabilità e buone prestazioni
- Con pochi router conviene avere una sola area
- I router conoscono con dettaglio solo la topologia della propria area
- Tutte le destinazioni delle altre aree sono viste collegate agli area border router che ne annunciano la presenza
- Ogni area border router partecipa allo scambio di LSA nelle aree cui appartiene e ha tante basi dati di informazioni toologiche, una per ogni area di appartenenza
- Se su una LAN si affacciano più router, solo uno di essi diventa designated e propaga gli LSA. Tale router riceve gli LSA sulla LAN e li trasmette in multicast a tutti gli altri router OSPF sulla LAN.
- La ricezione degli LSA può essere confermata con pacchetti di ACK
- Per ridurre l’overhead da segnalazione, il LSP è inviato solo quando si ha un effettivo cambiamento dello stato dei link, oppure almeno ogni 30 minuti
Pacchetti OSPF
- I pacchetti OSPF sono direttamente incapsulati in pacchetti IP (prot. type 0x59)
- L’autenticazione può essere basata su una password in possesso dei router che comunicano o su meccanismi più complessi di cifratura
- Più LSA sono contenuti in un singolo Link State Packet
- Le basi dati dei router OSPF devono essere sincronizzate version packet type (^) Packet Lenght Checksum Auth. Type Router ID (IP address) Area ID Authentication Data
- Ci sono tre tipi di LSP Ø Link state request: richiesta invio di uno o più LSA Ø Link state update: insieme di LSA inviati su un link generati dal router che emette il LSP o da altri router Ø Link state acknowledgement: avvenuta ricezione di un certo insieme di LSA
- Ci sono cinque tipi di LSA Ø Router LSA: informazioni sui router adiacenti a chi genera il LSA Ø Network LSA: generato dai designated router per descrivere la LAN cui il designated è collegato Ø Summary LSA: generati dagli area border router per comunicare la raggiungibilità delle altre aree ai router interni Ø AS boundary router LSA: generati dagli area border router per annunciare la raggiungibilità di un AS boundary router Ø AS external LSA: generati da un AS boundary router per annunciare destinazioni esterne al dominio di routing.
- Un LSA “vecchio” (in genere 1 ora) viene rimosso dalla base dati
- Il Link state ID identifica l’elemento di rete di cui quello specifico LSA porta informazioni (dipende dal tipo di LSA)
- L’Advertising router è l’identificativo di chi ha generato il LSA Link state age options Advertising router Link state ID Link State sequence number Link state checksum Lenght Link state Data Link state type
Principi generali di funzionamento del BGP (1)
- Coppie di router (peer BGP router) si scambiano le informazioni di
instradamento usando una connessione TCP (porta 179)
- Anche router interni di uno stesso AS possono partecipare allo scambio di
informazioni BGP
- Se i router sono interni ad uno stesso AS, si parla di Interior BGP Session
- Se i router appartengono a due differenti AS, si parla di Exterior BGP Session
- Il router di frontiera invia messaggi di open per indicare la sua disponibilità allo
scambio di tabelle di routing
- La richiesta può essere accettata o rifiutata (sulla base degli accordi stipulati) Peer BGP Router Peer BGP Router ext. BGP Session
Principi generali di funzionamento del BGP (2)
- Ogni AS ha un identificativo unico ( ASN, Autonomous System Number )
- La tabella di instradamento contiene, per ogni rete raggiungibile, la sequenza
di AS da attraversare (approccio path vector )
- Ogni router annuncia le diverse reti ( prefissi ) utilizzando l’indirizzamento
CIDR ed, eventualmente, aggregando insieme gli indirizzi
- L’annuncio dei router BGP, detto rotta ( route ), contiene i prefissi e gli attributi
BGP
- Attributi importanti sono
- AS-PATH : elenco degli AS attraverso cui è passato l’annuncio di quel particolare prefisso
- NEXT-HOP : scelta del nodo successivo nel caso vi siano più rotte per uno stesso prefisso
- Un router può accettare o meno gli annunci che gli giungono in base alle sue
policy
- Tra le diverse rotte si sceglie quella con AS-PATH più breve; in caso di rotte
con stesso costo, si sceglie quella con NEXT-HOP più vicino; in ultima istanza
ci si basa sugli altri attributi in relazione alla policy adottata