Cum funcționează BGP

Astăzi ne vom uita la protocolul BGP. Nu vom vorbi mult timp despre de ce este și de ce este folosit ca unic protocol. Există destul de multe informații despre acest subiect, de exemplu aici.

Deci, ce este BGP? BGP este un protocol de rutare dinamică și este singurul protocol EGP (External Gateway Protocol). Acest protocol este folosit pentru a construi rutarea pe Internet. Să vedem cum este construit un cartier între două routere BGP.

Cum funcționează BGP
Luați în considerare vecinătatea dintre Router1 și Router3. Să le configuram folosind următoarele comenzi:

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

Vecinătatea într-un singur sistem autonom este AS 10. După ce a introdus informații pe un router, cum ar fi Router1, acel router încearcă să stabilească o relație de adiacență cu Router3. Se numește starea inițială când nu se întâmplă nimic Idle. De îndată ce bgp este configurat pe Router1, va începe să asculte portul TCP 179 - va intra în stare Conectați, iar când încearcă să deschidă o sesiune cu Router3, va intra în stare Activ.

După ce sesiunea este stabilită între Router1 și Router3, mesajele Open sunt schimbate. Când acest mesaj este trimis de Router1, această stare va fi apelată Deschide Trimis. Și când primește un mesaj Open de la Router3, va intra în stare Deschide Confirmare. Să aruncăm o privire mai atentă la mesajul Open:

Cum funcționează BGP
Acest mesaj transmite informații despre protocolul BGP în sine, pe care îl folosește routerul. Prin schimbul de mesaje Open, Router1 și Router3 comunică între ele informații despre setările lor. Sunt trecuți următorii parametri:

  • Versiune: aceasta include versiunea BGP pe care o folosește routerul. Versiunea actuală a BGP este versiunea 4, care este descrisă în RFC 4271. Două routere BGP vor încerca să negocieze o versiune compatibilă, atunci când există o nepotrivire, atunci nu va exista o sesiune BGP.
  • AS-ul meu: acesta include numărul AS al routerului BGP, ruterele vor trebui să convină asupra numerelor AS și, de asemenea, definește dacă vor rula iBGP sau eBGP.
  • Opreste timpul: dacă BGP nu primește niciun mesaj de menținere sau actualizare de la cealaltă parte pe durata timpului de reținere, atunci va declara cealaltă parte „moartă” și va întrerupe sesiunea BGP. În mod implicit, timpul de reținere este setat la 180 de secunde pe routerele Cisco IOS, mesajul Keepalive este trimis la fiecare 60 de secunde. Ambele routere trebuie să fie de acord asupra timpului de reținere sau nu va exista o sesiune BGP.
  • Identificator BGP: acesta este ID-ul routerului BGP local care este ales la fel cum face OSPF:
    • Utilizați ID-ul routerului care a fost configurat manual cu comanda bgp router-id.
    • Utilizați cea mai mare adresă IP pe o interfață loopback.
    • Utilizați cea mai mare adresă IP pe o interfață fizică.
  • Parametri opționali: aici veți găsi câteva capabilități opționale ale routerului BGP. Acest câmp a fost adăugat pentru ca noi funcții să poată fi adăugate la BGP fără a fi nevoie să creați o nouă versiune. Lucrurile pe care le puteți găsi aici sunt:
    • suport pentru MP-BGP (Multi Protocol BGP).
    • suport pentru Route Refresh.
    • suport pentru numere AS de 4 octeți.

Pentru a înființa un cartier trebuie îndeplinite următoarele condiții:

  • Versiunea numarul. Versiunea actuală este 4.
  • Numărul AS trebuie să se potrivească cu ceea ce ați configurat vecin 192.168.13.3 remote-as 10.
  • ID-ul routerului trebuie să fie diferit de cel al vecinului.

Dacă vreunul dintre parametri nu îndeplinește aceste condiții, routerul va trimite Notificare mesaj care indică eroarea. După trimiterea și primirea mesajelor Open, relația de vecinătate intră în stat STABILIT. După aceasta, routerele pot face schimb de informații despre rute și pot face acest lucru folosind Actualizează mesaje. Acesta este mesajul de actualizare trimis de Router1 către Router3:

