- Laboratorio di Servizi di Telecomunicazioni Border Getway Protocol (BGP)
Exterior Gateway Protocol (EGP) Problemi relativi all utilizzo di protocolli di tipo link-state (OSPF) come protocolli di routing EGP: metrica: non è possibile individuare una metrica condivisa da tutti gli AS la tecnica di flooding: il traffico di controllo sarebbe inaccettabile. I protocolli EGP sono dei policy-based protocols: i percorsi verso le destinazioni sono manipolati in modo da controllare il flusso di traffico I protocolli EGP sono dei particolari protocolli distance-vector: usano la tecnica path-vector t routing. Ogni destinazione i è caratterizzata t da una serie di attributi tra cui il più significativo è la lista dei degli AS sono attraversati lungo il cammino: l instradamento terrà conto di eventuali preferenze per alcuni AS rispetto ad altri (accordi commerciali, prestazioni, ecc.), grazie alla presenza di numerosi parametri messi a disposizione dai protocolli EGP
Border Gateway Protocol (BGP) E un protocollo EGP Consente a router appartenenti a AS diversi di scambiarsi informazioni di raggiungibilità Lo scambio di messaggi BGP è supportato da connessioni TCP: Porta 179 Comunicazione affidabile: non sono necessari meccanismi di ritrasmissione e recupero d errore La versione più recente è BGP-4
Terminologia BGP (1/3) AS Border Router (ASBR) un router che è connesso ad altri sistemi autonomi BGP speaker un router che supporta il protocollo BGP un BGP speaker non necessariamente coincide con un AS border router BGP Neighbors una coppia di BGP speaker che si scambiano informazioni di instradamento inter-as possono essere di due tipi Interni: se appartengono allo stesso AS internal BGP (ibgp) Esterni: se appartengono ad AS diversi external BGP (ebgp
Terminologia BGP (2/3) BGP session la connessione TCP che supporta il colloquio tra due BGP speaker AS number identificatore a 16-bit che identifica univocamente un AS AS path è la lista di AS che sono attraversati in un cammino Politiche i di routing nel protocollo BGP non sono definite regole fisse per la scelta dei cammini inter-as, ma le regole sono definite dal gestore di ogni AS
Terminologia BGP (3/3) Terminologia Autonomous System Insieme di sottoreti che appartengono a uno stesso dominio am- ministrativo i ti e che hanno comuni politiche di Routing interne BGP Speaker Router abilitati a parlare il protocollo Internet t BGP; tipicamente Router di Bordo EBGP IBGP 151.100.37.0/24 BGP Neighbor Una coppia di BGP Speaker (adiacenti) che comunicano tra loro per scambiare informazioni di routing. Ogni Router conosce gli indirizzi IP dei suoi Neighbor BGP Peer Session Due Neighbor, per scambiare informazioni, creano una Sessione BGP, supportata da una connessione TCP Network Prefix Ogni sottorete all interno di un Sistema Autonomo è identificata da un BGP Speaker tramite il prefisso. Route o percorso La coppia prefisso + attributi di percorso rappresenta l unità base dell informazione per questo protocollo
Funzionamento del BGP (1/2) Neighbor Acquisition Procedure E utilizzata quando due router hanno intenzione i di stabilire una sessione BGP. E necessario l accordo di entrambi per evitare il sovraccarico di uno di essi La procedura consiste nell invio di una richiesta (Open message) e di una risposta (Keepalive message) Neighbor Reachability Procedure: E utilizzata per mantenere attivo il colloquio tra due router Ogni router si assicura che l altro sia attivo e mantenga la relazione I due router si scambiano periodicamente messaggi Keepalive Network Reachability Procedure: Ogni router r mantiene n un database as delle reti raggiungibili e dei cammini possibili per raggiungerle (evidenziando quello preferito) Quando avviene un cambio nel database il router emette un messaggio di Update verso gli altri router per comunicare l avvenuto cambiamento
Funzionamento del BGP (2/2) Messaggi BGP OPEN UPDATE NOTIFICATION KEEPALIVE Esempio Instaurazione della connessione TCP Neighbor Acquisition Procedure Neighbor Reachability Procedure Network Reachability Procedure Negoziazione dei parametri della Sessione BGP: Con il messaggio di Open sono inviati oltre ai dati identificativi del BGP Speaker, i parametri proposti per quella Sessione Scambio delle informazioni di raggiungibilità g in possesso dei BGP Neighbor I BGP Speaker inviano messaggi di routing di aggiornamento solo nel caso siano presenti cambiamenti nella propria tabella di instradamento Local Rib OPEN Keepalive UPDATE Keepalive OPEN Keepalive UPDATE Local Rib ss sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ss sxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ss xxxxxxxxxxxxxxxxxxxxxxxxx ss xxxxxxxxxxxxxxxxxxxxxxxxx AS 1 AS 2 ee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e Router A Router B BGP Neighbor ee eeeeeeeeeeeeeeeeeeeeeeeeeeeeeee e
AS path (1/2) Una route (percorso) BGP è costituito dai seguenti campi: Network IP Address + Netmask + Path attribute Il campo Path attribute è costituito da numerosi attributi: il più importante è la lista degli AS (AS path). Ciascun router memorizza la lista degli AS attraversati e poi invia un aggiornamento agli altri vicini inserendo il proprio AS di appartenenza.
AS path (2/2) La lista degli AS evita l insorgere dei loop 23 100 AS 23 100 AS 4 AS 100 4 23 100 AS 30 30 4 23 100 Altri attibuti ti relativi i al percorso sono: Next-hop attribute Origin attribute
Scelta del percorso migliore Il BGP è in grado di individuare più percorsi verso una stessa destinazione Il processo di scelta del percorso migliore dipende dalla politica dell AS La scelta si basa sugli attributi dei percorsi: una possibile politica potrebbe essere quella di scegliere il percorso più corto in termini di AS attraversati. Un altra politica potrebbe essere quella di preferire alcuni nexthop rispetto ad altri Nella tabella di routing locale del BGP tutti i percorsi vengono memorizzati: tra questi viene scelto il percorso migliore e questo viene inserito nella tabella di routing del router.
BGP neighbors Ogni BGP speaker deve conoscere (e quindi avere configurarti) i propri p neighbors BGP : potrà instaurare una sessione ssi BGP solo con essi Due BGP neighbors possono essere o meno (solo nel caso di ibgp) direttamente connessi.
Internal BGP (ibgp) Il protocollo internal BGP ha lo scopo di propagare all interno dell AS le informazioni di routing esterne all AS stesso I neighbors ibgp possono non essere direttamente connessi (a differenza dei neighbors ebgp) Distanze amministrative: ibgp = 200, ebgp= 20
Configurazione del BGP (1/3) Il comando per abilitare il BGP sul router è: R(config)# router bgp AS-number Il campo AS-number rappresenta il numero che identifica il Sistema Autonomo cui il router appartiene In seguito bisogna configurare fgu i neighbors BGP: R(config-router)# neighbor IP-address remote-as AS-number IP-address è l indirizzo i IP del neighbor: un indirizzo i che il router deve essere in grado di raggiungere (direttamente connesso o tramite routing statico) AS-number è l identificativo del Sistema Autonomo cui appartiene il neighbor
Configurazione del BGP (2/3)
Configurazione del BGP (3/3) E necessario configurare le network che il router BGP notificherà (tramite un BGP Update) ai suoi BGP neighbors R(config-router)# network IP-address mask netmask A differenza dei protocolli IGP questo comando non serve per bilit il t ll i t f i ( d i hb ) abilitare il protocollo su un interfaccia (comando neighbor) Le network non devono essere necessariamente connesse direttamente al router, l unico vincolo è che devono appartenere allo stesso sistema autonomo del router. La porzione relativa alla maschera di sottorete può essere omessa in caso di indirizzi classful
Configurazione del BGP (4/4) B(config)# router bgp 65000 B(config-router)# neighbor 10.1.1.2 remote-as 64520 B(config-router)# neighbor 192.168.2.2 remote-as 65000 B(config-router)# network 172.16.10.0 mask 255.255.255.0 B(config-router)# network 192.168.1.0168 1 B(config-router)# network 192.168.3.0
BGP routing table