Princípy fungovania protokolu BGP

Dnes sa pozrieme na protokol BGP. Nebudeme sa dlhšie rozprávať o tom, prečo a ako sa používa ako jediný protokol. Existuje dosť veľa informácií na toto téma, napríklad tu.

Takže, čo je to BGP? BGP je protokol dynamického smerovania, ktorý je jediným EGP (External Gateway Protocol) protokolom. Tento protokol sa používa na vytváranie smerovania na internete. Pozrime sa, ako sa vytvára susedstvo medzi dvoma BGP smerovačmi.

Princípy fungovania protokolu BGP
Pozrime sa na susedstvo medzi Router1 a Router3. Nastavíme ich pomocou nasledujúcich príkazov:

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

Susedstvo v rámci jednej autonomnej sústavy — AS 10. Po zadaní údajov na smerovači, napríklad na Router1, sa tento smerovač pokúsi nastaviť vzťahy susedstva so smerovačom Router3. Počiatočný stav, keď sa nič nedeje, sa nazýva Idle. Keď bude BGP nastavené na Router1, začne počúvať TCP port 179 — prejde do stavu Pripojiť, a keď sa pokúsi otvoriť reláciu s Router3, prejde do stavu Aktívne.

Po tom, čo sa relácia vytvorí medzi Router1 a Router3, dochádza k výmene Open správ. Keď tento správu pošle Router1, tento stav sa nazýva Open Sent. A keď dostane Open správu od Router3, prejde do stavu Open Confirm. Pozrime sa podrobnejšie na správu Open:

Princípy fungovania protokolu BGP
V tejto správe sa prenášajú informácie o samotnom protokole BGP, ktorý používa smerovač. Vymieňajúc Open správy, Router1 a Router3 si navzájom informujú o svojich nastaveniach. Prenášajú sa nasledujúce parametre:

  • Verzia: to zahŕňa verziu BGP, ktorú smerovač používa. Aktuálna verzia BGP je verzia 4, ktorá je popísaná v RFC 4271. Dva BGP smerovače sa pokúsia dohodnúť na kompatibilnej verzii; ak dôjde k nezhode, BGP relácia sa nenadviaže.
  • Moja AS: to zahŕňa číslo AS BGP smerovača, smerovače sa musia dohodnúť na číslach AS a tiež to určuje, či budú prevádzať iBGP alebo eBGP.
  • Čas držania: ak BGP nedostane žiadne keepalive alebo aktualizačné správy z druhej strany počas doby držania, vyhlási druhú stranu za 'mŕtvu' a ukončí BGP reláciu. Predvolene je čas držania nastavený na 180 sekúnd na smerovačoch Cisco IOS, správa keepalive sa posiela každých 60 sekúnd. Obe smerovače sa musia dohodnúť na čase držania, inak nebude BGP relácia.
  • Identifikátor BGP: to je miestny BGP smerovač ID, ktorý sa volí rovnako ako OSPF:
    • Použite router-ID, ktorý bol manuálne nakonfigurovaný príkazom bgp router-id.
    • Použite najvyššiu IP adresu na loopback rozhraní.
    • Použite najvyššiu IP adresu na fyzickom rozhraní.
  • Voliteľné parametre: tu nájdeš niektoré voliteľné funkcie BGP smerovača. Toto pole bolo pridané, aby sa nové funkcie mohli pridať do BGP bez toho, aby sa musela vytvárať nová verzia. Veci, ktoré tu môžeš nájsť, sú:
    • podpora pre MP-BGP (Multi Protocol BGP).
    • podpora pre Route Refresh.
    • podpora pre 4-octet AS čísla.

Na nadviazanie susedstva je potrebné splniť nasledujúce podmienky:

  • Číslo verzie. Aktuálna verzia je 4.
  • Číslo AS musí zodpovedať tomu, čo ste nastavili neighbor 192.168.13.3 remote-as 10.
  • Router ID musí byť odlišný od suseda.

