Vyšlo v týdeníku Computerworld č. 29/92 v roce 1992
Vytištěno z adresy: http://www.earchiv.cz/a92/a229c110.php3

Vzájemné propojování sítí - II.

V minulém dílu našeho seriálu jsme si naznačili, že počítačové sítě je možné vzájemně propojovat na různých úrovních vrstvového síťového modelu. Podrobněji jsme se pak zabývali opakovači (repeaters) a mosty (bridges), které realizují propojení na úrovni fyzické resp. linkové vrstvy. Dnes budeme pokračovat možnostmi propojování na vyšších úrovních.

Vraťme se však ještě na chvilku k mostům. Jak jsme si již uvedli, používají se tyto v lokálních sítích pro spojování jednotlivých segmentů, pracují na úrovni linkové vrstvy (přesněji: na úrovni podvrstvy MAC), a při své činnosti vychází pouze z fyzických adres skutečného odesilatele a příjemce jednotlivých rámců. Vlastní datový obsah jednotlivých rámců přitom nijak neinterpretují ani nemění. Tím jsou pro ně neviditelné veškeré informace, které do obsahu vlastního rámce zakódovaly protokoly vyšších vrstev, od síťové počínaje. Je jim ovšem také jedno, které konkrétní protokoly to byly. Jinými slovy: mosty jsou zcela transparentní pro protokoly vyšších vrstev. Dokáží tedy spolupracovat s jakýmikoli síťovými (a vyššími) protokoly, a přenášet jejich pakety bez toho, že by je jakkoli transformovaly či měnily. Jednotlivé segmenty, které jsou vzájemně propojeny prostřednictvím mostů, tvoří z pohledu síťové vrstvy (i všech vyšších) jediný logický celek, který má také jedinou společnou (síťovou) adresu.

Směrovač a jeho funkce

Jakmile však budeme požadovat, aby si jednotlivé segmenty lokálních zachovaly relativní samostatnost (například vlastní síťovou adresu, možnost samostatné správy apod.), nebo když potřebujeme vzájemně propojit lokální sítě různých typů, spojujeme-li dvě lokální sítě přes síť rozlehlou nebo vytváříme-li vzájemné propojení sítí se složitější topologií, musíme k tomu použít obecnější řešení, než jaké nabízí mosty. Potřebujeme propojovací zařízení, které již pracuje na úrovni síťové vrstvy, a nazývá se směrovač (router), viz obr. 40.1. a/. Teprve takovéto zařízení totiž "vnímá" vlastní obsah jednotlivých rámců (na úrovni linkové vrstvy), dokáže správně rozpoznat formát jednotlivých paketů, které jsou v rámcích přenášeny, a využít informace, které jsou v nich obsaženy.

Obrázek 40.1.
Obr. 40.1.: Představa směrovače (a/) a brány (b/)
Hlavní úkol směrovačů je vlastně shodný s úkolem síťové vrstvy - tedy postarat se o doručení paketů od jejich původního odesilatele až ke konečnému příjemci (viz 34. díl našeho seriálu). Směrovače tedy musí přijímat rozhodnutí o tom, kudy mají dále odeslat každý jednotlivý paket tak, aby se dostal ke svému cíli - tedy zajišťovat to, čemu se běžně říká směrování (routing). Musí nutně používat nějaký algoritmus směrování, na základě kterého svá rozhodnutí přijímají. Jak jsme si již také uvedli ve 34. dílu, může mít tento algoritmus a z něho vycházející směrování statickou povahu (tj. být nezávislé na okamžitém stavu sítě), nebo může mít naopak dynamickou povahu (a reagovat na průběžnou situaci). V tomto druhém případě, který je dnes nejčastější, pak ještě potřebuje vhodnou metodu resp. protokol, prostřednictvím kterého získává potřebné informace o stavu sítě.

Další charakteristickou odlišností směrovačů od mostů je to, že jsou pro ostatní entity na úrovni síťové a linkové vrstvy viditelné. Mají své adresy, a pakety, které jimi mají projít, jim jsou explicitně adresovány (zatímco mosty zachycují veškerý provoz v každém z připojených segmentů). Proto také směrovače zpracovávají méně rámců než mosty, ovšem jejich zpracování je zase o to náročnější.

