RobertoBifulco.it

  • topics
  • publications
  • il gatto
  • account
Home › Reti di Calcolatori 2 › Capitolo III - Inter-domain routing with BGP › III.2Inter-domain routing › III.2.1Border Gateway Protocol (BGP)

III.2.1.5BGP in large networks

Roberto Bifulco — Sat, 10/18/2008 - 22:11

Consideriamo la seguente figura:

In un largo AS è verosimile che ci siano più router BGP per connettersi agli altri AS. In queste condizioni è necessario disporre di un metodo per far comunicare fra loro questi router. Nell'esempio in figura, R3 impara le rotte di AS10, R4 dovrà annunciare ad AS30 anche queste rotte, ma come fa a conoscerle?

Una possibile soluzione è adoperare il protocollo IGP sottostante per comunicare anche le rotte apprese tramite BGP. Il problema è che tipicamente il numero di rotte è considerevole, quindi, il protocollo IGP verrebbe velocemente sovraccaricato, rendendo di fatto la soluzione non scalabile. In aggiunta, i protocolli IGP non prevedono meccanismi per trasportare le informazioni aggiuntive legate alle rotte BGP, come ad esempio gli ASPath.

Un tentativo di usare un protocollo IGP per far comunicare due router BGP di un AS sfociò in un noto malfunzionamento, noto come l'incidente dell'AS7007, che causò il blocco di Internet (in larga parte) per ore. Il problema fu che adoperando il protocollo di IGP per trasportare le rotte, l'AS7007 risultò agli altri router come destinazione della gran parte degli indirizzi IP imparati dalle rotte BGP, inoltre, non avendo l'informazione ASPath, il percorso attraverso l'AS7007 risultava il più breve poiché riportava solo quell'AS, questo causò un sovraccarico di traffico che bloccò la rete.

La soluzione alternativa è instaurare una connessione BGP anche fra i router interni allo stesso AS, si configurano così due diversi tipi di connessione BGP:

  • iBGP: connessione BGP fra router appartenenti allo stesso AS;

  • eBGP: connessione BGP fra router appartenenti ad AS diversi;

Le connessione iBGP devono essere mantenute da ogni router BGP di un AS, verso tutti gli altri router BGP di quell'AS (full iBGP mesh). Da notare che le connessioni iBGP non necessariamente seguono la topologia fisica della rete, poiché BGP viaggia su TCP.

Chiaramente ci sono delle differenze nella gestione delle due differenti connessioni BGP:

Innanzitutto, poiché il valore di local pref appartiene ad una impostazione locale, tale valore sarà incluso come informazione soltanto all'interno delle connessioni iBGP. Allo stesso modo, non ci sono solitamente filtri applicati alle sessioni iBGP, perché come detto i filtri si adoperano per applicare policy amministrative fra AS differenti.

La scelta della rotta migliore verso una destinazione è fatta dal router BGP che riceve l'annuncio di quella rotta. Effettuata la scelta, il router provvede ad informare solo della rotta selezionata gli altri router BGP del suo AS, tramite la connessione iBGP. Le rotte apprese da un router tramite la connessione iBGP non sono poi annunciate agli altri router dello stesso AS, poiché i router BGP di un ASsono fra loro connessi in full mesh, quindi già avranno ricevuto lo stesso annuncio.

In sintesi, mentre con eBGP si annunciano ai router di altri AS tutte le migliori rotte verso qualsiasi destinazione conosciuta, con iBGP si annunciano ai router del proprio AS solo le migliori rotte apprese tramite eBGP.

Quando si trasmette una rotta tramite iBGP i campi NextHop e ASPath non variano rispetto a quelli del messaggio eBGP ricevuto in origine, questo perché chiaramente non viene attraversato nessun ulteriore AS, inoltre, il campo NextHop contiene per definizione l'indirizzo IP del router BGP del prossimo AS da contattare per raggiungere la destinazione.

In Figure 25 è mostrato un esempio per chiarire quanto detto:

Frame25

Facendo sempre riferimento al precedente esempio, scriviamo le tabelle di routing BGP ed IGP di R4:

  • BGP routing table

    • 194.100.0.0/23 via R1

  • IGP routing table

    • 194.100.0.0/30 via R3

Mettendo insieme queste informazioni, R4 costruisce la sua forwarding table:

  • Farwarding table

    • 194.100.0.0/23 via R3

    • 194.100.0.0/30 via R3

Consideriamo adesso cosa succede nel momento in cui due router BGP interni ad un AS non sono fra loro fisicamente direttamente collegati, Abbiamo detto che la sessione iBGP viene stabilita senza problemi poiché viaggia su protocollo TCP, tuttavia, i router compresi fra i BGP router non è detto che sappiano instradare correttamente tutti i pacchetti IP che ricevono, poiché questi router non hanno le informazioni di BGP, ma solo quelle apprese tramite IGP (Figure 26).