Ak niektorý z parametrov nespĺňa tieto podmienky, smerovač odošle Notification správu, ktorá uvádza chybu. Po odoslaní a prijatí Open správ, stav susedstva prechádza do fázy ESTABLISHED. Po tomto môžu smerovače začať vymieňať informácie o trasách a robia to prostredníctvom Aktualizácia správ. Takúto Update správu posiela Router1 Router3:

Princípy fungovania protokolu BGP

Tu sa uvádzajú siete, o ktorých informuje Router1, a Path attributes, ktoré sú ekvivalentom metrík. O Path attributes si povieme podrobnejšie. Tiež v rámci TCP relácie sa odosielajú Keepalive správy. Tieto sa odosielajú každých 60 sekúnd, čo je Keepalive Timer. Ak sa počas Hold Timeru neobdrží Keepalive správa, bude to znamenať stratu spojenia so susedom. Predvolene má hodnotu 180 sekúnd.

Užitočná tabuľka:

Princípy fungovania protokolu BGP

Zdá sa, že sme pochopili, ako smerovače vymieňajú informácie, teraz sa pokúsime pochopiť logiku fungovania protokolu BGP.

Na ohlásenie nejakého smeru do tabuľky BGP, ako v protokoloch IGP, sa používa príkaz network, ale logika fungovania je odlišná. Zatiaľ čo v IGP, po uvedení smeru v príkaze network, IGP skontroluje, aké rozhrania patrí do danej podsiete a zaradí ich do svojej tabuľky, príkaz network v BGP kontroluje routingovú tabuľku a hľadá presné zhodovanie so smerom v príkaze network. Po nájdení takýchto, tieto smerovania sa zaradia do tabuľky BGP.

Hľadajte smer v aktuálnej IP routingovej tabuľke smerovača, ktorý presne zodpovedá parametrom príkazu network; ak IP smer existuje, vložte ekvivalentný NLRI do miestnej BGP tabuľky.

Teraz spustíme BGP na všetkých ostatných a pozrieme sa, ako prebieha výber smeru vo vnútri jednej AS. Po tom, ako BGP smerovač dostane smerovanie od suseda, začína sa výber optimálneho smeru. Tu je potrebné pochopiť, aký typ susedov môže byť — vnútorní a vonkajší. Smerovač podľa konfigurácie chápe, či je nakonfigurovaný sused vnútorný alebo vonkajší? Ak v príkaze:

neighbor 192.168.13.3 remote-as 10 

ako parameter remote-as je zadan AS, ktorý je nakonfigurovaný na samotnom smerovači v príkaze router bgp 10. Trasy prichádzajúce z vnútornej AS sú považované za vnútorné, zatiaľ čo trasy z vonkajšej AS sú samozrejme vonkajšie. A pre každého sa uplatňuje iná logika prijímania a odosielania. Pozrime sa na takúto topológiu:

Princípy fungovania protokolu BGP

Na každom smerovači je nastavené loopback rozhranie s ip: x.x.x.x 255.255.255.0 — kde x je číslo smerovača. Na Router9 máme loopback rozhranie s adresou — 9.9.9.9 255.255.255.0. Toto rozhranie budeme oznamovať prostredníctvom BGP a uvidíme, ako sa šíri. Táto trasa bude odovzdaná na Router8 a Router12. S Router8 táto trasa prejde na Router6, ale na Router5 v smerovej tabuľke nebude. Rovnako na Router12 táto trasa pôjde do tabuľky, ale na Router11 tiež nebude. Pokúsime sa s tým porozumieť. Pozrime sa, aké údaje a parametre posiela Router9 svojim susedom, aby informoval o tejto trase. Paket nižšie bude odoslaný z Router9 na Router8.

Princípy fungovania protokolu BGP
Informácie o trase pozostávajú z atribútov cesty (Path attributes).

