PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER
Transcript
PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER
VOLUME_3.book Page 1 Monday, April 2, 2012 9:30 AM QUADERNI PER LA PROGETTAZIONE ICT PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER VOLUME III ROUTING BGP Per la preparazione agli esami CCNP, CCIE-R&S e CCIE-SP di ENRICO CIPOLLONE FRANCESCO CIPOLLONE VOLUME_3.book Page 5 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT PIANO DELL’OPERA VOLUME I - FONDAMENTI DI SWITCHING PARTE PRIMA NATURA E CARATTERISTICHE DELLE INFORMAZIONI TRASPORTATE IN RETE CAP. 1 Natura e caratteristiche delle informazioni trasportate da reti TCP-IP PARTE SECONDA SWITCHING CAP. 2 Ethernet e altri modelli di distribuzione in area locale CAP. 3 Virtualizzazione e gestione della congestione e tecniche di ridondanza in reti LAN CAP. 4 Servizi e sicurezza in reti LAN. Sicurezza nelle reti Ethernet PARTE TERZA LE RETI CONDIVISE DEGLI ISP: NATURA E COMPOSIZIONE DEI SERVIZI CAP. 5 Soluzioni e tecnologie per l’estensione WAN di reti TCP-IP PARTE QUARTA STRUTTURA, CONFIGURAZIONE, GESTIONE DI MACCHINE DI RETE CAP. 6 Accesso e configurazione di macchine intermedie in reti TCP-IP CAP. 7 Network management configurazione di SNMP, NTP, SYSLOG in apparati di reti TCP-IP VOLUME II - ROUTING BASE PARTE QUINTA ROUTING CAP. 8 Tecnica di indirizzamento nelle reti TCP-IP 5 VOLUME_3.book Page 6 Monday, April 2, 2012 9:30 AM CAP. 9 Principi di routing CAP. 10 RIP versione 1 e 2 CAP. 11 Il protocollo di routing OSPF single-area CAP. 12 Il protocollo di routing OSPF multi-area CAP. 13 Il protocollo di routing EIGRP VOLUME III - ROUTING BGP PARTE SESTA CONTROL-PLANE: INTERAZIONE DEI CLIENTI CON ISP E SCAMBI DI INFORMAZIONI TRA ISP CAP. 14 Border Gateway Protocol VOLUME IV - MANIPOLAZIONI NEL CONTROL-PLANE E DATA-PLANE PARTE SETTIMA MANIPOLAZIONI, CONTROLLI, ISPEZIONI NEL CONTROL-PLANE E DATA-PLANE: ACL, NAT, FIREWALL, REDISTRIBUZIONI CAP. 15 Tecniche di controllo dei flussi nel control-plane e nel data-plane CAP. 16 Domini di indirizzamento pubblico e privato e relative traslazioni CAP. 17 Completamento del control-plane in ambiente complesso: redistribuzione di informazioni tra protocolli di routing PARTE OTTAVA COMUNICAZIONE SICURA PPTP, IPSEC, TUNNELING, VPN CAP. 18 Comunicazione Sicura: IPSEC ed altri schemi 6 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 7 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT INDICE GENERALE PIANO DELL’OPERA ...................................................................... 5 PARTE SESTA CONTROL-PLANE: INTERAZIONE DEI CLIENTI CON ISP E SCAMBI DI INFORMAZIONI TRA ISP CAPITOLO 14 BORDER GATEWAY PROTOCOL .................................................. 15 SEZIONE PRIMA: Fenomenologia ...................................................... 15 14.1 14.1.1 Protocollo per comunicazioni EGP ................................... 15 Cosa è un autonomous-system ......................................... 16 14.2 Quando usare BGP........................................................ 17 14.3 Cosa comunicare con BGP ............................................. 20 14.4 Con chi si comunica in BGP ............................................ 22 14.4.1 Scenario di comunicazione tra ISP ................................... 22 14.4.2 Scenario di comunicazione tra un large end-user con uno o più ISP .......................................................... 24 14.5 E-bgp ed I-bgp .............................................................. 26 14.6 Terminologia BGP e riferimenti RFC ................................. 27 14.7 Come funziona il protocollo ............................................ 28 14.7.1 I neighbor..................................................................... 28 7 VOLUME_3.book Page 8 Monday, April 2, 2012 9:30 AM 14.7.2 I messaggi BGP ed il loro trasporto .................................. 30 14.7.3 Uso del TCP per il trasporto affidabile in BGP.................... 32 14.7.4 Messaggi update, retire .................................................. 34 14.7.5 I controlli di BGP per avviare o accettare una sessione.................................................................. 35 14.7.6 I ruoli di server e client nell’avvio di una sessione BGP ...... 37 14.7.7 La cattura dei principali pacchetti BGP ............................. 39 14.8 14.8.1 14.9 Annunci in BGP: NLRI ed attributi ..................................... 41 La complessità degli annunci ........................................... 41 Come sono composti gli attributi ...................................... 43 14.9.1 Come si applicano i filtri agli annunci .............................. 44 14.9.2 Significato e uso degli attributi......................................... 46 14.9.2.1 Attributo WEIGHT (un router ricevente due trasmittenti da altro AS) ........... 46 14.9.2.2 Attributo LOCAL-PREFERENCE (due router riceventi due trasmittenti da altro AS) .......... 47 14.9.2.3 MED: multi-exit discriminator ...................................... 49 14.9.2.4 ORIGIN ................................................................... 50 14.9.2.5 AS_PATH Attribute ................................................... 50 14.9.2.6 Attributo Next-hop in ambiente BMA ........................... 54 14.9.2.7 Attributo Next-hop in ambiente NBMA ......................... 55 14.9.2.8 Attributo next-hop in ambiente AS di transito (ISP): problemi di scalabilità e full mesh .............................. 56 14.9.2.9 Attributo Community .................................................. 58 14.9.2.10 La stabilizzazione di annunci e gli attributi relativi ........ 59 14.9.2.10.1 BGP distance vector: l’autosommarizzazione e la sommarizzazione manuale ...............................59 14.9.2.10.2 Sommarizzazione con l’attributo Atomic aggregate ..................................................60 14.9.2.10.3 Sommarizzazione: l’argomento AS-SET ....................61 14.9.2.10.4 Sommarizzazione: la clausola attribute-map ............64 8 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3TOC.fm Page 9 Monday, April 2, 2012 9:45 AM 14.9.2.10.5 Sommarizzazione: la clausola advertise-map .......... 66 QUADERNI per la progettazione ICT 14.9.2.10.6 Sommarizzazione: la clausola suppress-map in combinazione con altri comandi .......................... 67 14.9.2.10.7 Sommarizzazione: Attributo Aggregator .................. 68 14.9.2.11 Classificazione degli attributi ......................................68 14.9.2.12 Uso degli attributi per la scelta delle rotte ottimali da presentare come candidate alla tabella di routing .....69 14.9.2.13 La sequenza con cui sono considerati gli attributi ..........71 SEZIONE SECONDA: prime configurazioni ......................................... 72 14.10 14.10.1 Elementi base di configurazione ...................................... 72 Il commando router BGP per la creazione di una sessione ............................................................. 73 14.10.1.1 Il comando Router-ID per il controllo dell’indirizzo sorgente dei pacchetti ................................................74 14.10.2 Il comando neighbor per la creazione di una conversazione ..................................................... 75 14.10.2.1 Creazione di gruppi di neighbor ed il comando peer-group ...............................................................76 14.10.2.2 Neighbor password ...................................................76 14.10.3 Il comando update source loopback................................. 77 14.10.4 Il comando EBGP-multihop .............................................. 78 14.10.5 Configurazione di nuove destinazioni negli annunci BGP ........................................................ 80 14.10.5.1 Redistribuzione di rotte statiche ...................................81 14.10.5.2 Redistribuzione di rotte annunciate da protocolli di routing dinamici .....................................................82 14.10.5.3 Il commando network ................................................82 SEZIONE TERZA: Configurazioni avanzate ......................................... 85 14.11 14.11.1 Filtri sugli annunci .......................................................... 85 Filtri per rimozione e per modifica .................................. 85 9 VOLUME_3.book Page 10 Monday, April 2, 2012 9:30 AM 14.11.2 Comando distribuite list in ............................................... 86 14.11.3 Distribute-list out ............................................................. 87 14.11.3.1 Esempi di utilizzo dei comandi distribuite-list.............................................................. 88 14.11.4 Filtri mediante route map ................................................ 90 14.11.4.1 Route map applicazione: Esempio 1 ........................... 93 14.11.4.2 Route map applicazione: Esempio 2 ........................... 94 14.11.4.3 Route-map applicazione: Esempio 3 ........................... 94 14.11.4.4 Route-map applicazione: Esempio 4 ............................ 95 14.11.4.5 Route-map applicazione: Esempio 5 ............................ 95 14.11.4.6 Route-map applicazione: esempio 6 ............................ 96 14.11.4.7 Route-map applicazione: esempio 7 ............................ 96 14.11.5 Route map con uso della struttura prefix-list ....................... 96 14.11.6 Route map per conditional-injection .................................. 99 14.11.6.1 Cosa si può usare per selezionare rotte: le opzioni del comando match .................................. 100 14.11.6.2 Cosa si può modificare negli annunci di rotte: le opzioni del commando SET ................................... 101 14.11.7 Filtraggio di rotte mediante ispezione dell’attributo AS-PATH................................................... 102 14.11.7.1 Significato e simboli delle REGULAR EXPRESSION ....... 103 14.11.7.2 Come scrivere una Regular Expressions ...................... 104 14.11.7.3 Regex costituite da un solo carattere........................... 105 14.11.7.4 Regex costituite da molti caratteri ............................... 105 14.11.7.5 Moltiplicatori ........................................................... 106 14.11.7.6 Match di Due sequenze Alternative di caratteri ............ 107 14.11.7.7 Match tipo “comincia per... finisce per “ (Anchoring) ..................................................... 107 14.11.7.8 Uso della parentesi per memorizzare una sequenza per successivo richiamo........................ 108 10 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 11 Monday, April 2, 2012 9:30 AM 14.12 La tabella delle rotte scambiate .................................... 109 14.13 Il rapporto tra tabella BGP e la tabella di routing............. 111 14.13.1 QUADERNI per la progettazione ICT SEZIONE QUARTA: configurazione scalabilità .................................. 109 Client collegato con due service provider........................ 112 14.13.1.1 Service provider di transito .......................................115 14.13.2 La sincronizzazione e le sue eccezioni (confederazioni e route reflector) ................................... 125 14.13.2.1 La scalabilità della soluzione full-mesh .......................126 14.13.2.2 I route reflector ........................................................126 14.13.2.3 Le confederazioni ....................................................132 14.13.3 Configurazione del Route Dampening ............................ 134 14.13.4 BGP Soft Reconfiguration .............................................. 136 SEZIONE QUINTA: Il controllo ....................................................... 138 14.14 I comandi di show e debug del protocollo ...................... 138 11 QUADERNI per la progettazione ICT VOLUME_3.book Page 13 Monday, April 2, 2012 9:30 AM PARTE SESTA CONTROL-PLANE: INTERAZIONE DEI CLIENTI CON ISP E SCAMBI DI INFORMAZIONI TRA ISP VOLUME_3.book Page 15 Monday, April 2, 2012 9:30 AM CAPITOLO 14 QUADERNI per la progettazione ICT BORDER GATEWAY PROTOCOL SEZIONE PRIMA: Fenomenologia 14.1 Protocollo per comunicazioni EGP Figura 14.1 Il protocollo per gli scambi di informazioni di routing tra Amministrazioni Il protocollo BGP è utilizzato prevalentemente ma non esclusivamente per lo scambio di informazioni di routing tra Autonomous-systems ovvero tra diversi responsabili di aree dell’internet. È cioè il programma con cui ciascun grande utente o service provider completa il control plane del suo piano di indirizzamento descrivendo i percorsi esterni al suo AS attraverso cui raggiungere tutte le destinazioni dell’internet. Nel control plane le destinazioni sono descritte in termini di indirizzi ip dei target con prefisso l’autonomous system di appartenenza. Le destinazioni sono specificate in modo sommarizzato per contenere il loro 15 VOLUME_3.book Page 16 Monday, April 2, 2012 9:30 AM numero che comunque raggiunge le molte centinaia di migliaia. Le informazioni di destinazione sono accompagnate da una serie di altri parametri detti correntemente attributi. Su tali attributi possono essere effettuate molte diverse operazioni di manipolazione per consentire all’amministratore la più ampia scelta tra possibili percorsi verso i target. In conformità alle informazioni del control plane fa seguito il traffico del data plane. Il passaggio di questo traffico da un AS all’altro è effettuato a titolo oneroso: gli operatori richiedono dei compensi per recapitare il traffico verso le destinazioni. Pertanto il protocollo BGP è spesso definito come strumento per le politiche di instradamento ovvero della regolazione dei rapporti economici tra operatori. Due garanzia importanti sono offerte per le destinazioni annunciate da questo protocollo: di raggiungibilità; di assenza di loop. Il protocollo effettua infatti alcuni controlli preliminari prima di trasmettere le destinazioni. Il protocollo controlla l’esistenza nella tabella di routing di una riga per la destinazione che si va ad annunciare. Il traffico conseguente a questo annuncio troverà così una destinazione cui essere inoltrato. Questo meccanismo innesca a sua volta delle protezioni assunte automaticamente dal protocollo (sincronizzazione). L’assenza di loop è invece garantita controllando che nella sequenza degli autonoumous system attraversata dagli annunci di una destinazione non sia presente l’AS in cui l’annuncio è ricevuto. Questo attributo è sempre presente in ogni annuncio di BGP. 14.1.1 Cosa è un autonomous-system Un autonomous system è un insieme di reti rete sotto un unico controllo amministrativo. Gli autonomous-system number possono essere considerati alla stregua dei 16 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 17 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT prefissi telefonici internazionali che si prepongono ai piani di numerazione nazionale per rendere univoci i piani telefonici di ciascuna nazione su scala mondiale (volendo individuare un autonomous-system in telefonia questo può coincidere con gli stati). Il rilascio dei numeri degli autonomous system è effettuato da IANA su scala mondiale attraverso gli uffici regionali. Il prefisso autonomous system è un indirizzo a 16 bit. A differenza dell’indirizzamento IP, non è prevista nessuna manipolazione dei singoli bit componenti il prefisso ovvero l’uso è piatto e non progressivo. Per il prefisso sono utilizzati numeri che in notazione decimale sono tra 1 e 65535 (2^15+2^14+……2^2+2^1+2^0). Sono già stati assegnati oltre 48000 numeri per cui è stata standardizzata (RFC 4893) la notazione a 32 bit anche per questo prefisso. Analogamente alle classi di indirizzamento private usate per le reti, anche per i prefissi esistono quelli riservati ad uso privato (non assegnati in modo esclusivo, range 64512 – 65535). Figura 14.2 Un protocollo per lo scambio che garantisce dai loop 14.2 Quando usare BGP BGP non è l’unico modo di comunicare informazioni di routing negli scenari rappresentati. 17 VOLUME_3.book Page 18 Monday, April 2, 2012 9:30 AM Esistono situazioni in cui possono essere adottate soluzioni più semplici. Ad esempio in figura è illustrata la situazione più frequente in ambito Soho (Small Office Home Office) in cui non è necessario usare BGP per completare la tabella di routing. Altre situazioni un cui non è opportuno usare BGP sono: 1) quando si ha un solo punto di contatto con internet; 2) quando non si ha possibilità di effettuare opportuno filtraggio di rotte da immettere in BGP; 3) quando non si hanno macchine con adeguata capacità di memoria e di calcolo; 4) quando non si dispone di banda per gestire un protocollo dinamico con il service-provider; 5) quando il servizio acquistato non prevede interconnessione dinamica con il service-provider. In tutte queste situazioni è opportuno far uso di rotte statiche o di default route. Figura 14.3 Quando non usare BGP User ip route 0.0.0.0 0.0.0.0 S0 ! !router t rip i S0 network 172.16.0.0 S0 A 172.16.0.0 10.1.1.1 ISP Running BGP AS 65000 10.1.1.2 NON USARE BGP quando non si ha possibilità di effettuare opportuno filtraggio di rotte; quando non si hanno macchine con adeguata capacità di memoria; quando non si dispone q p di banda p per g gestire un p protocollo dinamico;; quando il servizio acquistato non prevede interconnessione dinamica. Si deve usare BGP quando: 1) si amministra un AS di transito, come è il caso di un service provider; 18 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 19 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT 2) un grande utente ha molte connessioni con l’internet magari mediante collegamenti con diversi service provider e con diversa tipologia di SLA (Service level agreement e conseguentemente di prezzo) sono stati concordati; 3) le informazioni di rotte e destinazioni ricevute sono manipolate prima di essere ritrasmesse; 4) si dispone di personale esperto con sa valutare gli effetti e le conseguenze delle configurazioni messe in atto. Infatti le conseguenze di misconfigurazioni di questo protocollo hanno risonanza e effetti sull’intero internet. Figura 14.4 Quando usare BGP Annuncio in Figura 14.5 an nu n nci i Annuncio in Selezione Rotte valide e migliori Annuncio in Tabella di Filtro annunci out Filt ro Annuncio in Cap 14-fig 5 quando usare bgp routing Nu e ov ro Quando usare BGP Annuncio out Annuncio out tt e Usare BGP quando: Le informazioni di rotte e destinazioni ricevute devono essere manipolate prima di essere ritrasmesse Si dispone di personale esperto 19 VOLUME_3.book Page 20 Monday, April 2, 2012 9:30 AM Gli errori di misconfigurazione commessi da carrier sono sanzionati in modo più o meno grave mediante l’oscuramento delle rotte gestite dal carrier stesso con conseguente disservizio per gli utenti che attraverso quel carrier raggiungono l’internet. Alcuni numeri caratterizzano l’importanza ed il significato di queste configurazione e rendono evidente le attività di manipolazioni delle informazioni condotta con questo protocollo: - Numero degli AS assegnati 48000; - Numero di AS che annunciano un solo prefisso 13000; - Prefissi manipolati 350000. 14.3 Cosa comunicare con BGP Il protocollo trasmette informazioni sulle destinazioni raggiungibili attraverso il partner con cui avviene lo scambio. In uno scambio si può distinguere tra informazioni ricevute e informazioni trasmesse. La scelta delle informazioni da trasmettere e la scelta delle informazioni da accettare sono i due elementi più rilevanti del progetto di comunicazione tramite BGP. Lo scambio di informazioni è solitamente del tutto asimmetrico. Le informazioni ricevute dal partner sono contenute in un database e sono processate prima di essere utilizzate in tabella di routing. Le informazioni trasmesse al partner hanno varia origine (ricevute in altro scambio BGP, originate nella locale macchina per redistribuzione da un protocollo IGP) e sono opportunamente filtrate prima di essere trasmesse. Il contenuto di queste manipolazioni delle informazioni sono l’essenza del protocollo insieme con i criteri con cui sono scelti i partner con si attuano gli scambi (neighbor). Figura 14.6 Cosa comunica BGP B BGP AS 64520 B C BGP F A BGP D 20 AS 65000 AS 65250 E PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III AS 65500 VOLUME_3.book Page 21 Monday, April 2, 2012 9:30 AM - rotta di destinazione ovvero indirizzo del destinatario nel piano di indirizzamento mondiale (indirizzo IP pubblico del destinatario e AS si appartenenza). BGP manipola informazioni del piano di indirizzamento mondiale perciò le destinazioni sono qui rappresentate in modo sommario e non di dettaglio. In questo modo si riesce a contenere il numero di destinazioni da conoscere senza peraltro inficiare la precisione; - next-hop ovvero indirizzo della macchina a cui affidare il traffico nel percorso verso la destinazione finale. Il next hop è un indirizzo che deve essere raggiungibile dalla macchina che sta indirizzando il traffico ovvero deve essere presente nella tabella di routing della macchina una indicazione esplicita (rotta) di come raggiungere il prossimo step intermedio verso il target descritto nell’annuncio di BGP; - la sequenza degli AS finora attraversati dall’annuncio. Questo dato è cruciale per poter garantire che gli scambi avvengano senza che si generino loop; - origine per precisare se una rotta e stata ricevuta da uno scambio precedento o se è stata aggiunta al flusso BGP da questo neighbor. QUADERNI per la progettazione ICT Prescindendo dai contesti in cui avviene lo scambio (E o I –BGP), si possono comunque precisare alcune informazioni che devono essere contenute nel messaggio: La presenza e la consistenza di questi parametri (detti attributi) è controllata nella catena di eventi che costituiscono la trasmissione e prima di rendere disponibili le informazioni scambiate tra neighbor per successive elaborazioni. Il controlli sono bloccanti: 1) il primo controllo è la presenza di tutti questi dati nella informazione da trasmettere; 2) un controllo puntuale su ciascuna destinazione che si intende comunicare al neighbor è la presenza in tabella di routing (del destinatario) di una rotta per raggiungere il next hop contenuto nell’annuncio BGP. La raggiungibilità piò essere espressa da una rotta esplicita in tabella di routing oppure essere ricavata attraverso la combinazione di informazioni contenute su più righe della tabella (recursive lookup). L’importanza della raggiungere il next-hop è essenziale affinché l’eventuale traffico nel data plane, che volesse essere instradato seguendo le informazioni scambiate da BGP, possa raggiungere la destinazione (controllo di black-hole). Le rotte che non sono conformi alle regole sono considerate invalide e non sono accettate. 21 VOLUME_3.book Page 22 Monday, April 2, 2012 9:30 AM 3) l’informazione sulla sequenza di AS attraversati è determinante per evitare l’insorgenza di loop negli scambi di control plane. Questo parametro è esaminato quando una informazione è ricevuta da un neighbor. Se nella lista è già presente AS cui il router appartiene la rotta è considerata invalida e non è né trasmessa né considerata; 4) il controllo sull’origine è effettuato in corrispondenza degli scambi i-BGP. Altri controlli sono effettuati in relazione al contesto in cui si sta operando e sono specificati nel seguito della trattazione. Altri parametri (attributi) possono accompagnare le informazioni per consentire una vasta scelta di criteri con cui preferire i percorsi ridondati verso lo stresso target. 14.4 Con chi si comunica in BGP Contrariamente a quanto accade nei protocolli IGP, ma coerentemente con il contesto generale già presentato, la scelta dei neighbor con cui avviare scambi di informazioni non è automatica ma rigorosamente manuale ed è uno dei maggiori aspetti delle scelte condotte da BGP. Distinguendo due scenari di riferimento diversi e distinti si riesce a caratterizzare la tipologia di scambi da eseguire. 14.4.1 Scenario di comunicazione tra ISP Gli operatori scambiano rotte e destinazioni raggiungibili attraverso le proprie reti. Informano cioè altri operatori degli end user serviti sono perciò aree di transito nei percorsi end-to-end. Offrono, inoltre ai propri clienti i servizi di raggiungere tutte le destinazioni nell’internet. Per amministrare questi servizi non è necessario anzi è deleterio informare gli altri ISP (Internet Service Provider) di composizione e percorsi delle proprie reti. Gli ISP hanno ricavi sia per il traffico generato dai propri clienti sia per il traffico recapitato agli stessi. 22 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 23 Monday, April 2, 2012 9:30 AM P cli8 P QUADERNI per la progettazione ICT cli9 as1243 PE cli5 PE P as1234 p bg P P bg p cli7 as3421 bg p bgp P as4321 bgp cli4 PE cli1 cli3 Scambi tra isp Sono comunicate le destinazioni dei clienti e non quelle delle reti isp cli2 Ad esempio il service provider che ospita il sito di Google frequentato da milioni di utenti dovrà rendere disponibile una infrastruttura di adeguata capacità. Questo operatore richiederà pertanto il pagamento di un onere per collegare a se altri operatori attraverso cui pervengono le richieste al sito Google. Figura 14.7 Scambio di informaioni di routing tra ISP sono annunciate le rotte dei clienti e non le rotte interne Le interconnessioni tra operatori avvengono spesso in locali comuni all’uopo predisposti con servizi di misurazione del traffico e di housing di apparati, continuità elettrica, condizionamento…. Questi locali sono gli spazi dove le reti degli operatori entrano in contatto. Nella pratica sono utilizzati due tipi di interconnessioni: connessioni di operatori a nodi di interconnessione Mix, Namex dove gli scambi di informazioni di routing sono paritetiche (senza tariffe di accesso); connessione diretta a carrier (a pagamento). Nei nodi di interconnessione avvengono gli scambi di informazioni circa le destinazioni raggiunte dai diversi operatori. Le informazioni sono trasportate e distribuite all’interno delle reti di ciascun operatore. In funzione delle informazioni acquisite gli ISP indirizzano il traffico generato dei clienti. È bene notare che il Service Provider tende a non propagare le informazioni 23 VOLUME_3.book Page 24 Monday, April 2, 2012 9:30 AM delle destinazioni intermedie all’interno della sue reti. In questo modo infatti ogni ISP mantiene autonomia ed indipendenza per la scelta dei percorsi all’interno del suo AS. Sarà così possibile che ogni ISP possa applicare tariffe differenziate in funzione degli accordi economici e di SLA raggiunti. In definitiva Il service provider annuncia le reti dei suoi clienti e non le reti interne al suo backbone. 14.4.2 Scenario di comunicazione tra un large end-user con uno o più ISP Uno scenario molto differente è quello di comunicazione tra un end-user collegato a più service provider che offrono con servizi diversi. In questo caso di parla di un AS multihomed. Figura 14.8 AS2 AS multihomed le rotte da AS1, AS3 sono ricevute filtrate e non ritrasmesse Filt ro Annuncio in ann AS1 n ci i un 200.0.0.0/18 Selezione Rotte valide e migliori 0.0.0.0 2 0 .0 .0 01 9 /1 Tabella di routing Filtro annunci out Annuncio in AS3 Annuncio out Le rotte ricevute da AS1,AS3 sono ricevute filtrate e non ritrasmesse. Le rotte sono manipolate ed introdotte in IGP di AS2 In questo scenario la comunicazione di BGP ha alcuni obiettivi: 1) primo obiettivo quello di evitare di rendere il proprio AS una area di transito. Con riferimento allo schema in figura 14.8, in cui un grande cliente gestisce l’AS2 ed è collegato con AS1 ed AS3 medianti due connessioni distinte, con un costo per l’utilizzo e service level agreement diversi. 24 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 25 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT Negli annunci ricevuti da AS1 è presente la rotta di default che deve essere propagata all’interno di AS2 per fornire a tutte le utenze interne la rotta verso l’internet. L’obiettivo del progetto di comunicazione è quindi quello di instradare verso AS1 tutto il traffico verso l’internet. Il collegamento con AS3 è stato invece acquisito e deve essere riservato alla comunicazione tra le sedi. Questa politica genera una sequenza di decisioni di instradamento e di configurazione di apparati che attuano questi processi (si pensi solo ai processi nat da attuare per il solo traffico verso internet). Nella configurazione degli annunci verso AS3, erroneamente l’annuncio di rotta di default non è rimosso. Gli utenti di AS2 hanno quindi due possibili destinazioni di default ma anche gli utenti di AS3 scoprono una rotta di default che attraversa AS2e raggiunge AS1. L’end user è penalizzato sia perché il collegamento con as3 è utilizzato in senso inverso a quello per cui è stato predisposto sia perché il collegamento con AS1 risulterà molto carico per effetto del traffico generato dai clienti di AS3 e riversato in AS2. 2) Il secondo aspetto caratteristico di questo scenario è il diverso ruolo dei filtri sui messaggi in ed out. Infatti gli annunci di rotte di AS1ed AS3 verso AS2 saranno ricevuti ma non ritrasmessi. Sarà adottata una opportuna politica di selezione per le rotte annunciate dai due carrier per realizzare la ripartizione del traffico generato in AS2 verso AS1 ed AS3. Negli annunci di AS2 verso AS1 ed AS3 saranno presenti solo le rotte effettivamente terminate all’interno di AS2. 3) Le rotte apprese da AS1, e AS3 rappresentano il complessivo internet. Si tratta quindi di una gran mole di annunci. Pur opportunamente limitati questi annunci sono gestibili dal protocollo BGP. Gli annunci non possono invece riversati nelle tabelle di routing dei protocolli IGP. Questo aspetto è molto importante ed ha valenza più generale riguardando lo scambio di informazioni tra protocolli di routing diversi. Pertanto, alle interazioni di scambio di informazioni tra protocolli di routing è dedicato un capitolo ad hoc. 25 VOLUME_3.book Page 26 Monday, April 2, 2012 9:30 AM Qui invece è importante notare che un approccio generale da seguire negli scambi di BGP con i protocolli Igp è quello di redistribuire al protocollo IGP solo la scelta di quando inoltrare verso AS3 e quando inoltrare verso AS1 lasciando alle macchine di interfaccia il compito di gestire le tabelle complessive di routing. Un buon criterio è quello di ridistribuire delle rotte di default con metriche condizionate in modo da dare preminenza al percorso attraverso AS1 lasciando AS3 come percorso di riserva per certe rotte e viceversa per altre. Nell’esempio che segue le rotte dispari sono indirizzate verso AS1 lasciando AS3 come percorso per le rotte dispari. Figura 14.9 Sommarizzazioni e redistribuzione da BGP ad OSPF efetto nel data plane AS2 Control -PLANE Rotte pari secondaria BGP AS1 ist r ed e OSPF ut rib r ed istr ib u te BGP Rotte dispari-primaria AS3 Rotte pari primaria 0.0.0.0 Tabella di Routing od ffic t ra a re i na rm te Rotte dispari secondaria DATA-PLANE 14.5 E-bgp ed I-bgp Pur essendo lo stesso il protocollo si è soliti distinguere due contesti differenti: - l’applicazione di BGP per scambio tra due o più Autonomous System è denominata EBGP dove E sta per Exetermal, - l’applicazione di BGP per lo scambio all’interno dello stesso autonomous system è denominata IBGP dove “I” sta per Internal. Pur essendo lo stesso protocollo la differenza di contesti di applicazione dà luogo a scelte di default per l’utilizzo del protocollo che a loro volta hanno profonda implicazione nelle caratteristiche e nel funzionamento del protocollo stesso. 26 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 27 Monday, April 2, 2012 9:30 AM QUADERNI per la progettazione ICT Lo scenario di riferimento per E-Bgp è l’assenza di un protocollo di routing dinamico tra le macchine che intendono effettuare scambi mentre per I-Bgp si suppone presente tra esse un protocollo dinamico. Questi due diversi scenari producono a loro volta molte implicazioni: le informazioni apprese da uno scambio I-BGP non sono trasmesse in altri scambi I-BGP. (regola della sincronizzazione); in scambi I-BGP gli attributi ed in particolare il next-hop, non sono cambiati; il next-hop è cambiato automaticamente negli scambi E-BGP; la sequenza degli AS attraversati dalla rotta non è modificata nello scambio I-BGP; quando avviene un nuovo scambio E-BGP il AS path si arricchisce del l’ultimo AS attraversato. 14.6 Terminologia BGP e riferimenti RFC Internal ed External BGP: sessioni di scambio all’interno o all’esterno di un AS. Neighbor: i partner con cui sono scambiate le informazioni di routing. Contrariamente ai protocolli IGP in questa situazione nessun automatismo è ragionevole nella scelta dei partners della comunicazione. Essi pertanto saranno configurati manualmente. Si specifica talvolta neighbor interni e esterni riferendosi ad internal o esternal BGP. Attributi: parametri che accompagnano le informazioni di rotte trasmesse, sono classificati per gruppi in obbligatori e opzionali; Path vector: uno degli attributi più importanti che accompagnano le informazioni di rotte. È l’elenco degli AS che la destinazione ha attraversato in scambi successivi; NLRI: Network Layer Reachability Information: le destinazioni conosciute espresse in termini di indirizzo IP del target. Nel presente capitolo NLRI equivale all’indirizzo IP dei target conosciuti. In generale il concetto è più ampio e possono essere descritti instradamenti che prescindono dall’indirizzo di destinazione ed aggregano tipologie diverse di traffico (real-time, non real-time, classi di servizio, Sla…). Sincronizzazione: una destinazione è valida se e solo se esiste nella tabella di routing un next-hop valido per la destinazione annunciata o ricevuta. 27 VOLUME_3.book Page 28 Monday, April 2, 2012 9:30 AM I riferimenti RFC in cui è descritto il protocollo sono: RFC 3392, Capabilities Advertisement with BGP-4; RFC 3065, Autonomous System Confederations for BGP; RFC 2918, Route Refresh Capability for BGP-4; RFC 2796, BGP Route Reflection - An Alternative to Full Mesh IBGP; RFC 1965, (obsoleta) - Autonomous System Confederations for BGP; RFC 1772, Application of the Border Gateway Protocol in the Internet; RFC 1771, A Border Gateway Protocol 4 (BGP-4); RFC 1657, Definitions of Managed Objects for the Fourth Version of the Border Gateway Protocol (BGP-4) using SMIv2; RFC 1655, (obsoleta) - Application of the Border Gateway Protocol in the Internet; RFC 1654, (obsoleta) - A Border Gateway Protocol 4 (BGP-4); RFC 1105, (obsoleta) - Border Gateway Protocol (BGP). 14.7 Come funziona il protocollo Il protocollo pur avendo il compito di trasmettere informazioni di routing è molto diverso dai protocolli di routing IGP. I membri con cui è instaurata la conversazione sono accuratamente scelti e non semiautomatici (non è stato ritenuto utile un protocollo simile ad HELLO per BGP). Le informazioni sono filtrate prima di essere trasmesse. Le informazioni sono controllate prima di essere dichiarate valide. Alcuni meccanismi dei protocolli IGP sono stati mantenuti: annunci affidabili; calcolo di metrica simile a distance vector. Un gran numero di informazioni accompagnano le rotte e rendono il processo di selezione molto più articolato e ricco. Nei paragrafi che seguono ciascuno di questi temi è esaminato nel dettaglio. 14.7.1 I neighbor Innanzitutto i partecipanti alle comunicazioni sono esplicitamente selezionati non tra i router di next-hop come negli IGP ma tra macchine raggiungibili nell’internet. 28 PROGETTAZIONE E CONDUZIONE DI RETI DI COMPUTER - VOL. III VOLUME_3.book Page 29 Monday, April 2, 2012 9:30 AM Si distinguono i collegamenti interni allo stesso AS (IBGP peer) e quelli tra AS (EBGP PEERS). QUADERNI per la progettazione ICT La raggiungibilità tra due neighbor all’interno di uno stesso AS è, nella maggior parte dei casi, garantita dalla presenza di un protocollo di routing interno (IGP). Scopo del protocollo IGP è quello di rendere ogni nodo accessibile a tutti gli altri e tutte le destinazioni a tutti i membri della rete. Molto diverso è lo scenario della raggiungibilità e degli scambi in internet. Quando invece la raggiungibilità deve essere garantita tra due macchine appartenenti a differenti AS non è pensabile che ci sia un protocollo automatico di instradamento che renda le due macchine comunque raggiungibili: Questa differenza si traduce nell’affermazione pratica che i due neighbor di una sessione di external bgp devono essere direttamente connessi mentre quelli di una sessione internal non lo saranno, sempre che sia disponibile un protocollo di routing interno che definisca le rotte per la raggiungibilità reciproca. Figura 14.10 Sessione BGP tra due loopback per sfruttare la ridondanza dei circuiti fisici L’uso di questa definizione deve essere spesso conciliata con altre esigenze. In figura è rappresentata una sessione External BGP in cui la relazione di neighbor è creata tra interfacce loopback per utilizzare al meglio la ridondanza di collegamenti. Le interfacce di loopback non sono direttamente raggiungibili. Sono perciò necessarie istruzioni di instradamento ulteriori. In figura sono aggiunte rotte statiche. 29