
Směrování v TCP/IP sítích - I.
Další z aspektů, důležitých pro pochopení celkové filosofie soustavy protokolů TCP/IP, je otázka směrování ve vzájemně propojených sítích. Z ní jsme si něco naznačili již ve 44. dílu našeho seriálu, nyní se však touto problematikou budeme zabývat podrobněji.
![]() |
Každá brána je vždy připojena nejméně do dvou dílčích sítí, a slouží pouze potřebám směrování (a nikoli k provozování uživatelských aplikací). Tím se brány odlišují od druhého typu uzlů, které naopak slouží především k provozování aplikačních programů, a které se v terminologii TCP/IP označují jako hostitelské počítače (hosts, host computers). Také hostitelské počítače však mohou být připojeny do dvou či více dílčích sítí současně (pak jde o tzv. multi-homed hosts), a mohou tedy fungovat i jako brány. Přestože se toto řešení v praxi občas používá (hlavně v akademickém prostředí), není vždy bezproblémové. Filosofie TCP/IP však velmi ostře rozlišuje mezi hostitelským počítačem a bránou, a proto i my se přidržíme představy dvou fyzicky různých zařízení.
Přímé a nepřímé směrování
Obecně lze říci, že na směrování jakožto rozhodování o tom, kudy dále poslat datový paket, se podílí oba druhy uzlů TCP/IP sítí, tedy jak brány, tak i hostitelské počítače. Záměr je ovšem takový, aby se hostitelské počítače zabývaly směrováním jen v minimální možné míře, a maximum práce na tomto poli přenechaly bránám.
![]() |
![]() |
Volba mezi více bránami
Vzhledem k tomu, že vzájemně propojené sítě tvoří souvislý celek, musí být v každé dílčí síti vždy alespoň jedna brána. Nemusí ovšem být zdaleka jen jedna. Představme si jednoduchý příklad na obrázku 46.4., kde má hostitelský počítač A na výběr dvě brány, G1 a G2. Každá z nich by sice měla být schopna doručit IP datagram kamkoli je třeba, ale žádná z nich nebude zřejmě optimální pro všechny možné cíle - k některým vede kratší cesta přes bránu G1, k jiným zase přes bránu G2. Znalost toho, kdy je výhodnější poslat datagram bráně G1 a kdy bráně G2, by ale měl mít již hostitelský počítač A. Je samozřejmě možné, aby tento hostitelský počítač měl potřebné informace "pevně zabudovány" ve svých konfiguračních souborech, podle nichž si pak vytváří své směrovací tabulky. Ve vzájemně propojených sítích malého rozsahu a s minimem dynamických změn to je rozumné řešení, v případě větších a častěji se měnících konglomerátů sítí již nikoli. Zde již je nutný jiný mechanismus, umožňující provádět dynamickou aktualizaci směrovacích tabulek hostitelských počítačů podle okamžité situace.
![]() |
Právě naznačený mechanismus má jeden velmi příjemný efekt - jednotlivé hostitelské počítače vystačí na počátku (tj. při svém spuštění) se znalostí jedné jediné brány ve "své" dílčí síti. Další brány se pak "naučí" používat díky právě popsanému mechanismu. Ten je v praxi zajišťován prostřednictvím protokolu ICMP (Internet Control Message Protocol), který je povinnou součástí protokolu IP, a slouží obecně pro předávání řídících informací a zpráv o chybách a nestandardních situacích.
Připomeňme si však ještě jednu významnou skutečnost, kterou jsme si uvedli již ve 44. dílu našeho seriálu - kvůli minimalizaci rozsahu směrovacích tabulek je veškeré směrování v TCP/IP sítích založeno jen na dílčích sítích jako takových, a nikoli na jednotlivých hostitelských počítačích (přesněji: na té části IP adres, které představují adresy dílčích sítí). V našem konkrétním případě, odpovídajícím obrázku 46.4., to znamená, že hostitelský počítač A si ve svých směrovacích tabulkách bude pamatovat pouze to, že nejvýhodnější cesta do sítě Y vede přes bránu G2, a nikoli že k hostitelskému počítači C se dostane nejlépe přes bránu G2.