Atribúty cesty sú rozdelené do 4 kategórií:

  1. Well-known mandatory — všetky smerovače fungujúce na protokole BGP musia tieto atribúty rozpoznať. Musia byť prítomné vo všetkých aktualizáciách (update).
  2. Well-known discretionary — všetky smerovače fungujúce na protokole BGP musia tieto atribúty rozpoznať. Môžu byť prítomné v aktualizáciách (update), ale ich prítomnosť nie je povinná.
  3. Optional transitive — nemusia byť rozpoznávané všetkými implementáciami BGP. Ak smerovač atribút nerozpozná, označí aktualizáciu ako čiastočnú (partial) a posiela ju ďalej svojim susedom, pričom uchováva nerozpoznaný atribút.
  4. Optional non-transitive — nemusia byť rozpoznávané všetkými implementáciami BGP. Ak smerovač atribút nerozpozná, atribút sa ignoruje a pri prenose na susedov sa odmieta.

Príklady atribútov BGP:

  • Well-known mandatory:
    • Cesta autonómneho systému
    • Next-hop
    • Origin

  • Well-known discretionary:
    • Lokálna preferencia
    • Atomická agregácia
  • Optional transitive:
    • Agregátor
    • Komunity
  • Optional non-transitive:
    • Multi-exit discriminator (MED)
    • ID pôvodcu
    • Zoznam klastrov

V tomto prípade nás zatiaľ budú zaujímať Origin, Next-hop, AS Path. Keďže trasa prechádza medzi Router8 a Router9, takže je v rámci jednej AS, považuje sa za vnútornú a zameriame sa na Origin.

Atribút Origin — uvádza, akým spôsobom bola trasa získaná v aktualizácii. Možné hodnoty atribútu sú:

  • 0 — IGP: NLRI získaná vnútri pôvodnej autonómnej sústavy;
  • 1 — EGP: NLRI bola naučená podľa protokolu Exterior Gateway Protocol (EGP). Predchodca BGP, aktuálne sa nepoužíva.
  • 2 — Neúplné: NLRI bola naučená iným spôsobom.

V našom prípade, ako je vidieť z balíka, je rovný 0. Keď sa táto cesta odovzdáva Router12, bude mať tento kód hodnotu 1.

Ďalej, Next-hop. Atribút Next-hop.

  • Toto je IP adresa eBGP smerovača, cez ktorý vedie cesta k cieľovej sieti.
  • Atribút sa mení pri prenose prefixu do inej AS.

V prípade iBGP, teda v rámci jednej AS, bude Next-hop uvedený ako ten, ktorý sa o tejto ceste dozvedel alebo ju oznámil. V našom prípade to bude 192.168.89.9. Ale keď tento smer odovzdáva Router8 Router6, Router8 ho zmení a nahradí vlastným. Next-hop bude — 192.168.68.8. To nás privádza k dvom pravidlám:

  1. Ak smerovač odovzdáva smer svojmu internému susedovi, nemení parameter Next-hop.
  2. Ak smerovač odovzdáva smer svojmu externému susedovi, mení Next-hop na ip rozhrania, z ktorého tento smerovač odovzdáva.

To nás privádza k pochopeniu prvej problémy — Prečo neexistuje smer v smerovacej tabuľke na Router5 a Router11. Pozrime sa na to podrobnejšie. Takže, Router6 získal informácie o smeru 9.9.9.0/24 a úspešne ich pridal do smerovacej tabuľky:

Router6#show ip route bgp
Kódy: L - lokálny, C - pripojený, S - statický, R - RIP, M - mobilný, B - BGP
       D - EIGRP, EX - externý EIGRP, O - OSPF, IA - OSPF medzi oblasťami
       N1 - externý typ 1 NSSA OSPF, N2 - externý typ 2 NSSA OSPF
       E1 - externý typ 1 OSPF, E2 - externý typ 2 OSPF
       i - IS-IS, su - súhrn IS-IS, L1 - úroveň 1 IS-IS, L2 - úroveň 2 IS-IS
       ia - medzioblasť IS-IS, * - kandidát predvolené, U - per-užívateľská statická trasa
       o - ODR, P - periodicky sťahovaná statická trasa, H - NHRP, l - LISP
       a - aplikačná trasa
       + - replikovaná trasa, % - preťaženie nasledujúcej hop, p - preťaženia z PfR

