Sei sulla pagina 1di 165

Corso Advanced Networking

OBIETTIVI
Lo scopo principale del presente corso quello di fornire conoscenze relative ai protocolli di routing utilizzati nelle odierne reti di trasmissione dati e fornire una panoramica relativa allevoluzione degli stessi. stessi. I prerequisiti minimi richiesti per una buona fruizione del presente corso sono: sono :
Conoscenza del modello di riferimento OSI Conoscenza di base del sistema operativo IOS Cisco Conoscenza di base dello stack TCP/IP Corso propedeutico consigliato: consigliato: Cisco Base Capacit di implementazione di risorse wan (frame(frame-relay pvc,PtP serial links, links,)

Corso advanced networking


Routing

Modello OSI - Protocolli

IPv4 Addressing

IP Addressing Classfull & Classless


Il Classfull addressing (indirizzamento basato sulla classe) prevedeva che dai primi bit di un indirizzo si potesse determinare la maschera di rete. rete. Questa scelta, con il crescere dell'utenza di internet, internet, si rivelata troppo rigida, ed stata abbandonata a favore dell'indirizzamento senza classe (CIDR CIDR) ). CIDR (Classless InterInter-Domain Routing) Routing) un nuovo schema di indirizzamento introdotto nel 1993 per sostituire lo schema classfull secondo il quale tutti gli indirizzi IP appartengono ad una specifica classe (classe A, B e C). C). Questo nuovo schema di indirizzamento consente una migliore gestione degli indirizzi di rete che diventano sempre pi scarsi con il crescere di Internet ed inoltre migliora le prestazioni dell'instradamento IP grazie ad una pi efficiente organizzazione delle tabelle di routing. routing. Permette, in un indirizzo IP, di definire quale parte indichi la rete e quale gli host. host. La notazione usata per esprimere indirizzi CIDR la seguente: seguente: a.b.c.d/x, dove x il numero di bit (contati partendo da sinistra) che compongono la parte di indirizzo della rete. rete. I rimanenti (3232-x) indicano gli host. host.

Autonomous system (AS)

Un sistema autonomo (Autonomous System, AS), in riferimento ai protocolli di routing, routing , un gruppo di router e reti sotto il controllo di una singola e ben definita autorit amministrativa. amministrativa. Un'autorit amministrativa si contraddistingue sia per motivi informatici (specifiche policy di routing), sia per motivi amministrativi. amministrativi. Esempio di sistema autonomo pu essere quello che contraddistingue gli utenti di un unico provider oppure, pi in piccolo, quello che costituisce la rete interna di un'azienda. un'azienda. All'interno di un sistema autonomo i singoli router comunicano tra loro, per scambiarsi informazioni relative alla creazione delle tabelle di instradamento, instradamento, attraverso un protocollo IGP (Interior Gateway Protocol). Protocol). L'interscambio di informazioni tra router appartenenti a sistemi autonomi differenti avviene attraverso un protocollo BGP (Border Gateway Protocol). Protocol).

Che cosa il routing?

Il routing il processo che si occupa di inoltrare pacchetti da un punto della rete ad un altro. altro.

IGP - EGP

Interior Gateway Protocol (IGP) IGP) si riferisce a un protocollo di routing usato all'interno di un sistema autonomo autonomo. . I pi comuni Interior Gateway Protocol usati sono RIP RIP, , OSPF, OSPF, EIGRP e IS IS-IS IS. . Exterior Gateway Protocol (EGP) EGP) si riferisce a un protocollo di routing usato dal sistema autonomo per dialogare con altri sistemi autonomi autonomi. . A questa categoria appartiene il protocollo BGP. BGP .

Quali sono le specifiche del routing?

Specifiche del routing: routing:


- Attivazione del protocollo - Conoscenza della rete di destinazione (esistenza di una rotta nella tabella di routing e disponibilit della stessa) - Conoscenza di uninterfaccia di uscita verso tale destinazione (preferita la metrica pi bassa, a parit di metrica load balancing)

Informazioni di routing

Informazioni necessarie al processo di routing: routing: Principali: Principali :


Indirizzo o rete di destinazione Distanza amministrativa Metrica Protocollo di routing

Altre informazioni: informazioni:


Interfaccia Et dellinformazione In che modo stata appresa linformazione

Distanza Amministrativa (Administrative Distance)

Origine Rotta

La prima informazione necessaria allinstradamento delle informazioni in una rete complessa la misura della bont di una rotta. rotta.

Distanza Amministrativa di default 0 0 1 5 20 90 100 110 115 120 140 170 200

Interfaccia connessa Statica su interfaccia Statica su next hop Rotta summarizzata in EIGRP External BGP Internal EIGRP IGRP

Quando bisogna scegliere una rotta proveniente da diversi protocolli di routing, a parit di annuncio, si deve considera la DISTANZA AMMINISTRATIVA come misura della bont della stessa. stessa.

OSPF IS-IS RIP v1, v2 EGP External EIGRP Internal BGP

METRICA (Definizione)
I protocolli di routing hanno il compito di individuare e mantenere in memoria il singolo percorso migliore verso ogni rete di destinazione. destinazione. La definizione di percorso migliore (best path) verso una destinazione la principale caratteristica che distingue i protocolli di routing; routing; ognuno di essi usa una misura diversa di best path, basandosi su un valore di METRICA, che caratterizza lannuncio di una rotta verso una rete di destinazione da parte dei router. router. Alcuni esempi di metrica sono: sono:
Hop count (ovvero quanti router attraversano i pacchetti prima di giungere a destinazione. destinazione . Es Es: : RIP) Costo (basato sulla banda bandwidth. bandwidth. Es Es: : OSPF) Valore composto da pi parametri. parametri. (Es: (Es: IGRP, EIGRP)

Se la rete di destinazione non connessa ad un router, il percorso verso di essa rappresentato dalla somma dei valori di metrica di tutti i link che il percorso attraversa. attraversa.

Routing Statico
Routing Statico: Statico:
Le informazioni di routing sono inserite manualmente nella tabella di routing: routing:
Esempio: Esempio :

ip route 172. 172.17. 17.23. 23.0 255 255. .255 255. .255 255. .0 172 172. .17. 17.1.3

Rete di Destinazione

Subnet Mask

Next Hop

LIP 172. 172.17 17. .1.3 sar quindi il prossimo apparato(Hop) (o interfaccia) che i pacchetti, indirizzati alla rete 172 172. .17 17. .23 23. .0, attraverseranno. attraverseranno.

Routing Statico
Uno dei pi semplici esempi di implementazioni del routing statico costituito dalluso di rotte (routes), inserite a mano nelle configurazioni, che definiscono in modo permanente i percorsi che i pacchetti devono seguire: seguire:
172.17.1.6 172.17.1.2
Milano Bologna

Roma

172.17.23.0/24 172.17.1.5 172.17.13.0/24


Esempio: Milano(config)#ip route 172 172. .17 17. .23 23. .0 255. 255.255. 255.255. 255.0 172. 172.17 17. .1.1 Bologna(config)#ip route 172 172. .17 17. .13 13. .0 255. 255.255. 255.255. 255.0 172 172. .17 17. .1 .2 Bologna(config)#ip route 172 172. .17 17. .23 23. .0 255. 255.255. 255.255. 255.0 172 172. .17 17. .1 .6 Roma(config)# ip route 172 172. .17 17. .13 13. .0 255. 255.255. 255.255. 255.0 172 172. .17 17. .1 .5

172.17.1.1

RIP
Il Routing Information Protocol (RIP) uno dei protocolli di routing pi usati su reti locali ed aiuta i router ad adattarsi dinamicamente ai cambiamenti dei collegamenti di rete, scambiandosi informazioni riguardo a quali reti ogni router pu raggiungere e quanto siano lontane. lontane. Anche se il RIP ancora attivamente usato, generalmente sostituito da protocolli di routing link link-state come OSPF e EIGRP. EIGRP . RIP stato sviluppato nel 1969 come parte di ARPANET e usa l' l'algoritmo algoritmo BellmanBellman -Ford. Ford. RIP un protocollo di routing distancedistance-vector che impiega il conteggio dei numeri di salti (hop count) come metrica di routing. routing. Il massimo numero di hop permessi 15. 15. Ogni router RIP trasmette di default, ogni 30 secondi, la propria tabella completa di routing a tutti i vicini direttamente collegati, generando grandi quantit di traffico di rete su reti a bassa capacit trasmissiva. trasmissiva . Lavora sopra il livello di rete della suite Internet Protocol, Protocol, usando User Datagram Protocol sulla Porta 520 per trasportare i relativi dati. dati. Un meccanismo denominato split horizon usato per evitare gli anelli (loop) nel percorso di inoltro dei pacchetti. pacchetti.

RIP
Ci sono 3 versioni di RIP RIP: : RIPv RIPv1 1, RIPv RIPv2 2, e RIPng. RIPv1, definito da (RFC 1058), RIPv1 1058), usa il routing "classful". "classful". Gli aggiornamenti delle tabelle di routing non contengono la maschera di sottorete rendendo impossibile la creazione di sottoreti di dimensione diversa all'interno della stessa rete rete. . Non viene supportata nessuna forma di autenticazione, lasciando RIPv1 RIPv1 vulnerabile ad attacchi. attacchi. RIPv2, stato sviluppato nel 1994 e definito da (RFC 2453), RIPv2 2453), include il trasporto delle informazioni sulla maschera di sottorete, supportando cos il Classless InterInter-Domain Routing, Routing, CIDR. CIDR. Per garantire la sicurezza degli aggiornamenti sono disponibili 2 metodi: metodi: autenticazione semplice con testo in chiaro e MD MD5 5, (RFC 2082) 2082). Per mantenere la compatibilit con il RIPv1 RIPv1 il limite di hop count rimane a 15. 15. RIPng, (RFC 2080), 2080), una estensione del protocollo originale RIPv1 RIPv1 per supportare IPv6 IPv6.

RIP

RIP Usa lhop count come metrica


TARGET: TARGET : piccole e medie reti TCP/IP VANTAGGI: VANTAGGI : poco complesso, fa loadload-sharing SVANTAGGI: avvalendosi solo dellhop count potrebbe scegliere links con minor SVANTAGGI: banda, ed limitato a 16 hop. hop.

2M FDDI
Link a 64kbps

Viene scelto il link con minor banda, ma con 1 hop soltanto

RIP v.1 Sample Configuration

RIP

# router rip attiva il processo di routing # network indirizzo_di_rete specifica le interfacce del router che sono nel dominio di routing RIP attraverso queste interfacce sono inviati in messaggi del protocollo sono le reti che verranno annunciate # passive passive-interface interfaccia inibisce linvio di distance vector sullinterfaccia

