Přeskočit na obsah

Směrovací tabulka

Z Wikipedie, otevřené encyklopedie
Soubor:Routing.gif
Routing

Směrovací tabulka (též routovací tabulka, anglicky routing table) je v informatice označení pro datovou strukturu uloženou v operační paměti počítače nebo routeru sloužící pro směrování dat procházejících počítačovou sítí. Obsahuje zjednodušený obraz topologie sítě, podle které systém rozhoduje, jak naložit s přijatým nebo odesílaným datagramem. Směrovací tabulka obsahuje záznamy odpovídající použitému síťovému protokolu (například TCP/IP, IPX/SPX a podobně). Pro protokoly TCP/IP je směrovací tabulka typicky implementována jako součást jádra operačního systému (tzv. TCP/IP stack).

Popis funkce

Směrovací tabulka je vytvářena při konfiguraci síťového subsystému (obvykle při startu počítače, avšak někdy i za jeho běhu). Záznamy ve směrovací tabulce mohou být statické (tj. nastavené pokaždé stejně) nebo dynamické (měnící se podle situace v počítačové síti). Statické záznamy vytváří správce počítače a jsou typicky uloženy na pevném disku. Dynamické záznamy zařazuje (i odebírá) z/do směrovací tabulky démon nějakého směrovacího protokolu (RIP, OSPF). Při zpracování datagramu je cílová adresa porovnána se záznamy ve směrovací tabulce. Při nalezení shody je podle daného záznamu datagram zpracován.

Směrování IP datagramů

IP datagramy jsou zpracovány podle záznamů ve směrovací tabulce, která je součástí implementace rodiny protokolů TCP/IP (tzv. TCP/IP stack je obvykle součástí jádra operačního systému).

Cílová IP adresa z datagramu, je postupně porovnávána s jednotlivými záznamy (řádky) ve směrovací tabulce, dokud není nalezena shoda. Záznamy v tabulce jsou seřazeny podle délky masky sítě, takže na začátku tabulky jsou uvedeny nejkonkrétnější záznamy (nejdelší maska, například 255.255.255.255, tj. největší počet jedniček binárního zápisu zleva) a na konci tabulky je uveden nejobecnější záznam (nejkratší maska, např. 0.0.0.0, viz dále). Toto uspořádání dovoluje vytvářet výjimky pro obecně zapsaná směrování (tj. výjimka z velké sítě pro malou podsíť), což významným způsobem redukuje počet záznamů ve směrovacích tabulkách (což je důležité zejména pro centrální směrovače v Internetu).

Při zpracování je nejprve pomocí logické funkce AND sloučena cílová IP adresa z porovnávaného datagramu s maskou sítě uvedenou v právě porovnávaném záznamu ve směrovací tabulce. Pokud je výsledek roven číslu sítě ve stejném záznamu ve směrovací tabulce, je nalezena shoda a tento řádek se použije pro směrování porovnávaného IP datagramu. Pokud shoda není, následuje porovnání s dalším řádkem tabulky. Poslední řádek tabulky typicky obsahuje tak zvanou implicitní bránu (anglicky default gateway, která slouží ke směrování všech datagramů, pro které v tabulce není uveden záznam, a proto je označen jako síť 0.0.0.0 s maskou 0.0.0.0, takže pro jakoukoliv cílovou IP adresu dojde ke shodě. Tento záznam zpravidla odkazuje na router (resp. směrovač), který odděluje počítač od zbytku Internetu.

Obsah tabulky

Každá směrovací tabulka musí obsahovat několik základních informací, které jsou při zpracování IP datagramů potřeba:

Cíl v síti (Adresát)
Za cíl je považována adresa podsítě, cílového počítače nebo implicitní (resp. výchozí) trasa (tj. adresa routeru, za kterým je typicky zbytek Internetu). Hodnota cíle se pohybuje v intervalu od IP adresy 0.0.0.0 (implicitní brána) do 255.255.255.255 (lokální broadcast). Společně s maskou sítě se cíl používá k porovnávání s cílovou IP adresou z datagramu, který je se záznamy v tabulce porovnáván.
Síťová maska
Maska sítě slouží pro určení rozsahu IP adres, pro které záznam v tabulce platí.
Brána
Hodnota brány udává IP adresu nejbližšího routeru (směrovače), na který mají být datagramy předávány.
Rozhraní
Rozhraní je podle daného systému buď symbolické označení síťového rozhraní (např. eth0) nebo IP adresa síťového rozhraní v místním počítači (tj. síťová karta), která má být použita pro předání IP datagramu.
Metrika
Vyjádření relativní ceny při použití dané trasy pro přenos dat k danému cíli. Obvykle bývá metrikou počet směrování – počet směrovačů na dané trase. Pokud je pro daný cíl k dispozici více jak jedna trasa a mají různé hodnoty metriky, použije se trasa s nejnižší hodnotou.
Protokol
Údaj u protokolu uvádí, jak byly informace o trase získány. Nachází-li se ve sloupci Protokol hodnota RIP, OSPF nebo libovolná jiná hodnota než pojem Místní, směrovač získává potřebné informace o trasách skrze směrovací protokoly.

Microsoft Windows

V operačních systémech) Windows NT je možné směrovací tabulku vypsat zadáním následujícího příkazu do terminálu:

