Polityki Routingu

Filtrowanie tras, redystrybucja i implementacja routingu opartego na politykach.

Wprowadzenie: Dlaczego Sieci Potrzebują Praw

Wyobraź sobie świat z drogami, ale bez praw ruchu, znaków stopu czy kontroli granicznej. Panowałby chaos. Kierowcy zawsze wybieraliby pozornie najkrótszą drogę, co prowadziłoby do ogromnych korków na głównych arteriach, podczas gdy inne pozostałyby puste. Niektórzy kierowcy wjeżdżaliby na tereny prywatne, a kontrolowanie, kto wjeżdża i opuszcza dany kraj, byłoby niemożliwe.

Internet, globalna sieć niezależnych sieci znanych jako , stoi przed podobnym wyzwaniem. Protokoły takie jak OSPF doskonale radzą sobie ze znalezieniem matematycznie najkrótszej ścieżki wewnątrz jednej sieci, ale internet to nie jest jedna sieć. To zbiór konkurujących ze sobą firm, instytucji akademickich i agencji rządowych, z których każda ma własne interesy. Najkrótsza ścieżka może prowadzić przez sieć konkurenta, co jest niepożądane, przez niezabezpieczoną ścieżkę lub przez połączenie, które generuje wysokie koszty.

Tu właśnie wkraczają Polityki Routingu. Są one prawami ruchu drogowego dla internetu. Polityka routingu to zestaw reguł skonfigurowanych przez administratora sieci, które dają mu szczegółową kontrolę nad tym, jak jego router uczy się, ogłasza i wybiera trasy. Zamiast ślepo akceptować każdą informację routingową, router z politykami może działać jak wnikliwy strażnik graniczny, sprawdzając paszport każdej trasy i decydując, czy ją wpuścić, dokąd wysłać i jaką pieczątkę na niej postawić przed przekazaniem dalej. Ta kontrola jest kamieniem węgielnym protokołu BGP i kluczem do utrzymania stabilnego, bezpiecznego i ekonomicznie opłacalnego globalnego internetu.

Trzy Filary Polityki Routingu

Administrator sieci ma do dyspozycji trzy główne narzędzia do implementacji polityk routingu. Mechanizmy te współpracują, aby kształtować przepływ ruchu.

  1. Filtrowanie Tras:

    Jest to najbardziej fundamentalne narzędzie polityki. Polega na tworzeniu list dozwolonych i zabronionych dla aktualizacji routingu. Podobnie jak zapora sieciowa (firewall) filtruje pakiety danych, filtry tras decydują, które ogłoszenia routingowe są akceptowane od sąsiadów, a które są im ogłaszane. To kontroluje, jakie informacje w ogóle wchodzą do procesu decyzyjnego routera.

  2. Manipulacja Atrybutami:

    Jeśli trasa zostanie zaakceptowana, administrator może następnie zmodyfikować jej właściwości, czyli atrybuty BGP. Zmieniając atrybuty takie jak LOCAL_PREF, MED czy AS_PATH, administrator może sprawić, że trasa będzie wydawać się bardziej lub mniej pożądana dla jego własnych routerów (wpływając na ruch wychodzący) lub dla routerów jego sąsiadów (wpływając na ruch przychodzący).

  3. Redystrybucja:

    Jest to proces pobierania tras poznanych z jednego źródła (np. z protokołu IGP takiego jak OSPF lub tras statycznych) i wstrzykiwania ich do innego protokołu routingu (np. BGP). Jest to brama między siecią wewnętrzną a światem zewnętrznym. Polityki w tym miejscu są kluczowe, aby kontrolować, które dokładnie sieci wewnętrzne są ogłaszane do internetu.

Filtrowanie Tras: Sieciowy Selekcjoner

Filtrowanie tras to pierwsza linia obrony. Zanim router w ogóle rozważy daną trasę, sprawdza ją w filtrze. Odbywa się to w dwóch kierunkach:

Filtrowanie Przychodzące (Inbound)

Jest stosowane do aktualizacji routingowych otrzymywanych od sąsiada. To jest kontrola graniczna sieci sprawdzająca paszporty przychodzące. Administrator decyduje, które trasy ze świata zewnętrznego są na tyle godne zaufania, by wpuścić je do swojej sieci.

Filtrowanie Wychodzące (Outbound)

