Hoe BGP werkt

Vandaag zullen we kijken naar het BGP-protocol. We zullen nog lang niet praten over waarom dit zo is en waarom het als het enige protocol wordt gebruikt. Er is bijvoorbeeld heel veel informatie over dit onderwerp hier.

Dus wat is BGP? BGP is een dynamisch routeringsprotocol en het enige EGP-protocol (External Gateway Protocol). Dit protocol wordt gebruikt om routering op internet op te bouwen. Laten we eens kijken hoe een buurt tussen twee BGP-routers wordt gebouwd.

Hoe BGP werkt
Beschouw de buurt tussen Router1 en Router3. Laten we ze configureren met de volgende opdrachten:

router bgp 10
  network 192.168.12.0
  network 192.168.13.0
  neighbor 192.168.13.3 remote-as 10

router bgp 10
  network 192.168.13.0
  network 192.168.24.0
  neighbor 192.168.13.1 remote-as 10

De buurt binnen een enkel autonoom systeem is AS 10. Na het invoeren van informatie op een router, zoals Router1, probeert die router een aangrenzende relatie met Router3 op te zetten. De begintoestand waarin er niets gebeurt, wordt genoemd Idle. Zodra bgp op Router1 is geconfigureerd, begint het te luisteren naar TCP-poort 179 - het gaat naar de status Verbinden, en wanneer het probeert een sessie met Router3 te openen, gaat het naar de status Actief.

Nadat de sessie tussen Router1 en Router3 tot stand is gebracht, worden Open-berichten uitgewisseld. Wanneer dit bericht door Router1 wordt verzonden, wordt deze status aangeroepen Open Verzonden. En wanneer het een Open-bericht van Router3 ontvangt, gaat het naar de status Open Bevestigen. Laten we het Open-bericht eens nader bekijken:

Hoe BGP werkt
Dit bericht bevat informatie over het BGP-protocol zelf, dat door de router wordt gebruikt. Door Open-berichten uit te wisselen, communiceren Router1 en Router3 informatie over hun instellingen met elkaar. De volgende parameters worden doorgegeven:

  • Versie: dit omvat de BGP-versie die de router gebruikt. De huidige versie van BGP is versie 4, die wordt beschreven in RFC 4271. Twee BGP-routers zullen proberen te onderhandelen over een compatibele versie. Als er een mismatch is, zal er geen BGP-sessie zijn.
  • Mijn AS: dit omvat het AS-nummer van de BGP-router, de routers zullen het eens moeten worden over de AS-nummer(s) en het bepaalt ook of ze iBGP of eBGP zullen gebruiken.
  • Wachttijd: als BGP gedurende de duur van de vasthoudtijd geen keepalive- of updateberichten van de andere kant ontvangt, wordt de andere kant 'dood' verklaard en wordt de BGP-sessie afgebroken. Standaard is de houdtijd op Cisco IOS-routers ingesteld op 180 seconden, het keepalive-bericht wordt elke 60 seconden verzonden. Beide routers moeten het eens worden over de wachttijd, anders komt er geen BGP-sessie.
  • BGP-identificatie: dit is de lokale BGP-router-ID die wordt gekozen, net zoals OSPF doet:
    • Gebruik de router-ID die handmatig is geconfigureerd met de opdracht bgp router-id.
    • Gebruik het hoogste IP-adres op een loopback-interface.
    • Gebruik het hoogste IP-adres op een fysieke interface.
  • Optionele parameters:: hier vindt u enkele optionele mogelijkheden van de BGP-router. Dit veld is toegevoegd zodat nieuwe functies aan BGP kunnen worden toegevoegd zonder dat u een nieuwe versie hoeft te maken. Dingen die u hier mogelijk kunt vinden zijn:
    • ondersteuning voor MP-BGP (Multi Protocol BGP).
    • ondersteuning voor Routevernieuwing.
    • ondersteuning voor 4-octet AS-nummers.

