Redistribuzione route esterne in OSPF AS 100 RIP Area 1 R9 Area 2 R10 R3 R4 R2 Area 0 R1 R5 R6 Area 3 Area 4 R7 R11 R8 BGP R8 e R11 sono una tipologia di router OSPF chiamati ASBR: connettono l'as OSPF con domini esterni (altri protocolli di routing ) R8 e R11 sono responsabili di inviare al resto della rete le informazioni sulla raggiungibilità delle reti esterne.
Redistribuzione route esterne in OSPF Area 2 RTA C= x C= x C= y C= z RTB Area 3 RTC N2 type E2 N1 type E1 C(N2) = x C (N1) = x + y C(N2) = x C (N1) = x + y + z
Redistribuzione route esterne in OSPF Esistono due tipologie di reti esterne: Tipo 1 Tipo 2 Si differenziano per come viene calcolata la metrica Reti esterne di tipo 1: la metrica tiene conto del costo esterno più del costo interno necessario a raggiungere ASBR Reti esterne di tipo 2: la metrica tiene conto solo del costo esterno Quando si usa tipo 1: quando si vuole bilanciare il traffico in uscita tra due o più punti baricentrici della rete in modo da limitare transiti inutili interni all'as Quando si usa tipo 2: quando si ritiene trascurabile il costo interno all'as rispetto a quello esterno; se ad esempio posso raggiungere una rete X da due ASBR connessi a due provider esterni differenti favorisco il provider che offre il miglior percorso verso la rete X
Redistribuzione route esterne in OSPF tipo 1 Area 2 AS J Area 1 RT Rete N Nord Sud Area 0 RTA RTB AS X Area 4 Area 3 RT RTA e RTB vengono usati secondo un criterio di bilanciamento geografico se i costi di RTA e RTB per la rete esterna N sono uguali, perchè il percorso dei router dell'area nord verso RTB (e per i router dell'area sud verso RTA) ha un costo maggiore di quello verso RTA (RTB).
Redistribuzione route esterne in OSPF tipo 2 Area 2 AS J Area 1 RT Area 0 RTA AS X AS V Rete N RTB AS Y AS K Area 4 Area 3 RT AS Z AS W In questo caso la metrica di RTA per la rete esterna N è inferiore a quella di RTB (attraversa meno reti esterne); il router RTB viene usato solo come back up
Redistribuzione route esterne in OSPF Implementato in OSPF Si usano due LSA ad hoc per le reti esterne: LSA tipo 4 LSA tipo 5 LSA tipo 4 viene utilizzato per localizzare gli ASBR LSA tipo 5 viene utilizzato per distribuire all'interno dell'as l'informazione sulla raggiungibilità delle reti esterne Chi genera gli LSA di tipo 4: sono generati dagli ABR se all'interno dell'area è presente un ASBR Dove vengono distribuiti gli LSA di tipo 4: vengono iniettati dagli ABR nelle aree diverse da quella in cui è presente un ASBR Chi genera gli LSA di tipo 5: vengono generati dagli ASBR Dove vengono distribuiti gli LSA di tipo 5: vengono distribuiti in tutto l'as (sono gli unici LSA a non essere confinati soltanto all'interno di un'area)
Redistribuzione route esterne in OSPF RL Area 1 EL R9 R3 RL SL R2 SL RL RL Area 2 R4 RL EL SL R10 SL R8 Area 4 RL RL RL EL RL R7 R11 EL SL R1 SL R5 Area 0 RL RL EL SL R6 ELRL Area 3 SL AS y AS x I router R8 e R11 generano LSA External Link (tipo 5) perchè consentono di raggiungere reti esterne all'as I Router R7 e R6 generano annunci LSA Summary Link tipo 4 perchè hanno all'interno della loro area dei router ASBR Gli LSA SL tipo 4 vengono distributi nel backbone e dai router R3 e R4 sono iniettati nelle aree 1 e 2 (in questo modo tutti i router sanno dove sono gli ASBR) Gli LSA External Link generati da R8 e R11 sono iniettati in tutte le aree
Redistribuzione route esterne in OSPF STUB area AS 100 RIP default R9 R4 Area 2 R10 default R2 Area 0 R1 R5 R6 Area 3 Area 4 R7 R11 R8 BGP Se area 2 viene definita come un'area di tipo STUB non riceverà più gli LSA External Link Questa configurazione viene adottata quando l'area ha un singolo exit point verso il backbone o al massimo a più collegamenti verso il backbone equivalenti su cui bilanciare il traffico che non hanno differenze in termini di metriche verso le reti esterne
Redistribuzione route esterne in OSPF - STUB area Usato per ridurre la comlessità del database OSPF e il numero degli annunci trasmessi Il routing esterno di un'area STUB è basato solo su default in quanto gli LSA External link non sono inietti nell'area IR di area STUB utilizzano per il routing esterno un ABR dell'area senza tener conto del costo del path dall'abr verso la rete esterne (non viene calcolato il cammino ottimo) Gli ABR iniettano nell'area un default route (0.0.0.0/0.0.0.0): ogni network/netmask è raggiungibile tramite l'abr Nel caso in cui siano presenti nell'area STUB 2 o più ABR e entrambi iniettino un default route, i router IR dell'area scelgono l'abr migliore (shortest path interno all'area) Un router ASBR non può apparnere ad un'area STUB In un'area di tipo STUB vengono iniettate gli LSA summary link di tipo 3 (utilizzati per il routing inter area)
Router ID 230.250.13.41 230.250.15.0 255.255.255.192 Area 0 Area 1 E0 Ethernet link 230.250.16.130/26 E0 R3 S1 link seriale R2 15.68 15.67 15.1 R1 E0 15.2 230.250.15.192 230.250.15.0 mask255.255 255.192 mask 255.255.255.192 R1 è un ASBR verso un dominio RIP e si suppone che inietti in OSPF un default route 0.0.0.0/0.0.0.0 Area 0 Database OSPF di R2 (vengono riportati solo gli LSA tipo 4 e 5) Summary ASBR Link State_ID ADV Router Mask Metrica 230.250.16.130 230.250.15.67 255.255.255.255 64 RIP Router ID del ASBR External Link Link State_ID ADV Router Mask Type Metrica Forward Address 0.0.0.0 230.250.16.130255.255.255.255 2 10 0.0.0.0 230.250.16.128 230.250.16.130255.255.255.192 2 10 0.0.0.0 Rete di destinazione
Router ID 230.250.13.41 230.250.15.0 255.255.255.192 Area 0 Area 1 E0 Ethernet link 230.250.16.130/26 E0 R3 S1 link seriale R2 15.68 15.67 15.1 R1 E0 15.2 230.250.15.192 230.250.15.0 mask255.255 255.192 mask 255.255.255.192 R1 è un ASBR verso un dominio RIP e si suppone che inietti in OSPF un default route 0.0.0.0/0.0.0.0 RIP Area 1 Database OSPF di R2 (vengono riportati solo gli LSA tipo 4 e 5) External Link Link State_ID ADV Router Mask Type Metrica Forward Address 0.0.0.0 230.250.16.130255.255.255.255 2 10 0.0.0.0 230.250.16.128 230.250.16.130255.255.255.192 2 10 0.0.0.0 Rete di destinazione
commenti... In questo caso abbiamo aggiunto anche le reti esterne R1 diventa un ASBR e supponiamo che sia anche configurato in modo da generare un default per tutto l'as La presenza di reti esterne comporta la presenza di LSA tipo 4 e tipo 5 per notificare rispettivamente gli ASBR e le reti esterne stesse R2, in quanto ABR, dovrà inviare nell'area 0 un LSA di tipo 4 perchè all'interno dell'area 1 è presente un ASBR R1 genera invece due LSA di tipo 5 (external link): Uno per la rete di default Uno per la rete 230.250.16.128 255.255.255.192 Gli LSA di tipo 5 sono propagati in tutte le aree (ad eccezione delle stub) per cui non sono legati ad un'area particolare Forward address = 0.0.0.0 indica che il router da utilizzare per raggiungere le reti esterne è lo ASBR stesso (vedi esempio succ.)
Utilizzo di forwarding address BGP N1 N2 AS X R1 I AS Y R2 R3 R4 OSPF LSA tipo 5 (N1,N2), forwarding address = I R2 è un ASBR in quanto riceve le route esterne da R1 R2 non vuole essere usato come transito delle rotte esterne da R3 e R4, sarebbe solo un hop in più R2 può allora specificare R1 come forwarding address In questo caso il forwarding address è raggiungibile direttamente da R3 e R4 (direttamente connesso); Il forwarding address, in generale, può essere utilizzato quando il router specificato é raggiungibile tramite rotte OSPF. Se così non è nel database OSPF ci sarebbero le rotte esterne e non l'asbr e, quindi, nella tabella di routing non ci sarebbero le rotte esterne (verrebbero cancellate in quanto non raggiungibili)
Redistribuzione di route esterne in OSPF E' possibile, tramite comandi di amministrazione del router, inserire nel database OSPF, destinazioni calcolate da altri protocolli di routing oppure rotte statiche 10.0.5.0 /24.1 R1 10.0.3.0 /24.1.2 R2 Rete OSPF R4 R3.3 10.0.7.0/24 Su R2: route 10.0.5.0/24 10.0.3.1 route 10.0.7.0/24 10.0.3.1 In questo modo nelle tabelle di routing di R2 si inseriscono artificialmente due entry per le destinazioni 10.0.5.5/24 e 10.0.7.0/24
Redistribuzione di route esterne in OSPF 10.0.5.0 /24.1 10.0.7.0/24 R1 R3 10.0.3.0 /24.1.2.1 R2 213.1.1.4 /32 (router id) Su R2: router ospf 100 redistribute static [ metric n ] Rete OSPF In questo modo nelle tabelle di routing OSPF vengono inserite le rotte statiche configurate su R2 Database OSPF di R4:... Link State_IDADV Router Mask Type Metrica Forward Address 10.0.5.0 213.1.1.4 255.255.255.0 2 20 0.0.0.0 10.0.7.0 213.1.1.4 255.255.255.0 2 20 0.0.0.0 R4
Redistribuzione di OSPF in altri protocolli Operazione duale di quella vista in precedenza Bisogna tener conto di due potenziali problemi: metrica non compatibile (e.g. RIP la metrica massima è 16) Mancato supporto di VLSM Rete OSPF E0 R1 R2 Rete RIP Interfaccia Ethernet 0 di R1 appartiene ad un'area OSPF e contemporaneamente ad un processo di routing RIP Su R1: router OSPF 100 network 130.1.1.0 0.0.0.255 area 0 router RIP network 130.1.1.0 redistribute OSPF metric 5
Struttura della routing table Destination Type: Range di indirizzi che identificano una rete, un host (maschera 32 bit), un default route (0.0.0.0 / 0.0.0.0) Router: ABR utilizzati per il calcolo dei path inter-area, ASBR utilizzati per il calcolo dei path verso destinazioni esterne (queste informazioni sono utilizzate come passo intermedio per la creazione della tabella di routing) Destination Id: identificativo della rete oppure identificativo del router (Router Id) Address Mask: utilizzata solo per le destinazioni di tipo rete, identifica il range di indirizzi
Area _ID: Reti esterne: non definito Reti interne: area associata al miglior percorso (in caso di più percorsi di costo uguale sono presenti più entry nella RT) Router: area di appartenenza dell'abr; nel caso di router di tipo IR sarà presente una sola entry, nel caso di router ABR che condividono 2 o più aree in comune ci sarà una entry per ogni area in comune Path type; sono 4 tipi in ordine descresente di preferenza: Intra-area Inter-area Struttura della routing table External tipo 1 External tipo 2
Struttura della routing table Costo: costo del cammino dal router alla destinazione (per le destinazioni esterne di tipo 2 rappresenta solo il costo del percorso interno all'as) Type 2 Cost: metrica contenuta nel LSA (solo External LSA tipo 2) Next hop: interfaccia e indirizzo IP a cui inoltrare il pacchetto per la destinazione Advertising router: identificativo del router ABR o ASBR che ha genereato LSA tipo summary o external (non utilizzato per destinazioni intra area)
Calcolo tabella di routing LSAs LSAs database Tabella di routing
Calcolo tabella di routing Invalida la tabella di routing attuale TR old e inizia calcolo di TR new 1) Calcola lo SPT per le route intra-area e gli ABR dell'area Calcola le route inter-area esaminando gli LSA di tipo summary; 1) Se il router è un ABR e una delle aree può essere usata come transito, analizza anche gli LSA provenienti da quest'area per vedere se esistono percorsi migliori di quelli calcolati ai punti 2-3 Calcola le reti esterne esaminando gli LSA external link (al passo 3 sono stati già determinati gli ASBR) Se TR new <> TR old valuta azioni conseguenti da eseguire (e.g. ABR deve originare nuovi LSA summary a fronte di cambiamenti di rotte intra-area)
Algoritmo di Dijkstra 1 R2 1 N5 N6 R1 N1 N4 3 1 R3 R5 3 4 Ia 2 6 Ib R4 N3 2 N2 N5 N6 N = insieme dei nodi N V = insieme dei nodi visitati F = insieme dei nodi Frontiera (successori dei nodi V) S = insieme dei nodi Sconosciuti ancora da visitare
1 R2 1 R1 N1 N3 3 1 R3 R5 R1 R2 R3 R4 R5 N1 N2 N3 d 0 u???????? R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 u????? R1?? R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 1 u? N1 N1?? R1?? R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 1 u? N1 N1?? R1?? Algoritmo di Dijkstra 3 4 2 6 R4 2 N2 V = {}, F = {R1}, S = {R2,R3,R4,R5,N1,N2,N3} V = {R1}, F = {N1}, S = {R2,R3,R4,R5,N2,N3} V = {R1,N1}, F = {R2, R3}, S = {R4,R5,N2,N3} V = {R1,N1,R2}, F = { R3 }, S = {R4,R5,N2,N3}
1 R2 1 R1 N1 N3 3 1 R3 R5 R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 1 4 u? N1 N1 R3? R1? R3 Algoritmo di Dijkstra 3 4 2 6 R4 2 N2 V = {R1,N1,R2,R3}, F = {R4,N3 }, S = {R5,N2} R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 4 1 4 u? N1 N1 R3 N3 R1? R3 V = {R1,N1,R2,R3,N3}, F = {R4,R5 }, S = {N2} R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 4 1 6 4 u? N1 N1 R3 N3 R1 R5 R3 V = {R1,N1,R2,R3,N3,R5}, F = {R4,N2 }, S = {}
1 R2 1 R1 N1 1 N3 3 R3 R5 Algoritmo di Dijkstra 3 4 6 2 R4 2 N2 R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 4 1 6 4 u? N1 N1 R3 N3 R1 R5 R3 V = {R1,N1,R2,R3,N3,R5,R4}, F = {N2}, S = {} R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 4 1 6 4 u? N1 N1 R3 N3 R1 R5 R3 V = {R1,N1,R2,R3,N3,R5,R4,N2}, F = { }, S = {}
1 R2 1 R1 N1 N3 3 1 R3 R5 R1 R2 R3 R4 R5 N1 N2 N3 d 0 1 1 5 4 1 6 4 u? N1 N1 R3 N3 R1 R5 R3 Algoritmo di Dijkstra 3 4 2 6 R4 2 N2 Cammino minimo di un vertice da R1 si ottiene seguendo i puntatori all'indietro, e.g. N2: u(n2) = R5 u(r5) = N3 u(n3) = R3 u(r3) = N1 u(n1) = R1 Nota che : u(r3) è il next hop dal inserire nella tabella di routing per N2 e d(n2) è il costo del cammino V = {R1,N1,R2,R3,N3,R5,R4,N2} F = {}, S = {} 0 1 N1 0 R2 R3 4 R4 6 Ia 4 R1 (origine) Ib 3 R5 SPF tree di R1 2 N2