Brána poslednej záchrany nie je nastavená

      9.0.0.0/24 je podnetovaná, 1 podnet
B        9.9.9.0 [20/0] cez 192.168.68.8, 00:38:25<source>
Teraz Router6 preniesol trasu Router5 a prvému pravidlu Next-hop nezmenil. To znamená, že Router5 musí pridať  <b>9.9.9.0 [20/0] cez 192.168.68.8</b> , ale nemá trasu do 192.168.68.8 a preto táto trasa nebude pridaná, hoci informácie o tejto trase budú uložené v tabuľke BGP:

<source><b>Router5#show ip bgp
Verzia BGP tabuľky je 1, lokálny router ID je 5.5.5.5
Kódy stavu: s potlačený, d utlmený, h história, * platný, &gt; najlepší, i - interný,
              r zlyhanie RIB, S zastaraný, m viac-cesta, b záložná cesta, f RT-filter,
              x najlepší externý, a ďalšia cesta, c RIB-komprimovaná,
Kódy pôvodu: i - IGP, e - EGP, ? - nekompletný
Kódy validácie RPKI: V platný, I neplatný, N nenájdený

     Sieť          Nasledujúci hop            Metrika LokPrf Hmotnosť Cesta
 * i 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Tá istá situácia sa stane aj medzi Router11-Router12. Aby sme sa vyhli takejto situácii, je potrebné nastaviť, aby Router6 alebo Router12, pri odovzdávaní smeru svojim interným susedom, zahrnuli ako Next-hop svoju ip adresu. Robí sa to pomocou príkazu:

neighbor 192.168.56.5 next-hop-self

Po tomto príkaze Router6 odošle Update správu, kde pre smery ako Next-hop bude uvedená ip adresa rozhrania Gi0/0 Router6 — 192.168.56.6, po čom sa tento smer už dostane do smerovacej tabuľky.

Pokračujme ďalej a pozrime sa, či sa tento smer objaví na Router7 a Router10. V smerovacej tabuľke nebude a mohli by sme si myslieť, že problém je ako v prvom s parametrom Next-hop, ale ak sa pozrieme na výstup príkazu show ip bgp, uvidíme, že ten smer nebol prijatý ani s nesprávnym Next-hop, čo znamená, že smer sa vôbec neodovzdával. A to nás privádza k existencii ďalšieho pravidla:

Smerovanie, ktoré sa prijíma od interných susedov, sa neodovzdáva iným interným susedom.

Keď Router5 dostal smer od Router6, neodovzdá ho svojmu vnútornému susedovi. Na to, aby došlo k odovzdaniu, je potrebné nastaviť funkciu Route Reflector, alebo nastaviť plne prepojené susedstvo (Full Mesh), teda Router5-7 bude mať každý suseda so všetkými. V tomto prípade budeme používať Route Reflector. Na Router5 je potrebné použiť tento príkaz:

neighbor 192.168.57.7 route-reflector-client

Route Reflector mení správanie BGP pri odovzdávaní smeru vnútornému susedovi. Ak je vnútorný sused uvedený ako route-reflector-client, tak týmto klientom budú oznamované vnútorné smerovania.

Smer sa neobjavil na Router7? Nezabúdajme tiež na Next-hop. Po týchto manipuláciách by sa smer mal objaviť aj na Router7, ale to sa nedieje. To nás privádza k ďalšiemu pravidlu:

Pravidlo next-hop platí len pre externé smery. Pre vnútorné smery nedochádza k výmene atribútu next-hop.

A dostávame situáciu, v ktorej je potrebné vytvoriť prostredie pomocou statickej routingu alebo protokolov IGP oznámiť smerovačom všetky smery v AS. Napíšeme statické smery na Router6 a Router7 a potom dostaneme potrebný smer v tabuľke smerovača. V AS 678 však postupíme trochu inak — napíšeme statické smery pre 192.168.112.0/24 na Router10 a 192.168.110.0/24 na Router12. Potom nastavíme vzťahy susedstva medzi Router10 a Router12. Taktiež nastavíme na Router12 odoslanie svojho next-hop pre Router10:

neighbor 192.168.110.10 next-hop-self

Výsledkom bude, že Router10 bude dostávať smer 9.9.9.0/24, ten bude prijatý aj od Router7, aj od Router12. Pozrime sa, aký výber spraví 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  

Ako vidíme, dva smery a šípka (>) znamená, že vybraný smer ide cez 192.168.112.12.
Pozrime sa, ako prebieha proces výberu smeru:

  1. Najprv pri prijímaní smeru sa kontroluje dostupnosť jeho Next-hop. Presne preto, keď sme prijímali smer na Router5 bez nastavenia Next-hop-self, tento smer sa ďalej nepodával na spracovanie.
  2. Ďalej je parameter Weight. Tento parameter nie je atribútom cesty (PA) a nie je prenášaný v správach BGP. Nastavuje sa lokálne na každom smerovači a používa sa len na manipuláciu s výberom trasy na samotnom smerovači. Pozrime sa na príklad. V horných riadkoch je uvedené, že Router10 vybral trasu pre 9.9.9.0/24 cez Router12 (192.168.112.12). Aby sme zmenili parameter Weight, môžeme použiť route-map na určenie pre určité trasy, alebo priradiť jeho váhu susedovi pomocou príkazu:
     neighbor 192.168.107.7 weight 200       

    Teraz budú všetky trasy od tohto suseda mať túto váhu. Pozrime sa, ako sa zmení výber trasy po tejto manipulácii:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Konfigurované z konzoly konzolou
    Verzia BGP tabuľky je 2, lokálny ID smerovača je 6.6.6.6
    Statusové kódy: s potlačené, d potlačené, h história, * platné, > najlepšie, i - interné,
                  r RIB-zlyhanie, S staré, m viacnásobné, b záložná cesta, f RT-filter,
                  x najlepšie-externé, a dodatočná cesta, c RIB-komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    Kódy validácie RPKI: V platné, I neplatné, N nenájdené
    
         Sieť            Ďalší skok            Metrika LocPrf Váha      Cesta
     * >  9.9.9.0/24     192.168.107.7                      200      123 45 i
     * i                             192.168.112.12           0          100      0 45 i

    Ako vidíte, teraz bola vybraná trasa cez Router7, ale tento efekt nemá žiadny dopad na ostatné smerovače.

  3. Na tretej pozícii máme — Local Preference. Tento parameter je Well-known discretionary atribút, čo znamená, že jeho prítomnosť nie je povinná. Tento parameter má účinnosť len vo vnútri jednej AS a ovplyvňuje výber cesty len pre vnútorných susedov. Preto sa prenáša len v Update správach určených pre vnútorného suseda. V Update správach pre vonkajších susedov je neprítomný. Preto bol zaradený medzi Well-known discretionary. Pokúsime sa ho aplikovať na Router5. Na Router5 by sme mali mať dve trasy pre 9.9.9.0/24 — jednu cez Router6 a druhú cez Router7.

    Pozrime sa:

    Router5#show bgp
    Verzia BGP tabuľky je 2, lokálny ID smerovača je 5.5.5.5
    Statusové kódy: s potlačené, d potlačené, h história, * platné, > najlepšie, i - interné,
                  r RIB-zlyhanie, S staré, m viacnásobné, b záložná cesta, f RT-filter,
                  x najlepšie-externé, a dodatočná cesta, c RIB-komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    Kódy validácie RPKI: V platné, I neplatné, N nenájdené
    
         Sieť            Ďalší skok            Metrika LocPrf Váha Cesta
     * > i 9.9.9.0/24     192.168.56.6             0    100      0 45 i

    Ale ako vidíme, je tu jedna trasa cez Router6. A kde je trasa cez Router7? Možno ju nemáme ani na Router7? Pozrime sa:

    Router#show bgp
    BGP tabla verzie je 10, lokálne ID smerovača je 7.7.7.7
    Stavové kódy: s potlačené, d zmiernené, h história, * platné, > najlepšie, i - interné,
                  r RIB-zlyhanie, S zastarané, m viacnásobná cesta, b záložná cesta, f RT-filter,
                  x najlepšie externé, a dodatočná cesta, c RIB-komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    RPKI validačné kódy: V platné, I neplatné, N nenájdené
    
         Sieť                Ďalší skok            Metóda LocPrf  Hmotnosť    Cesta
     * >i 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    Je to zvláštne, zdá sa, že všetko je v poriadku. Prečo sa nepodáva na Router5? Ide o to, že BGP má pravidlo:

    Smerovač prenáša iba tie trasy, ktoré používa sám.

    Router7 používa trasu cez Router5, preto trasa cez Router10 sa neprevedie. Vráťme sa k miestnej preferencii. Nastavíme miestnu preferenciu na Router7 a pozrieme sa, ako na to zareaguje Router5:

    route-map BGP povoliť 10
     match ip adresa 10
     set local-preference 250
    prístupový zoznam 10 povoliť akékoľvek
    router bgp 123
     sused 192.168.107.10 route-map BGP in</b>

    Takže sme vytvorili route-map, do ktorej sa dostanú všetky trasy a povedali Router7, aby pri prijímaní menil parameter miestnej preferencie na 250, ktorý je predvolene 100. Sledujeme, čo sa stalo na Router5:

    Router5#show bgp
    BGP tabla verzie je 8, lokálne ID smerovača je 5.5.5.5
    Stavové kódy: s potlačené, d zmiernené, h história, * platné, > najlepšie, i - interné,
                  r RIB-zlyhanie, S zastarané, m viacnásobná cesta, b záložná cesta, f RT-filter,
                  x najlepšie externé, a dodatočná cesta, c RIB-komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    RPKI validačné kódy: V platné, I neplatné, N nenájdené
    
         Sieť          Ďalší skok            Metóda LocPrf Hmotnosť        Cesta
     * >i 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Ako vidíme, teraz Router5 uprednostňuje trasu cez Router7. Rovnako sa to bude diať aj na Router6, aj keď by pre neho bolo výhodnejšie zvoliť trasu cez Router8. Tiež pridáme, že zmena tohto parametra si vyžaduje reštart susedstva, aby zmena nadobudla účinnosť. Čítať tu. S miestnou preferenciou sme sa vysporiadali. Prejdime k ďalšiemu parametru.

  4. Preferencia trasy s parametrom Next-hop 0.0.0.0, tj. lokálne alebo agregované trasy. Týmto trasám je automaticky po zadaní príkazu network priradený parameter Hmotnosť rovný maximálne — 32678:
    Router#show bgp
    BGP tabla verzie je 2, lokálne ID smerovača je 9.9.9.9
    Stavové kódy: s potlačené, d zmiernené, h história, * platné, > najlepšie, i - interné,
                  r RIB-zlyhanie, S zastarané, m viacnásobná cesta, b záložná cesta, f RT-filter,
                  x najlepšie externé, a dodatočná cesta, c RIB-komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    RPKI validačné kódy: V platné, I neplatné, N nenájdené
    
         Sieť          Ďalší skok            Metóda LocPrf Hmotnosť    Cesta
     * >  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. Najkratšia cesta cez AS. Vyberá sa najkratší parameter AS_Path. Čím menej AS prechádza trasu, tým je lepšia. Pozrime sa na trasu k 9.9.9.0/24 na Router10:
    Router10#show bgp
    BGP verzia tabuľky je 2, lokálny ID routera je 6.6.6.6
    Kódy stavov: s potlačené, d utlmené, h história, * platné, > najlepšie, i - interné,
                  r zlyhanie RIB, S zastarané, m viaccestné, b záložná cesta, f RT-filter,
                  x najlepší externý, a dodatočná cesta, c RIB komprimované,
    Kódy pôvodu: i - IGP, e - EGP, ? - neúplné
    Kódy validácie RPKI: V platné, I neplatné, N nenájdené
    
         Sieť          Ďalší skok            Metrika LocPrf Váha Cesta
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Ako vidíte, Router10 si vybral cestu cez 192.168.112.12, pretože pre túto trasu parameter AS_Path obsahuje len 45, zatiaľ čo v inom prípade 123 a 45. Je to intuitívne.

  6. Ďalší parameter — Origin. IGP (trasu získaná pomocou BGP) je lepšia ako EGP (trasu získaná pomocou predchodcu BGP, ktorý sa už nepoužíva), a EGP je lepšia ako Incomplete? (získaná iným spôsobom, napríklad redistribúciou).
  7. Ďalší parameter — MED. Mali sme Weight, ktorý fungoval len lokálne na routeri. Bol tu Local Preference, ktorý fungoval len v rámci jednej autonómnej sústavy. Ako už možno uhádnuť, MED je parameter, ktorý bude prenášaný medzi autonómnymi systémami. Veľmi dobré. článok o tomto parametri.

