BGP

Protokół routingu, który wyznacza trasy przesyłania danych między systemami autonomicznymi tworzącymi internet. Decyduje, którędy ruch dociera do celu.

BGP (Border Gateway Protocol) to protokół routingu, który skleja internet w jedną całość. Łączy ze sobą systemy autonomiczne (AS, Autonomous Systems) — czyli wielkie sieci operatorów, dostawców chmury czy uczelni, z których każda ma swój numer AS — i wymienia między nimi informacje o tym, jak dotrzeć do danej puli adresów IP. Mówiąc prościej: gdy wpisujesz adres strony, to właśnie BGP decyduje, którędy Twój pakiet popłynie przez sieci kolejnych operatorów na drugi koniec świata.

Jak to działa

BGP to path-vector protocol. Routery brzegowe nawiązują ze sobą sesje po TCP na porcie 179 i ogłaszają sobie nawzajem prefiksy (np. 185.20.0.0/22) wraz z atrybutem AS_PATH — listą systemów autonomicznych, przez które trasa prowadzi. Router wybiera najlepszą trasę na podstawie reguł i atrybutów (m.in. LOCAL_PREF, długość AS_PATH, MED), a nie po prostu „najkrótszej drogi” jak w sieci lokalnej. Standard opisuje RFC 4271 (BGP-4).

Rozróżnia się dwa warianty: eBGP — między różnymi systemami autonomicznymi (tu dzieje się polityka i biznes między operatorami), oraz iBGP — wewnątrz jednego AS, żeby routery brzegowe wiedziały o sobie nawzajem. BGP nie szuka najszybszej trasy w sensie technicznym; realizuje politykę: kogo wolisz, komu płacisz za tranzyt, a z kim masz darmowy peering.

Przykład z praktyki

Na routerze Cisco albo w demonie bird/FRRouting podejrzysz trasy poleceniem show ip bgp 8.8.8.8 — zobaczysz pełny AS_PATH do danego prefiksu. Z domu możesz obejrzeć to samo „z zewnątrz”: wejdź na publiczny looking glass albo serwis typu bgp.he.net i sprawdź, przez które AS-y prowadzi droga do Twojego serwera. Operatorzy używają tego na co dzień do diagnozy, czemu ruch nagle leci dookoła przez pół globu.

Na co uważać

BGP domyślnie ufa temu, co usłyszy — i to jest jego pięta achillesowa. Gdy ktoś (przez pomyłkę albo złośliwie) ogłosi cudzy prefiks, ruch potrafi popłynąć w złe miejsce; to tzw. BGP hijacking. Klasyk to awaria Facebooka w październiku 2021 — wycofanie własnych tras BGP odcięło ich usługi od świata na kilka godzin. Częsty błąd to też route leak: przepuszczenie tras tam, gdzie nie powinny trafić. Dlatego stosuje się filtry prefiksów, max-prefix i mechanizm RPKI do weryfikacji, kto ma prawo ogłaszać dany prefiks. Nie zakładaj, że BGP samo zadba o bezpieczeństwo — nie zadba.

Pojęcia powiązane

System autonomiczny (AS), numer AS, routing IP, eBGP i iBGP, peering i tranzyt, RPKI, OSPF (protokół wewnętrzny, w odróżnieniu od BGP), looking glass.