RIP
Esempio: Esempio : # interface Ethernet 0 ip address 128. 128.99. 99.1.8 255 255. .255 255. .255 255. .0 # interface Ethernet 1 ip address 128. 128.99. 99.3.8 255 255. .255 255. .255 255. .0 # interface Bri 0 ip address 128. 128.99. 99.9.15 255 255. .255 255. .255 255. .0 # interface Serial 0 ip address 192. 192.31. 31.7.22 255 255. .255 255. .255 255. .0 # router rip network 128. 128.99. 99.0.0 network 192. 192.31. 31.7.0 passivepassive -interface Bri 0

IGRP

L' L'IGRP IGRP (Interior Gateway Routing Protocol) un protocollo di routing proprietario, inventato da Cisco, Cisco, usato dai router per scambiarsi informazioni di routing dentro un autonomous system. system. IGRP fu creato per superare i limiti del RIP (hop count massimo di 15 e singola metrica di routing) quando veniva usato in reti di grandi dimensioni. dimensioni . IGRP supporta metriche multiple per ogni percorso: percorso: larghezza di banda, carico della linea, ritardo e affidabilit; affidabilit; per comparare due percorsi combina queste metriche in una sola metrica usando una formula con costanti predefinite. predefinite. Il massimo di hop count 255. 255. Il suo successore EIGRP EIGRP, , un protocollo di routing distancedistance-vector routing ibrido che usa molte funzionalit dei protocolli linklink-state protocols protocols. .

IGRP
IGRP Usa una metrica composta da pi valori
TARGET: TARGET : Reti TCP/IP medie/grandi VANTAGGI: Riesce a distinguere le caratteristiche dei links, per una selezione pi VANTAGGI: accurata del best path path. . Permette load load-sharing su path di costo diverso tramite un parametro detto VARIANCE SVANTAGGI: SVANTAGGI : Gestione e calcolo della metrica complessi

TR FDDI
Link a 64kbps

In generale MetricaIGRP=bandwidth+delay

EIGRP

Enhanced Interior Gateway Routing Protocol (EIGRP) EIGRP) un protocollo di routing proprietario Cisco, Cisco, usato dai router per scambiarsi informazioni IGRP. di routing all'interno di un Autonomous System. System. E basato su IGRP. EIGRP un protocollo di routing distancedistance-vector ibrido ottimizzato sia per minimizzare l'instabilit dei percorsi dopo un cambiamento della topologia della rete, rete, che l'uso della banda e del processore dei router. router. Alcune ottimizzazioni del protocollo sono basate sull'algorimo Diffusing Update (DUAL) di SRI, SRI, che garantisce l'operativit senza la creazioni di anelli di routing. routing. In particolare, si basa su DUAL il comportamento di conteggio all'infinito di RIP quando una rete di arrivo diventa completamente irraggiungibile. irraggiungibile. Il massimo numero di hop (passi) di un pacchetto EIGRP di 224. 224.

EIGRP
EIGRP supporta:
Rapida convergenza Riduce lutilizzo di banda Protocolli multiple networknetwork-layer VLSM e network discontinue

Caratteristiche
Distance vector e non solo Configurazione semplice Ha meno vincoli di design rispetto ad OSPF Updates incrementali Classless routing Compatibile con le networks IGRP gi esistenti Independente dal protocollo (supporta IPX e AppleTalk)

EIGRP - Vantaggi

Utilizza load, bandwidth, MTU, reliability e delay come metrica metrica. . load balancing su percorsi con diverso cost path. path. Pi flessibile di OSPF. OSPF. Summarizazione.

EIGRP nel pacchetto IP


88 - EIGRP 6 - TCP 17 - UDP Header trama
Payload trama

Header IP

Numero protocollo

Payload

C R C

EIGRP un protocollo di routing distance vector avanzato


Stabilisce automaticamente le relazioni con i router vicini. vicini. Si affida ai pacchetti ip per la spedizione delle informazioni di routing. routing.

EIGRP applicazione su diverse tipologie

D A

S0 Core
C

Frame Relay

S1
B

EIGRP supporta Bus multiaccesso (LAN) PointPoint -toto-point (HDLC) NBMA (Frame Relay)

EIGRP indirizzi IP supportati

/16
D

Wan /24

/30

/27

EIGRP supporta Maschere di lunghezza variabile (VLSM) Design gerarchico

EIGRP summarizzazioni supportate

172.16.0.0 /24

192.168.42.0 /27

10.0.0.0 /18

172.16.0.0 /16

172.16.0.0 /16 192.168.42.0 /24

EIGRP in grado di supportare le summarizzazioni Classful network (default) Arbitrary network (manual)

EIGRP - pacchetti

Hello: Hello : stabilisce le relazioni con i neighbors. neighbors. Update: Update : manda gli aggiornamenti di routing. routing. Query: Query : chiede ai neighbors gli aggionamenti. aggionamenti. Reply: Reply : risposta alle query di routing. routing. ACK: Acknowledgement dellaffidabilit del pacchetto.

EIGRP relazioni tra neighbors

Due router diventano neighbor quando inviano e ricevono i rispettivi e reciproci hello packets. packets.
Hello address = 224. 224.0.0.10

Hello vengono inviati ogni 5 secondi sui seguenti tipi di links: links:
Broadcast media: media: Ethernet, Token Ring, FDDI. FDDI. Point-toPointto-point serial links: PPP, HDLC, pointpoint -toto-point Frame Relay/ATM subinterfaces. Circuiti multipoint con bandwidth pi grande del T1: ISDN PRI, Frame Relay. Relay .

EIGRP relazioni tra neighbors

Hello inviati ogni 60 secondi sui seguenti tipi di links: links:


Circuiti multipoint con bandwidth minore del T1: ISDN BRI, Frame Relay, ecc ecc

Un neighbor viene dichiarato dead quando nessun pacchetto EIGRP stato ricevuto entro un hold interval Un hold time di default tre volte un hello time. time.

EIGRP relazioni tra neighbors


EIGRP crea la neighborship con i vicini anche se gli hello time e gli hold time non corrispondono. EIGRP genera gli hello packets con lindirizzo sorgente dellinterfaccia primaria. EIGRP non crea la neighborship se il valore K non corrisponde. EIGRP non former i neighbor se il numero di AS non corrisponde.

EIGRP affidabilit(1)

I pacchetti affidabili EIGRP che richiedono un preciso riscontro sono: sono:


Update Query Reply

I pacchetti non affidabili EIGRP che non richiedono un preciso riscontro sono: sono:
Hello ACK

EIGRP - affidabilit (2)

Il router crea una lista dei neighbor e una lista di ritrasmissioni per ogni neighbor. neighbor. Ogni pacchetto affidabile (update, query, reply) sar ritrasmesso se non c riscontro. riscontro. La relazione con il neighbor cancellata quando il limite di ritrasmissioni per i pacchetti affidabili raggiunto (limite = 16) 16).

EIGRP - affidabilit (3)

Il trasporto EIGRP ha una finestra con meccanismo stop and wait: wait:
Ogni singolo pacchetto affidabile necessita di un riscontro prima della prossima sequenza di invio. invio. Se il riscontro di uno o pi peer lento, tutti gli altri peer soffriranno di questa situazione. situazione.

EIGRP - ROUTE DISCOVERY

A 1
Hello Sono il router A, chi c sul link?

Queste sono le mie informazioni di routing.

Update

4
Topology Table

3 5

Ack

Grazie per le informazioni!

Update Queste sono le mie informazioni di routing.

Grazie per le informazioni!

Ack

EIGRP - ROUTE SELECTION

IP
A B

IP T1 19.2 T1 AppleTalk IPX T1


C D

AppleTalk IPX

EIGRP usa una metrica composita che sceglie il best path.

EIGRP Calcolo della metrica

Metrica = 256 x (K1xBw + K2xBw / 256256-Load + K3xDelay + K5 / Reliability+K4)


di default: K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0

Il delay la somma di tutti i delay dei link lungo tutto il path.


Delay = [Delay in microsecondi] x 256

Il bandwidth: il bandwidth pi basso di tutti i links lungo tutto il path.


Bandwidth = [10000000 / (bandwidth in Kbps)] x 256

Di default, metrica = 256 x (bandwidth + delay)

EIGRP Algoritmo DUAL

Diffusing Update Algorithm (DUAL) FiniteFinite -state machine


Traccia tutte le rotte annunciate dai neighbors Seleziona i path looploop-free scegliendo un successore e calcolando ogni ulteriore successore disponibile. disponibile. Se il successore fallisce: fallisce: Usa lulteriore successore disponibile Se non disponibile un ulteriore successore: successore: Richiesta ai neighbors e ricalcolo del nuovo successore

EIGRP Algoritmo DUAL

42

EIGRP Scalability

EIGRP non plugplug-andand-play per le reti di grandi dimensioni. Bisogna limitare l EIGRP query range! Quantit di informazioni di routing scambiate tra i peers
Annunciare le major network o la default route verso le periferie

EIGRP Query Process

Le Query sono spedite quando una rotta diventa inutilizzabile e non ci sono feasible successor disponibili; disponibili; La rotta inutilizzabile viene definita in stato active active; ; Le query sono spedite verso tutti i neighbors e su tutte le interfacce tranne quella che vede il successore successore. . Se il neighbor non ha linformazione sulla rotta inutilizzabile, delle query sono spedite verso tutti i suoi neighbor da questultimo router. router. il router dovr avere tutti i reply dai neighbors prima di ricalcolare le informazioni sul successore. successore . Se qualche neighbor fallisce il reply alla query in 3 minuti, questa rotta viene considerata stuck in active e il router cancella il neighbor che ha fallito la risposta. risposta. La soluzione per gli stuck in active limitare il query range, anche conosciuto come query scoping

EIGRP Query Range


Confini dellAutonomous system
In caso di redistribuzione, le query provenienti dallAS 1 saranno propagate verso lAS 2.

10.1.0.0

10.2.0.0

A AS 2 Query for X

B AS 1 Reply for X

Network X

X
1

Query for X

Limitare la grandezza/Scope degli Update/Query

Valutare le richieste del routing


Quali rotte e verso dove?

Una volta determinate le necessit: necessit:


Usare summary address Usare i filtri

Limitare la grandezza degli Update/Query esempio

Uffici regionali
Queries Replies
10.1.8.0/24

periferie

B D A E

Limitare la grandezza degli update/Query summary address


Uffici regionali
Queries Replies
10.1.8.0/24

Periferie

B D A E
ip summary-address eigrp 1 10.0.0.0 255.0.0.0 su tutte le Interfacce di uscita verso le periferie. La convergenza migliora usando i summary-address: i router remoti devono rispondere solo se interrogati e non inoltrare query.

EIGRP regole per la scalabilit