Om een ​​buurt te kunnen vestigen moet aan de volgende voorwaarden worden voldaan:

  • Versienummer. De huidige versie is 4.
  • Het AS-nummer moet overeenkomen met wat u heeft geconfigureerd buurman 192.168.13.3 op afstand-als 10.
  • Router-ID moet anders zijn dan die van de buurman.

Als een van de parameters niet aan deze voorwaarden voldoet, verzendt de router Kennisgeving bericht dat de fout aangeeft. Na het verzenden en ontvangen van Open berichten krijgt de buurtrelatie de status GEVESTIGD. Hierna kunnen routers informatie over routes uitwisselen en doen dit met behulp van bijwerken berichten. Dit is het updatebericht dat door Router1 naar Router3 is verzonden:

Hoe BGP werkt

Hier ziet u de netwerken die worden gerapporteerd door de kenmerken Router1 en Path, die analoog zijn aan de statistieken. We zullen meer in detail praten over padkenmerken. Keepalive-berichten worden ook verzonden binnen een TCP-sessie. Ze worden standaard elke 60 seconden verzonden. Dit is een Keepalive-timer. Als er tijdens de Hold Timer geen Keepalive-bericht wordt ontvangen, betekent dit dat de communicatie met de buurman verloren gaat. Standaard is dit gelijk aan 180 seconden.

Nuttig teken:

Hoe BGP werkt

Het lijkt erop dat we erachter zijn gekomen hoe routers informatie naar elkaar verzenden, laten we nu proberen de logica van het BGP-protocol te begrijpen.

Om een ​​route naar de BGP-tabel bekend te maken, zoals in de IGP-protocollen, wordt de netwerkopdracht gebruikt, maar de bedieningslogica is anders. Als in IGP, na het specificeren van de route in de netwerkopdracht, de IGP kijkt welke interfaces tot dit subnet behoren en deze in de tabel opneemt, dan kijkt de netwerkopdracht in BGP naar de routeringstabel en zoekt naar nauwkeurig komt overeen met de route in de netwerkopdracht. Als deze worden gevonden, verschijnen deze routes in de BGP-tabel.

Zoek naar een route in de huidige IP-routeringstabel van de router die exact overeenkomt met de parameters van de netwerkopdracht; als de IP-route bestaat, plaatst u de equivalente NLRI in de lokale BGP-tabel.

Laten we nu de BGP verhogen naar alle overige en kijken hoe de route binnen één AS wordt geselecteerd. Nadat de BGP-router routes van zijn buurman heeft ontvangen, begint hij met het selecteren van de optimale route. Hier moet je begrijpen wat voor soort buren er kunnen zijn - intern en extern. Begrijpt de router door configuratie of de geconfigureerde buur intern of extern is? Indien in een team:

neighbor 192.168.13.3 remote-as 10 

de parameter remote-as specificeert AS, die op de router zelf is geconfigureerd in de opdracht router bgp 10. Routes afkomstig van de interne AS worden als intern beschouwd en routes van de externe AS worden als extern beschouwd. En voor elk werkt een andere logica van ontvangen en verzenden. Beschouw deze topologie:

Hoe BGP werkt

Elke router heeft een loopback-interface geconfigureerd met ip: xxxx 255.255.255.0 - waarbij x het routernummer is. Op Router9 hebben we een loopback-interface met het adres - 9.9.9.9 255.255.255.0. We zullen het via BGP aankondigen en zien hoe het zich verspreidt. Deze route wordt verzonden naar Router8 en Router12. Van Router8 gaat deze route naar Router6, maar naar Router5 staat deze niet in de routeringstabel. Ook op Router12 zal deze route in de tabel verschijnen, maar op Router11 zal deze er ook niet zijn. Laten we proberen dit uit te zoeken. Laten we eens kijken welke gegevens en parameters Router9 naar zijn buren verzendt en deze route rapporteert. Het onderstaande pakket wordt verzonden van Router9 naar Router8.

Hoe BGP werkt
Route-informatie bestaat uit padkenmerken.

