BGP Border Gateway Protocol Mario Baldi Dipartimento di Automatica e Informatica Politecnico di Torino http://staff.polito.it/mario.baldi BGP_i - 1
Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slide (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà degli autori indicati a pag. 1. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altra utilizzazione o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampate) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte degli autori. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. Gli autori non assumono alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright non deve mai essere rimossa e deve essere riportata anche in utilizzi parziali. BGP_i - 2
Caratteristiche generali Attualmente alla versione 4 RFC 1771 (1995) Adiacenze (peering session) sono configurate esplicitamente Comunicazione affidabile TCP BGP_i - 3
Algoritmo Path Vector Per una destinazione si annuncia la sequenza di Autonomous System (AS) da attraversare Il distance vector puro indica solo il costo Non c è il problema del conteggio a infinito ( counting-to-infinity ) BGP_i - 4
Scelta delle route Non stabilita dalla specifica Compito dell amministratore Politiche (policy) di routing Esiste comportamento di default BGP_i - 5
Allora, cosa contiene la specifica di BGP? Definisce modalità secondo cui Diffondere informazioni Stabilire criteri per selezionare I percorsi di inoltro (route) Le informazioni da diffondere BGP_i - 6
Peering Session Due router che scambiano informazioni si dicono peer Due peer hanno tra di loro una peering session Due peer non sono necessariamente collegati direttamente BGP_i - 7
Due tipi di utilizzo External BGP (E-BGP) Internal BGP (I-BGP) AS 2 E-BGP I-BGP AS 1 AS 3 Interior Gateway BGP_i - 8
I-BGP Tra router dello stesso AS Informazioni su destinazioni esterne all AS Determinare punto di uscita Regole di propagazione diverse BGP_i - 9
Identificazione delle destinazioni Classless Inter-Domain Routing (CIDR) Lunghezza prefisso/prefisso 16/5.1 BGP_i - 10
Identificazione delle destinazioni Aggregazione prima di propagare Meno traffico di routing Basi dati più piccole BGP_i - 11
Route sovrapposte Una include l altra Esempio: 8/5 include 16/5.1 16/5.1 è più specifico 8/5 include più destinazioni Quale usare? Quale propagare? Problematica complessa BGP_i - 12
Gli attributi Associati ad una route Descrivono il percorso Informazioni articolate Più delle metriche No metriche no lunghezza percorso BGP_i - 13
Gli attributi Un annuncio include parecchi attributi Non tutte le combinazioni sono ammissibili Trattati in modo differente Specificato nella definizione BGP_i - 14
Classificazione degli attributi Well-known/optional Riconosciuto da ogni realizzazione Sempre propagato Mandatory/discretionary Deve apparire nella descrizione del percorso BGP_i - 15
Classificazione degli attributi Transitive/non-transitive Usato per optiona Transitive: è propagato da un router che non lo riconosce Contrassegnato come partial Non-transitive: eliminato da un router che non lo conosce BGP_i - 16
Classificazione degli attributi Well-known Mandatory Discretionary Transitive Partial Optional Non-transitive BGP_i - 17
Origin Sempre presente (mandatory) Come è stata appresa una route IGP: imparata tramite un protocollo di routing interno all AS EGP: imparata tramite scambi con l esterno dell AS BGP_i - 18
Origin Incomplete: Incomplete: imparata né tramite IGP né tramite EGP Route statica Route non più raggiungibile BGP_i - 19
AS Path Sempre presente (mandatory) Elenco degli AS da attraversare per raggiungere la destinazione Componenti ordinati (AS_SEQUENCE) Componenti non ordinati (AS_SET) AS set AS sequence BGP_i - 20
Aggiornamento dell AS Path X AS 4 AS 2 X:EGP;4,3,1 AS 1 X:EGP;4,3 X:EGP;4,3 X:IGP;4 AS 3 BGP_i - 21
Politiche di routing Configurate manualmente Imposte automaticamente Criteri di scelta delle route Riflettono accordi tra gli AS BGP permette di implementare politiche molto complesse BGP_i - 22
Routing Information Base (RIB) Adj-RIBs-In informazioni imparate dagli annunci ricevuti (e non scartati) Una per vicino Loc-RIB informazioni usate per l instradamento BGP_i - 23
Routing Information Base (RIB) Adj-RIBs-Out informazioni da propagare Una per vicino BGP_i - 24
Realizzazione delle politiche Configurazione Policy Information Base (PIB) Adj-RIBs-In In Decision Process Adj-RIBs-Out Loc-RIB BGP_i - 25
Decision Process Phase 1: grado di preferenza Phase 2: scelta per uso locale Phase 3: disseminazione BGP_i - 26
Più precisamente Adj-RIBs-In In Phase 1 Phase 2 Gradi preferenza Loc-RIB Phase 3 Adj-RIBs-Out BGP_i - 27
Phase 1 Una funzione, dati gli attributi di un percorso, restituisce un grado di preferenza Numero intero Usato nelle fasi successive Configurazione politiche definizione della funzione BGP_i - 28
Grado di preferenza Calcolato per ogni route indipendentemente Non deve essere basato su Esistenza di altre route Non esistenza di altre route Attributi di altre route Usato da fasi 2 e 3 BGP_i - 29
Phase 3 Selezione per propagazione all interno dell AS Selezione per propagazione all esterno dell AS Aggregazione delle route Riduzione delle informazioni BGP_i - 30
Aspetti implementation-specific Sintassi per la scrittura della PIB Per esempio, access-list su Cisco Funzione per il grado di preferenza BGP_i - 31
I messaggi BGP_i - 32
Mesaggio Open Inizio operatività di una peering session All instaurazione della connessione TCP Negoziazione della versione BGP_i - 33
Mesaggio Update Può annullare (withdraw) molte route Una sola route annunciata Molte destinazioni Raggiungibili con la stessa route Minimo tempo tra annunci BGP_i - 34
Mesaggio Keepalive Indica al router adiacente che il mittente è ancora attivo Usato quando non si hanno informazioni di routing da trasmettere BGP_i - 35
Mesaggio Notification Fine operatività di una peering session Prima di chiudere la connessione TCP BGP_i - 36