EIGRP un protocollo di routing molto scalabile se viene adottato un design adeguato: adeguato:
Buona allocazione dello spazio di indirizzamento Ogni regione della rete avr un indirizzamento coerente e contiguo per poter permettere la summarizzazione Avere un design model sequenziale

Nonscalable Network - esempio

Core
1.1.1.0 1.1.2.0 2.2.3.0 3.3.4.0 2.2.1.0 3.3.2.0 3.3.3.0 1.1.4.0

3.3.1.0 2.2.2.0 1.1.3.0


Token Ring Token Ring

1.1.1.0 3.3.4.0
Token Ring

2.2.1.0

1.1.4.0
Token Ring

3.3.1.0
Token Ring

2.2.3.0 1.1.2.0

1.1.3.0 2.2.2.0

Token Ring

3.3.4.0 3.3.3.0

Cattivo schema di indirizzamento

Le subnets sparse dovunque nella network

Query non limitate

Scalable Network - esempio

Core 1.0.0.0 2.0.0.0


1.1.1.0 1.1.4.0
Token Ring Token Ring

3.0.0.0

3.3.1.0 2.2.1.0
Token Ring Token Ring

3.3.4.0
Token Ring

1.1.3.0 1.1.2.0

2.2.3.0 2.2.2.0

Token Ring

3.3.4.0 3.3.3.0

Reindirizzamento della network ogni region ha il suo blocco di indirizzi Query limitate dalluso del comando ip summary summary-address eigrp

Network Design sequenziale


Summarized Routes Other Regions Core Other Regions Summarized Routes Summarized Routes Other Regions Summarized Routes Other Regions

Regional Office
Summarized Routes

Summarized Routes

Remote Office

Ulteriori regole di EIGRP Scalability

Appropriate risorse di rete


Sufficiente memoria sul router Sufficiente bandwidth sulle WAN interfaces

Appropriata configurazione delle bandwidth sulle WAN interfaces, specialmente sulle Frame Relay

EIGRP

# router eigrp autonomous_system attiva il processo di routing identifica lAS in cui il protocollo in esecuzione linformazione viene inclusa negli annunci # network indirizzo_di_rete specifica le reti che verranno annunciate # passive passive-interface interfaccia inibisce linvio di messaggi di routing sullinterfaccia; configurando in EIGRP uninterfaccia come passiva viene disabilitato anche il protocollo di hello, quindi non pu essere stabilita una neighbor relationship su quellinterfaccia. Questo ha leffetto di bloccare i messaggi di update in ingresso allinterfaccia (in quanto questi vengono inviati solo ai neighbors)

EIGRP
Aggregazione degli indirizzi no autoauto-summary disabilita laggregazione ip summarysummary-address eigrp as as-number address aggregazione manuale automatica netmask -

I comandi per visualizzare la neighbor table e la topology table sono rispettivamente : show ip eigrp neighbors show ip eigrp topology I comandi per il debugging sono: sono: deb eigrp packets deb ip eigrp neighbor deb ip eigrp notifications deb ip eigrp summary

Protocolli di routing
(Link State)
Link State: State: protocolli di routing che generano aggiornamenti solo in caso di cambiamenti nella topologia della rete. rete. Quando c un cambiamento, il router che se ne accorge spedisce, in multicast, un LSA (Link State Advertisement) ai suoi vicini, che lo copiano e lo inoltrano ai loro vicini (flooding). Richiedono un design gerarchico della rete (anche per ridurre il flooding inutile a tutti i devices).

Convergenza
L'attivit riguardante lo stato di sincronizzazione delle tabelle di routing dopo un cambiamento topologico della rete detto CONVERGENZA. I fattori che influenzano la convergenza di una rete sono: - la grandezza della rete; - il protocollo (o i protocolli) in uso sulla rete; - i vari timers. Nel misurare il tempo di convergenza la parte pi critica il metodo di valutazione del cambiamento di stato di un link:
quando cade un link e non si riceve un certo numero (tipicamente 3) di keepalives consecutivi, il link considerato in fault; quando il protocollo di routing non riceve un certo numero (default 3) di "hello messages" (o simili), il link considerato in fault.

Si rimanda alla trattazione specifica per ogni protocollo di routing lo studio della convergenza.

OSPF (Basi)
Numero di protocollo: 89 in pacchetto IP Target: reti di grandi dimensioni Versioni: prima versione sviluppata dall'IETF (Internet Engineering Task Force) nel 1988. La versione pi recente la OSPFv2, descritta nell'RFC 2328. Tipologia: IGP (Interior Gateway Protocol) di tipo link state. Vantaggi:
velocita' di convergenza, perche' i cambiamenti relativi al routing sono inoltrati immediatamente e computati parallelamente; supporta VLSM (Variable(Variable-Lenght Subnet Masks); non ha limiti di hop (come ad esempio li ha RIP=16 hosts); usa meno banda sui links, perche' spedisce updates ogni 30 minuti (anziche' ogni 30 secondi come altri protocolli); usa un valore di costo (che per i cisco router e' solitamente la velocita' della connessione) per discriminare tra i percorsi; supporta il loadloadbalancing su percorsi di costo differente.

OSPF - Databases
Neighborship DB: Lista dei vicini (neighbors) con i quali il router ha una connessione bidirezionale. Link-State DB (o Topology DB): Una lista di tutti gli stati dei vari link (da qui linkLinklink-state) di tutti i router della rete. Forwarding DB ( la Routing Table): Generata quando l'algoritmo SPF (Shortest Path First) opera sul linklink-state DB. ( la lista dei migliori percorsi).

OSPF - Topologie
OSPF puo' essere eseguito sia su reti di tipo broadcast, che di tipo nonnon-broadcast, ma comunque la topologia della rete influisce sul meccanismo di costruzione delle "vicinanze" (neighborship). Topologie Broadcast Multiaccess: reti che vedono collegati insieme piu' di due router, con la possibilita' di contattarli tutti con un solo messaggio fisico (un broadcast).

Topologie point point-to to-point:

Topologie Non Broadcast Multiaccess (NBMA) reti che vedono collegati insieme piu' di due router, ma non sono contattabili con un unico messaggio.

F.R. - X.25

OSPF su reti Broadcast Multiaccess


Ospf si basa sullo stato del link tra i router, i quali devono riconoscere ogni altro vicino prima di scambiare informazioni. Tale processo e' fatto mediante un protocollo detto di hello.

spediti periodicamente da tutte le interfacce che partecipano al processo ospf, indirizzati a Tutti i Router Ospf tramite l'indirizzo multicast 224.0.0.5 (AllSPFrouter).

Contenuto dei pacchetti hello di OSPF


Router ID: numero di 32 bit che identifica univocamente il router, solitamente l'IP pi alto applicato sulle interfacce (usato nella elezione del DR e BDR, se la priorit uguale). Quando c'e' la loopback configurata, questa vince su tutti. Hello & Dead intervals: frequenza di spedizione degli hello=10sec sulle reti multiaccess. Il deaddead-interval e' il tempo che un router attende senza ricevere hello da un suo vicino per dichiararlo down (solitamente=4 x hello interval). Neighbors: Vicini che hanno comunicazione bidirezionale con il router in esame. Area ID: indica l'area sulla quale insistono le interfacce di due router comunicanti (devono condividere un segmento, stessa subnet e stessa netmask). Quindi hanno la stessa informazione linklink-state. Router Priority: Numero di 8 bit che indica la priorit del router in relazione alla elezione del DR o BDR. Indirizzi IP di DR e BDR: analizzati in seguito. Password di autenticazione. Stub Area Flag: analizzati in seguito.

OSPF Tipi di router


OSPF definisce vari tipi di router. router. Sono definizioni logiche, e un router che usa OSPF potrebbe essere classificato come diversi dei seguenti tipi. tipi. Per esempio, un router connesso a pi di un'area, e che riceve route da un processo BGP connesso ad un altro AS, e sia un ABR che un ASBR. ASBR . Area Border Router Un Area Border Router (ABR) un router che connette una o pi aree OSPF all'area di backbone. backbone. membro di tutte le aree alle quali connesso. connesso. Un ABR mantiene in memoria copie multiple del database linklink-state, uno per ciascuna area alla quale appartiene. appartiene. Autonomous System Boundary Router Un ASBR un router connesso a pi di un autonomous system (AS), che scambia informazioni di routing con router in altri AS. AS. Gli ASBR tipicamente utilizzano anche un protocollo di routing nonnonIGP, come il BGP. BGP. Un ASBR viene utilizzato per distribuire le route ricevute dagli altri AS attraverso il proprio AS. AS. Internal router Un router viene chiamato internal router (IR, router interno) se ha solo adiacenze OSPF con router nella stessa area area. . Backbone router Un backbone router (BR) un router con un'interfaccia verso l'area backbone. backbone. Un ABR anche un BR, anche se non necessario che sia vero l'inverso l'inverso. .

OSPF - DR e BDR
OSPF designa sulle reti multiaccess un punto centrale di contatto per lo scambio di informazioni linklink-state, il DESIGNATED ROUTER, verso il quale tutti i router devono stabilire un'adiacenza.

La stessa cosa viene fatta per un BACKUP DESIGNATED ROUTER, il quale riceve tutte le info del DR, ma entra in funzione solo quando il DR fallisce. Vantaggi: - riduzione del traffico di routing update - sincronizzazione linklink-state

OSPF Tipi di router


Il DR esiste con lo scopo di ridurre il traffico di rete fornendo una sorgente per aggiornamenti di routing, il DR memorizza una tabella completa sulla topologia della rete e manda gli aggiornamenti agli altri router attraverso il multicast. multicast. In questo modo tutti i router non devono costantemente aggiornarsi l'un l'altro, e possono ricevere tutti gli aggiornamenti da una singola sorgente. sorgente. L'uso del multicasting riduce ulteriormente il carico di rete. rete. I DR e i BDR sono sempre configurati/eletti da reti Broadcast (Ethernet). (Ethernet). I DR possono essere eletti anche su reti NBMA (Non (Non-Broadcast MultiMulti-Access) come Frame Relay. Relay. DR e BDR non si configurano su collegamenti puntopunto-punto (come i collegamenti puntopunto-punto WAN) perch la larghezza di banda tra due host singoli non pu essere ulteriormente ottimizzata. ottimizzata. Backup Designated Router 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. guasta.

OSPF Tipi di router