Padkenmerken zijn onderverdeeld in 4 categorieën:

  1. Bekend verplicht - Alle routers waarop BGP draait, moeten deze kenmerken herkennen. Moet aanwezig zijn in alle updates.
  2. Bekend discretionair - Alle routers waarop BGP draait, moeten deze kenmerken herkennen. Ze kunnen aanwezig zijn in updates, maar hun aanwezigheid is niet vereist.
  3. Optioneel transitief - wordt mogelijk niet door alle BGP-implementaties herkend. Als de router het attribuut niet herkent, markeert hij de update als gedeeltelijk en stuurt deze door naar zijn buren, waarbij het niet-herkende attribuut wordt opgeslagen.
  4. Optioneel niet-transitief - wordt mogelijk niet door alle BGP-implementaties herkend. Als de router het attribuut niet herkent, wordt het attribuut genegeerd en weggegooid wanneer het wordt doorgegeven aan buren.

Voorbeelden van BGP-kenmerken:

  • Bekend verplicht:
    • Autonoom systeempad
    • Volgende-hop
    • Oorsprong

  • Bekend discretionair:
    • Lokale voorkeur
    • Atomair aggregaat
  • Optioneel transitief:
    • Aggregator
    • Gemeenschappen
  • Optioneel niet-transitief:
    • Multi-exit-discriminator (MED)
    • ID van de maker
    • Clusterlijst

In dit geval zijn we voorlopig geïnteresseerd in Origin, Next-hop, AS Path. Omdat de route verzendt tussen Router8 en Router9, dat wil zeggen binnen één AS, wordt deze als intern beschouwd en zullen we aandacht besteden aan Origin.

Herkomstkenmerk - geeft aan hoe de route in de update is verkregen. Mogelijke attribuutwaarden:

  • 0 - IGP: NLRI ontvangen binnen het oorspronkelijke autonome systeem;
  • 1 - EGP: NLRI wordt geleerd met behulp van het External Gateway Protocol (EGP). Voorganger van BGP, niet gebruikt
  • 2 - Onvolledig: NLRI is op een andere manier aangeleerd

In ons geval is deze, zoals uit het pakket blijkt, gelijk aan 0. Wanneer deze route naar Router12 wordt verzonden, heeft deze code de code 1.

Volgende, volgende hop. Volgende-hop-attribuut

  • Dit is het IP-adres van de eBGP-router waarlangs het pad naar het bestemmingsnetwerk loopt.
  • Het attribuut verandert wanneer het voorvoegsel naar een andere AS wordt verzonden.

In het geval van iBGP, dat wil zeggen binnen één AS, wordt Next-hop aangegeven door degene die over deze route heeft geleerd of verteld. In ons geval zal dit 192.168.89.9 zijn. Maar wanneer deze route wordt verzonden van Router8 naar Router6, zal Router8 deze wijzigen en vervangen door zijn eigen route. De volgende hop is 192.168.68.8. Dit brengt ons bij twee regels:

  1. Als een router een route doorstuurt naar zijn interne buurman, verandert hij de parameter Next-hop niet.
  2. Als een router een route naar zijn externe buur verzendt, verandert hij Next-hop naar het ip-adres van de interface van waaruit deze router verzendt.

Dit brengt ons ertoe het eerste probleem te begrijpen: waarom er geen route zal zijn in de routeringstabel op Router5 en Router11. Laten we dat eens van dichterbij bekijken. Router6 ontving dus informatie over route 9.9.9.0/24 en voegde deze met succes toe aan de routeringstabel:

Router6#show ip route bgp
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

      9.0.0.0/24 is subnetted, 1 subnets
B        9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Теперь Router6 передал маршрут Router5 и первому правилу Next-hop не изменил. То есть, Router5 должен добавить  <b>9.9.9.0 [20/0] via 192.168.68.8</b> , но у него нет маршрута до 192.168.68.8 и поэтому данный маршрут добавлен не будет, хотя информация о данном маршруте будет храниться в таблице BGP:

<source><b>Router5#show ip bgp
BGP table version is 1, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 * i 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Dezelfde situatie zal zich voordoen tussen Router11-Router12. Om deze situatie te voorkomen, moet u Router6 of Router12 configureren, wanneer u de route doorgeeft aan hun interne buren, om hun IP-adres te vervangen door Next-hop. Dit gebeurt met behulp van het commando:

