Sieci komputerowe

Routing

Routing to wybór drogi, którą pakiet IP ma zostać przekazany do sieci docelowej. Ten materiał porządkuje bramę domyślną, tablicę routingu, next hop, trasy statyczne, longest prefix match, TTL i diagnostykę.

warstwa 3default gatewaynext hop0.0.0.0/0TTL

Decyzja

L3 / IP

Default IPv4

0.0.0.0/0

Wybór

Longest prefix

Ochrona

TTL

Warstwa 3

Routing — podstawy

Routing to proces wyboru drogi, którą pakiet IP ma zostać przekazany do sieci docelowej. Router działa przede wszystkim na warstwie 3 i podejmuje decyzję na podstawie adresu docelowego IP oraz tablicy routingu.

Adres MAC jest istotny przy dostarczeniu ramki w konkretnym segmencie L2. Sama decyzja routingu nie polega jednak na wyborze trasy według MAC, tylko według informacji L3.

01

Cel lokalny i cel zdalny

Host A 192.168.10.10/24 oblicza, że jego sieć lokalna to 192.168.10.0/24. Cel 192.168.10.20 należy do tej samej sieci, więc Host A nie wysyła pakietu do bramy. Potrzebuje adresu MAC Host B, np. uzyskanego przez ARP.

Gdy celem jest 192.168.20.20, host rozpoznaje, że cel nie należy do 192.168.10.0/24. Wysyła ramkę do MAC bramy 192.168.10.1, ale destination IP pakietu nadal pozostaje 192.168.20.20. Zwykły routing nie zmienia docelowego adresu IP; NAT będzie osobnym tematem.

Host lokalny nie wymaga bramy; do hosta w innej sieci potrzebny jest next hop lub default gateway.
02

Brama domyślna

Default Gateway, czyli brama domyślna, to router używany przez host, gdy host nie posiada bardziej szczegółowej trasy do sieci docelowej. Dla lokalnej sieci 192.168.10.0/24 host komunikuje się bezpośrednio. Dla innych sieci wykorzystuje bramę zgodnie z tablicą routingu.

Host: 192.168.10.10/24 Gateway: 192.168.10.1 Lokalnie: 192.168.10.0/24 Inne sieci → sprawdź tablicę routingu / gateway
Brama domyślna jest używana wtedy, gdy nie ma bardziej szczegółowej trasy do sieci docelowej.
03

Tablica routingu

Tabela: Destination / Prefix, Gateway / Next Hop, Interface, Znaczenie
Destination / PrefixGateway / Next HopInterfaceZnaczenie
192.168.10.0/24directly connectedeth0Sieć lokalna znana z konfiguracji interfejsu.
192.168.20.0/24192.168.10.1eth0Trasa do innej sieci przez next hop.
0.0.0.0/0192.168.10.1eth0Trasa domyślna IPv4.

Podstawowe pola tablicy to destination/prefix, gateway lub next hop, interface oraz metryka. Metryka pomaga przy wyborze między porównywalnymi trasami do tego samego prefixu, ale szczegółowe mechanizmy dynamicznego routingu są tematem bardziej zaawansowanym.

0.0.0.0/0 oznacza domyślną trasę IPv4, czyli najmniej szczegółowy wpis.

Trasy lokalne

Connected route

Sieć bezpośrednio podłączona jest znana routerowi lub hostowi na podstawie konfiguracji interfejsu. Interfejs 192.168.10.1/24 powoduje znajomość sieci 192.168.10.0/24 jako bezpośrednio osiągalnej.

Nie ma jednego uniwersalnego formatu wyświetlania tablicy routingu: rzeczywisty output zależy od systemu i konfiguracji.

04

Trasa statyczna i dwa routery

Static route to trasa skonfigurowana przez administratora. W topologii z LAN A i LAN B router R1 musi wiedzieć, że sieć 192.168.20.0/24 jest osiągalna przez next hop R2. R2 musi mieć drogę powrotną do 192.168.10.0/24.

Tabela: Segment, Sieć, Adresy
SegmentSiećAdresy
LAN A192.168.10.0/24Host A: 192.168.10.10, R1 LAN: 192.168.10.1
Łącze R1-R210.0.0.0/30R1 WAN: 10.0.0.1, R2 WAN: 10.0.0.2
LAN B192.168.20.0/24R2 LAN: 192.168.20.1, Host B: 192.168.20.20
Host A → R1 → R2 → Host B Host B → R2 → R1 → Host A
Routing musi działać w obie strony: ścieżka do celu i droga powrotna są równie ważne.