Designated router Un designated router (DR, router designato) il router eletto dalla rete dalle elezioni. elezioni. Il DR viene eletto in base ai seguenti criteri di default: default: Se la selezione di priorit su di un router OSPF settata a 0, significa che tale router non potr MAI divenire un DR o un BDR. BDR. Quando un DR si guasta e il BDR lo sostituisce, c' una nuova elezione per chi far da BDR. BDR. Il router che manda i pacchetti Hello con la priorit highest. highest. Se due o pi router si legano con la selezione di priorit pi alta, vince il router che manda l'Hello con il pi alto RID (Router ID) ID). . Un RID l'indirizzo IP logico (di loopback) pi alto configurato su di un router, se nessun indirizzo IP logico/di loopback selezionato allora il Router usa il pi alto indirizzo IP configurato sulle sue interfacce. interfacce . (ad esempio 192 192. .168 168. .0.1 pi alto di 10. 10.1.1.2). Di solito il router con il secondo maggiore numero di priorit diventa il BDR (Backup Designated Router) Il range di valori di priorit va da 1 a 255, 255, un valore pi alto incrementa la probabilit di diventare DR o BDR. BDR. SE un router OSPF con priorit pi alta si mette in linea DOPO che l'elezione avvenuta, non diventer DR o BDR finch (almeno) il DR e il BDR si guastano. guastano. . Il BDR il router OSPF secondo per priorit nel momento dell'ultima selezione. selezione.

OSPF - Scambio delle informazioni

172.16.5.1/24

172.16.5.2/24 E1

E0
Down State

Sono il router ID 172.16.5.1 e non vedo nessuno.


Init State

Router B Neighbors List 172.16.5.1/24, int E1 Sono il router ID 172.16.5.2, e vedo 172.16.5.1. Router A Neighbors List 172.16.5.2/24, int E0
Two-Way State

OSPF - Scelta delle rotte


10.1.1.0/24 A
Token Ring

10.2.2.0/24 B
FDDI

10.3.3.0/24 C

Costo=6 Costo=1 Costo=10


10.4.4.0/24 Topology Table Net Cost Out Interface 10.2.2.0 6 To0 10.3.3.0 7 To0 Rotta migliore verso 10.3.3.0. 10.3.3.0 10 E0

OSPF - Trattamento informazioni di routing

Link-State Change
LSU

2
DR

4 1 LSU
A B

Devo aggiornare La mia tabella di routing.

3
LSU

Il router A chiama tutti gli OSPF DRs su 224.0.0.6 DR chiama gli altri su 224.0.0.5

OSPF su reti pointpoint-to to-point

Il router rileva dinamicamente il suo vicino usando il protocollo di hello. hello. Nessuna elezione elezione: : ladiacenza automatica non appena I router possono comunicare. comunicare. Gli OSPF packets sono sempre inviati con lindirizzo di multicast 224 224. .0.0.5

OSPF su reti NBMA

X.25
Frame Relay ATM

Una singola interfaccia interconnette pi siti. siti. Le topologie NBMA supportano pi router ma senza la possibilit di broadcasting. broadcasting . Elezione DR/BDR su reti NBMA NBMA: : I DR e BDR necessitano di una completa connetivit fisica con tutti gli altri router. router. I DR e BDR necessitano di una lista di neighbors. neighbors.

OSPF su reti NBMA - Sommario

Modalit NBMA

Topologia

Subnet Address Same

Adiacenza Configurazione Manuale DR/BDR eletti Automatica DR/BDR eletti Automatica No DR/BDR Configurazione Manuale No DR/BDR Automatica No DR/BDR

RFC o Cisco RFC Cisco

Fully meshed Fully meshed Partial mesh o star Partial mesh o star

Broadcast Point-tomultipoint Point-tomultipoint nonbroadcast Point-to-point

Same Same

RFC

Same

Cisco

Partial mesh o Diversa per star, usando subinterface ogni subint.

Cisco

OSPF su aree multiple

Area 0

Area 1

Area 2

Autonomous System
Presenza contemporanea di aree e AS AS. . Minimizza il traffico di routing update. update.

OSPF - Tipi di router e LSA OSPF Area 1 Backbone Area 0 Area 2


ABR e Backbone Router Backbone/ Internal Internal router router Internal router ASBR e ABR e Backbone Backbone Router External Router AS

Tipi di LSA

Type 1: Router link entry Type 2: Network link entry Type 3 and 4: Summary link entry Type 5: AS external link entry

OSPF - Componenti OSPF Multi Multi-Area


router Areas

LSAs
afadjfjorqpoeru 39547439070713

Area 0
backbone

Internal

Type 1

afadjfjorqpoeru 39547439070713

ABR

Type 2
afadjfjorqpoeru 39547439070713

Area 1
standard

Type 3/4

ASBR
afadjfjorqpoeru 39547439070713

Area 2
stub

Type 5

Backbone

OSPF - Interconnessione Aree

Area 1

Transit Area

Area 2

Area 0 Area 3

Area 0

Collega backbone discontinui


Merged networks Redundancy PointPoint -toto-point links

OSPF - Tipi di area

Una rete OSPF divisa in aree. Esse sono gruppi logici di router le cui informazioni posso essere sommarizzate rispetto al resto della rete. rete. Diversi tipi di aree "speciali" sono definite: definite: Area Backbone L'area backbone (conosciuta anche come area zero) rappresenta il cuore di una rete OSPF OSPF. . Tutte le altre aree sono collegate ad essa e il routing interinter -area passa tramite un router di questa rete. rete. Stub area Per Stub Area si intendono quei tipi di area che non ricevono route esterne. esterne . Le route esterne saranno poi definite e distribuite da un altro protocollo di Routing. Routing. Quindi, le stub area necessitano di relegare ad una route di default lo scambio per il traffico con quelle esterne al dominio di appartenenza

OSPF - Tipi di area

Totally stubby area Una totally stubby area simile ad una stub area, questo tipo di area non ammette summary routes in aggiunta alle external routes, i.e., le routes interinterarea (IA) non sono sommarizzate allinterno delle totally stubby areas. areas. L'unico modo in cui il traffico esce dall'area una route di default che l'unica di TipoTipo-3 LSA pubblicata nell'area. nell'area. Quando c' solo una route per uscire dall'area, devono essere effettuate meno decisioni di routing dal processore di route, con minore utilizzo di risorse di sistema. sistema. Questa la versione Cisco della NSSA. NSSA. NotNot -soso-stubby area Identificata anche come NSSA, una notnot-so so-stubby area un tipo di stub area che pu importare route esterne di AS e mandarle al backbone, ma non pu ricevere tali route esterne di AS dal backbone o da altre aree. aree. Cisco implementa anche una versione proprietaria di NSSA chiamata NSSA Totally Stubby area. area. Si prende la responsabilit di una Totally Stubby area, col significato che route riassuntive di tipo 3 e 4 non vanno ad inondare questo tipo di area. area.

OSPF - Tipi di area Backbone Area 0

Stub Area

Totally Stubby Area

Non accetta LSA esterni.

Interconnette Le aree, accettando Tutti gli LSA.

Non accetta LSA Esterni e sommari.

OSPF

# router ospf identificatore_processo abilita un processo di routing OSPF identificatore_processo identifica il processo di routing OSPF allinterno del router ha significato locale. locale.

OSPF
# network indirizzo maschera area id_area la coppia <inidirizzo,maschera> individua una o pi interfacce che si trovano nellarea id_area; sulle interfacce vengono inviati e ricevuti i messaggi OSPF le reti corrispondenti sono annunciate La maschera di tipo wildcard: 0 il bit identifica la rete 1 il bit identifica la stazione id_area codificato su 4 byte notazione decimale notazione decimale puntata da OSPF.

OSPF

# area id_area stub dichiara larea id_area una stub area # area id_area range indirizzo maschera specifica un address range da annunciare allesterno dellarea id_area consente di aggregare le informazioni per la propagazione allesterno dellarea id_area. Se allinterno dellarea id_area c almeno uninterfaccia con lindirizzo che cade allinterno delladdress range, allesterno annunciato laddress range invece dei singoli indirizzi

OSPF
# area id_area virtual virtual-link router crea un link virtuale con linterfaccia router di un altro router larea id_area comune ai due router # default default-information originate [always] abilita il router di annunciare una route di default # show ip ospf database mostra il database di link state advertisement ricevuti

OSPF
Esempio: Esempio: # interface Ethernet 0 ip address 128. 128.99. 99.1.6 255 255. .255 255. .255 255. .0 # interface Ethernet 1 ip address 128. 128.99. 99.3.6 255 255. .255 255. .255 255. .0 # interface Bri 0 ip address 128. 128.99. 99.119 119. .8 255 255. .255 255. .255 255. .0 # interface Serial 0 ip address 192. 192.31. 31.177 177. .12 255 255. .255 255. .255 255. .0 # interface Serial 1 ip address 128. 128.99. 99.27. 27.12 255 255. .255 255. .255 255. .0 # router OSPF 1 passivepassive -interface Bri 0 network 128. 128.99. 99.1.0 0.0.0.255 area 1 network 128. 128.99. 99.27. 27.12 0.0.0.255 area 1 network 192. 192.31. 31.177 177. .0 0.0.0.255 area 0 network 128. 128.99. 99.119 119. .0 0.0.0.255 area 2 area 1 range 128. 128.99. 99.0.0 0.31. 31.255

Redistribuzione

# redistribute protocollo [id] sottocomando della modalit router distribuisce nel dominio del router in questione le informazioni raccolte tramite il protocollo protocollo static annuncia anche le route statiche id se necessario discrimina tra pi processi dello stesso protocollo

Redistribuzione

# router rip redistribute igrp 148 distribuisce nel dominio di routing RIP le informazioni apprese nel dominio IGRP 148

RIP

IGRP 148

BGP

Il Border Gateway Protocol (BGP) un protocollo di rete usato per connettere tra loro pi router che appartengono a sistemi autonomi distinti e che vengono chiamati gateway. gateway. Il Border Gateway Protocol un protocollo di instradamento (routing) che agisce nel 'cuore' di Internet. Internet. Il BGP funziona attraverso la gestione di una tabella di reti IP IP, , o prefissi, prefissi, che forniscono informazioni sulla raggiungibilit delle diverse reti tra pi sistemi autonomi (Autonomous System, AS) 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 politiche (regole) determinate da ciascuna rete. rete. La versione corrente, BGPBGP-4, definita nella specifica RFC 4271. 4271.

Concetto di Autonomous System

Esempio di AS

Internal BGP

iBGP

RIP

AS 3269
OSPF

88

Introduzione al BGP

AS attivi

http://www.cidr-report.org/ 89

Introduzione al BGP

Full Internet Routing Table

http://www.cidr-report.org/ 90

Introduzione al BGP

Protocolli IGP / EGP


Interni (IGP: OSPF, RIP, IGRP,EIGRP, IS-IS)
Discovery automatico degli altri routers Genericamente i routers adiacenti sono considerati affidabili Gli annunci sono diretti a tutti i routers IGP

Esterni (EGP: BGP4)


Le sessioni sono concordate e configurate Connettono con network o AS esterni Limitano una amministrazione tecnica