Cum funcționează BGP

Aici puteți vedea rețelele raportate de atributele Router1 și Path, care sunt analoge cu valorile. Vom vorbi mai detaliat despre atributele căii. Mesajele Keepalive sunt trimise și în cadrul unei sesiuni TCP. Acestea sunt transmise, implicit, la fiecare 60 de secunde. Acesta este un cronometru Keepalive. Dacă un mesaj Keepalive nu este primit în timpul cronometrului de reținere, aceasta va însemna o pierdere a comunicării cu vecinul. În mod implicit, este egal cu 180 de secunde.

Semn util:

Cum funcționează BGP

Se pare că ne-am dat seama cum routerele își transmit informații unul altuia, acum să încercăm să înțelegem logica protocolului BGP.

Pentru a face publicitate unei rute către tabelul BGP, ca în protocoalele IGP, se utilizează comanda de rețea, dar logica de operare este diferită. Dacă în IGP, după specificarea rutei în comanda de rețea, IGP-ul se uită la ce interfețe aparțin acestei subrețele și le include în tabelul său, atunci comanda de rețea din BGP se uită la tabelul de rutare și caută точное se potrivește cu ruta din comanda de rețea. Dacă se găsesc astfel de rute, aceste rute vor apărea în tabelul BGP.

Căutați o rută în tabelul de rutare IP curent al routerului care se potrivește exact cu parametrii comenzii de rețea; dacă ruta IP există, puneți NLRI echivalent în tabelul BGP local.

Acum să ridicăm BGP la toate cele rămase și să vedem cum este selectată ruta într-un AS. După ce routerul BGP primește rute de la vecinul său, începe să selecteze ruta optimă. Aici trebuie să înțelegeți ce tip de vecini pot exista - interni și externi. Routerul înțelege prin configurare dacă vecinul configurat este intern sau extern? Dacă faceți parte dintr-o echipă:

neighbor 192.168.13.3 remote-as 10 

parametrul remote-as specifică AS, care este configurat pe router însuși în comanda router bgp 10. Rutele care provin de la AS intern sunt considerate interne, iar rutele de la AS extern sunt considerate externe. Și pentru fiecare funcționează o logică diferită de primire și trimitere. Luați în considerare această topologie:

Cum funcționează BGP

Fiecare router are o interfață loopback configurată cu ip: xxxx 255.255.255.0 - unde x este numărul routerului. Pe Router9 avem o interfață loopback cu adresa - 9.9.9.9 255.255.255.0. Îl vom anunța prin BGP și vom vedea cum se răspândește. Această rută va fi transmisă către Router8 și Router12. De la Router8, această rută va merge la Router6, dar la Router5 nu va fi în tabelul de rutare. Tot pe Router12 această rută va apărea în tabel, dar nici pe Router11 nu va fi acolo. Să încercăm să ne dăm seama. Să luăm în considerare ce date și parametrii transmite Router9 vecinilor săi, raportând această rută. Pachetul de mai jos va fi trimis de la Router9 la Router8.

Cum funcționează BGP
Informațiile despre rută constă din atribute Path.

Atributele căii sunt împărțite în 4 categorii:

  1. Obligatoriu binecunoscut - Toate routerele care rulează BGP trebuie să recunoască aceste atribute. Trebuie să fie prezent în toate actualizările.
  2. Cunoscut discreționar - Toate routerele care rulează BGP trebuie să recunoască aceste atribute. Ele pot fi prezente în actualizări, dar prezența lor nu este necesară.
  3. Tranzitiv opțional - este posibil să nu fie recunoscut de toate implementările BGP. Dacă routerul nu recunoaște atributul, marchează actualizarea ca fiind parțială și o redirecționează către vecinii săi, stochând atributul nerecunoscut.
  4. Opțional netranzitiv - este posibil să nu fie recunoscut de toate implementările BGP. Dacă routerul nu recunoaște atributul, atunci atributul este ignorat și eliminat atunci când este transmis vecinilor.