route print

Po správném zadání by se vám mělo objevit podobně strukturovaný výpis:

===========================================================================
===========================================================================
Aktivní směrování:
       Cíl v síti     Síťová maska            Brána        Rozhraní  Metrika
          0.0.0.0          0.0.0.0       10.0.0.138        10.0.0.1       25
         10.0.0.0    255.255.255.0         10.0.0.1        10.0.0.1       25
         10.0.0.1  255.255.255.255        127.0.0.1       127.0.0.1       25
   10.255.255.255  255.255.255.255         10.0.0.1        10.0.0.1       25
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
     192.168.56.0    255.255.255.0     192.168.56.1    192.168.56.1       20
     192.168.56.1  255.255.255.255        127.0.0.1       127.0.0.1       20
   192.168.56.255  255.255.255.255     192.168.56.1    192.168.56.1       20
        224.0.0.0        240.0.0.0         10.0.0.1        10.0.0.1       25
        224.0.0.0        240.0.0.0     192.168.56.1    192.168.56.1       20
  255.255.255.255  255.255.255.255         10.0.0.1        10.0.0.1       1
  255.255.255.255  255.255.255.255     192.168.56.1    192.168.56.1       1
  255.255.255.255  255.255.255.255     192.168.56.1           10005       1
Výchozí brána:        10.0.0.138
===========================================================================
Trvalé trasy:
  Žádné

Unixové systémy

V unixových systémech (např. Linux) je možné směrovací tabulku vypsat příkazem route -n (přepínač -n slouží k potlačení převodu IP adres na doménová jména). Řádky výstupu jsou ve výstupu tohoto unixového příkazu vždy seřazeny podle délky síťové masky (nejprve nejdelší maska), protože ve stejném pořadí jsou řádky zpracovávány i síťovým subsystémem jádra (tzv. TCP/IP stack). Výstupem příkazu bude pro koncovou stanici bude v nejjednodušším případě zhruba následující výstup:

$ route -n
Směrovací tabulka v jádru pro IP
Adresát         Brána           Maska           Přízn Metrik Odkaz  Užt Rozhraní
10.0.0.0        0.0.0.0         255.255.255.0   U     0      0        0 eth0
0.0.0.0         10.0.0.1        0.0.0.0         UG    0      0        0 eth0

Ve výše uvedené tabulce je na prvním řádku vlevo uvedeno číslo sítě, ve které se nachází počítač (10.0.0.0 s maskou sítě 255.255.255.0), přičemž vpravo je zapsáno, že se nachází za síťovým rozhraním eth0 (ethernetová síťová karta). Druhý řádek pak obsahuje implicitní cestu (anglicky default route, v příznacích je proto uvedeno písmeno G, v řádku je zapsána cílová síť 0.0.0.0 s maskou 0.0.0.0), která odkazuje na router (směrovač) s IP adresou 10.0.0.1.

Související články