neighbor 192.168.56.5 next-hop-self

Na dit commando zal Router6 een Update-bericht sturen, waarbij het ip van interface Gi0/0 Router6 zal worden gespecificeerd als Next-hop voor routes - 192.168.56.6, waarna deze route al in de routeringstabel zal worden opgenomen.

Laten we verder gaan en kijken of deze route verschijnt op Router7 en Router10. Het zal niet in de routeringstabel staan ​​en we zouden kunnen denken dat het probleem hetzelfde is als in het eerste met de parameter Next-hop, maar als we naar de uitvoer van het commando show ip bgp kijken, zullen we zien dat de route werd daar zelfs met de verkeerde Next-hop niet ontvangen, wat betekent dat de route niet eens werd verzonden. En dit zal ons leiden naar het bestaan ​​van een andere regel:

Routes ontvangen van interne buren worden niet doorgegeven aan andere interne buren.

Omdat Router5 de route van Router6 heeft ontvangen, wordt deze niet naar zijn andere interne buurman verzonden. Om de overdracht te laten plaatsvinden, moet u de functie configureren Routereflector, of configureer volledig verbonden buurtrelaties (Full Mesh), dat wil zeggen dat Router5-7 iedereen een buur voor iedereen zal zijn. In dit geval gebruiken we Route Reflector. Op Router5 moet u deze opdracht gebruiken:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector verandert het gedrag van BGP bij het doorgeven van een route aan een interne buur. Als de interne buur is opgegeven als route-reflector-client, dan worden interne routes aan deze klanten geadverteerd.

De route verscheen niet op Router7? Vergeet Next-hop ook niet. Na deze manipulaties zou de route ook naar Router7 moeten gaan, maar dit gebeurt niet. Dit brengt ons bij een andere regel:

De next-hop-regel werkt alleen voor externe routes. Voor interne routes wordt het next-hop-attribuut niet vervangen.

En we krijgen een situatie waarin het nodig is om een ​​omgeving te creëren met behulp van statische routering of IGP-protocollen om routers te informeren over alle routes binnen de AS. Laten we statische routes registreren op Router6 en Router7 en daarna krijgen we de gewenste route in de routertabel. In AS 678 zullen we het een beetje anders doen: we zullen statische routes registreren voor 192.168.112.0/24 op Router10 en 192.168.110.0/24 op Router12. Vervolgens zullen we de buurtrelatie tussen Router10 en Router12 vaststellen. We zullen Router12 ook configureren om de volgende hop naar Router10 te sturen:

neighbor 192.168.110.10 next-hop-self

Het resultaat zal zijn dat Router10 route 9.9.9.0/24 ontvangt, deze wordt ontvangen van zowel Router7 als Router12. Laten we eens kijken welke keuze Router10 maakt:

Router10#show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network              Next Hop            Metric LocPrf Weight Path
 *>i 9.9.9.0/24       192.168.112.12           0    100       0      45 i

                               192.168.107.7                                0     123 45 i  