Ďalšie atribúty sa nebudú používať, ale ak sú dva trasy rovnaké, použijú sa nasledujúce pravidlá:

  1. Vybrať cestu cez najbližšieho IGP suseda.
  2. Vybrať najstaršiu trasu pre eBGP cestu.
  3. Vybrať cestu cez suseda s najmenším BGP router ID.
  4. Vybrať cestu cez suseda s najmenšou IP adresou.

Teraz sa pozrime na problém konvergencie BGP.

Pozrime sa, čo sa stane, ak Router6 stratí trasu 9.9.9.0/24 cez Router9. Odpojíme rozhranie Gi0/1 Routera6, ktorý okamžite pochopí, že BGP relácia s Routerom8 bola prerušená a sused chýba, takže trasu, ktorú od neho získal, nie sú platné. Router6 okamžite pošle Update správy, v ktorých označuje sieť 9.9.9.0/24 v poli Stiahnuté trasy. Akonáhle Router5 dostane takúto správu, pošle ju k Routeru7. Ale keďže Router7 má trasu cez Router10, okamžite pošle Update s novou trasou. Ak detekcia pádu suseda prostredníctvom stavu rozhrania nie je možná, bude potrebné počkať na aktiváciu Hold Timer-u.

Konfederácia.

Ak si pamätáte, hovorili sme o tom, že často sa musí používať plne prepojená topológia. S veľkým množstvom smerovačov v jednej AS to môže spôsobiť veľké problémy, a aby sa tomu predišlo, je potrebné použiť konfederácie. Jedna AS je rozdelená na niekoľko sub-AS, čo im umožňuje fungovať bez požiadavky na plne prepojenú topológiu.

