Do tej pory rozważania o sieci dotyczyły głównie komunikacji w obrębie sieci lokalnej. Tam sprawa jest dość prosta: host sprawdza, czy odbiorca znajduje się w tej samej podsieci, ustala jego adres MAC i wysyła ramkę bezpośrednio do celu. Problem zaczyna się wtedy, gdy urządzenie docelowe znajduje się w innej sieci. Wtedy pakiet nie może zostać dostarczony bezpośrednio i musi przejść przez urządzenie pośredniczące, czyli router.
Na pierwszy rzut oka może to wyglądać prawie magicznie. Wysyłasz dane z laptopa w domu, a po chwili trafiają one na serwer albo komputer w zupełnie innej sieci, czasem nawet na drugim końcu świata. Ale po drodze nie dzieje się żadna magia. To po prostu dobrze zorganizowany proces podejmowania decyzji o tym, którędy pakiet ma zostać wysłany dalej. I właśnie tym zajmuje się routing. W tym artykule poznasz podstawy routingu.
Czym jest Routing ?

Routing to proces kierowania ruchem pomiędzy sieciami. Polega na wybraniu najlepszej ścieżki dla pakietów danych, które są przesyłane od jednego urządzenia do drugiego. Jeśli host docelowy nie znajduje się w tej samej sieci lokalnej, pakiet musi zostać przekazany do routera, a router podejmuje decyzję, gdzie wysłać go dalej. Właśnie ta decyzja jest sednem routingu.
Jak to więc wygląda w praktyce?
Załóżmy, że wysyłasz dane z laptopa w swojej domowej sieci do urządzenia znajdującego się w zupełnie innej sieci. Twój komputer najpierw sprawdza, czy adres docelowy należy do tej samej podsieci. Jeśli nie, uznaje, że nie może dostarczyć pakietu bezpośrednio. Wtedy wysyła go do bramy domyślnej, czyli najczęściej do domowego routera. To pierwszy krok poza lokalną siecią.
Gdy router otrzyma pakiet, analizuje jego docelowy adres IP. Następnie sprawdza w swojej tablicy routingu, którędy najlepiej wysłać go dalej. Jeśli zna dokładną trasę do tej sieci, kieruje pakiet do odpowiedniego kolejnego routera albo bezpośrednio do sieci docelowej. Jeśli nie ma bardziej szczegółowego wpisu, może użyć trasy domyślnej, czyli takiego “planu awaryjnego” dla ruchu do nieznanych sieci.
W praktyce pakiet bardzo rzadko trafia do celu po jednym przeskoku, chyba że mówimy o bardzo małej i prostej infrastrukturze. Zwykle po drodze napotyka kolejne routery. Każdy z nich wykonuje podobną operację: sprawdza adres docelowy, porównuje go z własną tablicą routingu i wysyła pakiet dalej. To oznacza, że routing nie jest jedną decyzją podjętą na początku drogi, ale serią decyzji podejmowanych po drodze przez kolejne routery.
Gdy pakiet w końcu dotrze do routera, który jest bezpośrednio podłączony do sieci docelowej, ten może już dostarczyć go do urządzenia końcowego. Na tym etapie router zna lokalną sieć, więc może rozwiązać adres IP odbiorcy na odpowiedni adres MAC i przekazać ramkę do właściwego hosta. Czyli na końcu drogi znowu wracamy do lokalnej komunikacji w obrębie jednej sieci.
Czym jest tablica routingu ?
Wspomnieliśmy już kilka razy o tablicy routingu, więc teraz warto dokładnie wyjaśnić, czym ona jest. Tablica routingu to zestaw wpisów przechowujących informacje o tym, jak dotrzeć do poszczególnych sieci. Router korzysta z niej przy podejmowaniu decyzji, którędy wysłać pakiet dalej. Można ją traktować jak mapę dróg, z której router korzysta przy każdym pakiecie. Na urządzeniach Cisco tablicę routingu można wyświetlić poleceniem: show ip route