Kolejny krok

Next hop

Next hop to kolejny router, do którego pakiet powinien zostać przekazany na drodze do celu. Dla destination 192.168.20.0/24 next hop 10.0.0.2 oznacza kolejny router, a nie końcowego hosta docelowego.

Trasa domyślna

Default route

IPv4 0.0.0.0/0 jest trasą obejmującą wszystkie adresy IPv4, ale jest najmniej szczegółowa. Wpis 0.0.0.0/0 via 192.168.10.1 może oznaczać: jeżeli nie ma lepszej trasy, wyślij pakiet do 192.168.10.1.

05

Longest prefix match

Tabela: Prefix, Next hop, Dla 10.10.20.55
PrefixNext hopDla 10.10.20.55
10.0.0.0/8Router Apasuje
10.10.0.0/16Router Bpasuje
10.10.20.0/24Router Cpasuje i wygrywa
0.0.0.0/0Router Dpasuje jako default

Cel 10.10.20.55 pasuje do /8, /16, /24 i /0. Router wybiera 10.10.20.0/24, ponieważ jest to najdłuższy, czyli najbardziej szczegółowy pasujący prefix.

Najpierw wygrywa najbardziej szczegółowa pasująca trasa, a nie trasa dodana jako pierwsza.
06

TTL i traceroute

IPv4 TTL, czyli Time To Live, jest zmniejszany przez każdy router przekazujący pakiet. Gdy TTL osiągnie 0, pakiet nie jest dalej przekazywany, a router może zwrócić ICMP Time Exceeded. Mechanizm ogranicza skutki pętli routingu.

Narzędzia traceroute i tracert wykorzystują kontrolowane wartości TTL lub Hop Limit oraz odpowiedzi pośrednich urządzeń, aby pomóc zobaczyć kolejne hopy. Konkretny rodzaj pakietów może zależeć od systemu i opcji.

Windows: tracert example.com Linux: traceroute example.com
TTL nie jest tu czasem w sekundach; routery zmniejszają wartość TTL podczas przekazywania pakietu.

Procedura

Proces decyzji hosta

  1. 1. Host zna destination IP.
  2. 2. Sprawdza tablicę routingu.
  3. 3. Szuka najlepiej pasującej trasy.
  4. 4. Jeżeli cel jest lokalny, wysyła bezpośrednio.
  5. 5. Jeżeli trasa wskazuje next hop, wysyła ramkę do next hop.
  6. 6. Jeżeli pasuje tylko default route, używa bramy domyślnej.
  7. 7. Jeżeli nie ma pasującej trasy, komunikacja nie może zostać prawidłowo skierowana.

Linux

Przykład ip route

default via 192.168.10.1 dev eth0 192.168.10.0/24 dev eth0 src 192.168.10.10

default oznacza trasę domyślną, via wskazuje next hop, dev oznacza interfejs, a src preferowany adres źródłowy w tym przykładzie. Rzeczywisty output zależy od systemu i konfiguracji.

07

Diagnostyka routingu

Tabela: Windows, Zastosowanie
WindowsZastosowanie
ipconfigKonfiguracja interfejsów i gateway.
route printTablica routingu systemu Windows.
ping 192.168.10.1Podstawowy test osiągalności bramy.
tracert 192.0.2.10Pomoc w obserwowaniu kolejnych hopów.
Tabela: Linux, Zastosowanie
LinuxZastosowanie
ip address showAdresy i stan interfejsów.
ip route showTablica routingu.
ip route get 192.0.2.10Planowana droga pakietu do konkretnego celu.
ping -c 4 192.168.10.1Test osiągalności bramy.
traceroute 192.0.2.10Śledzenie hopów, jeżeli narzędzie jest zainstalowane.

Nie zakładamy, że traceroute jest zawsze fabrycznie zainstalowany. Diagnostyka powinna łączyć konfigurację interfejsu, tablicę routingu, test bramy i śledzenie trasy.

ip route get może pokazać, jak system planuje skierować pakiet do konkretnego celu.

Praktyka

Scenariusz diagnostyczny

Dla hosta 192.168.10.10/24 z gateway 192.168.10.1 i celem 192.168.20.20 testuj od najbliższych elementów do dalszych.

