Vyšlo v týdeníku CHIPweek č. 7/97, 11. února 1997
Vytištěno z adresy: http://www.earchiv.cz/a97/a707k150.php3

Propojování na úrovni fyzické vrstvy a opakovače

Jednou z možností vzájemného propojování počítačových sítí je realizovat potřebné propojení na úrovni fyzické vrstvy, prostřednictvím zařízení označovaných jako opakovače (anglicky: repeaters). Jak ale takovéto propojení funguje, a jaké má výhody a nevýhody?

Obrázek 1.
Obr. 1: Obecná představa propojovacího zařízení
Začněme nejprve poněkud obecněji - co si správně představit pod tvrzením, že dvě sítě jsou vzájemně propojeny jednou na úrovni fyzické vrstvy, jindy na úrovni vrstvy linkové či vrstvy síťové, a jindy až na úrovni aplikační vrstvy? V praxi je to vždy tak, jak naznačuje dnešní první obrázek - mezi vzájemně propojovanými částmi (celými sítěmi či kabelovými segmenty), které mohou být dvě nebo jich může být více, se vždy nachází určité "propojovací zařízení". To ale může fungovat více různými způsoby, a právě tento způsob fungování "propojovacího zařízení" je určující pro charakter vzájemného propojení dílčích sítí: pokud propojovací zařízení dokáže pracovat pouze s přenosovými protokoly fyzické vrstvy, pak je označováno jako opakovač (záhy pochopíme proč), a sítě které propojuje pak jsou propojeny na úrovni fyzické vrstvy. Pokud propojovací zařízení pracuje i s protokoly linkové vrstvy, tj. dokáže rozpoznat a interpretovat jednotlivé rámce a při své práci se řídit jejich obsahem, pak se jedná o propojovací zařízení označované jako most (bridge) či switch, a jím propojené sítě jsou propojené na úrovni linkové vrstvy. Analogicky pro vrstvu síťovou a směrovače (router-y), a vrstvy aplikační a brány (angl. gateways). Kromě toho existuje i jedna další kategorie propojovacích zařízení, tzv. rozbočovače (anglicky: hub-s) - tato kategorie je charakteristická tím, že nemá apriorně definovaný způsob fungování (podrobněji v samostatném modulu).

Opakovač opakuje ....

Propojit dvě dílčí sítě na úrovni fyzické vrstvy tedy znamená zapojit mezi ně zařízení zvané opakovač (anglicky: repeater). Toto zařízení si lze představit jako jednoduchý digitální zesilovač, který si všímá jednotlivých přenášených bitů, ale jeho inteligence již nesahá tak daleko, aby chápal, co tyto bity znamenají.

Potřeba opakovačů vychází z tvrdé fyzikální reality, o které jsme se zmiňovali již v 5. modulu tohoto seriálu - při každém přenosu signálu reálnou (ne-ideální) přenosovou cestou dochází k určitému útlumu, zkreslení a dalším formám "pokažení" přenášeného signálu. Vzhledem k tomu pak není možné přenášet tyto signály na libovolně velkou vzdálenost, protože po překročení určité hranice by "poškození" signálu již bylo tak významné, že toho neumožňovalo domyslet si co signál měl reprezentovat (a tudíž by nebylo možné jej ani dostatečně zrekonstruovat). Konkrétní hranice "dosahu" je samozřejmě závislá na mnoha faktorech (zejména na povaze přenosového média, charakteru přenášeného signálu, přenosové rychlosti atd.), ale vždy existuje. V praxi pak z této hranice vyplývá i to, že například při kabelových rozvodech není možné použít libovolně dlouhý úsek souvislého kabelu - například v případě klasického desetimegabitového Ethernetu a tzv. tenkého koaxiálního kabelu je příslušná hranice 185 metrů, při použití tzv. kroucené dvoulinky dokonce jen 100 metrů atd. Pokud je třeba příslušnou hranici překonat, je nutné použít dva nebo více kabelových segmentů, a vzájemně je propojit (alespoň) prostřednictvím opakovače.

Opakovač pak vůči přenášenému signálu funguje jako "regenerátor" - utlumený a zkreslený signál, který z jedné strany (z jednoho kabelového segmentu) přijímá, regeneruje (zesílí, znovu správně vytvaruje a tím odstraní vzniklé zkreslení, ....), a znovu vyšle do ostatních kabelových segmentů.

Důležité je ovšem uvědomit si, že opakovač musí rozesílat regenerovaný signál paušálně do všech jemu známých segmentů, a nemůže provádět žádnou selekci. Důvodem je jeho "nízká inteligence" - jelikož pracuje pouze na úrovni fyzické vrstvy a všímá si pouze jednotlivých bitů, nechápe jejich význam, a nedokáže tudíž určit, od koho jednotlivé bity i celé jejich skupiny pochází a komu jsou určeny. Proto musí všechno, co "zaslechne" z kteréhokoli svého vstupu, okamžitě "rozhlásit" (zopakovat) do všech ostatních segmentů.