Obrázek 40.2.
Obr. 40.2.: Příklad propojení lokálních sítí pomocí mostů a směrovačů
Je dobré si uvědomit, že pro funkci směrovače je nutné, aby vzájemně propojované sítě používaly stejný protokol na úrovni síťové vrstvy - podle něj totiž směrovač rozpoznává odesilatele i adresáta jednotlivých paketů, a rozhoduje o tom, kudy je dále odeslat. Není ovšem nutné, aby totéž platilo i na úrovni linkové a fyzické vrstvy. Zde se již konkrétní protokoly a přenosové technologie mohou lišit. Směrovače jsou dnes obvykle konstruovány tak, aby měly více různých rozhraní (tzv. portů), a bylo je možné vzájemně propojit například pomocí pevných okruhů, veřejných datových sítí, optických přenosových cest, a připojit k nim různé lokální sítě dle standardů IEEE 802 apod. Na obrázku 40.2. je pak dosti typický příklad možného propojení lokálních počítačových sítí ve čtyřech objektech (budovách). V rámci budov jsou jednotlivé segmenty připojeny na páteřní síť pomocí mostů, zatímco páteře jsou vzájemně spojeny prostřednictvím směrovačů (propojených optickým kabelem resp. pevným okruhem)

Multiprotokolové směrovače

Požadavek stejného (a tudíž jediného) protokolu v síťové vrstvě je ovšem velmi omezující, zvláště v dnešní době, kdy vedle sebe koexistuje celá řada soustav protokolů (kromě ISO/OSI též TCP/IP, SNA, DECnet, SPX/IPX a další), a uživatelé volají po jejich co nejtěsnější integraci v rámci tzv. heterogenních sítí (tj. sítí, jejichž uzly používají různé soustavy protokolů).

Problém heterogenních sítí lze řešit v principu dvěma způsoby - konverzí protokolů, a směrováním více protokolů současně. Řešení prostřednictvím konverzí se ukázalo být značně náročné a nespolehlivé, a proto se prosadila především druhá možnost. Přední výrobci dnes nabízí tzv. multiprotokolové směrovače (multiprotocol routers), schopné pracovat současně s více různými protokoly. Multiprotokolový směrovač musí být schopen rozpoznat typ paketu, který dostane od linkové vrstvy, a podle toho pak aplikovat ten směrovací algoritmus, který k příslušnému síťovému protokolu přísluší.

Brouter

V dnešní době, kdy dochází ke stále těsnějšímu propojování rozlehlých i lokálních sítí, je použití mostů i směrovačů velmi rozšířené. Rozhodnutí mezi tím, zda v určité situaci použít most či směrovač, nemusí být vždy okamžitě zřejmé, zvláště pak u lokálních sítí se složitější topologií a větším počtem používaných protokolů. V dnešní době však již existují také zařízení, která v sobě kombinují funkce obou těchto zařízení. V angličtině se pro jejich označení používá nejčastěji termín bridge/router, někdy též: brouter. Jde o zařízení, které se snaží fungovat jako směrovač, a teprve v okamžiku, kdy pro nějaký paket neumí aplikovat směrovací algoritmus, předá původní rámec dál tak, jako by to udělal most. Výhodou takovéhoto zařízení je pak i to, že se dokáže vyrovnat s takovými protokoly, které vůbec nelze směrovat (neboť nepočítají se síťovou vrstvou - jako například protokoly DECLAT (DEC Local Area Transport), LU 6.2 firmy IBM a protokoly NetBIOS).

Brána

Pokud je potřeba vzájemně propojit sítě zcela odlišných koncepcí, používající zcela jiné soustavy protokolů, je nutné použít propojovací zařízení, schopné provádět nezbytnou konverzi protokolů. Takovéto zařízení, označované nejčastěji jako brána (gateway, někdy též: protocol converter) pak pracuje na takové úrovni, na které je možné příslušnou konverzi zajistit - tedy například až na úrovni aplikační vrstvy, viz obrázek 40.1. b/.

Poznamenejme však ještě, že pojem "brána" resp. "gateway" se často používá i pro propojovací zařízení na nižších úrovních. Například v souvislosti s protokoly TCP/IP je termín "gateway" používán k označení směrovače (routeru).