91

Introduzione al BGP

IGP / EGP
External BGP

eBGP

AS 20259
B
Internal BGP

iBGP

Internal BGP

iBGP

RIP

AS 3269

OSPF

92

Introduzione al BGP

Info Generali
Utilizza sessioni TCP porta 179 Valori di distance : 20 ext, 200 int, 200 local Internal ed External BGP Apprende diversi path via sessioni iBGP ed eBGP Annuncia ed installa in routing table solo il migliore (best) Inizialmente annuncia tutta la tabella BGP al neighbor Updates incrementali e periodici Keepalive sono scambiati in assenza di updates (ogni 60 sec) BGP is considered to be a 'Path Vector' routing protocol rather than a distance vector routing protocol since it utilises a list of AS numbers to describe the path that a packet should take.

93

Introduzione al BGP

Internal BGP
Router A
! router bgp 3269 neighbor 10.10.10.2 remote-as 3269 !

AS 3269
10.10.10.1 10.10.10.2

Router B

! router bgp 3269 neighbor 10.10.10.1 remote-as 3269 !

- Una sessione iBGP si instaura tra due neighbors dello stesso AS


94

Introduzione al BGP

External BGP
Router A

AS 3269
A
10.10.10.1 10.10.10.2

! router bgp 3269 neighbor 10.10.10.2 remote-as 20959 !

Router B
! router bgp 20959 neighbor 10.10.10.1 remote-as 3269 !

AS 20959
- Una sessione eBGP si instaura tra due neighbors di AS diversi
95

Introduzione al BGP

Differenze iBGP/eBGP
Routes apprese via eBGP sono preferite a quelle apprese via iBGP Routes apprese via eBGP sono propagate anche ad altri router in iBGP Routes apprese via iBGP non vengono mai propagate ad altri router in iBGP Sessioni eBGP realizzate direttamente connessi di default su IP

96

Introduzione al BGP

iBGP full mesh (magliatura completa)


Un router non puo annunciare in iBGP una rotta appresa via iBGP. Ne deriva che per far convergere una rete bisogna creare un full mesh BGP.

n * (n-1) _______ 2

13 Routers = 78 sessioni iBGP !

97

Introduzione al BGP

Perch serve un IGP in un AS ?


Gli update del BGP utilizzano il TCP porta 179 Poich il BGP richiede di instaurare una sessione TCP tra i neighbors, deve esistere raggiungibilit IP tra gli stessi. La raggiungibilit deve essere garantita da un protocollo IGP (connesso, statico, RIP, EIGRP, OSPF, IS-IS).

AS 3269
Internal BGP

iBGP

Collegamenti fisici

OSPF

98

Introduzione al BGP

Architettura di routing OPB


OPB (Optical Packet Backbone, AS3269) utilizza sia OSPF che BGP come protocolli di routing. Vengono cos combinati i punti di forza dei due protocolli assicurando una effettiva scalabilit:
la capacit di calcolare il percorso ottimale dellOSPF la capacit di gestire un elevato numero di route del BGP

99

Introduzione al BGP

Architettura di routing OPB


Ciascun Router del livello di Edge annuncia tramite iBGP le network dei Clienti finali ad esso attestati, scrivendo nel campo next hop lindirizzo della propria interfaccia di loopback. Ogni altro router iBGP, per raggiungere quelle network, deve inoltrare i pacchetti allindirizzo del next hop. La raggiungibilit delle interfacce di loopback dei Router di Accesso viene assicurata da OSPF.

BGP 3269 OSPF 3269

Network A

Network B

Loopback1

Loopback2

Loopback3

Loopback4

Network A

Network B

100

Configurazioni di Base

Abilitazione neighbor iBGP


Sessione su punto-punto:

AS 3269
10.10.10.1 10.10.10.2

Router A router bgp 3269 neighbor 10.10.10.2 remote-as 3269 Router B router bgp 3269 neighbor 10.10.10.1 remote-as 3269

A
Loopback0 192.168.1.1

B
Loopback0 192.168.2.2

Sessione su loopback:
Router A int Loopback0 ip address 192.168.1.1 255.255.255.255 ! router bgp 3269 neighbor 192.168.2.2 remote-as 3269 neighbor 192.168.2.2 update-source Lo0 Router B int Loopback0 ip address 192.168.2.2 255.255.255.255 ! router bgp 3269 neighbor 192.168.1.1 remote-as 3269 neighbor 192.168.1.1 update-source Lo0 101

E preferibile utilizzare int di Loopback per mantenere connettivita in caso di caduta di link (ovviamente in caso di percorsi alternativi...) Gli indirizzi delle Loopback devono essere propagati da un IGP, oppure conosciuti staticamente.

Abilitazione neighbor eBGP


Sessione su punto-punto:

AS 3269

Loopback0 192.168.1.1

Router A router bgp 3269 neighbor 10.10.10.2 remote-as 20959 Router B router bgp 20959 neighbor 10.10.10.1 remote-as 3269

A
10.10.10.2

10.10.10.1

Sessione su loopback:
Router A interface Loopback0 ip address 192.168.1.1 255.255.255.255 ! router bgp 3269 neighbor 192.168.2.2 remote-as 20959 neighbor 192.168.2.2 update-source Lo0 neighbor 192.168.2.2 ebgp-multihop 5 Router B interface Loopback0 ip address 192.168.2.2 255.255.255.255 ! router bgp 20959 neighbor 192.168.1.1 remote-as 3269 neighbor 192.168.1.1 update-source Lo0 neighbor 192.168.1.1 ebgp-multihop 5 102

AS 20959

B
Loopback0 192.168.2.2

E preferibile utilizzare int di Loopback per mantenere connettivita in caso di caduta di un link. Gli indirizzi delle Loopback devono essere conosciuti tramite route statiche (o IGP quando disponibile).

Configurazioni di Base

Immissione routes in BGP


Immissione tramite comando network

! router bgp 3269 network 100.100.100.0 mask 255.255.255.0 neighbor 192.168.2.2 remote-as 3269 ! ip route 100.100.100.0 255.255.255.0 Serial1/0 !

Ai fini della propagazione la network deve essere attiva e quindi presente in tabella di routing. Potr essere una network direttamente connessa, appresa tramite un altro protocollo di routing IGP oppure una statica.

103

Configurazioni di Base

Immissione routes in BGP


Redistribuzione di rotte statiche

! router bgp 3269 redistribute static neighbor 192.168.2.2 remote-as 3269 ! ip route 100.100.100.0 255.255.255.0 Serial1/0 !

Ai fini della propagazione la statica deve essere attiva e quindi presente in tabella di routing.

104

Configurazioni di Base

Immissione routes in BGP


Redistribuzione di networks connesse

! interface FastEthernet0/0 ip address 100.100.100.1 255.255.255.0 ! router bgp 3269 redistribute connected neighbor 192.168.2.2 remote-as 3269 !

Ai fini della propagazione, lo stato dellinterfaccia su cui la network configurata, deve essere up.

105

Configurazioni di Base

Immissione routes in BGP


Redistribuzione da altri protocolli IGP

! router bgp 3269 redistribute RIP neighbor 192.168.2.2 remote-as 3269 ! router rip network 10.0.0.0 !

E sconsigliata una redistribuzione da altro protocollo IGP, a meno di inserire opportuni filtri (route-map) nella redistribuzione. Questo infatti e il modo meno controllato di immettere routes nel processo BGP.

106

Introduzione al BGP

Timers BGP e tempo di convergenza


KEEPALIVE
in assenza di update mantiene up la sessione (default keepalive-60s, holdtime-180s) Accessi Accessi xDSL Ethernity timers timers 60 180 10 30
controllo L2 tramite OAM (da 20s a 40s tempo di rilevamento caduta)

nessun controllo L2

tempo di convergenza allinterno del backbone circa 30s

107

Configurazioni di Base

Stati di una sessione BGP


IDLE
Stato iniziale di una nuova sessione in attesa di iniziare la connessione TCP the router waits for a Start Event from either a new BGP process being configured or being reset before it initialises a TCP connection and starts the ConnectRetry timer which defaults to 60s.

CONNECT

In attesa che la connessione TCP vada a buon fine the router waits for the completion of the TCP connection. Once complete, the router resets the ConnectRetry timer and sends an Open message to the neighbour.

ACTIVE

Stato di una sessione in attesa di iniziare la connessione TCP... this the state of the router that is initiating a TCP connection i.e. sends a Start Event. Again the ConnectRetry timer is used.

OPEN SENT

In attesa di un messaggio di open dal peer.... the Open message has been sent and the router is waiting for an Open Message from its neighbour. The Keepalive is sent next and the Hold Time is negotiated down to whichever router has the lowest value.

OPEN CONFIRM ESTABLISHED

In attesa di un keepalive.... the router is waiting for a Keepalive or Notification message. Inizia lo scambio di update.... once a Keepalive or Update message is received the Hold time is started and the BGP peer connection has started.

Gli stati di una sessione BGP possono essere verificati tramite il comando sh ip bgp summary.

Considerato che la transizione degli stati connect, open-sent e open-confirm molto veloce, solamente gli stati idle, active e established sono normalmente visibili.
108

Attributi BGP

AS-Path
LAS-PATH rappresenta il percorso, espresso con una sequenza di numeri di AS, per raggiungere una data network. LAS-PATH pi corto viene preferito. Esiste la possibilita di alterare manualmente lAS-PATH tramite la funzione prepend utile nellinfluenzare la scelta del best path nel caso di piu strade. Evita loop di routing, in quanto un router scarta un annuncio in cui trova gia AS5 il proprio numero di AS allinterno dellAS-PATH.

AS1 10.1.1.0/24

AS2 10.2.2.0/24

AS4 10.4.4.0/22

B
AS3 10.3.3.0/24

D E

C
10.1.1.0/24, ASPATH 10.2.2.0/24, ASPATH 10.3.3.0/24. ASPATH 10.4.4.0/22, ASPATH =4 1 =4 2 =4 3 =4
109

Attributi BGP

Origin
Lattributo Origin rappresenta lorigine dellannuncio della network. A seconda di come e immessa la route in BGP ci sara una Origin diversa : IGP Incomplete
per annunci originati allinterno di un AS

per annunci originati tramite redistribuzione (statiche, connesse ecc)

Nel processo di selezione del best path, IGP preferito a Incomplete

110

Attributi BGP

Next-hop
Il Next-hop rappresenta un indirizzo utile con cui raggiungere una rete. In eBGP il next-hop viene modificato di default In iBGP il next-hop per default NON CAMBIA, a meno di utilizzare la funzione next-hop-self tra i neighbor iBGP.
10.10.10.0 /24 L0:2.2.2.2

A
AS 20959
L0:2.2.2.1 iBGP

