Menu Zavrieť

4.14. Smerovací protokol medzi autonómnymi systémami: BGP

BGP: Border gateway protocol, verzia 4RFC 4271RFC 1772RFC 1773

BGP je medzi-AS smerovací protokol, ktorý je v súčasnosti de facto štandardom v dnešnom internete. BGP poskytuje každému AS:

  • získanie informácií o dostupnosti sietí od susedných AS,
  • prenos týchto informácií ku všetkým routrom vnútri AS,
  • zistenie „dobrých“ ciest k sieťam na základe informácií o dostupnosti siete a politiky riadenia AS,
  • zasielanie informácií o dostupnosti svojich sietí zvyšku internetu – táto vlastnosť je kľúčová, inak by vznikali izolované skupiny sietí, ktoré by o sebe navzájom nevedeli.

BGP je veľmi zložitý protokol. Keďže však ide o dôležitý protokol, ktorý spája celý internet, pozrieme sa aspoň na kľúčové súčasti protokolu a ich funkciu.

BGP správy sú prenášané cez TCP spojenia na porte 179. Tieto spojenia obvykle zodpovedajú fyzickým spojeniam, špeciálne to platí pre spojenia brán medzi rôznymi AS. Cez tieto spojenia sa susedné AS informujú o dostupnosti sietí. Keď niektorý AS informuje o dostupnosti siete, vyjadruje tým aj prísľub, že ak dostane datagramy určené pre túto sieť, tak ich aj k tejto sieti nasmeruje. Ak sa napríklad AS1 naučí, že sieť X je dostupná cez AS2, tak môže všetky datagramy pre sieť X posielať cez AS2. Ak sa brána v AS1 dozvie informáciu o dostupnosti siete X, tak cez BGP spojenia vnútri AS1 môže túto informáciu odovzdať všetkým routrom vnútri AS1. Keď sa routre v AS1 dozvedia túto správu, prispôsobia si svoje smerovacie tabuľky aj za pomoci informácií od smerovacieho protokolu vnútri-AS. Jednotlivé AS si medzi sebou vymieňajú v BGP správach celé zoznamy dostupných sietí.

AS1 sa tiež môže rozhodnúť, že povie AS3, že sieť X je dostupná cez AS1. Toto rozhodnutie je často riešené v politike smerovania, ktorá je často riadená vzťahmi provider-zákazník alebo dohodami medzi jednotlivými providermi medzi sebou. Napríklad ak AS1 je zákazníkom AS2 a AS3, tak nemá záujem na tom, aby pre nich smeroval cudziu komunikáciu cez seba.

Každý AS má svoje jedinečné číslo zvané ASN: autonomous system number (RFC 1930), ktoré je prideľované organizáciou IANA (niektoré AS ani nemusia mať svoje číslo, ak neposkytujú smerovanie cudzích sietí iným AS).

V BGP správach okrem zoznamov dostupných sietí sú aj ďalšie atribúty. Dva z najdôležitejších sú AS-PATH a NEXT-HOP. AS-PATH obsahuje postupnosť čísiel ASN, cez ktoré budú smerované datagramy pre danú sieť. Keď stanica preposiela informáciu o dostupnosti pre iné AS, pridá svoje ASN na koniec AS-PATH. Táto informácia sa používa na zabránenie cyklickým smerovaniam, ale aj na výber vhodnejšej cesty v prípade viacerých možností smerovania k danej sieti.

NEXT-HOP je atribút, ktorý obsahuje IP adresu rozhrania brány, cez ktoré je potrebné smerovať datagramy pre cieľovú sieť X. Napríklad, v prípade, že BGP správa prichádza z brány 2a z AS2 do brány 1b v AS1. NEXT-HOP obsahuje IP adresu rozhrania brány 2a, na ktoré je napojená brána 1b. Brána 1b, na základe importnej politiky, môže informovať o dostupnosti siete X všetky routre vo vnútri AS1 cez vnútorné BGP správy. V tom prípade bude NEXT-HOP obsahovať niektorú IP adresu rozhrania brány 1b vo vnútri AS1. Túto adresu použijú vnútorné routre v AS1 na určenie rozhrania, cez ktoré majú posielať datagramy pre sieť X cez 1b.

Ak sa AS naučí viac smerov k rovnakej sieti, môže sa rozhodnúť pre vylúčenie jedného zo smerov. Môže na to použiť politiku smerovania, ktorá je ovplyvňovaná administrátorskými, ale často aj manažérskymi rozhodnutiami (napríklad, ak AS je napojený na viacerých providerov, a nie všetci požadujú rovnakú cenu za prenesené dáta, alebo môže ísť o vyhranenie niektorých spojení iba pre (manažérsky) prioritné služby). Ak politika smerovania neurčí, ktorý zo smerov má byť vylúčený, môže byť niektorý smer vylúčený na základe dĺžky AS-PATH. Ak si chceme zachovať obe spojenia, môžeme nechať výber cesty na smerovací protokol vnútri-AS (hot potato routing). Ak stále ostanú dve alternatívne cesty s rovnakou cenou, dajú sa použiť aj ďalšie BGP identifikátory na výber optimálnej cesty. Kritériá na výber ciest môžu byť aj veľmi komplikované, ale tomu sa už venovať nebudeme.