Tabela: Test, Co weryfikuje
TestCo weryfikuje
ping 127.0.0.1Sprawdza podstawowe działanie stosu TCP/IP hosta.
ping własny adresSprawdza konfigurację adresu na interfejsie.
ping 192.168.10.1Sprawdza osiągalność bramy w lokalnym segmencie.
sprawdź tablicę routinguPotwierdza default route, trasy statyczne i interfejs wyjściowy.
ping 192.168.20.20Sprawdza osiągalność hosta w sieci zdalnej.
traceroute/tracert do celuPomaga zobaczyć, na którym hopie ścieżka się zatrzymuje.

Troubleshooting

Najczęstsze problemy routingu

  • - brak bramy domyślnej
  • - błędna brama
  • - błędna maska
  • - brak trasy do sieci
  • - brak trasy powrotnej
  • - błędny next hop
  • - interfejs down
  • - firewall
  • - błędny VLAN
  • - pętla routingu
  • - błędna trasa bardziej szczegółowa
  • - problem z ARP lub warstwą L2 na lokalnym segmencie

Ćwiczenia

Sprawdź samodzielnie

Odpowiedzi ukryte

Najpierw wykonaj obliczenia samodzielnie. Odpowiedzi rozwiń dopiero wtedy, gdy masz własny wynik.

Zadanie 1łatwyCzy 192.168.10.20/24 jest lokalne dla hosta 192.168.10.10/24?
Sprawdź odpowiedź: Tak. Oba adresy należą do sieci 192.168.10.0/24.
Zadanie 2łatwyCzy 192.168.20.20 jest lokalne dla hosta 192.168.10.10/24?
Sprawdź odpowiedź: Nie. Host użyje trasy do sieci zdalnej albo bramy domyślnej.
Zadanie 3średniDla jakiego IP host wykona ARP, gdy celem jest 192.168.20.20, a gateway to 192.168.10.1?
Sprawdź odpowiedź: Dla adresu bramy 192.168.10.1. Destination IP pakietu nadal pozostaje 192.168.20.20.
Zadanie 4łatwyCo oznacza 0.0.0.0/0?
Sprawdź odpowiedź: To domyślna trasa IPv4, pasująca do wszystkich adresów, ale najmniej szczegółowa.
Zadanie 5średniWskaż next hop dla trasy: 192.168.20.0/24 via 10.0.0.2.
Sprawdź odpowiedź: Next hop to 10.0.0.2, czyli kolejny router na drodze do sieci docelowej.
Zadanie 6średniWybierz trasę dla celu 10.10.20.55 z tabeli /8, /16, /24 i /0.
Sprawdź odpowiedź: Wygrywa 10.10.20.0/24, bo jest najbardziej szczegółowym pasującym prefixem.
Zadanie 7trudniejszyW topologii R1-R2 Host A widzi LAN B, ale Host B nie odpowiada. Co może brakować?
Sprawdź odpowiedź: Może brakować trasy powrotnej z R2/LAN B do 192.168.10.0/24 albo filtracja blokuje odpowiedź.
Zadanie 8średniZinterpretuj route print, w którym 0.0.0.0/0 wskazuje gateway 192.168.10.1.
Sprawdź odpowiedź: System używa 192.168.10.1 jako bramy domyślnej, gdy nie ma bardziej szczegółowej trasy.
Zadanie 9średniZinterpretuj ip route: default via 192.168.10.1 dev eth0.
Sprawdź odpowiedź: Default to trasa domyślna, via wskazuje next hop, a dev eth0 interfejs wyjściowy.
Zadanie 10trudniejszyCo pomaga wyjaśnić wynik traceroute z zatrzymaniem na drugim hopie?
Sprawdź odpowiedź: Może wskazywać problem za drugim routerem, filtrację odpowiedzi ICMP albo inną cechę implementacji. To wskazówka diagnostyczna, nie pełny dowód przyczyny.

Pytania kontrolne

Zatrzymaj się i odpowiedz

  1. 1Czym jest routing?
  2. 2Czym jest default gateway?
  3. 3Czym jest next hop?
  4. 4Czym jest connected route?
  5. 5Czym jest static route?
  6. 6Co oznacza 0.0.0.0/0?
  7. 7Czym jest longest prefix match?
  8. 8Do czego służy TTL w IPv4?