Zoals we kunnen zien, betekenen twee routes en een pijl (>) dat de route via 192.168.112.12 is geselecteerd.
Laten we eens kijken hoe het routeselectieproces werkt:

  1. De eerste stap bij het ontvangen van een route is het controleren van de beschikbaarheid van de Next-hop. Dat is de reden waarom, wanneer we een route op Router5 ontvingen zonder Next-hop-self in te stellen, deze route niet verder werd verwerkt.
  2. Vervolgens komt de parameter Gewicht. Deze parameter is geen Path Attribute (PA) en wordt niet verzonden in BGP-berichten. Het wordt lokaal op elke router geconfigureerd en wordt alleen gebruikt om de routeselectie op de router zelf te manipuleren. Laten we eens kijken naar een voorbeeld. Net hierboven kun je zien dat Router10 een route heeft gekozen voor 9.9.9.0/24 via Router12 (192.168.112.12). Om de Wieght-parameter te wijzigen, kunt u route-map gebruiken om specifieke routes in te stellen, of een gewicht toewijzen aan de buurman met behulp van de opdracht:
     neighbor 192.168.107.7 weight 200       

    Nu zullen alle routes vanaf deze buurman dit gewicht hebben. Laten we eens kijken hoe de routekeuze verandert na deze manipulatie:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console
    BGP table version is 2, local router ID is 6.6.6.6
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight      Path
     *>  9.9.9.0/24       192.168.107.7                        200      123 45 i
     * i                          192.168.112.12           0          100      0 45 i

    Zoals je ziet is nu de route via Router7 geselecteerd, maar dit heeft geen effect op de andere routers.

  3. Op de derde plaats hebben we Lokale Voorkeur. Deze parameter is een Well-known discretionair attribuut, wat betekent dat de aanwezigheid ervan optioneel is. Deze parameter is alleen geldig binnen één AS en heeft alleen invloed op de padkeuze voor interne buren. Daarom wordt het alleen verzonden in Update-berichten die bedoeld zijn voor de interne buur. Het is niet aanwezig in Update-berichten voor externe buren. Daarom werd het geclassificeerd als Bekend discretionair. Laten we proberen het toe te passen op Router5. Op Router5 zouden we twee routes moeten hebben voor 9.9.9.0/24 - één via Router6 en de tweede via Router7.

    Wij kijken:

    Router5#show bgp
    BGP table version is 2, local router ID is 5.5.5.5
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight Path
     *>i 9.9.9.0/24       192.168.56.6             0    100      0 45 i

    Maar zoals we één route zien via Router6. Waar is de route via Router7? Misschien heeft Router7 het ook niet? Laten we kijken:

    Router#show bgp
    BGP table version is 10, local router ID is 7.7.7.7
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network                Next Hop            Metric LocPrf  Weight    Path
     *>i 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    Vreemd, alles lijkt in orde. Waarom wordt het niet naar Router5 verzonden? Het punt is dat BGP een regel heeft:

    De router verzendt alleen de routes die hij gebruikt.

    Router7 gebruikt een route via Router5, dus de route via Router10 wordt niet verzonden. Laten we terugkeren naar Lokale voorkeur. Laten we de lokale voorkeur instellen op Router7 en kijken hoe Router5 hierop reageert:

    route-map BGP permit 10
     match ip address 10
     set local-preference 250
    access-list 10 permit any
    router bgp 123
     neighbor 192.168.107.10 route-map BGP in</b>

    We hebben dus een routekaart gemaakt die alle routes bevat en hebben Router7 opdracht gegeven de parameter Lokale voorkeur te wijzigen in 250 wanneer deze wordt ontvangen. De standaardwaarde is 100. Laten we eens kijken wat er op Router5 gebeurde:

    Router5#show bgp
    BGP table version is 8, local router ID is 5.5.5.5
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight        Path
     *>i 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Zoals we nu kunnen zien, geeft Router5 de voorkeur aan de route via Router7. Hetzelfde beeld zal op Router6 verschijnen, hoewel het voor hem winstgevender is om een ​​route via Router8 te kiezen. We voegen er ook aan toe dat het wijzigen van deze parameter een herstart van de buurt vereist voordat de wijziging van kracht wordt. Lezen hier. We hebben Lokale voorkeur uitgezocht. Laten we verder gaan met de volgende parameter.

  4. Geef de voorkeur aan de route met de parameter Next-hop 0.0.0.0, dat wil zeggen lokale of geaggregeerde routes. Aan deze routes wordt na het invoeren van de netwerkopdracht automatisch een parameter Gewicht toegewezen die gelijk is aan het maximum (32678):
    Router#show bgp
    BGP table version is 2, local router ID is 9.9.9.9
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight    Path
     *>  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. Kortste pad door AS. De kortste AS_Path-parameter is geselecteerd. Hoe minder AS's een route passeert, hoe beter deze is. Beschouw de route naar 9.9.9.0/24 op Router10:
    Router10#show bgp
    BGP table version is 2, local router ID is 6.6.6.6
    Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
                  r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
                  x best-external, a additional-path, c RIB-compressed,
    Origin codes: i - IGP, e - EGP, ? - incomplete
    RPKI validation codes: V valid, I invalid, N Not found
    
         Network          Next Hop            Metric LocPrf Weight Path
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Zoals je ziet heeft Router10 de route via 192.168.112.12 gekozen omdat voor deze route de parameter AS_Path slechts 45 bevat, en in een ander geval 123 en 45. Intuïtief duidelijk.

  6. De volgende parameter is Oorsprong. IGP (route verkregen met behulp van BGP) is beter dan EGP (route verkregen met behulp van de voorganger van BGP, niet langer in gebruik), en EGP is beter dan Incompleet? (verkregen via een andere methode, bijvoorbeeld door herverdeling).
  7. De volgende parameter is MED. We hadden Wieght dat alleen lokaal op de router werkte. Er was Lokale Voorkeur, die alleen binnen één autonoom systeem werkte. Zoals je misschien wel vermoedt, is MED een parameter die tussen autonome systemen wordt verzonden. Erg goed artikel over deze parameter.

