Routing

Polityki Routingu

Filtrowanie tras, redystrybucja i implementacja routingu opartego na politykach.

Wprowadzenie: cele i zakres polityk routingu

Sam wybór najkrótszej ścieżki nie wystarcza do zarządzania routingiem między niezależnymi sieciami. Administrator może ograniczyć użycie określonych łączy, wybrać preferowanego operatora, nie dopuścić do tranzytu albo kontrolować, które prefiksy są przekazywane sąsiadom. Reguły muszą uwzględniać zarówno parametry techniczne, jak i relacje administracyjne między systemami autonomicznymi.

Internet, globalna sieć niezależnych sieci znanych jako , stoi przed podobnym wyzwaniem. Protokoły takie jak OSPF obliczają trasy wewnątrz jednego systemu autonomicznego na podstawie jego topologii i kosztów. Internet łączy jednak sieci zarządzane przez różne firmy, instytucje i organizacje. Trasa wybrana wyłącznie według kosztu może prowadzić przez niepożądanego operatora, przez łącze bez odpowiedniej umowy albo przez drogą ścieżkę tranzytową.

Polityki routingu to reguły skonfigurowane przez administratora, które określają, jak router przyjmuje, modyfikuje, wybiera i ogłasza trasy. Mogą odrzucać niepożądane prefiksy, zmieniać atrybuty BGP i ograniczać eksport informacji do konkretnych sąsiadów. W BGP polityki pozwalają połączyć decyzje techniczne z bezpieczeństwem, umowami tranzytowymi i kosztami połączeń. BGP wymienia osiągalność między systemami autonomicznymi, lecz sam protokół nie narzuca jednej polityki eksportu ani importu. Jej treść ustala operator.

Trzy elementy polityki routingu

Administrator może wdrożyć politykę routingu za pomocą trzech grup działań: filtrowania prefiksów, modyfikacji atrybutów oraz redystrybucji. Każda grupa wpływa na inny etap przetwarzania informacji o osiągalności. Filtr może zatrzymać trasę, modyfikacja może zmienić jej preferencję, a redystrybucja może utworzyć nowe ogłoszenie w innym protokole.

  1. Filtrowanie tras:

    Filtrowanie określa, które ogłoszenia routingowe są akceptowane od sąsiada i które prefiksy są mu ogłaszane. Listy dostępu, listy prefiksów oraz filtry oparte na ścieżce AS_PATH ograniczają dane przekazywane do procesu wyboru trasy. Reguła może zezwalać na prefiks albo odrzucać go przed dalszym przetwarzaniem.

  2. Modyfikacja atrybutów:

    Po zaakceptowaniu trasy administrator może zmienić jej atrybuty BGP. LOCAL_PREF wpływa na wybór wewnątrz własnego AS, a MED i AS_PATH mogą wpływać na wybór sąsiednich systemów. Efekt zależy od kierunku zastosowania polityki oraz od kolejnych reguł procesu decyzyjnego BGP.

  3. Redystrybucja:

    Redystrybucja pobiera trasy z jednego źródła, na przykład OSPF albo tablicy tras statycznych, i wprowadza je do innego protokołu, na przykład BGP. Polityka redystrybucji powinna wskazywać dokładne prefiksy, które mogą zostać ogłoszone poza domenę, oraz ewentualnie ustalać ich atrybuty.

Filtrowanie tras

Router sprawdza trasę w filtrze przed jej przyjęciem albo ogłoszeniem. W BGP filtr może działać w dwóch kierunkach. Zestaw reguł inbound decyduje o danych umieszczanych w lokalnej bazie, natomiast zestaw outbound decyduje o zawartości aktualizacji wysyłanej do danego sąsiada:

Filtrowanie przychodzące (inbound)

Stosuje się je do aktualizacji routingowych otrzymywanych od sąsiada. Administrator wybiera prefiksy, które mogą wejść do lokalnej bazy BGP, i może odrzucić trasy niezgodne z zakresem umowy, listą dozwolonych sieci albo wymaganiami bezpieczeństwa.

Filtrowanie wychodzące (outbound)

Stosuje się je do aktualizacji routingowych wysyłanych do sąsiada. Administrator określa, które lokalne prefiksy i trasy klientów można ogłosić temu sąsiadowi. Filtr może też zapobiec niezamierzonemu tranzytowi między innymi systemami autonomicznymi.

Znaczenie filtrowania

  • Bezpieczeństwo: Filtrowanie przychodzące ogranicza ryzyko przyjęcia fałszywego prefiksu, przejęcia ruchu oraz ogłoszenia prywatnych adresów poza własną domenę. W praktyce filtruje się także nieoczekiwane długości prefiksów i ścieżki AS_PATH.
  • Egzekwowanie polityki: Umowa może pozwalać na przenoszenie ruchu tylko do własnych klientów. Filtry wychodzące ograniczają ryzyko niezamierzonego tranzytu dla innych sąsiadów.
  • Stabilność: Filtr może odrzucać niestabilne lub niepotrzebne prefiksy, aby ich częste zmiany nie wpływały na lokalne decyzje i obciążenie sesji BGP.
  • Zarządzanie zasobami: Ograniczenie liczby przechowywanych tras zmniejsza wymagania pamięci i procesora routera, szczególnie przy dużej liczbie prefiksów.

Modyfikacja atrybutów BGP

Po przejściu przez filtr trasa trafia do procesu decyzyjnego BGP. Administrator może zmienić atrybuty, aby wpłynąć na wybór ścieżki przez routery własnego AS albo na preferencje sąsiadów. Tak realizuje się inżynierię ruchu w BGP. Atrybuty mają różny zakres i kierunek działania, dlatego identyczna wartość nie musi dać takiego samego wyniku u dwóch operatorów.

Kontrolowanie Ruchu Wychodzącego za pomocą LOCAL_PREF

AS z wieloma połączeniami z internetem potrzebuje reguły wyboru wyjścia dla ruchu wychodzącego. Służy do tego atrybut LOCAL_PREF (LOCAL_PREFERENCE).

W procesie wyboru BGP trasa z wyższym LOCAL_PREF jest preferowana względem porównywalnej trasy. Atrybut jest przekazywany routerom iBGP w tym samym AS i nie jest ogłaszany sesji eBGP, więc służy do wewnętrznej kontroli wyjścia.

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. W tym przykładzie trasy poznane od ISP-B mają skonfigurowany LOCAL_PREF wynoszący 100.
  3. Gdy trasy są ogłaszane przez iBGP do innych routerów w AS, routery widzą, że ścieżki przez ISP-A mają wyższą preferencję (200>100)(200 > 100) i wybierają je, jeśli spełniają pozostałe warunki procesu decyzyjnego.
  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

Wpływanie na ruch przychodzący jest trudniejsze, ponieważ ostateczną decyzję podejmują routery drugiego AS. Można jednak przekazać mu preferencje za pomocą wybranych atrybutów.

  • Multi-Exit Discriminator (MED): MED przekazuje sąsiedniemu AS informację o preferowanym punkcie wejścia. W standardowym procesie niższa wartość MED jest preferowana przy porównaniu tras od tego samego sąsiedniego AS, lecz urządzenie może stosować własne reguły, a sąsiad może zignorować ten atrybut. W przykładzie można wysłać MED 100 do ISP-A przez łącze główne oraz MED 200 przez zapasowe. Jeśli ISP-A honoruje MED, może wybrać łącze główne.
  • AS_PATH prepending: Administrator może wielokrotnie dodać własny ASN do AS_PATH, aby ścieżka wyglądała na dłuższą. BGP często preferuje krótszą ścieżkę, lecz lokalna polityka sąsiada może zmienić wynik. Aby ograniczyć użycie łącza zapasowego, można ogłosić do ISP-B ścieżkę (65001, 65001, 65001), zwiększając jej długość w porównaniu z ogłoszeniem przez ISP-A.

Redystrybucja tras

przenosi trasy między domenami protokołów. Router BGP może w jej wyniku ogłaszać sieci poznane przez IGP, takie jak OSPF, albo trasy statyczne swoim zewnętrznym partnerom BGP. Każda taka operacja powinna mieć jawnie określony filtr prefiksów. Warto też ustalić atrybuty, metrykę i znacznik trasy, aby powrót informacji do protokołu źródłowego nie utworzył pętli.

Zakres redystrybucji

Serwer WWW firmy może stać się osiągalny z internetu, jeśli jego prefiks zostanie poznany przez wewnętrzny OSPF, a polityka redystrybucji zezwoli na ogłoszenie go przez BGP. Sama obecność trasy w OSPF nie powinna automatycznie powodować jej eksportu poza AS.

Bez filtrowania router mógłby ogłosić do internetu prywatny schemat adresacji albo trasy przeznaczone wyłącznie dla sieci wewnętrznej. Zwiększa to ryzyko wycieku informacji i błędnych ścieżek. Bezpieczna polityka powinna odrzucać prefiksy domyślnie i zezwalać tylko na te, które mają być publiczne.

Mapy tras (route maps)

Na wielu platformach, w tym Cisco IOS, mapa tras (ang. route map) łączy kryteria dopasowania z działaniami wykonywanymi dla trasy. Pozwala budować sekwencje warunkowe używane przy filtrowaniu, redystrybucji i zmianie atrybutów BGP.

Mapa tras działa jak instrukcja warunkowa dla tras i składa się z ponumerowanych wpisów. Router sprawdza wpisy w kolejności, a po dopasowaniu wykonuje działania opisane w danym wpisie. Kolejność sekwencji ma znaczenie, ponieważ wcześniejszy wpis może zakończyć przetwarzanie dla danej trasy:

  • Klauzula dopasowania (MATCH, "Jeśli"): Router sprawdza, czy trasa spełnia określone kryteria. Często używa się do tego do identyfikacji określonych sieci.
  • Klauzula ustawienia (SET, "To"): Po dopasowaniu router wykonuje działania, takie jak ustawienie LOCAL_PREF, MED albo dodanie ASN do AS_PATH.
  • Zezwolenie/odmowa (Permit/Deny): Wpis kończy się zezwoleniem albo odmową. Po dopasowaniu wpisu przetwarzanie zwykle się zatrzymuje. Przy braku dopasowania router przechodzi do kolejnego wpisu. Jeśli żaden wpis nie zezwoli na trasę, działa domyślna reguła odrzucenia.

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.

Powiązane artykuły