Jest stosowane do aktualizacji routingowych wysyłanych do sąsiada. To sieć decydująca, kto może ją opuścić i co może powiedzieć. Administrator decyduje, które z jego wewnętrznych tras powinny być ogłoszone światu zewnętrznemu.

Dlaczego Filtrowanie Jest Kluczowe?

  • Bezpieczeństwo: Najważniejszy powód. Bez filtrowania przychodzącego, źle skonfigurowany lub złośliwy sąsiad mógłby ogłosić trasę do dużej strony internetowej, przechwytując ruch. Filtrowanie zapobiega również ogłaszaniu wewnętrznych, prywatnych adresów do globalnego internetu.
  • Egzekwowanie Polityki: Firma może mieć umowę biznesową na przenoszenie tylko ruchu przeznaczonego dla jej własnych klientów. Filtry wychodzące zapewniają, że nie stanie się przypadkowo ścieżką tranzytową dla swoich sąsiadów.
  • Stabilność: Filtrowanie może zapobiec, aby niestabilne lub szybko zmieniające się trasy od sąsiada powodowały ciągłe przeliczenia w naszej własnej sieci.
  • Zarządzanie Zasobami: Globalna tablica routingu BGP jest ogromna. Filtrując niepotrzebne trasy, administratorzy mogą zmniejszyć obciążenie pamięci i procesora na swoich routerach.

Manipulacja Atrybutami: Sztuka Perswazji

Gdy trasa przejdzie przez filtr, wchodzi do procesu decyzyjnego BGP. Tutaj administratorzy mogą manipulować atrybutami BGP trasy, aby wpłynąć na to, która ścieżka zostanie wybrana jako najlepsza. W ten sposób realizuje się inżynierię ruchu w BGP.

Kontrolowanie Ruchu Wychodzącego za pomocą LOCAL_PREF

AS z wieloma połączeniami z internetem potrzebuje sposobu na zdecydowanie, z którego połączenia powinni korzystać jego użytkownicy do wysyłania ruchu wychodzącego. Głównym narzędziem do tego jest atrybut LOCAL_PREFERENCE.

Zasada jest prosta: trasa z wyższym LOCAL_PREF jest zawsze preferowana. Ten atrybut jest wymieniany tylko między routerami iBGP wewnątrz tego samego AS, więc jest to narzędzie wyłącznie do podejmowania decyzji wewnętrznych.

Przykład: Wybór Głównego Dostawcy Internetu

Twoja firma (AS 65001) ma szybkie, drogie łącze światłowodowe do ISP-A (AS 65002) oraz wolniejsze, tańsze łącze zapasowe do ISP-B (AS 65003). Chcesz, aby cały ruch wychodzący domyślnie korzystał z ISP-A.

  1. Na routerze brzegowym połączonym z ISP-A stosujesz politykę przychodzącą, która ustawia `LOCAL_PREF` dla wszystkich poznanych od niego tras na `200`.
  2. Trasy poznane od ISP-B pozostają z domyślnym `LOCAL_PREF` wynoszącym `100`.
  3. Gdy te trasy są ogłaszane przez iBGP do innych routerów w Twoim AS, wszystkie wewnętrzne routery zobaczą, że trasy przez ISP-A mają wyższą preferencję (200>100)(200 > 100) i będą je wyłącznie wybierać do wysyłania ruchu wychodzącego.
  4. Jeśli połączenie z ISP-A ulegnie awarii, jego trasy znikną, a routery automatycznie zaczną używać tras przez ISP-B.

Wpływanie na Ruch Przychodzący za pomocą MED i AS_PATH Prepending

Kontrolowanie, jak inni wysyłają do Ciebie ruch, jest znacznie trudniejsze, ponieważ ostateczną decyzję podejmują ich routery. Możesz jednak wysyłać im wskazówki lub sugestie za pomocą określonych atrybutów.

  • Multi-Exit Discriminator (MED): MED to atrybut, który wysyłasz do pojedynczego sąsiedniego AS, aby wskazać preferowany przez Ciebie punkt wejścia. Zasada jest taka, że niższa wartość MED jest preferowana. W naszym przykładzie mógłbyś wysyłać trasy z `MED 100` do ISP-A przez łącze główne i `MED 200` przez łącze zapasowe. Jeśli polityka ISP-A zakłada honorowanie MED, będą oni preferować wysyłanie ruchu do Ciebie przez łącze główne.
  • AS_PATH Prepending: Jest to szerzej stosowana i bardziej niezawodna metoda. Ponieważ BGP preferuje krótsze AS_PATH, możesz celowo sprawić, że ścieżka będzie wyglądać na dłuższą i mniej atrakcyjną, sztucznie dodając wielokrotnie swój własny numer ASN. Aby uczynić łącze zapasowe mniej atrakcyjnym dla całego internetu, mógłbyś ogłaszać swoje trasy do ISP-B z przedłużoną ścieżką, taką jak `(65001, 65001, 65001)`. Routery na całym świecie zobaczą tę długą ścieżkę i naturalnie będą preferować krótszą ścieżkę przez ISP-A.

Redystrybucja: Brama Między Światami

to potężny, ale niebezpieczny mechanizm. To proces, który pozwala routerowi BGP ogłaszać sieci wewnętrzne: te poznane przez IGP jak OSPF lub trasy statyczne, swoim zewnętrznym partnerom BGP.

Proces Konieczny, ale Wymagający Ostrożności

Dzięki temu procesowi serwer WWW Twojej firmy, który ma wewnętrzny adres IP, staje się osiągalny z globalnego internetu. Router brzegowy uczy się o sieci serwera z wewnętrznego OSPF, a polityka redystrybucji mówi BGP, że można tę sieć ogłosić światu.

Jednakże redystrybucją należy zarządzać z najwyższą ostrożnością. Bez odpowiedniego filtrowania, router mógłby przypadkowo ogłosić do internetu cały Twój prywatny, wewnętrzny schemat adresacji, powodując poważne luki w bezpieczeństwie i niestabilność routingu. Podstawowa zasada bezpiecznego routingu brzmi: domyślnie filtruj wszystko i zezwalaj na redystrybucję tylko tych prefiksów, które zamierzasz upublicznić.

Mapy Tras (Route Maps): Ostateczne Narzędzie Polityki

Na większości platform routingowych, takich jak Cisco IOS, narzędziem, które łączy wszystkie te mechanizmy, jest mapa tras (ang. route map). Mapa tras to zaawansowane narzędzie skryptowe, które pozwala administratorowi na tworzenie złożonych, warunkowych polityk.

Mapa tras to zasadniczo instrukcja warunkowa "Jeśli-To" dla tras. Składa się z serii ponumerowanych wpisów. Gdy trasa jest przetwarzana przez mapę tras, router sprawdza każdy wpis w kolejności:

  • Klauzula Dopasowania (MATCH - "Jeśli"): Router najpierw sprawdza, czy trasa spełnia określone kryteria. Często robi się to za pomocą do identyfikacji określonych sieci.
  • Klauzula Ustawienia (SET - "To"): Jeśli nastąpi dopasowanie, router stosuje serię działań. Działania te to zazwyczaj omówione przez nas manipulacje atrybutami, takie jak ustawienie LOCAL_PREF, MED lub przedłużenie AS_PATH.
  • Zezwolenie/Odmowa (Permit/Deny):Na koniec każdy wpis kończy się albo zezwoleniem (pozwól trasie przejść), albo odmową (odfiltruj trasę). Jeśli trasa pasuje do wpisu, przetwarzanie się zatrzymuje. Jeśli nie pasuje, router przechodzi do następnego wpisu w mapie. Na końcu każdej mapy tras znajduje się ukryta zasada "odmów wszystkiemu".

Pseudokod Polityki Opartej na Mapie Tras

MAPA-TRAS "ISP-A-PRZYCHODZACE" ZEZWOL 10
DOPASUJ adres ip lista-prefiksow "TRASY-KLIENTOW"
USTAW local-preference 150

MAPA-TRAS "ISP-A-PRZYCHODZACE" ZEZWOL 20
DOPASUJ adres ip lista-prefiksow "TRASY-PARTNEROW"
USTAW local-preference 100

MAPA-TRAS "ISP-A-PRZYCHODZACE" ODMOW 30
DOPASUJ adres ip lista-prefiksow "SIECI-BOGON"

Ten przykład polityki ustawia wysoką preferencję dla tras poznanych od zaufanych klientów, normalną dla tras od partnerów i jawnie odrzuca znane fałszywe sieci. Mapy tras są stosowane do sąsiadów BGP w kierunku przychodzącym lub wychodzącym w celu egzekwowania tych polityk.