A#sh ip bgp Network *> 10.10.10.0/24 B#sh ip bgp Network *> 10.10.10.0/24 C#sh ip bgp Network *> 10.10.10.0/24

Next Hop 0.0.0.0

B
eBGP L0:1.1.1.1

Next Hop 2.2.2.2

33.33.33.1

33.33.33.2

Next Hop 33.33.33.1

AS 3269
L0: 1.1.1.2

C
iBGP

Router C router bgp 3269 . neighbor 1.1.1.2 next-hop-self D#sh ip bgp Network *> 10.10.10.0/24 Next Hop 33.33.33.1 Next Hop 1.1.1.1 111

Attributi BGP

Local Preference
E un attributo che pu essere utilizzato per definire politiche di routing valide per lintero AS. Pu essere impostato da qualsiasi router e viene trasportato solamente allinterno di un AS (viene resettato al valore di default in eBGP). Pu assumere valori da 0 a 4294967295 Il valore di default 100 Il valore pi alto ha priorit maggiore.

112

Attributi BGP

Local Preference
147.1.0.0 /16

AS 20959 A
Loopback:10.10.10.1

Router A router bgp 20959 network 147.1.0.0 mask 255.255.0.0 neighbor 10.10.10.2 remote-as 3269 neighbor 10.10.10.2 update-source Lo0 neighbor 10.10.10.3 remote-as 3269 neighbor 10.10.10.3 update-source Lo0 Router B router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 neighbor 10.10.10.1 route-map set_LP1 in ! route-map set_LP1 permit 10 set local-preference 150 Router C router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 neighbor 10.10.10.1 route-map set_LP2 in ! route-map set_LP2 permit 10 set local-preference 140 113

B D

Loopback:10.10.10.3 Loopback:10.10.10.2

AS 3269

195.2.2.0 /24

Il traffico proveniente dal router D destinato allAS 20959 uscir via router B (router C come backup) in quanto i relativi annunci hanno una Local Preference maggiore.

Attributi BGP

Weight
E un attributo che puo essere usato per definire politiche di routing valide solamente allinterno di un router. Puo essere impostato in qualsiasi router ma NON viene trasportato ad altri peers iBGP o eBGP (viene resettato al valore di default) Pu assumere valori da 0 a 65535 Il valore di default e 0 per routes apprese da altri peers 32768 per routes generate dal router Il valore piu alto ha prioritamaggiore.
114

Attributi BGP

Weight
147.1.0.0 /16

AS 20959 A
Loopback:10.10.10.1 Loopback:10.10.10.3

C D

B
Loopback:10.10.10.2

AS 3269

Router A router bgp 20959 network 147.1.0.0 mask 255.255.0.0 neighbor 10.10.10.2 remote-as 3269 neighbor 10.10.10.2 update-source Lo0 neighbor 10.10.10.2 route-map set_w1 in neighbor 10.10.10.3 remote-as 3269 neighbor 10.10.10.3 update-source Lo0 neighbor 10.10.10.3 route-map set_w2 in ! route-map set_w1 permit 10 set weight 1000 ! route-map set_w2 permit 10 set weight 2000 Router B router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 Router C router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 115

195.2.2.0 /24

Il traffico destinato allAS 3269 uscir dal router A verso il router C, poich la relativa sessione ha un weight maggiore.

Attributi BGP

Metric / MED (Multi Exit Discriminator)


E un attributo che puo essere usato per tentare di influenzare le politiche di routing di un AS esterno nei confronti dellAS da cui viene originato. Il valore di Metric (o MED) puo essere impostato in qualsiasi sessione eBGP Il valore di default e 0 Il valore piu basso ha la priorita. Limpostazione avviene solo tramite route-map (trattate nel prossimo capitolo).

116

Attributi BGP

Metric
147.1.0.0 /16

AS 20959 A
Loopback:10.10.10.1 Loopback:10.10.10.3

C D

B
Loopback:10.10.10.2

AS 3269

Router A router bgp 20959 network 147.1.0.0 mask 255.255.0.0 neighbor 10.10.10.2 remote-as 3269 neighbor 10.10.10.2 update-source Lo0 neighbor 10.10.10.2 route-map set_med1 out neighbor 10.10.10.3 remote-as 3269 neighbor 10.10.10.3 update-source Lo0 neighbor 10.10.10.3 route-map set_med2 out ! route-map set_med1 permit 10 set metric 1000 ! route-map set_med2 permit 10 set metric 2000 Router B router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 Router C router bgp 3269 neighbor 10.10.10.1 remote-as 20959 neighbor 10.10.10.1 update-source Lo0 117

195.2.2.0 /24

In questo caso, il router A annuncia la sua network con metrica diversa verso B e C, tentando di influenzarne la raggiungibilita dallAS 3269. Ovviamente il tutto e legato alle politiche di routing dell AS 3269 (local-pref, weight)

Attributi BGP

Community
E un attributo impiegato per la marcatura delle routes al fine di assicurare filtraggio o selezione di percorsi omogenei. Ogni router puo marcare le routes in ingresso, in uscita o in fase di redistribuzione, di conseguenza ogni router puo filtrare le stesse routes in base allattributo community. Da notare che per default linvio delle community NON avviene, enecessario un comando di configurazione. Limpostazione avviene solo tramite route-map (trattate nel prossimo capitolo).
118

Attributi BGP

Community
Valori predefiniti:
INTERNET NO_EXPORT di default tutte le rotte vi appartengono e vengono annunciate le rotte non vengono annunciate ad altri AS
utile se ci sono confederations altrimenti vale come il LOCAL-AS

NO_ADVERTISE le rotte non vengono annunciate ad altri peers)


n iBGP n eBGP

LOCAL-AS

le rotte non escono dallAS locale


nemmeno tra confederations

Valori arbitrari :
32 bits nel formato ASn:XXXX
119

Attributi BGP

Community
195.30.0.0/16

AS 3269

B
10.10.10.1

Router B router bgp 3269 neighbor 10.10.10.2 remote-as 20959 network 195.30.0.0 mask 255.255.0.0 Router A router bgp 20959 neighbor 10.10.10.1 remote-as 3269 neighbor 10.10.10.1 route-map setcomm in ! route-map setcomm permit 10 set community 20959:1001 additive

10.10.10.2

A AS 20959
In questo caso, il router B annuncia la sua network verso A, che tagga la route con la community 20959:1001. In questo modo lAS 20959 utilizzera la community per le proprie politiche di routing.

120

Attributi BGP

Router ID
Corrisponde al pi alto indirizzo IP configurato sul router con precedenza a quelli delle Loopback.

121

Attributi BGP

Algoritmo di scelta best path


Considera soltanto rotte sincronizzate e con next-hop valido (raggiungibile)

1 WEIGHT piu alto 2 LOCAL PREFERENCE piu alta 3 Route originata localmente 4 ASAS-PATH piu breve 5 ORIGIN (IGP < Incomplete) 6 MED piu basso 7 eBGP 8 iBGP 9 Metrica IGP piu bassa per il next-hop 10 Neighbor con ROUTER_ID piu basso 11 Neighbor con IP pi basso
122

Strutture Internal BGP

Route reflector
Un router BGP non puo annunciare in iBGP una rotta gia appresa via iBGP. Ne deriva che per far convergere una rete bisognerebbe creare un full mesh BGP. Per evitare un enorme numero di sessioni BGP, routing table estese, traffico superfluo e configurazioni intricatissime, la soluzione migliore e lutilizzo di Route Reflector.

13 Routers = 78 sessioni iBGP !

123

Strutture Internal BGP

Route reflector
In pratica I Route Reflector permettono di dividere lAS in aree ridotte, chiamate cluster. Ogni area prevede un Route Reflector Server e piu RR clients. Tutti i clients allinterno di un cluster devono stabilire sessioni iBGP esclusivamente con i RRS del proprio cluster. Tra i RRS e richiesta una magliatura completa. I RRS propagano aggiornamenti provenienti dai propri RRC verso tutte le sessioni iBGP (clients e servers) I RRS propagano aggiornamenti provenienti dagli altri RRS solo verso i propri RRC.

124

Strutture Internal BGP

Route reflector
Router A (RRS) router bgp 3269 neighbor 10.10.10.2 neighbor 10.10.10.3 neighbor 10.10.10.3 neighbor 10.10.10.4 neighbor 10.10.10.4 remote-as 3269 remote-as 3269 route-reflector-client remote-as 3269 route-reflector-client Router B (RRS) router bgp 3269 neighbor 10.10.10.1 neighbor 10.10.10.5 neighbor 10.10.10.5 neighbor 10.10.10.6 neighbor 10.10.10.6 remote-as 3269 remote-as 3269 route-reflector-client remote-as 3269 route-reflector-client

Router A1 (RRC) router bgp 3269 neighbor 10.10.10.1 remote-as 3269 Router A2 (RRC) router bgp 3269 neighbor 10.10.10.1 remote-as 3269

Router B1 (RRC) router bgp 3269 neighbor 10.10.10.2 remote-as 3269 Router B2 (RRC) router bgp 3269 neighbor 10.10.10.2 remote-as 3269

Route Reflectors Servers


A B

B2 A1 A2 B1

Route Reflector Clients

Clusters

Route Reflector Clients

125

Strutture Internal BGP

Route reflector in OPB


Primo livello: consiste di 4 server dedicati (detti TLRR, Top Level Route Reflector), non attraversati da traffico dati, che stabiliscono delle sessioni iBGP a maglia completa per assicurare la necessaria ridondanza (colocati con i 4 POP dellInner Core del livello OPB). Secondo livello: costituito dai Router di Transito dei Pop del livello OPB del backbone; tali router funzionano da un lato come client dei TLRR e dallaltro come server per i Router del livello di Edge. Ogni router di Transito ha 2 sessioni iBGP verso la coppia di TLRR dei POP Inner Core di riferimento. Terzo livello: costituito dai Router del livello di Edge oppure dai BroadBandB NAS, ciascuno dei quali ha 2 sessioni iBGP verso i 2 router di Transito del POP al quale appartiene.Tutti i clients allinterno di un cluster devono stabilire sessioni iBGP esclusivamente con i RRS del proprio cluster.
MI-1 RM-1

1Livello
MI-2 RM-2

RA-1

RA-2

RB-1

RB-2

2Livello 3Livello
126

POP A
A1 A2 B1 B2

POP B

Tipologie di Connessione

BGP Singlehomed
Si definisce Singlehomed un AS che abbia una connessione con un solo AS esterno, che normalmente utilizza per uscire su Internet. In realta tale opzione dovrebbe prevedere solo AS privati, in quanto i requisiti necessari per ottenere numeri di AS pubblici dallente preposto (RIPE) prevedono sessioni con almeno 2 AS. Del resto un AS avente una sola connessione esterna ha soltanto una unica possibilita di uscire su Internet ed essere raggiunto dallesterno. Non e quindi giustificato un numero di AS diverso da quello dellISP che gli fornisce la connettivita e che lo rende visibile allesterno tramite le proprie politiche di routing.