Co widać w tablicy routingu?
Wpisy w tablicy routingu są zwykle oznaczane literami, które informują, skąd dana trasa pochodzi. Przykładowo:
- C – sieć bezpośrednio połączona
- L – adres lokalny przypisany do interfejsu
- S – trasa statyczna
- R – trasa poznana przez RIP
- O – trasa poznana przez OSPF
- D – trasa poznana przez EIGRP
- B – trasa poznana przez BGP
Dalej widzimy sieć docelową, czyli do jakiego zakresu adresów odnosi się dany wpis. To bardzo ważne, bo router nie wybiera trasy na podstawie pojedynczego hosta, tylko na podstawie sieci, do której należy adres docelowy.
Kolejnym elementem wpisu może być dystans administracyjny i metryka. O tych dwóch wartościach opowiemy szerzej za chwilę, bo mają ogromne znaczenie przy wyborze najlepszej trasy. Na końcu zwykle widzimy następny przeskok (czyli router, do którego pakiet ma zostać wysłany dalej) albo interfejs wyjściowy, którym ruch powinien opuścić urządzenie.
Jakie typy tras przechowuje tablica routingu?
Tablica routingu zwykle zawiera trzy podstawowe rodzaje tras:
Sieci bezpośrednio połączone
Takie wpisy pojawiają się automatycznie, gdy interfejs routera dostanie adres IP i zostanie aktywowany. Jeśli router ma interfejs w sieci 192.168.1.0/24, to od razu wie, że ta sieć jest osiągalna bezpośrednio przez ten interfejs. Nie trzeba dodawać takiej trasy ręcznie. To najbardziej podstawowy typ wpisu w tabeli.
Sieci zdalne
To sieci, do których router nie jest podłączony bezpośrednio. Żeby się do nich dostać, musi wysłać ruch do innego routera. Takie wpisy mogą zostać dodane ręcznie przez administratora jako trasy statyczne albo automatycznie dzięki protokołom routingu dynamicznego. W praktyce właśnie te wpisy stanowią “prawdziwą treść” routingu między sieciami.
Trasa domyślna
Trasa domyślna jest używana wtedy, gdy w tablicy routingu nie ma bardziej szczegółowego dopasowania. W IPv4 zapisuje się ją jako:
0.0.0.0/0
W IPv6 odpowiednikiem jest:
::/0
To taka “ostatnia deska ratunku” dla pakietu. Jeśli router nie zna dokładniejszej drogi, może użyć właśnie tej trasy.
Trasy statyczne i dynamiczne
Wpisy w tablicy routingu mogą zostać dodane na dwa główne sposoby: statycznie albo dynamicznie.
Trasy statyczne
Trasy statyczne są konfigurowane ręcznie przez administratora. Nie zmieniają się same i nie aktualizują się automatycznie po zmianie topologii. To daje dużą kontrolę, ale oznacza też więcej pracy. W małych sieciach takie podejście potrafi być bardzo wygodne i przejrzyste. W dużych środowiskach ręczne zarządzanie wszystkimi trasami szybko staje się męczące i podatne na błędy.
Trasy dynamiczne
Trasy dynamiczne są poznawane przez router dzięki protokołom routingu dynamicznego. Routery wymieniają się informacjami o sieciach i na tej podstawie aktualizują swoje tabele routingu. Jeśli topologia się zmieni, protokół routingu może sam przeliczyć nowe ścieżki. To bardzo ważne w większych sieciach, gdzie ręczne zarządzanie trasami byłoby zbyt uciążliwe.
Jak router wybiera najlepszą trasę?
To jedno z najważniejszych pytań w routingu. Router może znać wiele tras do różnych sieci, a czasem nawet kilka tras do tej samej sieci. Musi więc zdecydować, którą z nich wybrać. I nie robi tego losowo. W praktyce obowiązuje tu kilka bardzo konkretnych zasad.
Najbardziej szczegółowa trasa
Najpierw router wybiera najbardziej szczegółowe dopasowanie, czyli trasę z najdłuższym prefiksem. To tak zwana zasada longest prefix match. Jeśli jedna trasa mówi o całej sieci 10.0.0.0/8, a druga o podsieci 10.1.1.0/24, to dla adresu 10.1.1.50 wygra trasa /24, bo jest bardziej szczegółowa.
Najniższy dystans administracyjny
Jeśli do tej samej sieci istnieją dwie trasy o tym samym prefiksie, router patrzy na dystans administracyjny. To wartość mówiąca, jak bardzo router ufa źródłu danej trasy. Im niższa wartość, tym większe zaufanie.
Na przykład trasa statyczna zwykle ma niższy dystans administracyjny niż trasa poznana przez dynamiczny protokół routingu. Oznacza to, że jeśli obie prowadzą do tego samego celu, router zwykle wybierze trasę statyczną.
Najniższa metryka
Jeśli dwie trasy pochodzą z tego samego źródła albo mają ten sam dystans administracyjny, router patrzy na metrykę. Metryka to koszt danej trasy, liczony w sposób zależny od protokołu routingu. W jednym protokole może to być liczba przeskoków, w innym przepustowość, koszt łącza albo kombinacja kilku parametrów.
Czyli w dużym skrócie:
- najpierw najbardziej szczegółowy prefiks
- potem najniższy dystans administracyjny
- na końcu najniższa metryka
Dystans administracyjny i metryka – czym się różnią?
Początkującym bardzo często mylą się te dwa pojęcia, bo oba dotyczą “wyboru lepszej trasy”. Różnica jest jednak istotna.
Dystans administracyjny
Dystans administracyjny mówi, jak bardzo router ufa źródłu trasy. Im niższa wartość, tym większe zaufanie.
- trasa statyczna zwykle ma dystans 1
- OSPF zwykle ma 110
- RIP zwykle ma 120
Jeśli więc router zna dwie trasy do tej samej sieci – jedną statyczną i jedną z RIP -najczęściej wybierze trasę statyczną, bo jej dystans administracyjny jest niższy. Poniższa tabela przedstawia domyślne wartości dystansu administracyjnego na routerach Cisco.

