Směrovací tabulka

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

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).

Charakteristika[editovat | editovat zdroj]

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 doména 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.

Centralizované směrování[editovat | editovat zdroj]

Centralizované směrování funguje tak, že všechny routery posílají informace o stavu síťového okolí do jeho centra. Toto centrum na základě těchto informací vytvoří mapu sítě, vypočítá směrovací tabulky a ty rozešle nazpět routerům. Výhodou toho způsobu je jeho jednoduchost a díky kompletní mapy sítě schopnost určit globálně optimální tabulky. Centralizovaný způsob směrování ovšem příliš velké uplatnění nenašel. Jeho nevýhodou je velké zatížení centra a síť je pak omezena svou velikostí. Dalším problémem je špatná synchronizace tabulek. Uzly, které jsou k centru blíže, dostanou tabulku dříve, než ty vzdálenější.

Izolované směrování[editovat | editovat zdroj]

Izolované směrování je postaveno na individualismu. Žádné síťové zařízení neposílá nikam žádné informace a router se rozhoduje zcela samostatně. Příkladem tohoto způsobu je záplavový algoritmus. Ten funguje tak, že příchozí router příchozí paket rozešle do všech směrů (kromě toho, ze kterého přišel). Tak vyzkouší všechny možnosti cesty a najde vždy tu nejkratší. Nevýhodou tohoto algoritmu je jeho nehospodárnost. Své využití najde hlavně v nadimenzovaných sítích nebo v případech, kdy je třeba rozšířit paket co nejrychleji po celé síti.

Směrovací protokoly[editovat | editovat zdroj]

RIP[editovat | editovat zdroj]

RIP (Routing Information Protocol) patří mezi nejstarší doposud používané IGP protokoly typu Distance Vector. Dodnes nachází uplatnění v malých sítích pro svou jednoduchost. Poprvé byl nasazen v roce 1968. Omezením protokolu je fakt, že je schopen fungovat v síti s maximálně 15 hopy (skoky, resp. směrovači v řadě za sebou). Zabrání tak routovacím smyčkám, ale zároveň je omezena velikost sítě. V tomto případě je 16 hopů bráno jako nekonečná vzdálenost a používá se pro označení nepřístupných tras. Routery využívající RIP protokol vysílají do sítě aktualizované tabulky každých 30 sekund. Moderní implementace protokolu navíc umožňují nastavení časových intervalů pro každý router zvlášť, aby směrovací tabulky nerozesílaly ve stejný okamžik a nedošlo pak k zahlcení sítě.

Existují tři verze protokolu. První verze (RIPv1) používá routing podle původních tříd IPv4 adres (A, B nebo C). Aktualizace tabulek neobsahují informace o masce sítě, což znemožňuje existenci různě velkých podsítí (nemá podporu v VLSM − Variable-Length Subnet Mask). Také zde neexistuje podpora pro vzdálenou autentizaci routerů a protokol je tedy snáze napadnutelný.

Problém první verze řeší RIPv2 vyvinutý v roce 1993. Zahrnuje možnost přenášet informace o masce sítě a má podporu pro vzájemnou autentizaci routerů. Tato autentizace ovšem stále není velmi bezpečná, hesla jsou přenášena v jednoduché textové (nehashované) podobně. Protokol je při správné konfiguraci kompatibilní s verzí RIPv1.

Třetí verze nazývá RIPng (RIP next generation). Jedná se o rozšíření RIPv2 s podporou IPv6 síťování.

Směrování IP datagramů[editovat | editovat zdroj]

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[editovat | editovat zdroj]

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.

Příklad: Microsoft Windows[editovat | editovat zdroj]

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é

Příklad: unixové systémy[editovat | editovat zdroj]

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[editovat | editovat zdroj]