Protokół bramy granicznej
Internet to nie jedna sieć — to dziesiątki tysięcy niezależnych sieci połączonych jednym protokołem routingu z 1989 roku. BGP decyduje, w jaki sposób pakiety trafiają z jednej z tych sieci do innych. Gdy psuje się protokół BGP, psuje się Internet; całe kraje przestały działać z powodu jednej błędnie wpisanej trasy. Zrozumienie wyjaśnia dlaczego.
Poniżej znajduje się pełna treść artykułu w języku angielskim.
BGP (Border Gateway Protocol) to protokół routingu używany między dużymi niezależnymi sieciami w Internecie. Istnieje około 75 000 takich sieci — zwanych systemami autonomicznymi — a protokół BGP umożliwia wzajemne informowanie się, do jakich zakresów adresów IP mogą dotrzeć i jaką ścieżką. Każdy pakiet przekraczający granice ISP został gdzieś przekierowany na mocy decyzji BGP.
Podstawowa idea
Każdy system autonomiczny (AS) ogłasza swoim sąsiadom „Mogę dotrzeć do tych prefiksów IP”. Sąsiedzi propagują ogłoszenie, poprzedzając swój własny numer AS. Odbierający AS widzi coś takiego: „Prefiks 8.8.8.0/24 jest osiągalny przez AS 15169 (Google) przez AS 3356 (Lumen) przez AS 1234 (twój dostawca usług internetowych).” Każdy system AS ocenia te ścieżki według konfigurowalnych zasad — najkrótsza ścieżka AS, najtańsza relacja równorzędna, najniższe opóźnienie, cokolwiek zdecyduje operator sieci — i instaluje zwycięską trasę w swojej tabeli przekazywania.
BGP działa przez protokół TCP na porcie 179. Dwa routery BGP ustanawiają sesję i stopniowo wymieniają aktualizacje przy każdej zmianie tras. Nie ma transmisji ani powodzi; to wszystko w trybie unicast.
eBGP vs iBGP
TDwa rodzaje BGP współistnieją:
- eBGP (zewnętrzny BGP) działa pomiędzy dwoma różnymi systemami autonomicznymi. To sposób, w jaki operator poziomu 1 uczy się tras od dostawcy usług internetowych klienta lub jak Google łączy się z Comcast na giełdzie internetowej.
- iBGP (wewnętrzny BGP) uruchamia inside z pojedynczym systemem AS w celu propagowania tras zewnętrznych poznanych przez jeden router do wszystkich innych routerów w tej samej sieci. Bez iBGP system AS z wieloma routerami nie mógłby poznać swojego własnego zbiorowego spojrzenia na Internet.
Zasady, a nie najkrótsza ścieżka
W przeciwieństwie do protokołów wewnętrznych (OSPF, IS-IS), które znajdują matematycznie najkrótszą ścieżkę, protokół BGP optymalizuje się pod kątem polityki biznesowej operatora sieci. Typowy dostawca usług internetowych preferuje:
- Trasy przez własnych klientów (płacają za tranzyt) zamiast peerów (bez pieniędzy) zamiast dostawców wyższego szczebla (płaci im).
- Krótsze długości ścieżek AS, rozstrzyganie remisów w oparciu o lokalne preferencje i najniższy identyfikator routera.
- Specyficzne wartości MED negocjowane pomiędzy peers.
Oznacza to, że trasy BGP mogą celowo mieć nieoptymalne opóźnienia lub liczbę przeskoków, jeśli tak mówią zasady. Taki jest projekt — BGP to protokół, w którym model biznesowy łączy się z siecią.
Słynne awarie
BGP spowodowały jedne z największych awaryjności Internetu w historii. W 2008 r. Pakistan Telecom wdarł się do YouTube na całym świecie, ogłaszając bardziej szczegółową trasę. W 2010 roku China Telecom na krótko przejął 15% całego ruchu internetowego, ogłaszając dziesiątki tysięcy prefiksów, których nie był właścicielem. Masowa awaria Facebooka w 2021 r. wynikała z wycofania protokołu BGP, w wyniku którego jego autorytatywne serwery DNS zostały odłączone od Internetu, po czym Facebook nie mógł nawet zalogować się do własnych budynków, aby to naprawić.
Wspólny motyw: BGP to protokół oparty na zaufaniu. Do niedawna nie było kryptograficznej weryfikacji, kto może ogłosić jakie prefiksy. Internet uwierzył, kto ogłosił to najgłośniej.
RPKI: powolna poprawka
Infrastruktura klucza publicznego zasobów (RPKI) umożliwia posiadaczom adresów kryptograficzne deklarowanie „tylko te systemy AS są upoważnione do ogłaszania moich prefiksów”. Routery sprawdzające poprawność RPKI odrzucają nieautoryzowane ogłoszenia. Wdrażanie RPKI przyspieszyło w latach 2024–2026 i obecnie obejmuje ponad 50% routowanych prefiksów; potwierdza większość głównych przewoźników Tier-1 i CDN. Nie jest to kompletne rozwiązanie — RPKI mówi, kto jest upoważniony do originate prefiksu, a nie kto może go transit — ale wyeliminowało wiele prostych przejęć.
BGP i VPN
Najwięksi komercyjni dostawcy VPN używają BGP do anycastowania swoich punktów końcowych — ten sam adres IP odnosi się do tego, który z kilkudziesięciu serwerów fizycznych jest najbliżej. Cloudflare, Google 8.8.8.8 i Quad9 9.9.9.9 używają anycast BGP. Kiedy łączysz się z jednym z tych adresów, routing BGP wybiera najbliższą instancję bez przekierowania geograficznego opartego na DNS.
Dlaczego trudno go zastąpić
BGP ma dobrze znane słabości: powolną zbieżność (minuty na propagację zmian tras), domyślnie oparty na zaufaniu, skaluje się liniowo wraz z liczbą prefiksów (obecnie około 1 milion IPv4 + 200 000 IPv6). Na przestrzeni lat w kilku projektach badawczych zaproponowano zamienniki; żaden nie został wdrożony. Powodem jest zależność od ścieżki: każdy router w Internecie posługuje się protokołem BGP, każdy operator zbudował wokół tego praktykę operacyjną i nikt nie chce jako pierwszy przejść na coś innego. Protokół z 1989 roku jest w najbliższej przyszłości protokołem Internetu.
Często zadawane pytania
- Czy protokół BGP jest czymś, co muszę zrozumieć jako zwykły użytkownik?
- Nie bezpośrednio, ale wyjaśnia tę wiadomość. Kiedy czytasz o „wycieku BGP” lub „poważnej przerwie w działaniu ogłoszenia AWS”, czytasz o protokole routingu, który zdecydował, że Twoje pakiety nie mogą dotrzeć do usługi. Zrozumienie BGP zmienia te nagłówki z niejasnych w jasne.
- Dlaczego Internet ma tak wiele autonomicznych systemów?
- Każdy znaczący operator sieci chce mieć własną. Uniwersytety, dostawcy usług internetowych, dostawcy usług w chmurze, duże przedsiębiorstwa, sieci dostarczania treści — każdy, kto ma wiele połączeń z Internetem, zazwyczaj otrzymuje numer ASN w celu zarządzania własną polityką routingu. Obecna liczba na całym świecie wynosi około 75 000.
- Czy mała sieć może ogłosić dowolny prefiks?
- Technicznie tak – sam protokół BGP nie podlega egzekwowaniu. W praktyce dostawcy wyższego szczebla zazwyczaj filtrują ogłoszenia swoich klientów w oparciu o udokumentowane alokacje, a RPKI jest coraz częściej wykorzystywane do sprawdzania pochodzenia. Nieautoryzowane ogłoszenia nadal czasami się przedostają, tak właśnie dzieje się w przypadku przejęć protokołu BGP.
- Jak BGP wpływa na wydajność VPN?
- Kiedy łączysz się z adresem IP anycast komercyjnej sieci VPN, BGP wybiera dla Ciebie najbliższy serwer. Może się to zmienić w dowolnym momencie, jeśli łącze peeringowe ulegnie awarii lub udostępniona zostanie nowa ścieżka — dlatego sieć VPN, która wczoraj wydawała się szybka, dzisiaj może być wolniejsza bez Twojej winy.
- Czy BGP jest trudny do nauczenia?
- Podstawowa koncepcja jest prosta — „kto może do czego dotrzeć, przekazać sąsiadom”. Najtrudniejszą częścią jest polityka: sposób, w jaki atrybuty trasy wchodzą w interakcję z lokalnymi preferencjami, MED, społecznościami i manipulacją ścieżką AS. Większość inżynierów sieciowych, którzy twierdzą, że znają się na BGP, oznacza, że debugowali wystarczająco dużo tych interakcji, aby wiedzieć, co jest prawdopodobne.