Metryka
Metryka działa dopiero wtedy, gdy router porównuje trasy pochodzące z tego samego źródła albo mające ten sam poziom zaufania. Mówi ona, która droga jest lepsza według zasad danego protokołu. I tutaj ważna rzecz: metryka nie jest uniwersalna. Każdy protokół liczy ją trochę inaczej.
- w RIP metryką jest liczba przeskoków
- w OSPF metryka opiera się na koszcie
- w EIGRP bierze się pod uwagę więcej parametrów, między innymi opóźnienie i przepustowość
Protokoły routingu dynamicznego
Jak wspomnieliśmy wcześniej, trasy mogą być dodawane dynamicznie dzięki protokołom routingu. Ich zadaniem jest umożliwienie routerom wymiany informacji o sieci i wyznaczania najlepszych ścieżek.
Protokoły routingu dynamicznego można podzielić na trzy typy:
- protokoły wektora odległości
- protokoły stanu łącza
- oraz warto wspomnieć osobno o BGP, które należy do rodziny path vector
Protokoły wektora odległości
Protokoły wektora odległości przekazują informacje o trasach sąsiednim routerom i zwykle operują na pojęciu odległości do celu. Protokoły te mierzą odległość na podstawie liczby przeskoków, które dane muszą przejść, aby dotrzeć do celu. Liczba przeskoków to zasadniczo liczba routerów potrzebnych do dotarcia do miejsca docelowego. Protokołami wektora odległości są protokoły: RIP, EIGRP.
Protokoły stanu łącza
Protokoły te mają inne podejście do znajdowania najlepszej ścieżki routingu, ponieważ nie wysyłają tablic routingu, zamiast tego routery powiadamiają się nawzajem o wykryciu zmian trasy. Trasa jest obliczana na podstawie długości ścieżki do miejsca docelowego i kosztu zasobów.
Najważniejszym przykładem jest OSPF. To bardzo popularny protokół routingu wewnętrznego, używany w większych sieciach. OSPF korzysta z komunikatów LSA (Link-State Advertisement), które informują inne routery o zmianach w topologii. Dzięki temu routery mogą szybko reagować na zmiany i przeliczać trasy. Protokołami stanu łącza są protokoły: OSPF, IS-IS.
BGP
Ten protokół warto potraktować trochę osobno, bo nie jest po prostu kolejnym “zwykłym protokołem wewnętrznym” jak RIP czy OSPF. To protokół typu path vector, powszechnie używany pomiędzy operatorami i dużymi autonomicznymi systemami w internecie. W praktyce to właśnie BGP odpowiada za wymianę tras pomiędzy ogromnymi częściami globalnej sieci.