127

Tipologie di Connessione

BGP Multihomed
Si definisce Multihomed un AS che abbia connessioni con piu AS esterni, tramite i quali realizza le proprie politiche di routing. Ricevendo una full routing table dagli ISP con i quali si ha connettivita, un AS ha la possibilita di decidere entita e modalita dei flussi di traffico entranti e uscenti, secondo le proprie politiche. Gli strumenti in mano ad un amministratore di AS sono ovviamente gli attributi del BGP e le possibilita di filtro sugli stessi, discussi in precedenza. In assenza di interventi manuali sugli attributi, e il BGP a decidere il best path di uscita, coincidente con lAS-path piu breve. Per evitare che un AS multihomed diventi un AS di transito tra i due ISP, vanno annunciate ai due ISP soltanto le proprie network.

128

Tipologie di Connessione

BGP Multihomed
AS200 10.2.2.0/24
router bgp 300 neighbor 2.2.2.2 remote-as 200 neighbor 3.3.3.3 remote-as 100 neighbor 3.3.3.3 route-map PREPEND ! route-map PREPEND permit 10 set as-path prepend 300 300 300

B
AS300 10.4.4.0/22
Traffico in

out

A
prepend

AS100 10.3.3.0/24

Un esempio di attributo che si puo utilizzare per gestire politiche di routing e lAS-PATH-prepend. Nel caso illustrato, lAS 300 vuole essere raggiunto primariamente tramite AS 200 e come backup tramite AS 100 (link a volume, minore banda, peggiori tempi di risposta, etc) Un altro metodo per influenzare il traffico entrante, puo consistere nellannunciare rotte piu specifiche verso lAS da cui si vuole essere raggiunti (Es: 10.4.4.0/23 + 10.4.4.0/22 verso lAS 200, solo la 10.4.4.0/22 verso lAS 100)
129

Tipologie di Connessione

Ridondanza
Ridondanza con piu ISP

AS200 10.2.2.0/24

Ridondanza con un ISP

B
AS300 10.4.4.0/22

B
AS65100 10.4.4.0/22

AS100 10.3.3.0/24

AS200 10.2.2.0/24

C C
Per ridondanza si intende la capacita di usufruire di piu collegamenti, dei quali normalmente uno funge da primario ed uno da secondario. Il traffico entrante pu essere influenzato tramite as-path-prepend, rotte piu specifiche. Il traffico uscente pu essere influenzato tramite local-preference, weight.
130

Tipologie di Connessione

BGP multipath
AS65201 11.11.11.0/24
Loopback: 4.4.4.4

Router A
router bgp 3269 neighbor 2.2.2.1 remote-as 65201 neighbor 1.1.1.1 remote-as 65201 bgp maximum-paths 2

B
2.2.2.1

1.1.1.1 1.1.1.2 2.2.2.2

A
AS 3269

Il BGP multipath fornisce una funzione di load balancing su path con uguale costo

(default = 1, max =6). In sostanza impedisce al BGP di terminare lalgoritmo di selezione del best path con la scelta dellannuncio avente Neighbor IP pi basso (esclude i passaggi 10 e 11)
131

Alcuni comandi di troubleshooting


I. II. show ip bgp summary show ip bgp

III. show ip bgp <network_address> IV. show ip bgp ........ advertised-routes V. show ip bgp ........ routes VI. clear ip bgp neighbours VII. show ip bgp regexp .......

132

Comandi di Troubleshooting

r-rm183#sh ip bgp ? A.B.C.D A.B.C.D cidr-only community community-list dampened-paths filter-list flap-statistics inconsistent-as neighbors paths peer-group quote-regexp regexp summary | <cr> IP prefix <network>/<length>, e.g., 35.0.0.0/8 Network in the BGP routing table to display Display only routes with non-natural netmasks Display routes matching the communities Display routes matching the community-list Display paths suppressed due to dampening Display routes conforming to the filter-list Display flap statistics of routes Display only routes with inconsistent origin ASs Detailed information on TCP and BGP neighbor connections Path information Display information on peer-groups Display routes matching the AS path "regular expression" Display routes matching the AS path regular expression Summary of BGP neighbor status Output modifiers

133

Comandi di Troubleshooting

Show ip bgp summary


r-rm183#sh ip bgp summary BGP router identifier 151.99.28.17, local AS number 3269 BGP table version is 7390260, main routing table version 7390260 46866 network entries and 93308 paths using 7717626 bytes of memory 830 BGP path attribute entries using 43160 bytes of memory 456 BGP rrinfo entries using 16960 bytes of memory 607 BGP AS-PATH entries using 14648 bytes of memory 189 BGP community entries using 4828 bytes of memory 703 BGP route-map cache entries using 11248 bytes of memory BGP activity 867025/820159 prefixes, 2876438/2783130 paths Neighbor 62.86.188.230 151.99.2.3 151.99.2.231 217.58.245.2 V AS MsgRcvd MsgSent 4 65100 141619 278357 4 3269 1135282 195740 4 3269 1760286 195624 4 65101 181711 391929 TblVer 7390260 7390260 7390260 7390251 InQ OutQ Up/Down State/PfxRcd 0 0 never Idle 0 0 4w1d 46442 0 0 3w6d Active 0 0 4d20h 0 DOWN UP DOWN UP

Utile a visualizzare: Stato e numero di sessioni, indirizzo ed AS dei neighbors remoti, ultimo cambiamento di stato, prefissi ricevuti dal neighbor, AS locale, numero di routes della tabella BGP

BACK TO
Stati di una sessione BGP

134

Comandi di Troubleshooting

Show ip bgp
RouterA# show ip bgp BGP table version is 50647018, local router ID is 151.99.2.5 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network * i195.2.2.0 *> i Next Hop 10.10.10.2 10.10.10.3 Metric LocPrf Weight Path 500 200 100 100 100 100 1000 200

135

Comandi di Troubleshooting

Show ip bgp..
r-rm183#sh ip bgp 80.16.86.208 BGP routing table entry for 80.16.86.208/29, version 7293786 Paths: (2 available, best #2, not advertised to EBGP peer) Not advertised to any peer Local 151.99.13.19 (metric 2) from 151.99.2.231 (151.99.2.231) Origin IGP, metric 0, localpref 150, valid, internal Community: 3269:2 3269:1000 no-export Originator: 151.99.13.19, Cluster list: 0.0.0.4, 62.86.118.1, 62.86.118.3, 0.0.0.2 Local 151.99.13.19 (metric 2) from 151.99.2.3 (151.99.2.148) Origin IGP, metric 0, localpref 150, valid, internal, best Community: 3269:2 3269:1000 no-export Originator: 151.99.13.19, Cluster list: 0.0.0.4, 62.86.118.1, 62.86.118.3, 0.0.0.2

Utile per visualizzare tuti gli attributi di una route appresa via BGP. I 3 indirizzi IP mostrati sono rispettivamente : - Router che ha generato lannuncio (router di confine se e una rotta esterna) - Neighbor che ha passato lannuncio a r-rm183 - RouterID del router che ha passato lannuncio a rmr-m183 136

Comandi di Troubleshooting

Show ip bgp ...advertised-routes


r-rm183#sh ip bgp neighbors 217.58.245.2 advertised-routes Network *>i9.141.128.0/24 *>i32.0.0.0 *>i53.0.0.0 *>i62.4.32.0/19 *>i62.8.15.0/24 *>i62.8.16.0/24 Next Hop 62.86.118.26 62.86.118.26 62.86.118.26 62.86.118.7 62.86.118.26 62.86.118.26 Metric LocPrf Weight Path 125 0 2686 ? 125 0 2686 i 110 0 6805 6878 6878 i 40 120 0 702 i 0 110 0 8527 i 0 110 0 8527 I

Utile per visualizzare le network annunciate ad un dato neighbor, ciascuna con I propri attributi nexthop e as-path

137

Comandi di Troubleshooting

Show ip bgp ... routes


r-rm183#sh ip bgp neighbors 217.58.245.2 routes BGP table version is 7390633, local router ID is 151.99.28.17 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network *> 192.168.1.2/32 Next Hop 217.58.245.2 Metric LocPrf Weight Path 0 0 65101 i

Total number of prefixes 1

Utile per visualizzare le network ricevute da un dato neighbor.

138

Comandi di Troubleshooting

Clear ip bgp neighbors


r-rm183#clear ip bgp * Resetta TUTTE le sessioni BGP del router (ATTENZIONE, NON UTILIZZARE SU NODI DI RETE !) r-rm183#clear ip bgp 217.222.3.2 Resetta la sessione BGP col neighbor specificato.

r-rm183#clear ip bgp 217.222.3.2 soft out Permette un nuovo invio degli annunci verso il neighbor specificato senza causare il reset della sessione e quindi senza interrompere la connettivit.

139

Comandi di Troubleshooting

Show ip bgp regexp


r-rm183#sh ip bgp regexp _1267_ BGP table version is 7390644, local router ID is 151.99.28.17 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop * i62.101.0.0/19 192.94.212.204 *>i 192.94.212.204 * i80.82.0.0/20 192.94.212.204 ..................(continua) r-rm183#sh ip bgp regexp _1267$ BGP table version is 7390646, local router ID is 151.99.28.17 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop * i80.82.0.0/20 192.94.212.204 *>i 192.94.212.204 * i131.1.194.0/24 192.94.212.204 *>i 192.94.212.204 .................(continua) Metric LocPrf Weight Path 33 120 0 1267 i 33 120 0 1267 i 0 120 0 1267 i 0 120 0 1267 i Metric LocPrf Weight Path 120 0 1267 15584 15584 i 120 0 1267 15584 15584 i 33 120 0 1267 i

Utile a visualizzare network in base ad un numero di AS. Es.1 : rotte transitate per Infostrada Es.2 : rotte generate da Infostrada 140

Corso advanced networking


Servizi NAT/PAT e tunneling

NAT
Inside
SA 10.1.1.1 SA 192.168.2.2

Outside

10.1.1.1

Internet

10.1.1.2

NAT border router

Il NAT si usa se: se:


Ci si deve connettere ad Internet e gli host non hanno un indirizzo pubblico Si devono connettere pi reti con indirizzamenti diversi In alcune implementazione del bilanciamento di carico

NAT
(Terminologia)

Inside
B
DA 10.1.1.1 SA 192.168.2.2

DA 192.168.2.2

Host B 172.20.7.3

10.1.1.2
SA 10.1.1.1

Internet
A Simple NAT table D

