Lucidi BGP (formato PDF)
Transcript
Lucidi BGP (formato PDF)
Il Protocollo Bgp & Internet Davide Giuffrida [email protected] 05/03/2003 Davide Giuffrida 1 Contenuti n n n n n 05/03/2003 Bgp & Internet I - La Struttura di Internet II - Il Protocollo BGP III - Esempi e pratica IV - Strumenti di Diagnostica V - Riferimenti Davide Giuffrida 2 1 Terminologia Documento RFC: specifiche d’implementazione applicativi tcp/ip Routing/Router: Periferica di rete che si presenta almeno su 2 reti < > capace di inoltrare dati tra le 2 o più reti IPv4: Protocollo TCP/ip versione 4.0 (next ipv6) BGP: Border Gateway Protocol = Routers “Intelligenti” 05/03/2003 Davide Giuffrida 3 Parte I La Struttura di Internet Come Funziona la Rete? 05/03/2003 Bgp & Internet Davide Giuffrida 4 2 Indirizzamento IP http://www.iana.org/assignments/ipv4address-space n n n n INTERNET PROTOCOL V4 ADDRESS SPACE (last updated 2002-12-10) The allocation of Internet Protocol version 4 (IPv4) address space to various registries is listed here. Originally, all the IPv4 address spaces was managed directly by the IANA. Later parts of the address space were allocated to various other registries to manage for particular purposes or regional areas of the world. RFC 1466 documents most of these allocations. 05/03/2003 Davide Giuffrida 5 Suddivisione della Rete n n n n n n n n n 05/03/2003 Bgp & Internet Block Date Registry - Purpose ----- ------ --------------------------…... Notes or Reference ------------------ 192/8 May 93 Various Registries 213/8 Mar 99 RIPE NCC (whois.ripe.net) …… 217/8 Jun 00 RIPE NCC (whois.ripe.net) ……. Reference [RFC1466] [RFC1918] [RFC3330] Davide Giuffrida 6 3 Struttura di Internet: organismi ufficiali n 05/03/2003 Coordinamento Mondiale: IANA www.iana.org Davide Giuffrida 7 Struttura di Internet: organismi ufficiali Coordinamento Continentale - Le 4 RIR: 05/03/2003 Bgp & Internet Davide Giuffrida 8 4 Struttura di Internet: organismi ufficiali « Local Internet Registries (Autonomous Systems (AS)): 05/03/2003 Davide Giuffrida 9 Struttura di Internet: organismi ufficiali « Provider (connette ad Internet le proprie “utenze”): Provider IP (ISP) : 05/03/2003 Bgp & Internet Davide Giuffrida 10 5 La realizzazione… « Peering 05/03/2003 tra providers: Davide Giuffrida 11 La realizzazione… « Neutral 05/03/2003 Bgp & Internet Access Point (NAP): Davide Giuffrida 12 6 La realizzazione… « Internet 05/03/2003 Routing Registry (IRR): Davide Giuffrida 13 Parte II il protocollo BGP Cos’e’ il BGP ? Border Gateway Protocol 05/03/2003 Bgp & Internet Davide Giuffrida 14 7 Border Gateway Protocol n n 05/03/2003 Protocollo di routing utilizzato per scambiare informazioni di routing tra le reti protocollo “esterno” di routing RFC1163 & RFC1267 (bgp v 2/3) RFC1771 (bgp v 4) lavori in corso…. draft-ietf-idr-bgp4-13.txt Davide Giuffrida 15 Autonomous System (AS) n n n 05/03/2003 Bgp & Internet Insieme di reti con le stesse politiche di routing Unico protocollo di routing Solitamente gestito da un’unica entità, in modalità collaborativa e controllata Davide Giuffrida 16 8 Basi del BGP n n n Lavora sulla porta 179 TCP Aggiornamenti incrementali tabelle BGP interno ed esterno 05/03/2003 Davide Giuffrida 17 Zona di Demarcazione (DMZ) Reti condivise tra AS differenti 05/03/2003 Bgp & Internet Davide Giuffrida 18 9 Comuni operazioni BGP n n n n 05/03/2003 Impara instradamenti multipli attraverso interlocutori BGP interni ed esterni Sceglie l’instradamento migliore e lo applica alla tabella di forwarding Invia il percorso migliore ai “neighbours” BGP esterni La scelta dell’instradamento migliore è condizionata dalle politiche adottate Davide Giuffrida 19 Peering BGP esterno (eBGP) n n n 05/03/2003 Bgp & Internet Tra interlocutori BGP di AS differenti Devono essere connessi direttamente Tra peers esterni (eBGP) non utilizzare iBGP ! Davide Giuffrida 20 10 Schema di configurazione n n n n n n 05/03/2003 Router BGP xxx Network X.Y.Z.0 Neighbor addr route map xx in/out Neighbor addr remote AS yyy Route map xx permit progr Match condition 111 [set commands] acl 111 permit/deny Davide Giuffrida 21 Configurare il BGP esterno-A Router A in AS100 interface ethernet 5/0 ip address 222.222.10.2 255.255.255.240 router bgp 100 network 220.220.8.0 mask 255.255.252.0 neighbor 222.222.10.1 remote-as 101 neighbor 222.222.10.1 prefix-list RouterC in neighbor 222.222.10.1 prefix-list RouterC out 05/03/2003 Bgp & Internet Davide Giuffrida 22 11 Configurare il BGP esterno-C Router C in AS101 interface ethernet 1/0/0 ip address 222.222.10.1 255.255.255.240 router bgp 101 network 220.220.16.0 mask 255.255.240.0 neighbor 222.222.10.2 remote-as 100 neighbor 222.222.10.2 prefix-list RouterA in neighbor 222.222.10.2 prefix-list RouterA out 05/03/2003 Davide Giuffrida 23 BGP interno (iBGP) n n n 05/03/2003 Bgp & Internet Sessioni BGP all’interno dello stesso AS Non è necessario che siano connessi direttamente Interlocutori iBGP danno luogo a reti connesse. Davide Giuffrida 24 12 Peering BGP interno (iBGP) n n La tipologia delle reti è indipendente Ciascun interlocutore iBGP deve colloquiare con ogni altro peer iBGP presente nell’AS 05/03/2003 Davide Giuffrida 25 Peering con l’indirizzo loop-back n Per il peering iBGP e’ meglio utilizzare l’indirizzo di loop-back L’interfaccia loop-back non cade mai! n La sessione iBGP non dipende dallo stato di una singola interfaccia La sessione iBGP non dipende dalla tipologia fisica della rete sottostante n 05/03/2003 Bgp & Internet Davide Giuffrida 26 13 Configurare il BGP interno-A Router A interface loopback 0 ip address 215.10.7.1 255.255.255.255 router bgp 100 network 220.220.1.0 neighbor 215.10.7.2 remote-as 100 neighbor 215.10.7.2 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0 05/03/2003 Davide Giuffrida 27 Configurare il BGP interno-B Router B interface loopback 0 ip address 215.10.7.2 255.255.255.255 router bgp 100 network 220.220.5.0 neighbor 215.10.7.1 remote-as 100 neighbor 215.10.7.1 update-source loopback0 neighbor 215.10.7.3 remote-as 100 neighbor 215.10.7.3 update-source loopback0 05/03/2003 Bgp & Internet Davide Giuffrida 28 14 Attributi BGP: condizionano la scelta del path migliore n n n n n n n n n n 05/03/2003 AS-path Next Hop iBGP Next Hop Origin Aggregator Local Preference Multi-Exit Discriminator (MED) Weight & PRF Community Community particolari Davide Giuffrida 29 AS-Path n n n La sequenza di AS che una route deve attraversare I loop vengono gestiti Le policies vengono applicate 05/03/2003 Bgp & Internet Davide Giuffrida 30 15 Next Hop n n eBGP: indirizzo del neighbor esterno iBGP: NEXT-HOP di un eBGP 05/03/2003 n n n n n Il next hop è l’indirizzo di loopback del router ibgp iBGP annuncia le route ai next hops Garantisce la ricerca ricorsiva delle route Svincola il BGP dalla topologia fisica della rete Permette all’iBGP di eseguire decisioni intelligenti di forwarding 05/03/2003 Bgp & Internet Davide Giuffrida 31 iBGP Next Hop Davide Giuffrida 32 16 Origin n n n n Identifica l’origine del prefisso (rete) Attributo “historical” Influenza la scelta del “best path” Tre valori: IGP, EGP, incomplete IGP – generato da istruzioni iBGP u EGP – generato da eBGP u Incomplete – distribuito da altro protocollo di routing u 05/03/2003 Davide Giuffrida 33 Aggregator n n n 05/03/2003 Bgp & Internet Identifica il’indirizzo IP del router/BGP che ha generato la route aggregata Utile per debugging Non influenza la selezione del path migliore Davide Giuffrida 34 17 Local preference 05/03/2003 Davide Giuffrida 35 Local preference n n n 05/03/2003 Bgp & Internet Local preference è usato per AS non connessi direttamente al nostro AS il valore di default per local pref. è 100 Utilizzato per influenzare il BGP nella scelta del path concorre a determinare il percorso migliore per il traffico in uscita Prevale il path con valore local preference superiore Davide Giuffrida 36 18 Local preference Configurazione del router B: router bgp 400 neighbor 220.5.1.1 remote-as 300 neighbor 220.5.5.1 route-map local-pref in ! Route-map local-pref permit 10 match ip address prefix-list MATCH set local-preference 800 ! ip prefix-list MATCH permit 160.10.0.0/16 05/03/2003 Davide Giuffrida 37 Multi-Exit Discriminator (MED) 05/03/2003 Bgp & Internet Davide Giuffrida 38 19 Multi-Exit Discriminator (MED) n n Tra AS non direttamente connessi Utilizzato per gestire le preferenze in entrata Determina il path migliore per il traffico in entrata n 05/03/2003 Significativo se i paths provengono dallo stesso AS Davide Giuffrida 39 Multi-Exit Discriminator n 05/03/2003 Bgp & Internet Configurazione Router B router bgp 400 neighbor 220.5.1.1 remote-as 200 neighbor 200.5.1.1 route-map set-med out ! Route-map set-med permit 10 Match ip address prefix-list MATCH set metric 1000 ! ip prefix-list MATCH permit 192.68.1.0/24 Davide Giuffrida 40 20 Utilizzo di Weight Parametro locale al router Route-map: set weight n Il peso maggiore vince su tutti i path validi n Usato in caso di link preferenziali per l’ingresso n 05/03/2003 Davide Giuffrida 41 Community n n n n Attributo BGP Descritto in RFC1997 Intero 32 bit Rappresentato da 2 interi da 16 bit Utilizzato per raggruppare le destinazioni Ogni destinazione puo’ far parte di più communities n n 05/03/2003 Bgp & Internet Gli attributi delle community vengono trasportati attraverso gli AS Molto utile per applicare le policies Davide Giuffrida 42 21 Communities particolari n n n No-export non informa i peers eBGP No-advertise non informa nessun peer Local-AS non informa al di fuori dell’AS locale (utilizzato solo in reti-federate) 05/03/2003 Davide Giuffrida 43 Parte III In Pratica … n n 05/03/2003 Bgp & Internet Esempio: Connessione di 3 As Diagnostica: Raggiungibilità rete Davide Giuffrida 44 22 Esempio 3 AS n n n AS 101 222.222.8.0 mask 255.255.252.0 AS 102 222.222.16.0 mask 255.255.240.0 AS 103 222.222.64.0 mask 255.255.240.0 05/03/2003 Davide Giuffrida interface FE0 222.222.10.1 255.255.255.0 45 interface FE0 222.222.10.2 255.255.255.0 AS101 AS102 network 222.222.8.0 255.255.252.0 interface FE1 222.222.11.5 255.255.255.252 interface FE0 222.222.11.6 255.255.255.252 network 222.222.16.0 255.255.240.0 interface FE1 222.222.28.2 255.255.255.252 interface FE1 222.222.28.1 255.255.255.252 AS103 network 222.222.64.0 255.255.240.0 Esempio 3 AS 05/03/2003 Bgp & Internet Davide Giuffrida 46 23 Selezione del percorso Qual’è il path migliore ? 05/03/2003 Davide Giuffrida 47 Algoritmo di scelta del Path 1/3 n Ignora il path se manca la route verso il gateway (next hop) n Il peso maggiore vince (locale nel router) n La local preference vince (all’interno dell’AS) 05/03/2003 Bgp & Internet n Preferisce le route originate localmente n L’AS path piu’ breve è preferito Davide Giuffrida 48 24 Algoritmo di scelta del Path 2/3 n Origin code migliore: IGP < EGP < incomplete n Multi-Exit Discriminator (MED) inferiore: se usato bgp deterministic-med, ordinare i paths prima della comparazione n se usato bgp always-compare-med, comparare per ogni percorso n 05/03/2003 Altrimenti MED viene considerato solo se i paths provengono dal medesimo AS. Default Davide Giuffrida 49 Algoritmo di scelta del Path 3/3 n Meglio path eBGP di path iBGP n Meglio path con metrica IGP inferiore verso il next-hop n Meglio il router-id inferiore (originator-id per routes riflesse) n Preferire Cluster-List più corte Non preoccuparsi degli attributi di Route Reflector ! (usati da provider mondiali) n 05/03/2003 Bgp & Internet Meglio IP address di neighbor inferiore Davide Giuffrida 50 25 Applicare le politiche al BGP Controllare e correggere i controlli BGP 05/03/2003 Davide Giuffrida 51 Applicare le politiche al BGP n Applicare le Politiche: Decisioni in base agli AS da attravesare, le community o il prefix Rifiutare o accettare le route selezionate Impostazione degli attributi per influenzare la selezione del path n Strumenti: Prefix-list (filtra I prefissi) Filter-list (filtra gli AS) Route-maps e communities 05/03/2003 Bgp & Internet Davide Giuffrida 52 26 Politiche BGP – Prefix-list: n Filtrare le routes in base ai prefissi n Inbound and Outbound router bgp 200 neighbor 220.200.1.1 remote-as 210 neighbor 220.200.1.1 prefix-list PEER-IN in neighbor 220.200.1.1 prefix-list PEER-OUT out Ip prefix-list PEER-IN deny 218.10.0.0/16 Ip prefix-list PEER-IN permit 0.0.0.0/0 le 32 Ip prefix-list PEER-OUT permit 215.7.0.0/16 05/03/2003 Davide Giuffrida 53 Politiche BGP – Filter-list: n Filtrare le routes in base al percorso AS n Inbound and Outbound router bgp 100 neighbor 220.200.1.1 remote-as 210 neighbor 220.200.1.1 filter-list 5 out neighbor 220.200.1.1 filter-list 6 in ! Ip as-path access-list 5 permit ^200$ Ip as-path access-list 6 permit ^150$ 05/03/2003 Bgp & Internet Davide Giuffrida 54 27 Politiche BGP – n n n n 05/03/2003 Route Maps: Una route-map è assimilabile ad un “programma” per IOS Ha numeri di riga, come un programma Ogni riga è un’istruzione (condizione/azione) Concetto: se condizione soddisfatta, eseguo ed esco, altrimenti se condizione soddisfatta, eseguo ed esco, altrimenti…. Davide Giuffrida 55 Politiche BGP – Communities Router bgp 100 neighbor 220.200.1.1 remote-as 200 neighbor 220.200.1.1 send-community neighbor 220.200.1.1 route-map set-community out ! Route-map set-community permit 10 Match Ip address prefix-list NO-ANNOUNCE Set community no-export ! Route-map set-community permit 20 ! Ip prefix-list NO-ANNOUNCE permit 172.168.0.0/16 ge 17 05/03/2003 Bgp & Internet Davide Giuffrida 56 28 Politiche BGP – Matching Communities Router bgp 100 neighbor 220.200.1.2 remote-as 200 neighbor 220.200.1.2 route-map filter-on-community in ! Route-map filter-on-community permit 10 Match community 1 Set local-preference 50 ! Route-map filter-on-community permit 20 Match community 2 exact-match Set local-preference 200 ! Ip community-list 1 permit 150:3 200:5 Ip community-list 2 permit 88:6 05/03/2003 Davide Giuffrida 57 Parte IV Verificare il BGP n Looking Glasses http://www.nat.bg/look/ http://www.inetcomm.net/lg.shtml n n n n n 05/03/2003 Bgp & Internet Ripe initiatives - toolbox History collection & statistics Progetto linux Zebra Monitor esterni Cisco cmd: Sh ip bgp ? Davide Giuffrida 58 29 Parte V Riferimenti 05/03/2003 Davide Giuffrida 59 Riferimenti: http://www.ripe.net/ripe/meetings/archive/ripe-40/tutorials/bgp-tutorial/index.html http://www.academ.com/nanog/feb1997/BGPTutorial/ http://www.cisco.com/warp/public/459/18.html http://www.netaxs.com/~freedman/bgp.html http://joe.lindsay.net/bgp.html http://www.avici.com/documentation/HTMLDocs/02223-04_revAA/index.html http://info.connect.com.au/docs/routing/general/multi-faq.shtml http://www.bgpbook.com/ http://www.cisco.com/univercd/cc/td/doc/cisintwk/ics/icsbgp4.htm http://www.cisco.com/warp/public/759/ipj_4-4/ipj_4-4_regional.html La vera storia di Internet http://www.ietf.org 05/03/2003 Bgp & Internet (Riferimento per tutti gliDavide standard RFC) Giuffrida 60 30 Riferimenti: 05/03/2003 Bgp & Internet Davide Giuffrida 61 31