Chování opakovačů

Pro správné pochopení opakovačů je vhodné si je představovat skutečně jako digitální zesilovače, které průběžně regenerují přenášený signál (však se jim také někdy říká i "regenerační zesilovače"). Důležité je uvědomit si, že fungují v reálném čase, a jsou pro přenášený signál "průběžně průchozí" - samozřejmě až na velmi malé časové zpoždění, dané "průchodností" vnitřních elektronických obvodů opakovače.

Opakovače také neobsahují žádnou vnitřní paměť, do které by si ukládaly přenášená data (byť dočasně). I z tohoto faktu pak vyplývá, že opakovače mohou propojovat pouze takové segmenty, které pracují se stejnou přenosovou rychlostí - nikoli třeba segment klasického desetimegabitového a stomegabitového Ethernetu (k tomu už je nutné zařízení fungující alespoň na úrovni linkové vrstvy, např. tzv. switch).

Další důležitou vlastností opakovačů, která vyplývá z jejich fungování na úrovni fyzické vrstvy, je skutečnost že musí přenášet i takové věci, které by leckdy nebylo vhodné přenášet z jednoho segmentu do druhého. Charakteristické je to zejména v případě Ethernetu a jeho přístupové metody CSMA/CD, která zajišťuje vzájemnou koordinaci jednotlivých uzlů v situacích, kdy se uchází o právo vysílat po sdíleném přenosovém médiu. Vzhledem k celkové povaze Ethernetu a metody CSMA/CD přitom může docházet k tzv. kolizím, neboli situacím kdy skutečně začne vysílat více uzlů najednou (a tato nepříjemná situace se řeší až následně, po jejím vzniku). Opakovače ale nejsou pro jednotlivé komunikující uzly vůbec viditelné (alespoň v Ethernetu), a pro správné fungování metody CSMA/CD je proto nutné, aby opakovače nezasahovaly negativně do pravidel vzájemné komunikace jednotlivých uzlů - což mj. znamená to, že opakovač nesmí zastavit výskyt kolize a "izolovat" jej v tom segmentu, kde k němu došlo. Místo toho musí kolizi šířit i do všech ostatních kabelových segmentů, ke kterým má přístup. Ze všech těchto segmentů tak vlastně vzniká jedna tzv. kolizní doména (collision domain) - pokud kterékoli dva uzly ve stejné kolizní doméně začnou vysílat současně, dochází ke kolizi která se týká celé kolizní domény a znemožňuje současnou komunikaci kterýchkoli jiných uzlů ve stejné kolizní doméně. Domyšleno do důsledku to pak znamená, že všechny uzly v určité kolizní doméně společně sdílí přenosovou kapacitu 10 megabitů za sekundu (pohybujeme-li se stále v prostředí klasického Ethernetu).

Kolik smí být opakovačů

Obrázek 2.
Obr. 2: Topologie s páteřním segmentem a větším počtem opakovačů
Zajímavou otázku jistě je, zda v určité soustavě vzájemně propojených kabelových segmentů může být libovolný počet opakovačů, nebo zda existuje nějaké principiální omezení na jejich počet. Zůstaneme-li v prostředí Ethernetu, pak zde takovéto omezení skutečně existuje, a je dáno především koncepcí přístupové metody CSMA/CD, používané v Ethernetu. Ta totiž ke svému fungování vyžaduje dodržet určité časové závislosti - například garanci maximální doby, za kterou se uzel na jednom "konci" dozví o situaci, ke které došlo na "opačném konci", zejména o výskytu kolize. Příslušná maximální doba je přitom pevně zabudována do definice Ethernetu (je dána v jeho standardu), a při uvážení konečné rychlosti šíření signálu přenosovým médiem a zpoždění signálu průchodem opakovače pak z její konkrétní hodnoty vychází i konkrétní limit na maximální "délku" kolizní domény (tedy i na počet opakovačů a jimi propojených segmentů). V prvním přiblížení výsledné pravidlo zní, že mezi libovolnými dvěma uzly v Ethernetu nesmí být více jak dva opakovače. To plně postačuje pro "páteřní" topologie takového typu, jaké naznačuje obrázek č. 2. Přesněji ale pravidlo o maximálním počtu opakovačů povoluje až pět kabelových segmentů, mezi nimi až čtyři opakovače, ale dva z pěti segmentů nesmí být nijak "obydlené" (nesmí k nim být připojené žádné uzly - mohou to být například optické "propojovací" segmenty).