Exemple de atribute BGP:

  • Obligatoriu binecunoscut:
    • Calea sistemului autonom
    • Următorul pas
    • Origine

  • Cunoscut discreționar:
    • Preferință locală
    • Agregatul atomic
  • Tranzitiv opțional:
    • Agregator
    • Comunități
  • Opțional netranzitiv:
    • Discriminator cu mai multe ieșiri (MED)
    • ID-ul inițiatorului
    • Lista grupurilor

În acest caz, deocamdată ne vor interesa Origin, Next-hop, AS Path. Întrucât ruta transmite între Router8 și Router9, adică în cadrul unui AS, este considerată internă și vom fi atenți la Origin.

Origin attribute - indică modul în care a fost obținută ruta din actualizare. Valori posibile ale atributelor:

  • 0 - IGP: NLRI primit în cadrul sistemului autonom original;
  • 1 - EGP: NLRI este învățat folosind Protocolul Exterior Gateway (EGP). Predecesor la BGP, neutilizat
  • 2 - Incomplet: NLRI a fost învățat într-un alt mod

În cazul nostru, după cum se vede din pachet, este egal cu 0. Când această rută este transmisă către Router12, acest cod va avea un cod de 1.

Next, Next-hop. Atributul următorului hop

  • Aceasta este adresa IP a routerului eBGP prin care trece calea către rețeaua de destinație.
  • Atributul se schimbă atunci când prefixul este trimis către un alt AS.

În cazul iBGP, adică în cadrul unui AS, Next-hop va fi indicat de cel care a aflat sau a povestit despre această rută. În cazul nostru, va fi 192.168.89.9. Dar când această rută este transmisă de la Router8 la Router6, Router8 o va schimba și o va înlocui cu propria sa. Următorul hop va fi 192.168.68.8. Acest lucru ne conduce la două reguli:

  1. Dacă un router redirecționează o rută către vecinul său intern, nu modifică parametrul Next-hop.
  2. Dacă un router transmite o rută către vecinul său extern, acesta schimbă Next-hop la ip-ul interfeței de la care transmite acest router.

Acest lucru ne face să înțelegem prima problemă - De ce nu va exista nicio rută în tabelul de rutare pe Router5 și Router11. Să aruncăm o privire mai atentă. Deci, Router6 a primit informații despre ruta 9.9.9.0/24 și le-a adăugat cu succes la tabelul de rutare:

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>

Aceeași situație se va întâmpla între Router11-Router12. Pentru a evita această situație, trebuie să configurați Router6 sau Router12, atunci când treceți ruta către vecinii lor interni, pentru a înlocui adresa lor IP cu Next-hop. Acest lucru se face folosind comanda:

neighbor 192.168.56.5 next-hop-self

După această comandă, Router6 va trimite un mesaj de actualizare, unde ip-ul interfeței Gi0/0 Router6 va fi specificat ca Next-hop pentru rute - 192.168.56.6, după care această rută va fi deja inclusă în tabelul de rutare.

Să mergem mai departe și să vedem dacă această rută apare pe Router7 și Router10. Nu va fi în tabelul de rutare și am putea crede că problema este aceeași ca în prima cu parametrul Next-hop, dar dacă ne uităm la ieșirea comenzii show ip bgp, vom vedea că ruta nu a fost primită acolo nici măcar cu Next-hop greșit, ceea ce înseamnă că ruta nici măcar nu a fost transmisă. Și asta ne va conduce la existența unei alte reguli:

Rutele primite de la vecinii interni nu sunt propagate către alți vecini interni.

Deoarece Router5 a primit ruta de la Router6, aceasta nu va fi transmisă celuilalt vecin intern. Pentru ca transferul să aibă loc, trebuie să configurați funcția Reflector de traseu, sau configurați relații de vecinătate complet conectate (Full Mesh), adică Router5-7 toată lumea va fi vecină pentru toată lumea. În acest caz vom folosi Route Reflector. Pe Router5 trebuie să utilizați această comandă:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector modifică comportamentul BGP atunci când trece o rută către un vecin intern. Dacă vecinul intern este specificat ca traseu-reflector-client, apoi rutele interne vor fi anunțate acestor clienți.

Ruta nu a apărut pe Router7? Nu uita nici de Next-hop. După aceste manipulări, ruta ar trebui să meargă și la Router7, dar acest lucru nu se întâmplă. Asta ne duce la o altă regulă:

