Ruting (ang. routing)

Damian Stelmach

Kiedy dane przesyłane są pomiędzy hostami w sieci lokalnej to komunikacja między nimi odbywa się bez udziału urządzeń pośredniczących, wykorzystywane są oczywiście przełączniki, czyli switche, ale ich, szczególnie tych prostych, niezarządzanych przełączników, pracujących tylko w warstwie 2, nie nazywamy urządzeniami pośredniczącymi. W momencie, kiedy jednak nasz komputer chciałby wysłać dane do komputera z innej sieci, no to już takie urządzenie pośredniczące jest potrzebne. W sieci komputerowej urządzenie służące do przesyłania pakietów pomiędzy różnymi sieciami to ruter, natomiast proces określania trasy przesyłu pakietów nazywany jest procesem rutingu.

Rutery

Aby dany host był wstanie wysłać pakiet do hosta znajdującego się w innej sieci, w ramach swojej konfiguracji musi mieć zdefiniowany adres tak zwanej bramy domyślnej. Brama to interfejs rutera, bądź też serwera, który jest podłączony do tej samej sieci co host.

Brama domyślna

Konfiguracja bramy domyślnej na komputerach jest bardzo prosta, jeśli korzystasz z usługi DHCP, która przydziela automatycznie adresy IP, w ogóle nie musisz się tym przejmować, DHCP zrobi to za Ciebie, jeśli natomiast statycznie, ręcznie przydzielasz adresy komputerom w sieci, to w systemie Windows bramę domyślną skonfigurujesz, zmieniając ustawienia karty sieciowej:

Config DHCP

Jak widać, ten komputer korzysta z serwera DHCP, dlatego adres bramy jest tutaj niewidoczny. Można go sprawdzić używając konsoli Windows, należy w niej wykonać polecenie ipconfig. Wyświetli się wtedy konfiguracja IP komputera i można z niej odczytać adres bramy.

ipconfig gateway

Tablica rutingu

Każdy host w sieci, zarówno komputer, jak i ruter – przypominam, że interfejs rutera ma przypisany adres IP, tak więc również jest hostem w sieci, posiada tzw. tablicę rutingu, w której zapisywane są informację o trasach do sieci docelowych, zarówno tych podłączonych, jak i odległych. Przykładowa tablica rutingu, dla ruterów marki CISCO widoczna jest poniżej.

Tablica rutingu

Literką C oznaczone są sieci bezpośrednio połączone, czyli takie, do których ruter podłączony jest za pomocą medium transmisyjnego. Literka R, z kolei oznacza, że ruter otrzymał informację o tych sieciach od innych ruterów z wykorzystaniem protokołu RIP. Dzięki temu ruter jest wstanie wysłać pakiet do sieci, nawet jeśli nie jest do niej bezpośrednio podłączony.

Ruting w praktyce

Proces przesyłania danych

1. Komputer 1 chce wysłać jakieś dane do komputera 3.

2. Pakiet trafia najpierw do interfejsu rutera stanowiącego bramę dla komputera 1.

3. Ruter 1, sprawdza w nagłówku pakietu adres IP hosta docelowego i porównuje go ze wpisami w swojej tablicy rutingu.

Trasa do sieci docelowej

Ruter 1 ma wpisaną trasę do sieci docelowej, która przechodzi przez interfejs rutera 2

4. Ruter 1 wysyła pakiet do rutera 2, będący następnym skokiem na trasie (ang. next hop).

5. Teraz ruter 2 odczytuje pakiet, i sprawdza w swojej tablicy rutingu czy ma trasę do sieci, do której ma zostać wysłany pakiet.

Trasa do sieci docelowej via 1

Ruter 2 ma wpisaną trasę do sieci docelowej, która przechodzi przez interfejs rutera 3

6. Ruter 2 przesyła pakiet do rutera 3.

7. Ruter 3 również odczytuje adres IP i sprawdza tablicę rutingu.

Sieć docelowa

Sieć docelowa, jest siecią bezpośrednio podłączoną rutera 3

8. Ruter 3 zatem przekazuje pakiet do hosta docelowego, czyli do komputera 3.

Protokoły rutingu

Na sam koniec kilka słów o tym, w jaki sposób rutery zdobywają informacje o trasach. Właściwie to sposoby na zdobycie tych informacji są dwa. Pierwszy sposób to ruting statyczny, a drugi to ruting dynamiczny. Zarówno jeden, jak i drugi ma swoje wady i zalety. W przypadku rutingu statycznego, tras statycznych, główną rolę odgrywa administrator sieci. To on odpowiedzialny jest za bieżącą aktualizację tras na ruterze, podobnie jak odpowiedzialny jest za statyczne przypisywanie adresów IP na komputerach użytkowników.

Zaletą stosowania tras statycznych jest ich niezawodność oraz znacznie mniejsze wykorzystanie mocy obliczeniowej ruterów, wymaganej do przetwarzania danych. Z drugiej jednak strony pojawia się kwestia stałego nadzoru administratora i ciągłego, ręcznego aktualizowania tras, bo musisz zdawać sobie sprawę, że w dobie błyskawicznego rozwoju nie tylko informatyki, ale technologii w ogóle, pojawianie się nowy tras, czy znikanie starych wcale nie jest rzadkością. Jeśli administrator nie będzie nadążał z aktualizacją tras, to w pewnym momencie może to skutkować sporymi opóźnieniami lub nawet utratą pakietów.

Po drugiej stronie rzeki mamy ruting dynamiczny i protokoły rutingu. Dzięki rutingowi dynamicznemu rutery mogą automatycznie uczyć się tras, zdobywają o nich informację od innych ruterów, bez ingerencji administratora. Oczywiście konieczna jest ich początkowa konfiguracja protokołów rutingu. Jest to wygodne rozwiązanie, gdyż zmiana topologii sieci czy pojawienie się nowy tras nie wymaga ręcznego ich uaktualniania. Oczywiście kij ma dwa końce i ta dynamiczność niesie za sobą również pewne problemy.

Ruting dynamiczny powoduje większe obciążenie ruterów związane z przetwarzaniem przez nie danych. Każda zmiana w tablicy wymaga wykonywania skomplikowanych obliczeń, dlatego też rutery muszą być wyposażone w sporą moc obliczeniową. Ponadto przesyłanie informacji o sieciach przez rutery powoduje obciążenie w sieci. Pomimo tych niedogodności, ruting dynamiczny jest chętnie stosowany przez administratorów, gdyż jest to zdecydowanie skuteczniejszy sposób na utrzymanie aktualnych informacji o trasach aniżeli ruting statyczny. Jednymi z najczęściej spotykanych protokołów ruting są protokoły RIP, w wersji 1 i 2, EIGRP oraz OSPF.

Ruting dynamiczny