Er worden geen attributen meer gebruikt, maar als twee routes dezelfde attributen hebben, worden de volgende regels gebruikt:

  1. Selecteer het pad via de dichtstbijzijnde IGP-buur.
  2. Selecteer de oudste route voor het eBGP-pad.
  3. Selecteer het pad via de buurman met de kleinste BGP-router-ID.
  4. Kies een pad via de buurman met het laagste IP-adres.

Laten we nu eens kijken naar de kwestie van de BGP-convergentie.

Laten we eens kijken wat er gebeurt als Router6 route 9.9.9.0/24 via Router9 verliest. Laten we interface Gi0/1 van Router6 uitschakelen, die onmiddellijk zal begrijpen dat de BGP-sessie met Router8 is beëindigd en de buurman is verdwenen, wat betekent dat de route die ervan wordt ontvangen niet geldig is. Router6 verzendt onmiddellijk updateberichten, waarbij het netwerk 9.9.9.0/24 wordt aangegeven in het veld Teruggetrokken routes. Zodra Router5 een dergelijk bericht ontvangt, stuurt hij dit naar Router7. Maar aangezien Router7 een route via Router10 heeft, zal deze onmiddellijk reageren met een Update met een nieuwe route. Als het niet mogelijk is om de val van een buurman te detecteren op basis van de status van de interface, dan zul je moeten wachten tot de Hold Timer afgaat.

Confederatie.

Weet je nog, we hebben het gehad over het feit dat je vaak een volledig verbonden topologie moet gebruiken. Met een groot aantal routers in één AS kan dit grote problemen veroorzaken, om dit te voorkomen moet je confederaties gebruiken. Eén AS is verdeeld in verschillende sub-AS, waardoor ze kunnen werken zonder dat een volledig verbonden topologie vereist is.

Hoe BGP werkt

Hier is een link hiernaar laboEn hier configuratie voor GNS3.

Met deze topologie zouden we bijvoorbeeld alle routers in AS 2345 met elkaar moeten verbinden, maar met behulp van Confederation kunnen we alleen aangrenzende routers tot stand brengen tussen routers die rechtstreeks met elkaar zijn verbonden. Laten we hier in detail over praten. Als we maar AS 2345 hadden, dan laForge een mars hebben ontvangen van Picard zou het aan de routers vertellen Data и Worf, maar ze wilden de router er niet over vertellen Breker . Ook routes die door de router zelf worden gedistribueerd laForge, niet zou zijn overgedragen Breker of Worf-Oh nee Data.

U zou een Route-Reflector of een volledig verbonden buurtrelatie moeten configureren. Door voor elke router één AS 2345 in 4 sub-AS (2,3,4,5) te verdelen, krijgen we een andere bedieningslogica. Alles is perfect beschreven hier.

Bronnen:

  1. CCIE Routing and Switching v5.0 officiële certificaatgids, deel 2, vijfde editie, Narbik Kocharians, Terry Vinson.
  2. Plaats xgu.ru
  3. Plaats GNS3Vault.

Bron: www.habr.com

Voeg een reactie