Informatyka i programowanieInternet i sieci komputerowe — jak dane naprawdę docierają do celu

Internet nie wybiera trasy tak jak GPS — najkrótsza droga może przegrać

Między dużymi sieciami Internet nie wybiera tras wyłącznie według kilometrów ani nawet najmniejszej liczby routerów. BGP przenosi atrybuty tras, a operatorzy stosują własne polityki, m.in. lokalne preferencje. RFC 4271 mówi wprost, że stopień preferencji trasy może wynikać z lokalnie skonfigurowanej polityki. W praktyce oznacza to, że droga geograficznie dłuższa albo przechodząca przez więcej urządzeń może być wybrana, jeśli lepiej pasuje do relacji biznesowych, topologii lub zasad operatora. „Najlepsza” trasa w BGP nie znaczy po prostu „najkrótsza na mapie”.

Sieć sieci

Globalny Internet składa się z tysięcy autonomicznych systemów: operatorów, chmur, uczelni, dużych firm i innych organizacji zarządzających własnym routingiem. BGP służy do wymiany informacji o tym, jakie prefiksy IP są osiągalne przez poszczególnych sąsiadów. Każda sieć ma jednak własne interesy i nie musi traktować wszystkich sąsiadów jednakowo. To fundamentalna różnica względem algorytmu, który miałby po prostu policzyć kilometry.

LOCAL_PREF i polityka

RFC 4271 definiuje m.in. atrybut LOCAL_PREF oraz proces, w którym system może wyliczać stopień preferencji na podstawie lokalnie skonfigurowanej polityki. Operator może więc preferować określone wyjście z sieci niezależnie od tego, czy fizycznie prowadzi ono najbardziej bezpośrednio do celu. Wpływ mają relacje klient–dostawca, peering, koszty, możliwości łączy, wymagania operacyjne i wiele innych czynników.

AS_PATH nie jest mapą kilometrów

BGP przenosi AS_PATH, czyli sekwencję systemów autonomicznych, przez które przeszła informacja o trasie. Liczba elementów na tej liście może być jednym z czynników wyboru, ale nie opisuje długości światłowodu ani liczby routerów wewnątrz poszczególnych sieci. Jeden AS może obejmować rozległą infrastrukturę na kilku kontynentach, a drugi niewielki region. Krótszy AS_PATH nie gwarantuje krótszej drogi fizycznej.

Dlaczego ruch potrafi robić objazdy

Jeżeli dwie sieci w tym samym kraju nie wymieniają ruchu bezpośrednio w dogodnym punkcie, pakiety mogą przejść przez innego operatora i wrócić do regionu docelowego. Nie jest to koniecznie błąd: może wynikać z dostępnych połączeń i polityki eksportu tras. Geograficzna bliskość dwóch serwerów nie gwarantuje więc małego opóźnienia, podobnie jak odległość na mapie nie mówi wszystkiego o liczbie kilometrów rzeczywiście położonego światłowodu.

Najlepsza trasa może zmieniać się bez ruchu serwera

Serwer docelowy może stać dokładnie w tym samym miejscu, a ścieżka do niego może się zmienić po awarii łącza, zmianie ogłoszeń BGP albo modyfikacji polityki operatora. Użytkownik zobaczy wtedy inne opóźnienie lub inne węzły w traceroute, chociaż adres IP pozostaje ten sam. Warstwa routingu jest dynamiczną mapą osiągalności, nie nieruchomą mapą dróg.

To dlatego „bliżej” w Internecie ma kilka znaczeń

Serwer może być blisko geograficznie, ale daleko topologicznie; może być daleko geograficznie, ale osiągalny świetnym, bezpośrednim połączeniem. CDN-y, operatorzy chmur i punkty wymiany ruchu próbują skracać tę odległość sieciową, umieszczając treści oraz połączenia w miejscach dobrze skomunikowanych z użytkownikami. W Internecie liczy się nie tylko gdzie coś stoi, lecz także kto z kim i na jakich zasadach jest połączony.

Polityka może być ważniejsza niż geometria

Wybór trasy BGP jest wynikiem informacji, które sieć otrzymała, oraz lokalnych zasad jej operatora. Dwie sieci mogą znać kilka dróg do tego samego prefiksu, ale preferować tę prowadzącą przez klienta, partnera peeringowego albo konkretne wyjście, nawet jeśli alternatywa wygląda krócej na mapie. AS_PATH również nie jest miarą kilometrów: pojedynczy system autonomiczny może obejmować rozległy szkielet na wielu kontynentach. Dlatego traceroute czasem pokazuje pozorny objazd, który z punktu widzenia polityki routingu jest całkowicie zamierzony. To istotna różnica względem nawigacji samochodowej. Droga pakietu jest nie tylko problemem geometrii i opóźnienia, lecz także wynikiem autonomicznych decyzji organizacji, które posiadają i finansują poszczególne fragmenty infrastruktury.

#AS_PATH#BGP#LOCAL_PREF#peering#routing
Źródła i weryfikacja
Otrzymuj codzienne losowe ciekawostki