Regula următorului hop funcționează numai pentru rutele externe. Pentru rutele interne, atributul next-hop nu este înlocuit.

Și obținem o situație în care este necesar să creăm un mediu folosind rutarea statică sau protocoalele IGP pentru a informa routerele despre toate rutele din AS. Să înregistrăm rute statice pe Router6 și Router7 și după aceea vom obține ruta dorită în tabelul de router. În AS 678, o vom face puțin diferit - vom înregistra rute statice pentru 192.168.112.0/24 pe Router10 și 192.168.110.0/24 pe Router12. În continuare, vom stabili relația de vecinătate între Router10 și Router12. Vom configura, de asemenea, Router12 pentru a trimite următorul hop la Router10:

neighbor 192.168.110.10 next-hop-self

Rezultatul va fi că Router10 va primi ruta 9.9.9.0/24, acesta va fi primit atât de la Router7, cât și de la Router12. Să vedem ce alegere face Router10:

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  

După cum putem vedea, două rute și o săgeată (>) înseamnă că ruta prin 192.168.112.12 este selectată.
Să vedem cum funcționează procesul de selecție a rutei:

  1. Primul pas atunci când primiți o rută este să verificați disponibilitatea Next-hop-ului său. De aceea, când am primit o rută pe Router5 fără a seta Next-hop-self, această rută nu a mai fost procesată.
  2. Urmează parametrul Greutate. Acest parametru nu este un atribut de cale (PA) și nu este trimis în mesajele BGP. Este configurat local pe fiecare router și este folosit doar pentru a manipula selecția rutei pe router însuși. Să ne uităm la un exemplu. Chiar mai sus puteți vedea că Router10 a ales o rută pentru 9.9.9.0/24 prin Router12 (192.168.112.12). Pentru a modifica parametrul Greutate, puteți utiliza ruta-hartă pentru a seta rute specifice sau puteți atribui o greutate vecinului său folosind comanda:
     neighbor 192.168.107.7 weight 200       

    Acum toate rutele de la acest vecin vor avea această greutate. Să vedem cum se schimbă alegerea rutei după această manipulare:

    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

    După cum puteți vedea, ruta prin Router7 este acum selectată, dar acest lucru nu va avea niciun efect asupra celorlalte routere.

  3. Pe pozitia a treia avem Preferinta Locala. Acest parametru este un atribut discreționar binecunoscut, ceea ce înseamnă că prezența lui este opțională. Acest parametru este valabil numai în cadrul unui AS și afectează alegerea căii numai pentru vecinii interni. De aceea este transmis doar în mesajele de Actualizare destinate vecinului intern. Nu este prezent în mesajele de actualizare pentru vecinii externi. Prin urmare, a fost clasificat drept bine-cunoscut discreționar. Să încercăm să-l aplicăm pe Router5. Pe Router5 ar trebui să avem două rute pentru 9.9.9.0/24 - una prin Router6 și a doua prin Router7.

    Ne uitam:

    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

    Dar după cum vedem o rută prin Router6. Unde este ruta prin Router7? Poate că nici Router7 nu îl are? Hai sa ne uitam:

    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 

    Ciudat, totul pare să fie bine. De ce nu este transmis la Router5? Chestia este că BGP are o regulă:

    Routerul transmite numai acele rute pe care le folosește.

    Router7 folosește o rută prin Router5, așa că ruta prin Router10 nu va fi transmisă. Să revenim la Preferința locală. Să setăm Local Preference pe Router7 și să vedem cum reacționează Router5 la asta:

    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>

    Așadar, am creat o hartă a rutei care conține toate rutele și i-am spus lui Router7 să schimbe parametrul Local Preference la 250 când este primit, implicit este 100. Să vedem ce s-a întâmplat pe Router5:

    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

    După cum putem vedea acum, Router5 preferă ruta prin Router7. Aceeași poză va fi și pe Router6, deși este mai profitabil pentru el să aleagă o rută prin Router8. De asemenea, adăugăm că modificarea acestui parametru necesită o repornire a cartierului pentru ca modificarea să aibă efect. Citit aici. Am rezolvat Preferința locală. Să trecem la următorul parametru.

  4. Preferați ruta cu parametrul Next-hop 0.0.0.0, adică rute locale sau agregate. Acestor rute li se atribuie automat un parametru Greutate egal cu maximul—32678—după introducerea comenzii de rețea:
    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. Cea mai scurtă cale prin AS. Este selectat cel mai scurt parametru AS_Path. Cu cât trece un traseu mai puține AS-uri, cu atât este mai bine. Luați în considerare ruta către 9.9.9.0/24 pe 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

    După cum puteți vedea, Router10 a ales ruta prin 192.168.112.12 deoarece pentru această rută parametrul AS_Path conține doar 45, iar în alt caz 123 și 45. Intuitiv clar.

  6. Următorul parametru este Originea. IGP (ruta obținută folosind BGP) este mai bună decât EGP (ruta obținută folosind predecesorul BGP, nu mai este utilizată), iar EGP este mai bună decât Incomplet? (obținut prin altă metodă, de exemplu prin redistribuire).
  7. Următorul parametru este MED. Am avut Wieght care a funcționat doar local pe router. A existat Preferința Locală, care a funcționat doar în cadrul unui sistem autonom. După cum ați putea ghici, MED este un parametru care va fi transmis între sisteme autonome. Foarte bun articol despre acest parametru.