Princípy fungovania protokolu BGP

Tu je odkaz na danú laboratóriu, a tu konfigurácia pre GNS3.

Napríklad, s takouto topológiou by sme museli prepojiť všetky smerovače v AS 2345 medzi sebou, ale pomocou konfederácie môžeme nadviazať susedské vzťahy iba medzi smerovačmi, ktoré sú priamo prepojené. O tom si podrobne povieme. Ak by sme mali iba AS 2345, tak laForge po obdržaní trasy od Picard by povedal jeho smerovačom Data a Worf, ale oni by o nej neinformovali smerovač Crusher . Rovnako by trasy, ktoré vyžaruje samotný smerovač, laForge, neboli prenesené Crusher ani Worf-om, ani Data.

Bolo by potrebné nastaviť Route-Reflector alebo plne prepojené susedské vzťahy. Rozdelením jednej AS 2345 na 4 sub-AS (2, 3, 4, 5) pre každý smerovač, nakoniec získavame inú logiku práce. Všetko je skvele popísané tu.

Zdroje:

  1. CCIE Routing and Switching v5.0 Official Cert Guide, Volume 2, Fifth Edition, Narbik Kocharians, Terry Vinson.
  2. Webová stránka xgu.ru
  3. Webová stránka GNS3Vault.

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster