1/35Sieci bezpośrednio podłączone (Connected)

Trasy Connected jako fundament routingu

Najprostszą formą routingu są trasy do sieci, które router "widzi" bezpośrednio na swoich portach. Gdy tylko podłączymy kabel i poprawnie skonfigurujemy adres IP na interfejsie, urządzenie automatycznie dodaje wpis oznaczony literą C (Connected) do swojej tablicy.

Takie połączenia są uznawane za najbardziej wiarygodne, ponieważ router nie potrzebuje pośredników, aby wysłać do nich dane. Ich metryka (czyli koszt dotarcia) wynosi zawsze 0. To fundament, na którym budujemy całą resztę — bez poprawnie działających sieci bezpośrednich żaden inny protokół routingu nie będzie w stanie nawiązać połączenia ze światem.

Rodzaje wpisów: Sieci bezpośrednio podłączone

Trasy Connected są automatycznie generowane przez router po skonfigurowaniu interfejsu z adresem IP i maską. W systemie Cisco IOS pojawiają się one w tablicy routingu z kodem C po wydaniu polecenia ip address na interfejsie. Dodatkowo router tworzy również trasę Local (kod L) z maską /32, która identyfikuje sam adres IP interfejsu.

Trasy Connected mają najwyższy priorytet ze wszystkich typów tras — ich Administrative Distance (AD) wynosi 0. Oznacza to, że żadna inna trasa, nawet statyczna, nie może "przebić" trasy bezpośrednio podłączonej. Jeśli sieć jest podłączona bezpośrednio, router zawsze wyśle tam pakiet bezpośrednio, ignorując inne dostępne ścieżki.

2/35Ręczne sterowanie: routing statyczny

Trasy Static — pełna kontrola nad ruchem

Routing statyczny to metoda, w której administrator osobiście wskazuje routerowi drogę do odległych sieci. Zamiast liczyć na automatykę, ręcznie wpisujemy każdą trasę, co daje nam pełną kontrolę nad tym, którędy płyną dane firmowe.

Wpisy te są oznaczone w tablicy literą S (Static). Ich główną cechą jest "upór" — raz wpisana trasa nie zniknie sama, dopóki administrator jej nie usunie. Jest to idealne rozwiązanie do małych oddziałów firm, gdzie jest tylko jedno wyjście do Internetu, lub do stabilnych połączeń między dwoma biurami, które nigdy się nie zmieniają.

Rodzaje wpisów: Routing statyczny

Trasy Static mają Administrative Distance równą 1 (w Cisco IOS), co czyni je bardzo wiarygodnymi — ustępują tylko trasom Connected (AD=0). Oznacza to, że router wybierze trasę statyczną zamiast trasy poznanej przez jakikolwiek protokół dynamiczny (OSPF ma AD=110, a RIP AD=120).

Routing statyczny jest szczególnie użyteczny w scenariuszach stub network (sieć końcowa), gdzie istnieje tylko jedna droga wyjścia, oraz w topologiach hub-and-spoke, gdzie centralna lokalizacja łączy wiele oddziałów. Wadą jest oczywiście brak automatycznej reakcji na awarie łącza.

3/35Dlaczego warto używać tras statycznych?

Zalety i wady routingu statycznego

Trasy statyczne mają dwie ogromne zalety: są niezwykle bezpieczne i nie obciążają sprzętu. Ponieważ routery nie muszą "rozmawiać" ze sobą, aby wymieniać informacje o trasach, nikt z zewnątrz nie może podesłać nam fałszywych danych o topologii sieci. Oszczędzamy też procesor i pamięć routera, co pozwala na stabilniejszą pracę starszych urządzeń.

Głównym minusem jest brak odporności na awarie. Jeśli kabel na trasie statycznej zostanie przecięty, router nie będzie wiedział, jak go ominąć, dopóki człowiek nie zmieni konfiguracji. Dlatego trasy statyczne stosujemy tam, gdzie topologia jest prosta, a każda zmiana jest rzadka i planowana z dużym wyprzedzeniem.

Zalety i wady routingu statycznego

Do zalet routingu statycznego należy również przewidywalność — administrator dokładnie wie, którędy popłynie ruch, ponieważ sam go skonfigurował. Nie ma ryzyka, że protokół dynamiczny wybierze nieoczekiwaną ścieżkę z powodu zmiany metryki. Jest to szczególnie ważne w środowiskach o wysokich wymaganiach bezpieczeństwa.

Routing statyczny znajduje zastosowanie w sieciach SD-WAN oraz w konfiguracjach Policy-Based Routing (PBR), gdzie ruch jest kierowany nie tylko na podstawie adresu docelowego, ale także źródła, protokołu czy nawet portu. W takich przypadkach trasy statyczne stanowią podstawę do budowania zaawansowanych polityk przepływu danych.

4/35Składnia polecenia ip route

Konfiguracja trasy statycznej w Cisco IOS

Konfiguracja trasy statycznej (np. w systemach Cisco) sprowadza się do jednej, logicznej linii poleceń. Składnia wygląda następująco: ip route [cel] [maska] [następny-krok].

Pole "cel" i "maska" mówią routerowi, o jakiej odległej sieci mowa. Parametr "następny-krok" (Next-Hop) to adres IP sąsiada, do którego należy "kopnąć" pakiet, aby przybliżył się do celu. Można też zamiennie podać nazwę własnego portu (np. GigabitEthernet0/0), co informuje router: "po prostu wyrzuć pakiet tym portem, a on już trafi tam, gdzie trzeba".

Konfiguracja routingu statycznego

W systemie Cisco IOS polecenie ip route wpisuje się w trybie konfiguracji globalnej (configure terminal). Przykład: ip route 10.10.20.0 255.255.255.0 172.16.1.1. Możliwe jest również użycie interfejsu wyjściowego zamiast adresu Next-Hop: ip route 10.10.20.0 255.255.255.0 GigabitEthernet0/1.

W systemie Linux trasę statyczną dodaje się poleceniem: ip route add 10.10.20.0/24 via 172.16.1.1 lub starszym route add -net 10.10.20.0 netmask 255.255.255.0 gw 172.16.1.1. W Windows używa się polecenia: route add 10.10.20.0 mask 255.255.255.0 172.16.1.1.

5/35Koncepcja Next-Hop: sztafeta pakietów

Następny skok jako fundament routingu

Adres Next-Hop (następny skok) to adres IP routera-sąsiada, który znajduje się o jeden krok bliżej celu. To fundamentalna zasada działania Internetu: żaden router nie musi znać całej drogi od Polski do USA. Wystarczy, że wie, komu następnemu przekazać "pałeczkę".

Dzięki temu tablice routingu pozostają małe i czytelne. Każde urządzenie dba tylko o to, aby pakiet wyszedł poprawnym wyjściem w stronę właściwego sąsiada. Jeśli każdy uczestnik tej sztafety poprawnie skonfiguruje swój Next-Hop, dane bezbłędnie dotrą do odbiorcy na drugim końcu świata.

Koncepcja adresu Next-Hop

Koncepcja Next-Hop jest kluczowa dla skalowalności Internetu. Gdyby każdy router musiał znać kompletną ścieżkę do każdej sieci na świecie, tablice routingu byłyby niemożliwie ogromne. Zamiast tego router przechowuje tylko adres następnego routera na ścieżce do celu, co redukuje rozmiar tablicy do zarządzalnych rozmiarów.

W praktyce adres Next-Hop musi być w tej samej sieci, co interfejs wyjściowy routera — inaczej pakiet nie mógłby zostać dostarczony w warstwie 2. Jeśli Next-Hop nie jest osiągalny (np. sąsiad padł), router usuwa wszystkie trasy statyczne wskazujące na ten adres jako nieosiągalne.

6/35Precyzyjne trasy do sieci zdalnych

Standardowa trasa statyczna w praktyce

Standardowa trasa statyczna służy do połączenia dwóch konkretnych miejsc. Wyobraźmy sobie, że router w biurze w Łodzi musi wiedzieć, jak wysłać pakiety do serwera w biurze w Warszawie. Administrator wpisuje dokładną trasę tylko dla tego jednego połączenia.

Jest to najbezpieczniejszy sposób łączenia oddziałów firm, określany często jako Stub Routing. Ponieważ trasa jest sztywna i bardzo konkretna, mamy pewność, że ruch do warszawskiego serwera nie "zbłądzi" i nie zostanie przesłany przez przypadkowe, mniej bezpieczne łącza u operatora.

Przykład konfiguracji w systemie Cisco IOS: ip route 10.10.20.0 255.255.255.0 172.16.1.1.

Routing statyczny: Trasy standardowe

Stub Routing (routing sieci końcowej) to scenariusz, w którym sieć lokalna ma tylko jedno połączenie z resztą świata — przez jeden router. W takiej topologii nie ma sensu uruchamianie złożonych protokołów routingu dynamicznego. Wystarczy trasa domyślna (0.0.0.0/0) na routerze lokalnym i ewentualnie trasa statyczna do sieci lokalnej na routerze centralnym.

W bardziej złożonych topologiach można stosować trasy statyczne rekurencyjne, gdzie Next-Hop jest osiągalny przez inną trasę statyczną. Router rozwiązuje to rekurencyjnie — znajduje trasę do Next-Hop, a następnie do rzeczywistego celu. Mechanizm ten jest używany w zaawansowanych konfiguracjach z wieloma dostawcami usług.

7/35Brama ostatniej szansy: trasa domyślna

Gateway of Last Resort

Trasa domyślna (Default Route) to ratunek w sytuacjach, gdy router nie ma zielonego pojęcia, gdzie wysłać pakiet. Zapisujemy ją za pomocą samych zer: 0.0.0.0 0.0.0.0, co oznacza: "jeśli adres docelowy nie pasuje do żadnej innej trasy, wyślij go tutaj".

To właśnie trasa domyślna pozwala nam przeglądać Internet. Twój domowy router nie spamięta adresów wszystkich stron na świecie — ma po prostu jeden wpis, który mówi: "wszystko, czego nie znam lokalnie, wysyłaj do mojego dostawcy Internetu (ISP)". Jest to tzw. Gateway of Last Resort (Brama Ostatniej Szansy).

Trasa domyślna (Default Route)

W systemie Cisco IOS trasę domyślną konfiguruje się poleceniem: ip route 0.0.0.0 0.0.0.0 [next-hop]. Maska 0.0.0.0 oznacza, że prefiks ma długość 0 bitów — ta trasa pasuje do absolutnie każdego adresu IP. Zgodnie z zasadą Longest Prefix Match (LPM), trasa domyślna jest wybierana tylko wtedy, gdy żadna bardziej precyzyjna trasa nie pasuje do adresu docelowego.

W systemie Linux trasę domyślną dodaje się przez: ip route add default via 192.168.1.1. W Windows: route add 0.0.0.0 mask 0.0.0.0 192.168.1.1. W przypadku wielu interfejsów można mieć wiele tras domyślnych, ale tylko ta z najniższą metryką będzie aktywna.

8/35Zastosowanie tras domyślnych w praktyce

Hierarchia tras domyślnych w sieci

Stosowanie tras domyślnych to potężne uproszczenie w projektowaniu sieci. Zamiast uczyć każdy router w firmie drogi do tysięcy zewnętrznych serwisów, wystarczy, że wszystkie urządzenia będą wysyłać nieznany ruch "w górę" — do głównego routera brzegowego (Edge Router), który jako jedyny ma pełną wiedzę o połączeniach zewnętrznych.

Taka hierarchia sprawia, że sieć działa stabilniej, a tablice routingu na mniejszych przełącznikach pozostają puste i szybkie. Trasa domyślna to "najmniej precyzyjna" trasa, więc zgodnie z zasadą Longest Prefix Match, zostanie wybrana tylko wtedy, gdy naprawdę nie ma lepszej alternatywy.

Zastosowanie trasy domyślnej

W projektowaniu sieci korporacyjnych często stosuje się model hierarchiczny (warstwowy): warstwa dostępu (Access Layer) łączy użytkowników, warstwa dystrybucji (Distribution Layer) agreguje ruch, a warstwa rdzenia (Core Layer) zapewnia szybkie połączenie między budynkami. Na każdej warstwie trasy domyślne kierują nieznany ruch w górę hierarchii.

Routery brzegowe (Edge Routers lub Border Routers) to urządzenia stojące na granicy sieci firmy i dostawcy internetowego. To one najczęściej mają pełną trasę domyślną do ISP, a także uczestniczą w protokołach BGP do wymiany tras z dostawcami. Wewnętrzne routery firmowe mają trasę domyślną wskazującą właśnie na routery brzegowe.

9/35Redundancja: pływająca trasa statyczna

Floating Static Route jako polisa ubezpieczeniowa

Pływająca trasa statyczna (Floating Static Route) to nasza polisa ubezpieczeniowa na wypadek awarii kabla. Polega na wpisaniu dwóch tras do tego samego celu: jednej przez szybki światłowód, a drugiej przez wolniejsze łącze zapasowe (np. LTE).

Trik polega na ustawieniu wyższego Dystansu Administracyjnego (AD) dla łącza zapasowego. W rezultacie router "widzi" tę trasę w pamięci, ale dopóki działa szybki światłowód, trasa zapasowa nie pojawia się w tablicy (pływa pod powierzchnią). Gdy tylko główne łącze padnie, trasa zapasowa natychmiast "wypływa" i przejmuje ruch bez przerywania pracy firmy.

Routing statyczny pływający

Administrative Distance (AD) to wartość liczbowa (0-255) określająca wiarygodność źródła trasy. Im niższa wartość, tym bardziej zaufane źródło. Domyślne AD w Cisco IOS: Connected = 0, Static = 1, EIGRP (summary) = 5, BGP (eBGP) = 20, EIGRP (internal) = 90, OSPF = 110, RIP = 120, BGP (iBGP) = 200, Unknown = 255.

Przykład konfiguracji pływającej trasy statycznej: ip route 10.10.20.0 255.255.255.0 172.16.1.1 (AD=1, światłowód) oraz ip route 10.10.20.0 255.255.255.0 10.0.0.2 200 (AD=200, LTE). Gdy światłowód działa, trasa z AD=1 jest aktywna. Po jego awarii trasa z AD=200 przejmuje ruch. Gdy światłowód wróci, trasa z AD=1 automatycznie staje się aktywna.

10/35IPv6: dlaczego musimy się przesiąść?

Wyczerpanie adresów IPv4 jako motor zmian

Stary standard IPv4 pozwalał na stworzenie około 4 miliardów adresów. W latach 80. wydawało się to nieskończonością, ale dziś, gdy lodówki, żarówki i zegarki chcą mieć swój własny adres IP, ta pula po prostu się skończyła. Jesteśmy w fazie krytycznego niedoboru "wolnych numerów".

IPv6 nie jest tylko poprawką — to zupełnie nowy fundament. Oferuje on tak kolosalną liczbę adresów (340 undecylionów), że moglibyśmy nadać unikalny adres każdemu atomowi na powierzchni Ziemi. Oprócz ilości, IPv6 upraszcza nagłówki pakietów i eliminuje potrzebę stosowania NAT-u, co sprawia, że komunikacja bezpośrednia stanie się znowu prosta i naturalna.

IPv6: Konieczność wprowadzenia

IANA (Internet Assigned Numbers Authority) przydzieliła ostatnie bloki adresów IPv4 w 2011 roku. Regionalne rejestry Internetu (RIPE dla Europy, ARIN dla Ameryki Północnej itd.) wyczerpały swoje pule w kolejnych latach. Od tego momentu uzyskanie nowego bloku adresów IPv4 jest praktycznie niemożliwe bez zakupu na rynku wtórnym.

IPv6 (zdefiniowany w RFC 2460) używa 128-bitowych adresów, co daje 2^128 możliwych adresów — jest to liczba 39-cyfrowa (340 282 366 920 938 463 463 374 607 431 768 211 456). Przeliczając: na każdy metr kwadratowy powierzchni Ziemi przypada około 6.6 × 10^23 adresów IPv6. To więcej niż ziaren piasku na wszystkich plażach świata.

11/35Adresacja IPv6: system szesnastkowy

128 bitów w zapisie heksadecymalnym

Adresy IPv6 mają 128 bitów długości, co zapisujemy w ośmiu blokach (heks-tetach) oddzielonych dwukropkami. Ponieważ byłoby to za długie dla systemu dziesiętnego, używamy zapisu szesnastkowego (0-9 oraz A-F).

Przykładowy adres wygląda tak: 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Choć na pierwszy rzut oka wygląda to groźnie, system ten jest bardzo logiczny. Pierwsza połowa adresu (64 bity) zazwyczaj identyfikuje sieć operatora i firmy, a druga połowa to unikalny numer samego urządzenia, co drastycznie upraszcza przydzielanie adresów w dużych biurach.

Adresowanie IPv6: 128 bitów

Każdy heks-tet (grupa 16 bitów) jest zapisywany jako 4 cyfry szesnastkowe. System szesnastkowy (heksadecymalny) używa cyfr 0-9 oraz liter A-F, gdzie A=10, B=11, C=12, D=13, E=14, F=15. Na przykład FF w systemie szesnastkowym to 255 w dziesiętnym, a w binarnym 11111111.

W IPv6 struktura adresu jest podzielona na dwie główne części: pierwsze 64 bity to prefiks sieci (Network Prefix), a drugie 64 bity to identyfikator interfejsu (Interface ID). Identyfikator interfejsu jest często generowany automatycznie na podstawie adresu MAC karty sieciowej (EUI-64) lub losowo dla zachowania prywatności (RFC 7217 — Stable Privacy Addresses).

12/35Jak pisać krócej w IPv6?

Zasady skracania adresów IPv6

Inżynierowie wiedzieli, że nikt nie chce pisać 32 znaków adresu IP, dlatego wprowadzono dwie zasady skracania. Zasada 1: pomijamy wszystkie wiodące zera w blokach (zamiast 0db8 piszemy db8). Zasada 2: jeden ciąg zer (nawet bardzo długi) możemy zastąpić podwójnym dwukropkiem ::.

Dzięki temu adres typu 2001:db8:0000:0000:0000:0000:0000:0001 staje się krótkim i czytelnym 2001:db8::1. Ważne: znaku :: można użyć tylko raz, bo inaczej komputer nie wiedziałby, ile zer "rozpakować" w którym miejscu.

Uproszczona notacja IPv6

Przykłady skracania adresów IPv6:
2001:0db8:0000:0000:0000:0000:0000:00012001:db8:0:0:0:0:0:1 (usunięto wiodące zera) → 2001:db8::1 (skrócono ciąg zer).
fe80:0000:0000:0000:0000:0000:0000:0001fe80::1.
ff02:0000:0000:0000:0000:0000:0000:0002ff02::2 (adres multicast dla wszystkich routerów OSPF).

Nieprawidłowe użycie podwójnego dwukropka: 2001::db8::1 — nie wiadomo, czy oznacza 2001:0:0:0:0:db8:0:1, czy 2001:0:0:0:db8:0:0:1. Dlatego :: może wystąpić tylko raz. Adresów IPv6 nie można też skracać przez usuwanie zer końcowych — można usuwać tylko wiodące (z przodu bloku).

13/35Nowy podział: Unicast, Multicast i Anycast

Typy adresów IPv6 bez Broadcastu

W IPv6 zrezygnowano całkowicie z uciążliwego "rozsyłania do wszystkich" (broadcast). Zamiast tego mamy trzy precyzyjne typy komunikacji. Unicast to klasyczny list do jednej osoby. Multicast to transmisja do grupy zainteresowanych osób (np. tylko dla routerów OSPF).

Najciekawszym nowym graczem jest Anycast. Pozwala on na nadanie tego samego adresu kilku serwerom na świecie (np. serwerom Google). Gdy wpiszesz taki adres, sieć IP automatycznie skieruje Cię do tego urządzenia, które jest fizycznie najbliżej Ciebie. To fundament nowoczesnych, szybkich usług internetowych (CDN).

Typy adresów IPv6

W IPv6 wyróżniamy następujące typy adresów Unicast: Global Unicast (zaczynające się od 2000::/3 — odpowiednik publicznych adresów IPv4), Unique Local (fc00::/7 — odpowiednik prywatnych adresów IPv4, np. 192.168.x.x), Link-Local (fe80::/10 — automatyczne, lokalne adresy), oraz Loopback (::1 — odpowiednik 127.0.0.1).

Anycast jest szczególnie ważny dla DNS i CDN (Content Delivery Networks). Na przykład serwery DNS Google (8.8.8.8 w IPv4, 2001:4860:4860::8888 w IPv6) są w rzeczywistości tysiącami serwerów na całym świecie, które mają ten sam adres. Dzięki Anycastowi zapytanie DNS trafia do najbliższego geograficznie serwera, co minimalizuje opóźnienia.

14/35Adresy Link-Local: wewnętrzny język routerów

fe80:: — automatyczne adresy lokalne

Adresy Link-Local (zaczynające się od fe80::) to specyfika świata IPv6. Każde urządzenie nadaje go sobie samo, bez pytania nikogo o zgodę. Te adresy nigdy nie wychodzą poza dany kabel (segment sieci), ale są niezbędne do "rozmów technicznych" między sąsiadującymi urządzeniami.

To właśnie przez Link-Local routery wymieniają się informacjami o trasach lub znajdują najbliższą drukarkę. Nawet jeśli router nie ma połączenia ze światem (brakuje mu adresu globalnego), wciąż może zarządzać siecią lokalną właśnie dzięki tym automatycznym adresom, co czyni IPv6 znacznie bardziej odpornym na błędy konfiguracyjne.

Adresy Link-Local

Adresy Link-Local (fe80::/10) są generowane automatycznie dla każdego interfejsu IPv6. Są one niezbędne do działania protokołów takich jak NDP (Neighbor Discovery Protocol — odpowiednik ARP w IPv6), SLAAC (Stateless Address Autoconfiguration) oraz protokołów routingu (OSPFv3 używa adresów Link-Local do ustanawiania sąsiedztwa).

W przeciwieństwie do IPv4, gdzie adresy lokalne (np. 169.254.x.x w Windows APIPA) są traktowane jako "ostatnia deska ratunku", w IPv6 adresy Link-Local są pełnoprawnymi adresami używanymi na co dzień do komunikacji wewnątrzsegmentowej. Routing OSPFv3 domyślnie używa adresów Link-Local jako źródłowych dla wszystkich pakietów OSPF.

15/35Diagnostyka: gdy sieć nie działa

Narzędzia do rozwiązywania problemów L3

W rozwiązywaniu problemów warstwy 3 kierujemy się zasadą "od ogółu do szczegółu". Zaczynamy od prostego polecenia ping, aby sprawdzić, czy cel w ogóle żyje. Jeśli ping zawodzi, wyciągamy cięższe działo: traceroute (lub tracert w Windows).

Traceroute to Rentgen sieci — pokazuje nam każdy router po drodze. Jeśli zobaczysz, że pakiety giną np. na czwartym "skoku", wiesz dokładnie, który administrator musi usiąść do pracy. Zawsze sprawdzaj też tablicę routingu poleceniem show ip route — to tam najczęściej kryje się błąd w postaci literówki w masce lub błędnego adresu bramy.

Rozwiązywanie problemów L3

Podstawowe polecenia diagnostyczne warstwy 3 w Cisco IOS: ping [adres] — testuje podstawową łączność IP; traceroute [adres] — śledzi trasę pakietów hop po hopie; show ip route — wyświetla tablicę routingu; show ip interface brief — pokazuje stan wszystkich interfejsów; debug ip packet — szczegółowe debugowanie ruchu IP (uwaga: obciąża CPU!).

W systemie Linux odpowiedniki to: ping [adres], traceroute [adres] (lub mtr dla ciągłego monitorowania), ip route show, ip -s link (statystyki interfejsów). W Windows: ping [adres], tracert [adres], route print, netsh interface ip show config.

16/35Podsumowanie: od kabla do pakietu

Podsumowanie dotychczasowej wiedzy o routingu

Zakończyliśmy omawianie fundamentów przesyłania danych. Wiemy już, że adres IP to logiczna tożsamość urządzenia, która pozwala na globalną nawigację. Poznaliśmy magię subnettingu, która porządkuje chaos wewnątrz firm, oraz nauczyliśmy się ręcznie budować drogi dla danych za pomocą tras statycznych.

Zrozumieliśmy też, dlaczego IPv6 jest naszą nieuniknioną przyszłością i jak uproszczono w nim przesyłanie informacji. Ta wiedza pozwala nam przejść do najbardziej fascynującego etapu: routingu dynamicznego, gdzie routery zaczynają ze sobą rozmawiać i same dbać o to, aby sieć nigdy nie przestała działać.

Podsumowanie części B

Podsumowując część dotyczącą routingu statycznego: trasy Connected (C) są automatyczne i mają AD=0, trasy Static (S) są konfigurowane ręcznie z AD=1, a trasa domyślna (0.0.0.0/0) kieruje nieznany ruch do Gateway of Last Resort. Floating Static Route z wyższym AD zapewnia awaryjność bez komplikacji protokołów dynamicznych.

W części o IPv6 poznaliśmy: 128-bitową adresację, zapis heksadecymalny, zasady skracania adresów (:: i usuwanie zer wiodących), typy adresów (Unicast, Multicast, Anycast) oraz adresy Link-Local (fe80::). IPv6 eliminuje broadcast i NAT, upraszczając komunikację sieciową.

17/35Styk dwóch światów: statyczny vs dynamiczny

Porównanie podejść do routingu

Zasadnicza różnica między routingiem statycznym a dynamicznym to sposób radzenia sobie ze zmianami. W tradycyjnym podejściu (statycznym) to inżynier jest mózgiem sieci — jeśli coś się psuje, musi ręcznie zareagować. W podejściu dynamicznym routery używają specjalnych algorytmów, aby samodzielnie odkrywać topologię i reagować na awarie w ułamku sekundy.

Podczas gdy trasy statyczne są świetne dla małych firm i "końcówek" sieci, routing dynamiczny jest niezbędny wszędzie tam, gdzie mamy wiele połączeń i nie możemy pozwolić sobie na przestoje. Routery dynamiczne nieustannie szepczą do siebie, sprawdzając: "Czy to łącze wciąż działa? Czy znalazłeś jakąś szybszą drogę?".

Routing statyczny vs. dynamiczny

Różnice w praktyce: routing statyczny wymaga ręcznej konfiguracji każdej trasy, nie skaluje się w dużych sieciach, nie reaguje na awarie, ale jest bezpieczny i nie generuje ruchu sieciowego. Routing dynamiczny automatycznie dostosowuje się do zmian, skaluje się do tysięcy routerów, ale wymaga starannej konfiguracji, zużywa CPU/pamięć i generuje ruch kontrolny.

W praktyce inżynierskiej stosuje się podejście hybrydowe: protokół dynamiczny (np. OSPF) działa wewnątrz sieci firmowej, a trasy statyczne są używane na brzegu sieci (stub networks, połączenia z ISP, trasy domyślne). Pozwala to wykorzystać zalety obu podejść — elastyczność routingu dynamicznego i prostotę tras statycznych tam, gdzie są one odpowiednie.

18/35Podział protokołów: IGP oraz EGP

Interior vs Exterior Gateway Protocols

Protokoły routingu dzielimy na dwie ligi. IGP (Interior Gateway Protocols) to protokoły "domowe" — stosujemy je wewnątrz jednej firmy lub kampusu (np. OSPF czy EIGRP). Ich zadaniem jest jak najszybsze znalezienie wolnej drogi od biurka pracownika do serwera w piwnicy.

EGP (Exterior Gateway Protocols) to protokoły "dyplomatyczne" — służą do łączenia całych sieci operatorów (Systemów Autonomicznych). Najważniejszym i jedynym dziś przedstawicielem tej grupy jest BGP. Można powiedzieć, że IGP dba o porządek wewnątrz budynku, a EGP zarządza ruchem na autostradach między miastami (państwami).

Klasyfikacja protokołów routingu: IGP vs. EGP

System Autonomiczny (AS — Autonomous System) to zbiór sieci IP zarządzanych przez jedną organizację, które mają wspólną, spójną politykę routingu. Każdy AS ma unikalny numer ASN (AS Number) przydzielany przez IANA — 16-bitowy (do 64511) lub 32-bitowy. Przykładowo Google ma ASN 15169, a Amazon ASN 16509.

Do protokołów IGP należą: RIP (Routing Information Protocol — stary, Distance Vector, metryka: hop count), EIGRP (Enhanced Interior Gateway Routing Protocol — Cisco, hybrydowy), OSPF (Open Shortest Path First — Link-State, otwarty standard), IS-IS (Intermediate System to Intermediate System — Link-State, popularny u dostawców usług). Jedynym protokołem EGP używanym dziś w Internecie jest BGP (Border Gateway Protocol).

19/35Wektory Odległości vs Stan Łącza

Distance Vector i Link-State — dwa podejścia

Protokoły IGP mają dwa sposoby działania. Distance Vector (Wektor Odległości, np. RIP) działa na zasadzie plotki: "Sąsiad mi powiedział, że do Google idzie się tędy i jest to 5 klatek stąd". Router wierzy na słowo i przekazuje plotkę dalej. To proste, ale powolne i podatne na pętle.

Link-State (Stan Łącza, np. OSPF) jest znacznie mądrzejszy. Zamiast plotek, każdy router zbiera dokładne dane o każdym kablu i urządzeniu w sieci i buduje sobie własną, kompletną interaktywną mapę (topologię). Dzięki temu, gdy coś się zepsuje, router nie pyta nikogo o zdanie, tylko sam oblicza nową drogę na podstawie posiadanej mapy.

Algorytmy routingu: Distance Vector vs. Link-State

Protokoły Distance Vector (RIP, IGRP) mają te cechy: okresowo wysyłają całą tablicę routingu do sąsiadów (np. RIP co 30 sekund), używają algorytmu Bellmana-Forda, mają maksymalną liczbę hopów (RIP: 15, gdzie 16 = nieosiągalny), są podatne na count-to-infinity (liczenie do nieskończoności, które powoduje pętle), i mają wolniejszą zbieżność (konwergencję).

Protokoły Link-State (OSPF, IS-IS) charakteryzują się: wysyłają tylko zmiany w topologii (nie całą tablicę), używają algorytmu Dijkstry (SPF), mają znacznie szybszą konwergencję (sekundy vs minuty w RIP), nie mają ograniczenia liczby hopów, i są bardziej złożone w konfiguracji, ale oferują większą kontrolę i możliwość tworzenia hierarchicznych struktur (areas).

20/35Jak Link-State buduje mapę sieci?

LSA i LSDB jako fundamenty OSPF

Proces budowania mapy zaczyna się od komunikatów LSA (Link-State Advertisement). Każdy router krzyczy do sąsiadów: "Cześć, nazywam się Router A i mam podłączone dwa kable: jeden do sieci X, drugi do Routera B". Te ogłoszenia są przekazywane dalej ("zalewane"), aż każdy router w sieci otrzyma komplet puzzli.

Wszystkie te ogłoszenia trafiają do wspólnej bazy danych LSDB (Link-State Database). Magia polega na tym, że po kilku sekundach każdy router w sieci ma identyczną kopię tej bazy. Od tego momentu każde urządzenie widzi całą sieć tak samo, co eliminuje chaos i sprzeczne informacje o trasach.

Link-State: Budowanie mapy sieci

W OSPF istnieje kilka typów LSA (Link-State Advertisement): Type 1 (Router LSA) — opisuje stan łączy danego routera; Type 2 (Network LSA) — generowany przez Designated Router w sieci typu broadcast; Type 3 (Summary LSA) — rozsyłany przez ABR między obszarami; Type 4 (ASBR Summary LSA) — wskazuje drogę do ASBR; Type 5 (AS External LSA) — trasy zewnętrzne (redystrybuowane z innych protokołów).

Każde LSA jest identyfikowane przez LS Type, Link-State ID i Advertising Router. LSA mają też własny numer sekwencyjny i czas życia (Max Age = 3600 sekund). Dzięki temu routery mogą stwierdzić, które LSA są nowsze i wymagają aktualizacji. Po otrzymaniu nowego LSA router uruchamia algorytm SPF, aby przeliczyć trasy.

21/35Algorytm Dijkstry: najkrótsza droga pierwsza

Shortest Path First — nawigacja GPS dla pakietów

Gdy mapa (LSDB) jest już gotowa, router uruchamia algorytm SPF (Shortest Path First), znany matematykom jako algorytm Dijkstry. Działa on jak nawigacja GPS w samochodzie: bierze mapę wszystkich dróg, nakłada na nie ograniczenia prędkości (koszty łącz) i oblicza najszybszą ścieżkę do każdego celu.

Wynikiem jest drzewo najkrótszych ścieżek, gdzie obecny router jest pniem, a wszystkie sieci docelowe to liście. Wyliczone w ten sposób trasy trafiają do tablicy routingu. Co ważne: jeśli jakieś łącze padnie, algorytm odpala się ponownie tylko na dotkniętym obszarze, co sprawia, że OSPF jest niezwykle szybki w naprawianiu błędów.

Algorytmy routingu: Distance Vector vs. Link-State

Algorytm Dijkstry (opublikowany w 1959 roku przez Edsgera Dijkstrę) znajduje najkrótsze ścieżki między jednym węzłem źródłowym a wszystkimi innymi węzłami w grafie. Działa on w następujący sposób: (1) Ustaw odległość do siebie = 0, do wszystkich innych = ∞. (2) Wybierz nieodwiedzony węzeł o najmniejszej odległości. (3) Dla każdego sąsiada oblicz nową odległość (odległość do bieżącego + koszt łącza do sąsiada). (4) Jeśli nowa odległość jest mniejsza niż zapisana, zaktualizuj ją. (5) Oznacz bieżący węzeł jako odwiedzony. (6) Powtarzaj, aż wszystkie węzły zostaną odwiedzone.

W OSPF algorytm SPF jest uruchamiany przy każdej zmianie w LSDB. Częstotliwość tych obliczeń jest kontrolowana przez SPF timers (domyślnie: opóźnienie 5 sekund, odstęp między obliczeniami 10 sekund). W nowoczesnych sieciach z incremental SPF (iSPF) obliczana jest tylko ta część drzewa, która uległa zmianie, co znacząco redukuje obciążenie CPU.

22/35OSPF: otwarty standard, wielka moc

Wprowadzenie do protokołu OSPF

OSPF to "król" współczesnych sieci lokalnych i korporacyjnych. Jego nazwa "Open" oznacza, że nie należy do żadnej firmy — router Cisco może bez problemu rozmawiać przez OSPF z urządzeniem Juniper czy Mikrotik. Jest to protokół tzw. bezklasowy, co oznacza, że świetnie rozumie nowoczesny podział na podsieci (VLSM/CIDR).

Główne powody, dla których inżynierowie kochają OSPF, to błyskawiczna reakcja na awarie oraz niesamowita skalowalność. Można w nim budować sieci łączące tysiące routerów, a dzięki systemowi obszarów (areas), cała ta struktura pozostanie stabilna i łatwa w zarządzaniu.

Wprowadzenie do OSPF

OSPF (Open Shortest Path First) został zdefiniowany w RFC 2328 (OSPFv2 dla IPv4) i RFC 5340 (OSPFv3 dla IPv6). Jest to protokół typu Link-State, który używa algorytmu Dijkstry do obliczania najkrótszych ścieżek. OSPF obsługuje VLSM i CIDR, co oznacza, że może pracować z dowolnymi maskami podsieci.

OSPF oferuje zaawansowane funkcje, takie jak: równoważenie obciążenia (ECMP — Equal-Cost Multi-Path) dla ścieżek o jednakowym koszcie, uwierzytelnianie (MD5, SHA) pakietów OSPF, obszary (areas) do hierarchicznego projektowania sieci, redystrybucja tras między różnymi protokołami routingu, oraz Virtual Links do łączenia odległych obszarów z Area 0.

23/35Uniwersalność protokołu OSPF

OSPF w różnych środowiskach sieciowych

OSPF jest jak uniwersalny scyzoryk sieciowca. Można go spotkać wszędzie: od małych serwerowni po ogromne centra danych dostawców usług. Posiada mechanizmy, które pozwalają mu na inteligentne rozkładanie ruchu — jeśli do celu prowadzą dwa identyczne łącza, OSPF wyśle dane obydwoma naraz (Equal-Cost Multi-Path).

Standard ten nieustannie ewoluuje. Mamy wersję OSPFv2 dla klasycznego protokołu IPv4 oraz OSPFv3, który został od podstaw zaprojektowany dla świata IPv6. Pozwala to administratorom stosować te same sprawdzone zasady i narzędzia niezależnie od tego, jakiego rodzaju IP używają w swojej firmie.

Rola OSPF w sieciach

ECMP (Equal-Cost Multi-Path) to mechanizm, który pozwala OSPF na wykorzystanie wielu ścieżek o jednakowym koszcie do tego samego celu. Domyślnie w Cisco IOS maksymalna liczba ścieżek ECMP wynosi 4, ale można ją zwiększyć do 16 lub 32, w zależności od platformy. Ruch jest rozkładany na te ścieżki według algorytmu per-packet (każdy pakiet inną ścieżką) lub per-flow (na podstawie hasha z adresów IP i portów).

Różnice między OSPFv2 a OSPFv3: OSPFv2 działa tylko na IPv4, używa adresów IP do ustanawiania sąsiedztwa, i uwierzytelnianie jest wbudowane w pakiety OSPF. OSPFv3 działa na IPv6, używa adresów Link-Local do ustanawiania sąsiedztwa, uwierzytelnianie opiera się na IPsec, i ma oddzielne instancje dla różnych procesów routingu.

24/35Tożsamość routera: Router ID (RID)

Unikalny identyfikator w sieci OSPF

Aby OSPF mógł działać, każdy router musi mieć unikalne "imię i nazwisko", czyli Router ID (RID). Jest to 32-bitowa liczba zapisana w formacie adresu IP (np. 1.1.1.1). Służy ona do identyfikacji, kto jest autorem danego ogłoszenia o topologii i pomaga unikać chaosu przy synchronizacji baz danych.

Zasady wyboru RID są ściśle określone: router bierze numer ręcznie wpisany przez administratora. Jeśli go nie ma, wybiera najwyższy adres IP ze swoich wirtualnych portów (loopback), a jeśli i tych brakuje — najwyższy adres z fizycznych portów. Dobrą praktyką jest ręczne nadawanie RID, abyśmy zawsze wiedzieli, który router "mówi" w logach systemowych.

Router ID (RID)

Router ID jest 32-bitową liczbą używaną przez OSPF do jednoznacznej identyfikacji routera w sieci. W OSPFv2 jest zapisywany w notacji adresu IPv4, ale nie musi to być rzeczywisty adres IP skonfigurowany na routerze — może to być dowolna liczba w formacie A.B.C.D. W OSPFv3 RID również jest 32-bitowy, mimo że OSPFv3 działa na IPv6.

Konfiguracja RID w Cisco IOS: router ospf 1router-id 1.1.1.1. Po zmianie RID należy zresetować proces OSPF (clear ip ospf process). Zalecane jest używanie adresów loopback jako źródła RID (np. interface loopback 0 z adresem 10.255.255.1/32), ponieważ interfejsy loopback są zawsze w stanie UP (nigdy nie padają), co zapewnia stabilność RID.

25/35Nawiązywanie kontaktu: proces sąsiedztwa

Neighbor Discovery i Adjacency w OSPF

Routery OSPF nie zaczynają od razu przesyłać map sieci — najpierw muszą się oficjalnie "przedstawić" i zaprzyjaźnić. Robią to za pomocą pakietów Hello, wysyłanych co kilka sekund na adres multicastowy. To tak zwane badanie terenu (Neighbor Discovery).

Aby routery zostały sąsiadami (adjacency), muszą się zgadzać w kilku kwestiach: muszą być w tym samym obszarze (area), mieć takie same hasła oraz te same ustawienia czasowe. To mechanizm ochronny — zapobiega on przypadkowemu podłączeniu obcego routera do naszej firmowej struktury i chroni przed błędami w konfiguracji.

Proces sąsiedztwa (Adjacency) OSPF

Pakiety Hello OSPF są wysyłane na adres multicast 224.0.0.5 (w IPv4) lub ff02::5 (w IPv6). Domyślny interwał Hello w sieciach broadcast (Ethernet) wynosi 10 sekund, a Dead Interval (czas, po którym sąsiad uznawany jest za martwego) to 40 sekund (4 × Hello). W sieciach typu point-to-point i NBMA (Frame Relay) wartości te mogą być inne.

Warunki niezbędne do ustanowienia sąsiedztwa OSPF: zgodność Area ID, zgodność Hello/Dead Interval, zgodność typu sieci (broadcast, point-to-point itd.), zgodność flagi opcjonalności (opcje OSPF), zgodność uwierzytelniania (jeśli skonfigurowane), oraz zgodność MTU (maksymalny rozmiar pakietu) — w przeciwnym razie routery utkną w stanie ExStart/Exchange.

26/35Droga do przyjaźni: stany sąsiedztwa

Stany OSPF od Down do Full

Relacja między routerami budowana jest etapami. Zaczynamy od stanu Down (cisza), potem idziemy do Init (usłyszałem sąsiada), aż do 2-Way (widzimy się nawzajem). Na tym etapie routery wiedzą już o swoim istnieniu, ale jeszcze nie znają swoich map sieci.

Kolejne stany (ExStart, Exchange, Loading) to twarda negocjacja: "Co ty masz w swojej bazie? Czego mi brakuje?". Routery wymieniają się streszczeniami danych i dociągają brakujące elementy. Celem jest stan Full — oznacza on pełną symbiozę, w której oba urządzenia mają identyczną wiedzę o świecie i mogą zacząć stabilnie przesyłać ruch użytkowników.

Stany sąsiedztwa OSPF

Szczegółowa definicja stanów sąsiedztwa OSPF:
Down — brak informacji o sąsiedzie, router nie wysyła Hello (lub nie otrzymuje odpowiedzi).
Attempt — tylko w sieciach NBMA, router wysyła Hello do sąsiada, ale nie otrzymał odpowiedzi.
Init — odebrano Hello od sąsiada, ale nasz RID nie jest widoczny w polu Neighbor tego Hello.
2-Way — oba routery widzą swoje RID w pakietach Hello. Wybór DR/BDR (w sieciach broadcast).
ExStart — negocjacja głównego/podrzędnego (Master/Slave) i początkowego numeru sekwencyjnego DD.
Exchange — wymiana pakietów DBD (Database Description).
Loading — wysyłanie LSR (Link-State Request) i odbieranie LSU (Link-State Update).
Full — pełna synchronizacja LSDB, routery są sąsiadami.

Stan 2-Way jest szczególnie ważny w sieciach typu broadcast (Ethernet). W tym momencie odbywa się wybór Designated Router (DR) i Backup Designated Router (BDR), które odpowiadają za synchronizację LSDB z pozostałymi routerami w segmencie. Tylko DR i BDR wchodzą w stan Full ze wszystkimi routerami — pozostałe pozostają w stanie 2-Way między sobą.

27/35Pakiet Hello: "bicie serca" sieci

Funkcje pakietu Hello w OSPF

Pakiet Hello pełni dwie funkcje: znajduje nowych sąsiadów oraz pilnuje obecnych. Jeśli router przestanie wysyłać Hello (bo np. ktoś wypiął kabel), sąsiedzi zauważą to po upływie tzw. Dead Interval. Uznają wtedy, że sąsiad "umarł" i natychmiast wyrzucą wszystkie trasy prowadzące przez niego z tablicy routingu.

Ten mechanizm pozwala sieci OSPF na automatyczne leczenie. Jeśli jeden router ulegnie awarii, cała reszta dowie się o tym w ciągu kilku sekund i znajdzie alternatywną drogę, zanim użytkownicy w ogóle zauważą problem z dostępem do aplikacji.

Pakiety OSPF: Hello

Pakiet Hello OSPF zawiera następujące pola: Router ID nadawcy, Hello Interval (domyślnie 10 sekund), Dead Interval (domyślnie 40 sekund), Neighbors (lista RID znanych sąsiadów), Area ID, Router Priority (dla wyboru DR/BDR), Designated Router (DR), Backup Designated Router (BDR), oraz Authentication Data (jeśli skonfigurowano).

W sieciach typu broadcast (Ethernet) i NBMA (Frame Relay) wybór DR i BDR odbywa się na podstawie priorytetu (zakres 0-255, domyślnie 1, gdzie 0 oznacza brak możliwości bycia DR). Router z najwyższym priorytetem zostaje DR, drugi najwyższy to BDR. W przypadku remisu wygrywa wyższy RID. DR i BDR mają pełną synchronizację (stan Full) ze wszystkimi routerami w segmencie.

28/35Pakiet DBD: spis treści bazy danych

Database Description jako podsumowanie wiedzy

Synchronizacja ogromnych baz danych mogłaby zapchać sieć, dlatego OSPF robi to sprytnie. Zamiast wysyłać od razu tysiące tras, routery przesyłają sobie pakiet DBD (Database Description). To taki "spis treści" ich wiedzy o sieci.

Router odbiera taki spis, sprawdza go ze swoim i mówi: "O, widzę, że znasz drogę do biura w Londynie, której ja nie mam. Prześlij mi szczegóły!". Dzięki temu przesyłamy tylko to, co jest faktycznie potrzebne, oszczędzając czas i pasmo łącz, co jest kluczowe w dużych strukturach międzynarodowych.

Pakiety OSPF: DBD

Pakiet DBD (Database Description), zwany również DD (Database Description), zawiera listę nagłówków LSA (nie pełnych LSA) znajdujących się w LSDB routera. Każdy nagłówek LSA zawiera: LS Type, Link-State ID, Advertising Router, LS Sequence Number, LS Age i Checksum. Na podstawie tych informacji router może stwierdzić, które LSA są nowsze i wymagają żądania.

Proces wymiany DBD: (1) Routery ustalają, który jest Masterem (inicjuje wymianę, inkrementuje numer sekwencyjny), a który Slave (odpowiada tym samym numerem). (2) Master wysyła pierwszy DBD z flagą M-bit ustawioną na 1 (więcej danych). (3) Slave odpowiada DBD z tym samym numerem sekwencyjnym. (4) Gdy wszystkie DBD zostaną wysłane, Master ustawia M-bit na 0. (5) Routery przechodzą do stanu Loading, gdzie wysyłają LSR dla brakujących LSA.

29/35Konkretne prośby: pakiety LSR oraz LSU

Link-State Request i Link-State Update

Gdy router wykryje luki w swojej wiedzy po przejrzeniu spisu treści (DBD), wysyła LSR (Link-State Request) — konkretną prośbę o dosłanie brakujących detali. W odpowiedzi otrzymuje LSU (Link-State Update). To właśnie te pakiety niosą w sobie "mięso", czyli faktyczne dane o topologii sieci.

Pakiety LSU są najważniejsze w całej pracy OSPF. Są one wysyłane nie tylko przy pierwszym spotkaniu routerów, ale również zawsze wtedy, gdy w sieci coś się zmieni (np. aktywowano nową podsieć WiFi). Dzięki nim informacja o nowym zasobie dociera do każdego zakątka firmy w czasie liczonym w milisekundach.

Pakiety OSPF: LSR i LSU

Pakiet LSR (Link-State Request) zawiera listę identyfikatorów LSA, które router chce otrzymać — każdy wpis składa się z LS Type, Link-State ID i Advertising Router. Router wysyła LSR tylko dla tych LSA, które są nowsze niż jego obecna wersja (na podstawie numeru sekwencyjnego z DBD).

Pakiet LSU (Link-State Update) zawiera pełne LSA — kompletne informacje o stanie łączy, sieciach lub trasach zewnętrznych. LSU są zalewane (flooded) przez całą domenę OSPF, ale tylko przez routery, które mają już ustanowione sąsiedztwo (stan Full). Flooding odbywa się na adres multicast 224.0.0.5 (wszystkie routery OSPF) lub 224.0.0.6 (tylko DR/BDR).

30/35Potwierdzenie odbioru: pakiet LSAck

Link-State Acknowledgment gwarantuje spójność

OSPF nie uznaje zasady "wyślij i zapomnij". Każda ważna informacja o topologii (LSU) musi zostać potwierdzona. Służy do tego krótki pakiet LSAck (Link-State Acknowledgment). To jak wysłanie SMS-a z potwierdzeniem: "Dostałem mapę, dziękuję".

Jeśli nadawca nie otrzyma LSAck w określonym czasie, wyśle informację jeszcze raz. Ten mechanizm gwarantuje, że nawet przy słabym jakościowo łączu, bazy danych wszystkich routerów będą prędzej czy później identyczne. Spójność to w OSPF słowo klucz — bez niej sieć mogłaby wpaść w pętle i przestać działać.

Pakiety OSPF: LSAck

Pakiet LSAck (Link-State Acknowledgment) jest ostatnim z pięciu typów pakietów OSPF (obok Hello, DBD, LSR, LSU). Zawiera on tylko nagłówki LSA (nie pełne LSA), które router potwierdza. Dzięki temu LSAck jest bardzo mały i nie obciąża sieci. Potwierdzane są zarówno LSU odebrane w odpowiedzi na LSR, jak i LSU otrzymane w procesie floodingu.

Mechanizm retransmisji LSA w OSPF: jeśli router nie otrzyma LSAck w ciągu RxmtInterval (domyślnie 5 sekund), retransmituje LSU. LSA mają również LS Age (wiek), który zaczyna się od 0 i jest inkrementowany w miarę upływu czasu (maksymalnie 3600 sekund — MaxAge). Gdy LSA osiągnie MaxAge, jest usuwane z LSDB. Wszystkie LSA są odświeżane co LSRefreshTime (1800 sekund = 30 minut) przez router, który je wygenerował.

31/35Co decyduje o wyborze drogi? Koszt (Cost)

Metryka OSPF oparta na przepustowości

W OSPF nie liczy się liczba routerów po drodze, ale jakość "drogi". Metryką jest Koszt (Cost). Oblicza się go prostym wzorem: dzieli się stałą wartość (referencyjną) przez prędkość łącza. Oznacza to, że im szybszy kabel, tym mniejszy ma koszt, a OSPF zawsze wybiera ścieżkę o najmniejszej sumie kosztów.

To bardzo logiczne: router woli wysłać dane dłuższą drogą przez trzy szybkie światłowody niż krótką drogą przez jeden wolny kabel telefoniczny. Dzięki temu OSPF naturalnie dąży do maksymalnego wykorzystania najszybszej dostępnej infrastruktury w firmie.

Metryka OSPF: Koszt (Cost)

Wzór na koszt OSPF: Cost = Reference Bandwidth / Interface Bandwidth. Domyślna Reference Bandwidth w Cisco IOS wynosi 100 Mbps (100 000 000 bps). Oznacza to:
Łącze 10 Mbps: 100 / 10 = 10
Łącze 100 Mbps: 100 / 100 = 1
Łącze 1 Gbps: 100 / 1000 = 0.1 → zaokrąglane do 1
Łącze 10 Gbps: 100 / 10000 = 0.01 → również zaokrąglane do 1

Widzimy problem: przy domyślnej Reference Bandwidth łącza 1 Gbps i 10 Gbps mają ten sam koszt (1). Dlatego w nowoczesnych sieciach zmienia się Reference Bandwidth na wyższą wartość, np. auto-cost reference-bandwidth 10000 (10 Gbps) lub auto-cost reference-bandwidth 100000 (100 Gbps). Po zmianie koszt 1 Gbps = 10, a 10 Gbps = 1, co pozwala OSPF prawidłowo rozróżniać szybkości łączy.

32/35Pułapka domyślnych ustawień kosztu

Problem domyślnej Reference Bandwidth

Domyślna wartość referencyjna w OSPF to 100 Mb/s. Została ona ustalona w czasach, gdy 100 mega było szczytem technologii. Problem w tym, że przy takich ustawieniach kabel 100 Mb/s, 1 Gb/s i 10 Gb/s dostają taką samą ocenę — koszt 1. Dla routera są więc identyczne.

W nowoczesnych sieciach administrator musi koniecznie zmienić tzw. Reference Bandwidth. Podnosząc tę wartość na wszystkich urządzeniach, przywracamy routerom zdolność rozróżniania między "szybkim" a "superszybkim" łączem, co jest kluczowe dla poprawnego kierowania ruchem w nowoczesnych centrach danych.

Zmiana domyślnego kosztu OSPF

W Cisco IOS komenda do zmiany Reference Bandwidth: router ospf 1auto-cost reference-bandwidth 10000 (czyli 10 Gbps). Po tej zmianie koszty wynoszą:
Łącze 10 Mbps: 10000 / 10 = 1000
Łącze 100 Mbps: 10000 / 100 = 100
Łącze 1 Gbps: 10000 / 1000 = 10
Łącze 10 Gbps: 10000 / 10000 = 1

Można też ręcznie ustawić koszt na interfejsie poleceniem: interface GigabitEthernet0/1ip ospf cost 50. Jest to przydatne, gdy chcemy wpłynąć na wybór ścieżki przez OSPF bez zmiany fizycznej przepustowości łącza. Ważne: Reference Bandwidth musi być taka sama na wszystkich routerach w domenie OSPF, aby uniknąć asymetrii w trasowaniu.

33/35Porządkowanie gigantów: obszary (areas)

Hierarchiczna struktura OSPF

W ogromnych sieciach (tysiące routerów) jedna wspólna mapa byłaby za ciężka do przetworzenia. Dlatego OSPF pozwala na podział sieci na obszary (areas). To jak dzielenie państwa na województwa — każdy router musi znać na pamięć tylko mapę swojego województwa. O reszcie kraju wie tylko tyle, w którą stronę jechać.

Podział ten radykalnie przyspiesza pracę routerów — mniejsza mapa to szybsze obliczenia i mniejsze ryzyko, że awaria w jednym biurze spowoduje "przeliczanie wszystkiego" na drugim końcu świata. To fundament budowania sieci o zasięgu globalnym.

Wprowadzenie do Obszarów OSPF (Areas)

Numery obszarów OSPF (Area ID) są 32-bitowe i mogą być zapisywane w notacji dziesiętnej (np. 0, 1, 2) lub w notacji adresu IP (np. 0.0.0.0, 0.0.0.1). Area 0 (lub 0.0.0.0) jest obszarem szkieletowym (backbone) — wszystkie inne obszary muszą być do niego podłączone.

Korzyści z podziału na obszary: (1) Mniejsza LSDB w każdym obszarze — mniej pamięci i CPU. (2) Szybsza konwergencja — zmiana w jednym obszarze nie wymaga przeliczania SPF w innych. (3) Ograniczenie floodingu LSA — LSA typu 1 i 2 nie wychodzą poza swój obszar. (4) Możliwość stosowania route summarization na ABR (Area Border Router) — agregacja tras z obszaru przed wysłaniem do Area 0.

34/35Serce sieci: obszar zerowy (area 0)

Backbone Area jako centralny punkt łączności

W OSPF istnieje jeden specjalny obszar: Area 0, zwany obszarem szkieletowym (backbone). Jest to obowiązkowe centrum dowodzenia. Każdy inny obszar (np. Area 10, Area 20) musi być fizycznie lub logicznie podłączony bezpośrednio do Area 0.

Cały ruch między różnymi obszarami musi przejść przez to "rondo centralne". Taki projekt gwiazdy gwarantuje, że w sieci nigdy nie powstaną pętle routingu międzystrefowego. Area 0 to najpilniej strzeżona i najlepiej zaprojektowana część każdej dużej sieci korporacyjnej.

Obszar zerowy (Backbone Area 0)

Obowiązkowa obecność Area 0 i zasada podłączenia wszystkich innych obszarów do niego wynikają z konstrukcji algorytmu OSPF. Routery ABR (Area Border Router) mają interfejsy w dwóch lub więcej obszarach, z czego przynajmniej jeden musi być Area 0. ABR propaguje LSA typu 3 (Summary LSA) między obszarami, umożliwiając komunikację między różnymi częściami sieci.

Jeśli z jakiegoś powodu nie można fizycznie podłączyć obszaru do Area 0, można użyć Virtual Link — tunelu OSPF przez inny obszar, który łączy odległy obszar z backboneiem. Virtual Link to jednak rozwiązanie tymczasowe, które komplikuje sieć i powinno być unikane w stabilnych projektach. W razie problemów lepiej przeprojektować topologię.

35/35Obszary Standardowe i Routery ABR

Standard Areas i Area Border Routers

Wszystkie obszary poza zerowym nazywamy standardowymi. Routery wewnątrz nich żyją w błogiej nieświadomości szczegółów reszty świata — wiedzą wszystko o swoich sąsiadach, ale o innych sieciach dowiadują się od specjalnych wysłanników: routerów ABR (Area Border Router).

ABR to router, który stoi "rozkrokiem" między dwoma obszarami (np. 0 i 10). To on decyduje, jakie informacje o trasach przekazać dalej i dba o to, aby lokalne problemy w Area 10 nie zakłócały spokoju w reszcie firmy. Dzięki ABR cała sieć OSPF staje się modularna, elegancka i niezwykle odporna na błędy.

Standardowe obszary (Standard Areas)

Oprócz standardowych obszarów, OSPF oferuje specjalne typy obszarów do dalszej optymalizacji:
Stub Area — nie przyjmuje LSA typu 5 (trasy zewnętrzne). Zamiast tego ABR wstawia trasę domyślną (0.0.0.0/0).
Totally Stubby Area (Cisco proprietary) — nie przyjmuje LSA typu 3, 4 i 5. Tylko trasa domyślna z ABR.
Not-So-Stubby Area (NSSA) — może importować trasy zewnętrzne (redystrybucja), ale tylko jako LSA typu 7 (konwertowane na typ 5 przez ABR).

Routery ABR odgrywają kluczową rolę w filtrowaniu i agregacji tras między obszarami. Domyślnie ABR wysyła do innych obszarów wszystkie LSA typu 3 (szczegółowe trasy z każdej podsieci). Administrator może włączyć route summarization na ABR poleceniem area 10 range 10.1.0.0 255.255.252.0, co agreguje wiele małych podsieci w jedną większą trasę, redukując rozmiar LSDB w innych obszarach.