10.1.1.1

Inside Local IP Address

Inside Global IP Address

10.1.1.2 10.1.1.1

B 192.168.2.3 192.168.2.2

Traduzione indirizzi locali


Inside

4
DA 192.168.2.2

10.1.1.3

5
DA 10.1.1.1

3
SA 192.168.2.2

Host B 172.20.7.3

10.1.1.2 10.1.1.2
SA 10.1.1.1

Internet

2 NAT table
Inside Local IP Address Inside Global IP Address

10.1.1.1

10.1.1.3 10.1.1.2 10.1.1.1

192.168.2.4 192.168.2.3 192.168.2.2

Overloading degli indirizzi globali interni


Inside

4
DA 192.168.2.2

10.1.1.3

5
DA 10.1.1.1

3
SA 192.168.2.2

Host B 172.20.7.3

Internet
10.1.1.2

DA 192.168.2.2

1
SA 10.1.1.1

2 NAT table
Inside Local IP Protocol 10.1.1.1 Address: Port Inside Global IP Address: Port

Host C 172.21.7.3 Outside Global IP Address: Port

10.1.1.1

TCP TCP TCP

10.1.1.3:1723 192.168.2.2:1492 172.21.7.3:23 10.1.1.2:1723 192.168.2.2:1723 172.21.7.3:23 10.1.1.1:1024 192.168.2.2:1024 172.20.7.3:23

Tunneling

80.100.100.1

62.100.23.121

WAN
172.16.1.1

Tunnel

172.16.1.2 10.1.1.1/24

10.0.0.1/24

Interface tunnel 0 ip address 172.16.1.1 255.255.255.252 tunnel source 80.100.100.1 tunnel destination 62.100.23.121 ! .. ip route 10.1.1.0 255.255.255.0 tunnel 0

interface tunnel 0 ip address 172.16.1.2 255.255.255.252 tunnel source 62.100.23.121 tunnel destination 80.100.100.1 ! .. ip route 10.0.0.0 255.255.255.0 tunnel 0

Corso advanced networking


MPLS

Evoluzione dei Backbone IP

Levoluzione delle reti che basano la propria architettura sul protocollo ip, e la logica conseguenza dello svilluppo del mondo internet. Uno dei traguardi principali ambiti dai gestori di reti, e lintegrazione del trasporto di dati video e voce. Cio si e reso possibile con lutilizzo di backback-bone ip.

Un po di storia..
Tra la fine degli anni 80 e gli inizi degli anni 90, secondo le intenzioni iniziali, ATM (Asyncronous Transfer Mode) era visto come la tecnologia universale, che avrebbe permesso il trasporto integrato di voce video e dati. Lo standard ATM e uno standard molto sofisticato avente le seguenti caratteristiche: 1 elevate velocita di trasmissione (tipicamente 3434-155 Mbit) 2 possibilita di avere diverse Qualita di Servizio 3 meccanismi di controllo/gestione del traffico molto efficenti Proprio queste caratteristiche ne hanno pero decretato la cattiva sorte in quanto, l implementazioni di tali funzionalita ha reso lo standard molto complesso.

Un po di storia..
L avvento di internet e delle applicazioni ad essa correlate, sviluppate su un architettura protocollare semplice e standardizzata (tcp/ip), ha fatto si che lo scenario tecnologico si sia spostato sull ottimizzazione degli apparati che basano il loro funzionamento sul protocollo ip (Internet Protocol). Il rovescio della medaglia di tale tecnologia e che, pur offrendo una semplicita intrinseca non riesce a garantire determinate qualita richieste da diverse applicazioni (principalmente voce e video). Principalmente nei backback-bone ip non e possibile gestire la qualita del servizio. servizio. Cio implica, una scarsa scalabilita sullofferta dei servizi.

La spinta verso MPLS: convergenza liv.2 liv.3

MPLS) ) e il frutto La tecnologia Multi Protocol Label Switching (MPLS della convergenza delle reti tipicamente di trasporto di livello 2,che permettono prestazioni in termini di velocita elevati ed inoltre, livelli di sicurezza non possibili con le reti ip, e gli aspetti comunque positivi del mondo ip (tipicamente flessibilita).

La spinta verso MPLS: ip routing

La tecnologia Multi Protocol Label Switching (MPLS MPLS) ) fu sviluppata inizialmente per incrementare le prestazioni di inoltro dei pacchetti IP da parte dei router. router. I router IP convenzionali instradano infatti i pacchetti in base allindirizzo IP di destinazione del pacchetto stesso, effettuando ogni volta una ricerca nella propria tabella di routing. routing. Tale ricerca avviene secondo il principio del best match, trovando allinterno di vari intervalli di indirizzi IP specificati da coppie del tipo (indirizzo di rete, maschera di rete), ognuna delle quali costituisce una riga della tabella di routing, lintervallo pi stretto in cui ricade lindirizzo IP di destinazione del pacchetto da inoltrare. inoltrare. Per quanto siano stati sviluppati algoritmi efficienti per effettuare tale ricerca, le dimensioni di tale tabella rappresentano comunque un limite prestazionale dei router. router.

Routing ip: bestbest-match


Il router cerca nella tabella di routing la rete che si avvicina di piu

Pacchetto ip entrante
1 entry 194.100.120.10
Sara questa la rete ?

Tabella di routing:
174.200.30.0 134.128.12.4 212.43.64.112 194.100.0.2 202.98.43.64
Devo comunque verificarle tutte !!

134.128.12.4 160.000 entry 212.43.64.112

La spinta verso MPLS: exact match

La tecnologia MPLS prevede invece , di assegnare ad ogni pacchetto una opportuna etichetta di lunghezza prefissata e di commutare ad ogni nodo il pacchetto in funzione del valore di tale etichetta, attraverso una ricerca in una tabella di cui tale valore costituisce lindice; tale tabella fornir, oltre allindicazione dellopportuna interfaccia di uscita ove instradare il pacchetto, anche una nuova etichetta da sostituire a quella esaminata, che sar utilizzato dal prossimo router per la successiva commutazione. Tale schema prevede naturalmente, dal momento che gli host e i router convenzionali non supportano tale tecnologia, che esista una infrastruttura di rete capace di gestire linoltro dei pacchetti in modalit MPLS e di interfacciare elementi non MPLS

Routing MPLS: exactexact-match


Il router cerca nella tabella di routing il valore esatto della label

Pacchetto ip+ label entrante


194.100.120.10

Tabella di routing:
1 entry 784 1016 413
E questa ! Vedo linterfaccia duscita e inoltro il pacchetto

585

585 202

694 250 entry 457

LABEL MPLS : struttura

La label MPLS composta da 32 bit (4 bytes):


20 bit di LABEL 3 bit come Experimental bit (traffic engineering) (cos) class of service

1 bit di Bottom of the stack 8 bit di TTL (viene utilizzato il ttl del pacchetto ip)

MPLS: trasporto network

IP PE

425 IP

P 658

IP

846 IP P

846

IP CE
10.118.90.0/24

PE

P IP CE
10.115.85.0/24

Viene inoltrato verso il back-bone mpls, un pacchetto ip preceduto da una label

MPLS: quality of service (QoS)

IP PE

425 IP

P 658

IP

846 IP P

846

IP CE
10.118.90.0/24

PE

P IP CE

Allinterno del back-bone mpls, un pacchetto ip anteceduto da una label Ed inoltre nella stessa, e possibile diversificare/priorizzare il traffico 10.115.85.0/24 Attraverso lutilizzo del campo della label (experimental bit)

Frame Mode MPLS: Label format


(mpls over frame-relay)

La label viene inserita tra il livello 2 e il livello 3 del pacchetto IP

Architettura di una rete MPLS:


LDP/TDP Anche se le label hanno un valore locale (cos come gi accade per lATM), devono essere distribuite tra i nodi MPLS direttamente connessi
Un opzione sarebbe inserire tale funzione nelle caretteristiche dei protocolli di routing IP esistenti Unaltra opzione sarebbe quella di utilizzare un protocollo dedicato a questa funzione

La scelta adottata dallMPLS verte sulla seconda opzione visto che i protocolli esistenti che bisognerebbe modificare sono veramente tanti
Protocollo LDP :(Label Distributions Protocol) (standard ietf) Protocollo TDP : (Tag Distributions Protocol) (cisco)

160

Architettura di una rete MPLS:


LDP/TDP LDP/TDP scambia le label MPLS che vengono memorizzate allinterno della Label Information Base(LIB) Una label aggiunta allIP Forwarding Table per mappare un IP Prefix da una next-hop Label Le Label generate localmente vengono aggiunte alla LFIB Gli scenari possibili sono 3: Un incoming pacchetto IP inoltrato come pacchetto IP utilizzando le informazioni contenute nella FIB (CEF switching) Un incoming pacchetto IP inoltrato come Labeled IP Packet utilizzando le informazioni contenute nella FIB (questo il caso standard nel caso in cui ho una label associata allIP network Un incoming Labeled IP Packet inoltrato come Labeled IP Packet utilizzando le informazioni contenute nella LFIB

161

Architettura di una rete MPLS:


LDP/TDP Label Distribution Protocol, in ambiente IP svolge le seguenti operazioni:
I protocolli IP costruiscono le tabelle di routing Ciascun LSR, in maniera indipendente, associa una label per ogni destinazione IP presente nella tabella di routing e le memorizza nella LIB Ogni LSR annuncia le sue Label agli altri LSR (unsollecited non sollecitato) Ogni LSR costruisce la LIB, FIB, LFIB table in base alle informazioni ricevute: nella LFIB, la local Label precedentemente annunciata agli upstream neighbor associata alla next-hop-label ricevuta dai downstream neighbor

162

Sessione LDP / TDP

LDP/TDP usano lo stesso protocollo per stabilire una sessione:


Pacchetti di Hello sono spediti periodicamente su tutte le interfacce che parlano MPLS Se c un altro router su una certa interfaccia questo cercher di stabilire una sessione LDP I pacchetti di Hello sono mandati utilizzando UDP (port 646 per LDP, 711 per TDP) allindirizzo multicast 224.0.0.2 Il TCP utilizzato per stabilire la sessione ( port 646 per LDP, 711 per TDP)
163

Summary Label Distribution Protocol


Il meccanismo appena analizzato, tipico del frame-mode presenta le seguenti caratteristiche: Unsolicited Downstream: mando le Label ai neighbor LSR senza che me le richiedano (Cell.mode: Downstream on Demand) Indipendent control: anche se non ho una label dal mio Next-Hop, associo una Label per ogni network (Cell.mode: Ordered Control) Liberal retention mode: mantengo anche le Label dei neighbor LSR che non sono next-hop (Cell.mode: Conservative Mode)

164

Corso advanced networking


Grazie a tutti. tutti.