Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Lezione 6: Routing Gerarchico
2
Il routing in Internet: com’era
3
Il routing in Internet: com’è
4
Il routing in Internet: com’è
5
Docente: Marco Sechi Modulo 1
Un protocollo di routing è un processo di comunicazione tra i router per scambiarsi informazioni utilizzate per formare la tabella di routing (routing table).
6
Docente: Marco Sechi Modulo 1
INTERNETWORK Per realizzare una internetwork, dobbiamo unire più reti insieme, ciascuna delle quali può essere gestita in modo indipendente rispetto alle altre. Questo ha portato alla suddivisione dell’internetwork in aree diverse. Ogni zona che appartiene allo stesso dominio amministrativo prende il nome di Autonomous System (AS). L'instradamento attraverso le reti avviene sulla base di particolari tabelle dette tabelle di routing (caricate sul router). All'aumentare del numero dei Router, cresce la complessità di tali tabelle e delle procedure per la determinazione dei percorsi migliori. La scelta di suddividere l'insieme delle reti in AS, ha permesso di semplificare le procedure abbinate al processo di routing. Tutti i router del medesimo AS condividono lo stesso protocollo di routing. Ricordiamo che lo scopo di un protocollo di routing (Routing Protocol), è quello di mantenere dinamicamente le routing table.
7
Docente: Marco Sechi Modulo 1
AUTONOMOUS SYSTEM Si rende a questo punto importante collegare i vari Autonomous System fra loro mediante l'uso di router in grado di instradare pacchetti fra aree diverse. Possiamo suddividere i router nelle 3 seguenti categorie: Interior Router: responsabili della trasmissione informazioni all'interno di un AS, per cui non hanno una diretta connessione con una qualsiasi rete esterna. Border Router: (Router di confine) realizza la connessione fra AS diversi. Può essere considerato quindi come il punto di ingresso e di uscita verso altri AS. Exterior Router (Router esterno) appartengono a questa classe tutti i router che sono esterni rispetto all’AS che stiamo considerando.
8
Docente: Marco Sechi Modulo 1
Le reti sono quindi raggruppate in Autonomous System (gruppi di reti controllati e gestiti da un'unica entità amministrativa). Gli Autonomous System sono identificati tramite un numero intero, univoco a livello mondiale, assegnato dalla stessa autorità che rilascia gli indirizzi Internet (IANA Gli interior router scambiano le informazioni di instradamento tramite l’ Interior Gateway Protocol (IGP) mentre i border router utilizzano un Exterior Gateway Protocol (EGP). Nel caso di routing interno all’AS (intradomain routing) i router interni devono conoscere solo i segmenti di rete appartenenti allo stesso AS. Non è quindi necessario che mantengano informazioni su reti esterne. Qualora servisse comunicare con altri AS si limitano a mandare i pacchetti relativi ai router di confine. Questa organizzazione ha dei notevoli vantaggi, poiché riduce le dimensioni della routing table in quanto le network esterne non sono presenti direttamente in tale tabella se non attraverso i border router.
9
PRINCIPALI PROTOCOLLI DI ROUTING
Docente: Marco Sechi Modulo 1 PRINCIPALI PROTOCOLLI DI ROUTING Protocolli IGP: RIP: E’ un protocollo utilizzato all’interno di un AS per l’ instradamento dinamico. RIP e' l'acronimo di Routing Information Protocol ed e' un protocollo relativamente semplice appartenente alla famiglia di protocolli di tipo "distance vector". OSPF: è l'acronimo di Open Shortest Path First. OSPF appartiene alla classe IGP e pertanto opera internamente a ciascun Autonomous System (AS). Il protocollo, essendo di tipo “link state”, utilizza l'algoritmo SPF per calcolare il percorso più breve verso la destinazione. L’algoritmo SPF si basa principalmente sulla larghezza di banda; il percorso a costo più basso viene inserito nella routing table (o forwarding database). OSPF è protocollo pubblico (quindi non proprietario). L’OSPF raccoglie le informazioni dai router vicini circa lo stato dei link ed invia i suoi dati agli altri. Questo scambio di informazioni permette ai router di creare la topology table o link state database. L’OSPF è un protocollo da utilizzare in reti estese e scalabili (ampliabili). Vengono usati in alternativa ai protocolli “distance vector” quando i limiti di questi ultimi li rendono inapplicabili. Ad esempio se voglio utilizzare metriche basate sulla larghezza di banda o quando voglio, in reti estese, avere una maggior convergenza del protocollo (con reti ampie il RIP può avere una convergenza di alcuni minuti).
10
Docente: Marco Sechi Modulo 1
Protocolli EGP: BGP: Il Border Gateway Protocol è un protocollo di instradamento che agisce nel 'cuore' della rete Internet. Il BGP usa tabelle di reti IP, o prefissi, che forniscono informazioni sulla raggiungibilità dei diversi 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 regole definite in ciascun rete. La versione corrente, BGP-4, è definita nella specifica RFC Tutti i provider Internet (ISP) sono obbligati a usarlo. BGP è quindi il protocollo di routing usato nell'internet pubblica ed è l'unico (visto che si è costretti ad usarlo!) di tipo exterior. I protocolli EGP, a differenza degli IGP, non hanno metodi per scoprire l’esistenza di router “vicini” ma devono essere definiti manualmente. Il BGP è un protocollo d’instradamento decentralizzato (comunica solo con i router a cui è direttamente collegato). Essendo un algoritmo di tipo “path vector” non viene fornito il numero di hop ma l’intero percorso da attraversare per giungere ad una determinata destinazione.
11
Gli “Autonomous Systems” o “Sistemi Autonomi”
AS 2 RIP RIP AS 1 BGP-4 AS 4 BGP-4 OSPF BGP-4 BGP-4 IGRP AS 3
12
IGP: RIP o OSPF? Rip è un protocollo di tipo Distance Vector
Utilizza l’algoritmo di Bellmann-Ford Ogni router informa solamente i suoi vicini sulla propria tabella di routing I cambiamenti sul routing vengono propagati periodicamente causando un’occupazione di banda (circa ogni 30 sec.) Lenta convergenza RIP viene utilizzato in reti di piccole dimensioni OSPF è un protocollo di tipo link state Utilizza l’algoritmo di Dijkstra Ogni router conosce lo stato di tutta la rete I cambiamenti sul routing vengono propagati istantaneamente (nel momento in cui avvengono) attraverso la tecnica del “flooding” Migliore convergenza rispetto al RIP OSPF utilizza una struttura gerarchica OSPF si adatta bene a reti di grandi dimensioni
13
Altri protocolli di routing
IGRP (Interior Gateway Routing Protocol) è stato sviluppato da CISCO per risolvere alcune limitazioni di RIP. Come RIP, è un protocollo “distance-vector”. IS-IS è molto simile ad OSPF (è un protocollo “link state”) EGP (Exterior Gateway Protocol) è stato il primo protocollo di routing inter-dominio utilizzato. Presenta molte limitazioni ed è stato quindi sostituito dal BGP BGP (Border Gateway Protocol) è il protocollo di routing inter-dominio attualmente utilizzato (nella versione BGP-4)
14
Routing Information Protocol (RIP)
RIP appartiene alla categoria dei Distance Vector Routing Protocols Applica l’algoritmo di Bellman-Ford per la determinazione delle tabelle di instradamento E’ richiesto che ogni nodo scambi informazioni con i nodi vicini due nodi sono vicini se sono direttamente connessi mediante la stessa rete RIP è utilizzato in reti di piccole dimensioni E’ molto semplice, tuttavia la convergenza è lenta lo stato di equilibrio può essere un sub-ottimo
15
Esempio RIP : Conteggio all’infinito
16
RIP (Versione 1) Un messaggio RIP, come vedremo in seguito, viene incapsulato nel protocollo UDP Il pacchetto RIP può essere di due tipi: Pacchetto Request - è emesso da un router per chiedere ad un nodo vicino l’invio della distance vector table o di una parte di essa Pacchetto Response - è emesso per inviare tutta o una parte della distance vector table - è emesso: ogni 30 secondi in risposta ad un pacchetto Request quando la routing table cambia (Triggered updates)
17
RIP (Versione 1) Il formato massimo di un messaggio RIP è di 512 bytes
massimo 25 blocchi per messaggio in caso di un numero maggiore di 25 indirizzi da aggiornare si utilizzano messaggi RIP multipli Non supporta la tecnica della subnet mask (è classfull) un router deve conoscere la struttura degli indirizzi La metrica usata è la distanza (intero compreso da 1 a 16) il valore 16 indica infinito Se un router non riceve notizie da uno dei suoi vicini per più di 180 secondi la metrica del vicino nella propria tabella viene posta a ∞ (16) e l’informazione viene propagata ai router vicini che la diffonderanno su tutta la rete In caso di variazioni consecutive dello stato dei link i messaggi RIP sono emessi con intervallo da 1 a 5 secondi
18
RIP (Versione 1)
19
RIP (Versione 2) Estende le funzionalità di RIP-1
può essere utilizzato in reti di media dimensione supporta la tecnica di subnetting variabile o supernetting (CIDR) è compatibile con RIP-1 router di diverso tipo possono coesistere in una stessa rete Le metrica utilizzata è identica a quella di RIP-1 distanza (intero da 1 a 16) il valore 16 indica infinito RIP-2 utilizza i byte inutilizzati nel formato dei pacchetti RIP-1
20
RIP (Versione 2)
21
Link State Routing I protocolli “Link State” sono adatti a reti di grandi dimensioni Principi base: i router hanno la responsabilità di contattare i router vicini e acquisire la loro identità (pacchetti Hello) i router emettono i link state packets (LSP) che contengono la lista delle reti connesse al router (vicini) ed i loro costi associati gli LSP sono trasmessi a tutti gli altri router (flooding) tutti i router hanno lo stesso insieme di dati e quindi possono costruire la stessa mappa della rete (database topologico) le mappe di rete sono utilizzate per determinare i cammini migliori e quindi l’instradamento
22
Link State Routing Gli LSP sono emessi
quando un router contatta un nuovo router vicino quando un link si guasta quando il costo di un link varia periodicamente ogni fissato intervallo di tempo La rete trasporta gli LSP mediante la tecnica del flooding un LSP è rilanciato da un router su tutte le sue interfacce tranne quella da cui è stato ricevuto gli LSP trasportano dei riferimenti temporali (time stamp) o numeri di sequenza per evitare il rilancio di pacchetti già rilanciati consentire un corretto riscontro dal ricevente
23
Tecnica del “Flooding”
Assicura che tutti i router di una rete riescano a costruire un database contenente lo stato della rete abbiano le stesse informazioni sullo stato dei link Alla ricezione di un LSP: un router esamina i campi di un LSP: link identifier, metrica, età e numero di sequenza se il dato non è contenuto nel database, viene memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione se il dato ricevuto è più recente di quello contenuto nel database, il suo valore è memorizzato e l’LSP è rilanciato su tutte le interfacce del router tranne quella di ricezione se il dato ricevuto è più vecchio di quello contenuto nel database, viene rilanciato un LSP con il valore contenuto nel database esclusivamente sull’interfaccia di arrivo dell’LSP se i due dati sono della stessa età non viene eseguita alcuna operazione
24
Esempio di LSP database
Costo A D F C E B G a b c d e 2 5 4 7 3 6 1 LSP Database A B/2 D/5 a/1 B A/2 C/2 b/1 C B/2 D/4 E/3 D A/5 F/6 G/7 C/4 E C/3 G/2 F D/6 c/1 G D/7 E/2 d/1 e/1 (replicato su ogni router)
25
Tabella di routing Ogni router calcola inizialmente le sue tabelle di routing applicando alla mappa della rete l'algoritmo di Dijkstra o SPF (Shortest Path First) a A D F C E B G b c d e 2 5 3 6 1 Tabella di routing di A Dest via costo a diretto 1 b B 3 c D 12 d B 10 e B 10 B diretto 2 C B 4 D diretto 5 E B 7 F D 11 G B 9
26
Link State: caratteristiche
Vantaggi: Può gestire reti di grandi dimensioni Ha una convergenza rapida Difficilmente genera loop, e comunque è in grado di identificarli e interromperli facilmente Facile da capire: ogni nodo ha la mappa della rete Svantaggi: Molto complesso da realizzare (la prima implementazione ha richiesto a Digital 5 anni)
27
Open Shorthest Path First (OSPF)
E’ un protocollo di tipo link-state che supera le limitazioni del protocollo RIP Consente una maggiore velocità di convergenza Algoritmo: inizialmente ogni router determina il costo dei rami uscenti (Hello) invia questi dati a tutti i router della rete (tecnica flooding) continua a monitorare il costo dei propri rami in caso di variazione del costo di un ramo, il router invia il nuovo valore del costo di quel ramo a tutti i router Ogni nodo conosce quindi lo stato dell’intera rete e può usare localmente l’algoritmo di Dijkstra
28
OSPF e i domini di instradamento 1/4
Abbiamo detto che il "routing gerarchico" è la suddivisione della rete in un set di parti indipendenti connesse attraverso un "backbone". In OSPF le parti indipendenti sono chiamate aree e la parte superiore e' chiamata "Backbone area". I router sono classificati in base alla loro posizione nella rete. Allo scopo di connettere l'intera rete, alcuni routers appartengono a piu' aree, tipicamente a un'area a basso livello, e all'area di backbone. Questi routers sono chiamati "area-border routers" (ABR): ci deve essere perlomeno un ABR in ciascun area, per connetterla al backbone. Gli ABR mantengono numerosi database, uno per ciascuna area alla quale appartengono ed ogni area include un set di sottoreti IP. 28
29
OSPF e i domini di instradamento 2/4
Oltre agli ABR (router di bordo area), possiamo distinguere ancora 3 tipologie di router: Internal router (router interni all’area): sono i router che gestiscono il traffico all'interno della stessa area Backbone Router : sono i router della backbone area Autonomous System Boundary Router (ASBR – router di confine) : sono gateway per il traffico esterno e convertono i percorsi nel dominio OSPF appresi da altri protocolli come BGP e EIGRP.
30
OSPF e i domini di instradamento 3/4
Nella seguente figura, viene illustrato un esempio di rete composta da 4 aree (delle quali una e' l'area di backbone) e da una serie di router interni, ABR e ASBR:
31
OSPF e i domini di instradamento 4/4
Vengono inoltre definiti due router con incarichi particolari: il Designated Router (DR) il Backup Designated Router (DR) Il DR è un router eletto dagli altri router appartenenti alla sua area per ridurre il traffico di rete. Il DR memorizza una tabella completa sulla topologia della rete e manda gli aggiornamenti agli altri router. In questo modo tutti i router non devono costantemente aggiornarsi l'un l'altro ma ricevono tutti gli aggiornamenti da una singola sorgente. 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. Un router potrebbe essere un DR su un’interfaccia ma non su un’altra.
32
I sotto-protocolli di OSPF
Il protocollo OSPF è composto da tre sotto-protocolli: Hello Exchange Flooding tutti i pacchetti condividono un unico header comune.
33
I sotto-protocolli di OSPF: l’header
L’header comune Version: Indica la corrente versione di OSPF, attualmente 2 Type: il tipo di pacchetto OSPF trasportato Packet Lenght : numero di bytes del pacchetto Router_ID: indirizzo IP scelto per identificare il router Area_ID: numero che identifica univocamente l’area all’interno del dominio OSPF; spesso viene scelto un indirizzo IP. Un valore identifica il backbone. Checksum: Viene calcolato sull'intero pacchetto OSPF, con l'esclusione degli 8 bytes del campo Authentication. Authentication Type: Identifica l'algoritmo di identificazione; ne sono definiti tre tipi: 0: No authentication 1: Simple authentication 2: Cryptographic authentication
34
I sotto-protocolli di OSPF
Il sotto-protocollo HELLO Il sotto-protocollo "Hello" viene utilizzato per due scopi ben precisi: Verifica dell'operativita' dei link Elezione del "Designed Router" e del "Backup Designed Router“. I pacchetti "Hello" vengono trasmessi solo tra nodi vicini e mai propagati. Il campo "Type" dell‘header comune vale 1 per questo protocollo.
35
I sotto-protocolli di OSPF
Il sotto-protocollo HELLO Network Mask: netmask associata all’interfaccia da cui viene emesso il pacchetto Hello Interval: comunica ogni quanti secondi viene emesso un pacchetto di Hello Options: vengono definiti solo gli ultimi 2 bit E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub area T: se il router è in grado di gestire il routing TOS (Type of Service) Priority: serve per l’elezione del Designed Router e viene settato da management. Ciascun router e' configurato con una priorita', che puo' variare tra 0 e 255. Viene eletto DR il router che ha la priorità più alta. Dead_Interval: intervallo di tempo di validità dei pacchetti di Hello ricevuti. DR, BDR: indirizzo del Designated Router - BDR (0 se non sono ancora stati definiti) Neighbor: lista di router_ID da cui è stato ricevuto il pacchetto di Hello negli ultimi Dead_Interval secondi
36
I sotto-protocolli di OSPF
Il sotto-protocollo EXCHANGE Quando due routers OSPF stabiliscono la connessione su di un link punto a punto, devono sincronizzare i propri database; sui link di una rete questo accade tra i routers ed il DR o il BDR. La sincronizzazione iniziale avviene tramite il protocollo "exchange"; di seguito sara' il protocollo flooding ad occuparsi di mantenere sincronizzati i database. Il protocollo utilizza un record, il "Database Description Packet", riconosciuto dal valore 2 presente nel campo "Type" dell'header.
37
I sotto-protocolli di OSPF
Il sotto-protocollo EXCHANGE Options: e' equivalente al pacchetto Hello E: se il router è in grado di inviare e ricevere route esterne; è pari a 0 se l’interfaccia appartiene ad una stub area T: se il router è in grado di gestire il routing TOS I: Initialize M: More MS: Master - Slave (1= Master) DD SN: numero di sequenza del pacchetto DD Una stub area è un'area che non riceve percorsi esterni, fuori dai limiti dell'autonomous system, ma riceve i percorsi dall’AS
38
I sotto-protocolli di OSPF
Il sotto-protocollo EXCHANGE: La procedura Il router che vuole iniziare la procedura emette un pacchetto vuoto "Database Description" con I, M e MS settati ed il numero di sequenza settato ad un valore arbitrario. L’altro router risponde emettendo un pacchetto DD di "Acknowledgment", con lo stesso numero di sequenza ed i bit I ed M settati a 1 e MS a 0 (slave). Il primo router può quindi iniziare ad inviare le descrizioni da lui possedute ed emette pacchetti DD con I settato a 0, M ed MS settati ad 1 (eccetto M per l’ultimo pacchetto). I pacchetti saranno numerati in sequenza ed inviati uno alla volta. Lo slave risponde ad ogni pacchetto con un DD Acknowledgment che riporta la sua descrizione del database, caratterizzato dallo stesso numero di sequenza ma con il bit MS settato a 0. Se il master non riceve l’Ack entro un certo intervallo ri-invia il pacchetto originale DD. Se viceversa e' lo slave che non ha finito di trasmettere le sue descrizioni: In corrispondenza del pacchetto del Sender con M=0 emette un pacchetto DD con M = 1 Il master continua ad inviare pacchetti vuoti con M = 0, ed accettare gli Ack (pieni) che gli arrivano dallo slave La procedura di sincronizzazione termina quando anche lo Slave invia un pacchetto con M = 0
39
I sotto-protocolli di OSPF
Il sotto-protocollo FLOODING Il protocollo flooding viene utilizzato per diffondere (processo di forwarding) a tutta la rete il nuovo stato di un link. Questi aggiornamenti vengono inviati, attraverso il pacchetto di "Link State Update", nel caso di: un cambiamento di stato del link allo scadere di un timer (normalmente 60 min) Il pacchetto "Link State Update", che caratterizza il campo "Type" dell‘header comune con il valore 4, e' di seguito riportato: Number of Advertisement: è il numero di LSA che vengono trasportati dal pacchetto in esame in quanto e' possibile trasportare più LSA LSA: è il Link State vero e proprio
40
I sotto-protocolli di OSPF
Il pacchetto LSA (Link State Advertisement) Gli LSA del pacchetto Link State Update vengono normalmente riconosciuti, attraverso una conferma dell'avvenuta ricezione, con il pacchetto di Link State Acknowledgment, che caratterizza il campo "Type" dell‘ header comune con il valore 5, e che e' di seguito riportato: Ciascun pacchetto di acknowledgment contiene una serie di campi con lo stesso formato del pacchetto di "database description" del protocollo di exchange. A tutti gli effetti, il Link State Advertisment (LSA) e' l'effettiva struttura dati che trasporta le informazioni ed e' la corrispondente del LSP visto per l'algoritmo teorico Link State. Gli LSA vengono propagati in tutta la rete tramite la tecnica del flooding: ogni router che riceve un LSA lo invia su tutte le interfacce tranne quella da cui lo ha ricevuto.
41
OSPF : Topologia della Rete (1/2)
Ogni router mantiene un database che riflette i dati aggiornati sulla topologia della rete (Link State Database o Database topologico) La topologia di rete è rappresentata come un grafo orientato I nodi rappresentano router network reti di transito: non contengono host (sorgenti e/o destinazioni) reti stub: reti non di transito (contengono host) I rami rappresentano collegamenti diretti tra nodi di tipo router collegamenti tra nodi di tipo router e nodi di tipo network
42
OSPF: Topologia della Rete (2/2)
N11 N3 N4 N6 N7 N8 N9 N1 N2 N10 R2 R3 R1 R6 R4 R5 R7 R10 R9 R11 R8 H1 R12 3 1 8 7 6 2 5 4 10 N12 N13 N14 N15 Rete 9 N6 R1 R2 R4 R3 R6 R5 R7 R10 R8 R11 R9 R12 N1 N2 N3 N4 N7 N8 N11 N9 N10 3 1 8 6 7 5 4 2 10 Grafo H1
43
Spanning Tree e Tabelle di Routing
3 6 8 7 2 1 4 10 9 N12 N13 N14 N15 H1 Ogni router calcola lo spanning tree a partire dal grafo rappresentativo della rete mediante l’algoritmo di Dijkstra Spanning Tree e Routing Table in R6 Destin. N. H. Dist. N1 R3 10 N2 N3 7 N4 8 R1 N6 R10 N7 12 N8 N.H. N9 11 N10 13 R5 6 R7 N12 N13 14 N14 N15 17 N11 H1 21
44
OSPF: Costruzione delle Tabelle di Routing
Nodi vicini si riconoscono attraverso messaggi di “Hello” Una volta riconosciutisi, instaurano rapporti di adiacenza Nodi adiacenti si scambiano le informazioni sulla topologia dell’intera rete in loro possesso (flooding) A regime tutti i nodi hanno una visione completa (ed uguale) della topologia di tutta la rete (Database Topologico) A partire dal database topologico ogni router costruisce la propria tabella di routing
45
OSPF: Costruzione delle Tabelle di Routing
1(15) 2(25) 3(15) 4(5) 5(10) Link ID (Metrica) Database Topologico Ogni router calcola i percorsi a costo più basso Algoritmo SPF (Dijkstra) Routing Table for A
46
Database Topologico (link bidirezionali)
Esempio OSPF (1/3) A Destinazione Distanza B C D E 1 2 Link local 3 4 5 6 Routing Table A B C D E 3 2 5 1 6 4 Database Topologico (link bidirezionali) Da A link B 1 D 3 C 2 E 4 6 5 Dist
47
Esempio OSPF (2/3) Guasto del ramo AB Routing Table A Destinazione
Distanza B C D E inf 1 Link local 3 2 4 5 6 Routing Table Guasto del ramo AB A B C D E 3 2 5 xxxx 6 4
48
Esempio OSPF (3/3) A Routing Table A B Database Topologico
Destinazione Distanza B C D E 3 1 2 Link local 4 5 6 Routing Table A B C D E 3 2 5 xxxx 6 4 A Link Metric 1 Inf B Link Metric 1 Inf Database Topologico Da A link B 1 D 3 C 2 E 4 6 5 Dist Inf
49
Exterior Gateway Protocol (EGP)
Gli EGP sono i protocolli che vengono utilizzati nella comunicazione tra i router di confine tra AS. Devono eseguire quindi sia protocolli di routing intra-AS che inter-AS
50
Exterior Gateway Protocol (EGP)
51
Exterior Gateway Protocol (EGP)
52
Limiti degli IGP come EGP
Come già detto, gli algoritmi d’instradamento e i relativi IGP non sono adatti per essere applicati come EGP, in quanto: i protocolli del tipo RIP Si assume che tutti i router utilizzino la stessa metrica; questa condizione non è garantita tra AS diversi; non ci sono indicazioni dei router intermedi lungo il cammino; in un ambiente inter-AS ci possono essere dei transiti privilegiati e dei transiti proibiti; nei protocolli del tipo OSPF AS diversi possono utilizzare metriche diverse; la modalità a “inondazione” è inapplicabile tra AS diversi.
53
protocollo EGP EGP è stato il primo protocollo di tipo EGP (da cui prende il nome) nato negli anni 80. Oggi non è più utilizzato per la sua lentezza e perché non supporta cammini alternativi. È stato completamente sostituito da BGP, nel 1989, che è diventato lo standard degli EGP
54
BGP (1/3) Nei protocolli EGP, come è BGP (Border Gateway Protocol), si usa l’instradamento a “Vettore di percorso” (path-vector routing). La tecnica PATH VECTOR è una variante del Distance Vector che permette la memorizzazione dell'intero percorso tra gli AS e non obbliga tutti gli AS ad usare la stessa metrica. Nel path vector i nodi si scambiano informazioni sui percorsi anziché sui costi: – il vettore che ogni router manda ai vicini contiene l’intero cammino che il pacchetto deve seguire – Ogni nodo applica le proprie regole Ogni entry nella routing table contiene: la rete di destinazione, il prossimo router e il percorso per arrivare a destinazione
55
BGP (2/3) Esempio: Vediamo un esempio di applicazione dell’algoritmo “Path vector”. Obiettivo è trovare il percorso migliore per raggiungere l’AS D. Ogni AS segnala il suo percorso preferenziale per raggiungere D (le freccie indicano il percorso della segnalazione). Ad esempio quando il nodo B riceve le due segnalazioni CD ed ED seleziona tra queste quella che reputa migliore (ad esempio CD) e informa i ruoter successivi sul suo percorso preferenziale verso D (ovvero BCD). La selezione del percorso avviene sulla base di regole locali definite su ogni AS (esempio evitare il nodo E perchè lento ed inaffidabile, dare percedenza ai percorsi più brevi, etc.).
56
BGP (3/3) Si utilizzano quindi solo informazioni di raggiungibilità: si determina la lista degli AS che devono essere attraversati per raggiungere una particolare rete lungo un particolare cammino; l’instradamento terrà conto di eventuali preferenze per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.). Permette ai router di bordo di un AS (BGP Speaker) di scambiarsi informazioni di raggiungibilità tra AS diversi. Supporta il meccanismo di indirizzamento CIDR. Lo scambio di messaggi BGP è supportato da connessioni TCP. La versione più recente è BGP-4.
57
Esempio di applicazione BGP (1/3)
relationship R6 R8 R7 SubNet 2.1 SubNet 2.3 SubNet 2.4 AS 2 SubNet 2.2 R5 R3 SubNet 1.2 SubNet 1.3 SubNet 1.4 R2 R4 R1 AS 1 SubNet 3.3 AS 3 R10 R11 SubNet 3.2 R9 SubNet 1.1 SubNet 3.1
58
Esempio di applicazione BGP (2/3)
I router R1, R5 e R9 sono rispettivamente i BGP speaker degli AS1, AS2 e AS3. I router R1, R5 e R9 implementano anche un protocollo IGP (es. OSPF) e quindi conoscono la struttura interna dei propri AS. Il router R1 emette un messaggio BGP verso R5 con: l’identità di AS1; l’indirizzo IP di R1; la lista delle sottoreti di AS1. R5 memorizza che le reti di AS1 sono raggiungibili tramite R1.
59
Esempio di applicazione BGP (3/3)
R5 emette un messaggio BGP verso R9 contenente: le identità di AS1 e AS2; l’indirizzo IP di R5; la lista delle sottoreti di AS1. Il messaggio avverte R9 che le reti di AS1 sono raggiungibili tramite il router R5 e che nel cammino sono attraversati sia AS2 che AS1. A sua volta R9 invia, verso i router appartenenti a AS adiacenti, un messaggio BGP contenente: le identità di AS1, AS2 e AS3; l’indirizzo IP di R9; In questo modo le informazioni di raggiungibilità si propagheranno di router in router attraverso tutta la rete.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.