Směrovací tabulka
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.