Frame26

E' dunque necessaria una strategia per consentire a questi router di instradare correttamente il traffico IP. Tre possibili soluzioni sono le seguenti:

  1. Utilizzare un “tunnel” fra i router BGP per incapsulare i pacchetti destinati ad AS esterni. Generalmente questo approccio adopera due tecnologie per il tunneling:

    • GRE tunnel: ha bisogno di una configurazione statica e necessita di grande attenzione nell'impostazione degli MTU;

    • MPLS tunnel: i tunnel sono creati dinamicamente adoperando il sistema di labeling MPLS (che verrà trattato successivamente in questo testo);

Frame27
  1. Adoperare il protocollo di IGP per trasportare le informazioni EGP delle rotte verso i router interni dell'AS. Questa soluzione è applicabile se si evita che i router EGP annuncino come nuove rotte quelle esterne che il protocollo IGP sta redistribuendo all'interno dell'AS. Tuttavia, anche con questo accorgimento, il numero di rotte EGP velocemente sovraccarica il protocollo IGP.

  2. E' possibile anche decidere di rendere tutti i router di backbone dell'AS dei router BGP. Tali router riceverebbero le rotte tramite iBGP, ma, poiché i router BGP non dichiarano mai rotte apprese tramite iBGP, non annuncerebbero mai rotte. Il problema principale di questo approccio è che comporta che tali router partecipino alla full mesh iBGP dell'AS, con conseguente aumento esponenziale del numero di connessioni iBGP

‹ III.2.1.4The internet organization up III.2.1.6Confederations ›
  • Printer-friendly version

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.

Reti di Calcolatori 2

  • Introduzione
  • Capitolo I - Networks Evolution
    • Communication models
      • Circuit switching
      • Packet Switching
      • Flow Switching
    • A rapidly changing scenario
    • Data and media taxonomy
  • Capitolo II - Techniques and architectures for QoS
    • II.1QoS problems
    • II.2Service Specification
    • II.3Traffic and Service Characterization
      • II.3.1Token Bucket
      • II.3.2Leaky Bucket
      • II.3.3Queue management
      • II.3.4Scheduling
        • II.3.4.1Scheduling policies
        • II.3.4.1.1GPS
    • II.4Parekh-Gallager Theorem
    • II.5QoS Architectures
      • II.5.1Integrated Services (IntServ)
        • II.5.1.1RSVP
        • II.5.1.2IntServ today
      • II.5.2Differentiated Services (DiffServ)
        • II.5.2.1PHB: Expedited Forwarding
        • II.5.2.2PHB: Assured Forwarding
    • II.6QoS in Fast Interconnect
      • II.6.1Flow Control
        • II.6.1.1Flow Control in IBA
        • II.6.1.2Flow Control in ASI
        • II.6.1.3Flow Control in Ethernet
      • II.6.2Congestion control
        • II.6.2.1Congestion Control in IBA
        • II.6.2.2Congestion Control in ASI
  • Capitolo III - Inter-domain routing with BGP
    • III.1Intra-Domain Routing
      • III.1.1Distance Vector
      • III.1.2Link State
    • III.2Inter-domain routing
      • III.2.1Border Gateway Protocol (BGP)
        • III.2.1.1BGP Messages
        • III.2.1.2BGP Example 1
        • III.2.1.3Route preference
        • III.2.1.4The internet organization
        • III.2.1.5BGP in large networks
        • III.2.1.6Confederations
        • III.2.1.7Route Reflectors
        • III.2.1.8The dynamics of BGP
        • III.2.1.9BGP routing tables
        • III.2.1.10The route selection process
  • Capitolo IV - Asynchronous transfer mode
    • ATM architecture
    • ATM Protocol Stack
    • ATM Addressing
    • ATM Quality of Service
    • ATM Adaptation Layer
    • Call and Connection Control
    • ATM in LAN
    • IP over ATM
  • Capitolo V - Multi Protocol Label Switching
    • MPLS
  • Capitolo VI - Traffic Engineering
    • IP-based Traffic Engineering
    • MPLS-based traffic engineering
  • Capitolo VII - SDH/SONET
  • Capitolo VIII - IP su reti ottiche
    • DWDM
    • Generalized Framing Procedure (GFP)
    • Gigabit Ethernet (GbE)
    • IP-centric control of optical networks
  • Capitolo IX - Network Management
    • Simple Network Management Protocol (SNMP)
    • Network management applications
    • Professional and Business Challanges
    • Service life-cycle
    • Provisioning level Agreement
  • Capitolo X - Network Resiliency
    • Network recovery
    • Recovery Mechanisms Control
  • Capitolo XI - Network security
    • Types of Attack
    • Firewall
    • NAT
    • Intrusion Prevention Systems
  • Download
  • topics
  • publications
  • il gatto
  • account