Nu se vor mai folosi atribute, dar dacă două rute au aceleași atribute, atunci se folosesc următoarele reguli:

  1. Selectați calea prin cel mai apropiat vecin IGP.
  2. Selectați cea mai veche rută pentru calea eBGP.
  3. Selectați calea prin vecinul cu cel mai mic ID de router BGP.
  4. Alegeți o cale prin vecinul cu cea mai mică adresă IP.

Acum să ne uităm la problema convergenței BGP.

Să vedem ce se întâmplă dacă Router6 pierde ruta 9.9.9.0/24 prin Router9. Să dezactivăm interfața Gi0/1 a Router6, care va înțelege imediat că sesiunea BGP cu Router8 a fost încheiată și vecinul a dispărut, ceea ce înseamnă că ruta primită de la acesta nu este validă. Router6 trimite imediat mesaje de actualizare, unde indică rețeaua 9.9.9.0/24 în câmpul Rute retrase. De îndată ce Router5 primește un astfel de mesaj, îl va trimite către Router7. Dar, deoarece Router7 are o rută prin Router10, va răspunde imediat cu o actualizare cu o nouă rută. Dacă nu este posibil să detectați căderea unui vecin pe baza stării interfeței, atunci va trebui să așteptați ca temporizatorul de reținere să se declanșeze.

Confederaţie.

Dacă vă amintiți, am vorbit despre faptul că de multe ori trebuie să utilizați o topologie complet conectată. Cu un număr mare de routere într-un AS, acest lucru poate cauza mari probleme, pentru a evita acest lucru trebuie să utilizați confederații. Un AS este împărțit în mai multe sub-AS, ceea ce le permite să funcționeze fără a necesita o topologie complet conectată.

Cum funcționează BGP

Iată un link către asta labuȘi aici configurație pentru GNS3.

De exemplu, cu această topologie ar trebui să conectăm toate routerele din AS 2345 între ele, dar folosind Confederation, putem stabili relații de adiacență doar între routerele conectate direct între ele. Să vorbim despre asta în detaliu. Dacă am avea doar AS 2345, atunci laForge primind un mars de la Picard le-ar spune routerelor Date и Worf, dar nu i-ar spune routerului despre asta Concasor . De asemenea, rutele distribuite chiar de router laForge, nu ar fi fost transferat Concasor sau Worf-Oh nu Date.

Ar trebui să configurați un traseu-reflector sau o relație de vecinătate complet conectată. Prin împărțirea unui AS 2345 în 4 sub-AS (2,3,4,5) pentru fiecare router, ajungem la o logică de operare diferită. Totul este descris perfect aici.

Surse:

  1. Ghidul oficial de certificare CCIE Routing and Switching v5.0, volumul 2, ediția a cincea, Narbik Kocharians, Terry Vinson.
  2. Loc xgu.ru
  3. Loc GNS3Vault.

Sursa: www.habr.com

Adauga un comentariu