Vyšlo v týdeníku Computerworld č. 12/94,
Vytištěno z adresy: http://www.earchiv.cz/a94/a412c501.php3

Otázky a odpovědi týkající se lokálních sítí

Tento článek vyšel v počítačových novinách Computerworld č. 12 z roku 1994, jako vložený článek v rámci tzv. Tématu týdne.

Obsah:


Co obnáší "koupit si síť"?

Počítačové sítě zřejmě nikdy nebudou běžnou komoditou - alespoň ne v tom smyslu, že bychom pro ně zašli do obchodu, vybrali si z předložené nabídky, zaplatili, dostali úhledně zabalenou krabici, tu doma rozbalili a "jeli".

Problém je totiž v tom, že kupující jen zcela výjimečně začíná "na zelené louce". Téměř vždy je již vybaven nějakou výpočetní technikou (nejspíše samostatnými a navzájem nepropojenými počítači), kterou určitým způsobem využívá, a náhle si uvědomí, že by ji mohl využívat ještě lépe, kdyby "měl síť". V tuto chvíli je ovšem již svázán existencí určitých výchozích podmínek:

  • Své počítače musí uživatel vybavit potřebným komunikačním hardwarem (zejména síťovými kartami). Zde je ovšem omezen tím, že příslušný hardware musí být uzpůsoben typu a konfiguraci počítačů, které již má.
  • Veškerou výpočetní techniku, která má být do sítě začleněna, je třeba vhodným způsobem propojit. Tento způsob propojení ovšem musí respektovat jak fyzické rozmístění existující techniky, tak i charakter komunikačního hardwaru, kterým jsou jednotlivé počítače vybaveny.
  • Software potřebný pro realizaci síťových funkcí musí být vybírán tak, aby na jedné straně dokázal pracovat se zvoleným síťovým hardwarem, a na druhé straně mohl být začleněn do "systémového prostředí" existujících počítačů (zejména pak do jejich operačního systému).

V praxi proto "nákup lokální počítačové sítě" nejčastěji obnáší samostatný nákup tří základních komponent: kabeláže, síťových karet a síťového softwaru. Je ovšem na kupujícím, aby tyto tři složky dostatečně sladil: aby si například nekoupil síťové karty, které do jeho počítačů nebude možno instalovat nebo které nebudou schopny pracovat s jím zvolenou kabeláží (jako například karty pro tzv. kroucenou dvoulinku, které nelze použít při rozvodech pomocí koaxiálních kabelů apod.). Nutnou podmínkou je samozřejmě i schopnost síťového softwaru pracovat se zakoupenými kartami.

Pro kupujícího, který nemá dostatek znalostí a zkušeností v oblasti počítačových sítí a softwaru i hardwaru, to může být velmi nebezpečné úskalí.

Naštěstí i samotní výrobci se ve vlastním zájmu snaží toto nebezpečí minimalizovat. Jednou z obvyklých cest je snaha o maximální vzájemnou slučitelnost síťových karet a síťového softwaru: výrobci karet se snaží ke svým produktům přidávat co možná nejvíce ovladačů pro nejrůznější síťový software a stejně tak se i výrobci síťového softwaru snaží podporovat co nejširší repertoár síťových karet, které již jsou na trhu, a své produkty vybavují schopností s nimi pracovat. V konečné fázi, když se síťový software nakoupí od jednoho výrobce a karty od jiného, si ale musí kupující potřebnou instalaci zajistit sám, včetně instalace potřebných ovladačů a nastavení síťových karet (pokud jde o používané číslo přerušení, I/O adresu apod.). I zde je však skryto mnoho nepříjemných nástrah, které často dají "pořádně zabrat" i zkušenému odborníkovi.

Zajímavým způsobem řeší právě naznačený problém někteří výrobci síťového softwaru určeného pro budování lokálních sítí typu peer-to-peer. Nabízejí totiž dvě komponenty (karty a software), případně všechny tři komponenty (kabeláž, karty a software) v jednom balíku - to umožňuje zaručit dostatečnou míru vzájemné slučitelnosti komponent a maximálně zautomatizovat a zjednodušit potřebné úkony na straně zákazníka: do takové míry, že instalace celé sítě skutečně naplňuje heslo "plug and play". Problém je ovšem v tom, že takovéto řešení typu "vše v jednom" je vhodné jen pro poměrně úzký okruh situací, resp. potřeb zákazníků.

Všechny tři komponenty jsou jako jediný celek (tj. včetně kabeláže) nabízeny většinou jen pro dosti singulární případ sítě se dvěma uzlovými počítači, a to obvykle pod názvem: starter pack ("rozjezdový" balík). Kombinaci "karta + software" si pak již může zákazník zakoupit tolikrát, kolik počítačů potřebuje propojit, ale musí si sám vytvořit potřebnou kabeláž.

Co tedy doporučit tomu, kdo si chce "koupit počítačovou síť"? Nejprve je asi nutné si v klidu a odpovědně rozmyslet, jaké cíle mají být nákupem sítě dosaženy. Teprve pak má smysl uvažovat o tom, jaký druh sítě tyto cíle dokáže splnit, případně za jakou cenu, s jakou efektivností apod. Pokud si zájemce o pořízení sítě již v této fázi není sám dostatečně "jist v kramflecích", měl by si zajistit potřebné know-how z externích zdrojů: poradit se s někým, kdo tomu rozumí, najmout si konzultanta, nechat si vypracovat studii apod. Velmi rozumným řešením pro toho, kdo nemá potřebné zkušenosti a zázemí, je nekupovat síť jako takovou (jako soustavu hotových komerčních produktů), ale zadat vybudování své sítě specializované firmě - ona pak totiž nese odpovědnost za to, že výsledek bude fungovat tak, jak má.


Co je to vlastně "síťový operační systém"?

NOS neboli Network Operating System je značně široký pojem, který zastřešuje různé druhy programů zajišťujících fungování sítě. Jeho význam je odlišný podle toho, zda je používán v souvislosti s tzv. dedikovaným serverem, nebo s běžnou pracovní stanicí lokální sítě.

Každý počítač, který má svým uživatelům nabízet rozumné pracovní prostředí, musí být vybaven vhodným operačním systémem - jeho základním úkolem je zajišťovat správu veškerých systémových zdrojů počítače (paměti, disků, vstupně-výstupních zařízení, veškerých souborů apod.), spouštět jednotlivé úlohy, přidělovat jim požadované systémové zdroje, odebírat je atd. V prostředí počítačové sítě k těmto základním povinnostem operačního systému ještě přibývá potřeba správy komunikačního hardwaru a dále zajišťování veškeré komunikace (implementace přenosových a jiných protokolů).

V případě tzv. dedikovaných serverů (neboli počítačů věnujících se výhradně fungování v roli síťového serveru) jsou potřebné komunikační funkce nejčastěji zabudovány přímo do operačního systému - ten se pak stává síťovým operačním systémem. Příkladem může být síťový operační systém NetWare firmy Novell, který takovýmto způsobem "vládne" celému počítači v roli serveru.

V případě tzv. pracovních stanic (uživatelských počítačů) je situace poněkud odlišná. Tyto pracovní stanice nejčastěji vystupují vůči serverům jen v roli jejich klientů neboli příjemců (konzumentů) jejich služeb. Přitom jsou vybaveny vlastním operačním systémem, který obvykle nemá potřebné komunikační schopnosti pro práci v síti - ty mu musí být dodatečně "implantovány" takovým způsobem, jaký tento operační systém umožňuje. V prostředí osobních počítačů standardu IBM PC je na pracovních stanicích nejčastěji používán operační systém MS DOS, kterému se potřebné komunikační funkce "implantují" prostřednictvím rezidentních programů.

Zde (tj. na pracovních stanicích v roli klientů) se většinou nehovoří o síťovém operačním systému, a to ani po instalaci takových programů, které danému počítači zajišťují komunikaci v roli klientu.

Poněkud jiná je ale situace v případě tzv. sítí typu peer-to-peer. Tyto sítě jsou charakteristické tím, že jednotlivé počítače v nich mohou vystupovat současně jak v roli klientů, tak i v roli serverů. Jejich operačním systémem je nejčastěji opět MS DOS (případně se svou nadstavbou MS Windows), kterému jsou dodatečně "implantovány" schopnosti vystupovat jak v roli klientu, tak i v roli serveru. Konkrétní formou "implantace" síťových funkcí jsou i v tomto případě rezidentní programy. Z terminologického pohledu je ale zajímavé, že dodatečně přidávané programy zajišťující potřebné síťové funkce jsou označovány jako síťový operační systém - i přesto, že jsou vlastně jen doplňkem k již existujícímu operačnímu systému, který si nadále ponechává své dosavadní funkce.

Ukažme si několik konkrétních příkladů

  • Koupíte-li si například síťový operační systém NetWare firmy Novell (v současné době jsou nabízeny jako nejnovější verze 3.12 a 4.01), kupujete si vlastně "celý" operační systém pro jeden počítač standardu IBM PC v roli serveru. Tento síťový operační systém bude mít "úplnou vládu" nad vaším serverem - kromě vlastních síťových funkcí bude zajišťovat také veškerou správu místních systémových zdrojů (tj. bude si sám obhospodařovat paměť i pevné disky, sám bude rozhodovat o způsobu uložení souborů na disku apod.). Operační systém MS DOS bude přitom potřebovat jen k jediné věci: k vlastnímu zavedení a spuštění po zapnutí počítače. Jakmile k tomu dojde, síťový operační systém NetWare zcela převezme vládu nad počítačem a MS DOS doslova "odstaví". Nákupem síťového operačního systému Novell NetWare tedy získáte především prostředky pro realizaci dedikovaného síťového serveru. K nim dostanete "přibaleny" i programy typu "shell", které musíte instalovat na pracovních stanicích, aby stanice mohly vystupovat v roli klientů. Tyto klientské složky jsou ale v zásadě volně šiřitelnými programy (alespoň v případě sítě NetWare), které můžete získat i jinde a zadarmo - to, za co skutečně platíte, je samotný server. Jeho cena je pak závislá na tom, kolika klientům může sloužit současně.
  • Koupíte-li si síťový operační systém určený pro budování sítě typu peer-to-peer (tedy například síťový operační systém NetWare Lite firmy Novell, LANtastic firmy Artisoft, WEB firmy WEBCORP apod.), nekupujete si "celý" operační systém, ale jen doplněk k již provozovanému operačnímu systému (MS DOS, ev. v kombinaci s MS Windows). Tento doplněk rozšíří systém o síťové funkce potřebné pro vystupování v roli klientu i serveru.
  • Poněkud specifický případ představuje produkt Windows for Workgroups firmy Microsoft, který je kombinací klasických MS Windows a prostředků pro realizaci sítě peer-to-peer. Zakoupením tohoto produktu získáte v podstatě nový operační systém (i když MS Windows jsou ve skutečnosti jen nadstavbou nad MS DOSem).

Jaké složky má síťový operační systém?

Programové vybavení, které zajišťuje nejrůznější síťové funkce, lze z ryze praktického pohledu rozdělit do tří částí:

  • ovladače komunikačního hardwaru
  • implementaci přenosových protokolů
  • prostředky pro začlenění síťových funkcí do operačního systému

Je přitom spíše subjektivní otázkou, zda pod pojem "síťový operační systém" zahrneme skutečně všechny tyto složky, nebo jen některé z nich (druhé dvě, či jen třetí složku). Mnohem podstatnější je uvědomit si, jaký je význam a poslání těchto složek a kde a jakým způsobem se získávají.

Ovladače komunikačního hardwaru: Každý počítač, který má být zapojen do lokální počítačové sítě, musí být vybaven vhodným komunikačním hardwarem. V současné době má tento hardware nejčastěji formu tzv. síťové karty (též: síťového adaptéru), která se instaluje do jednoho z volných slotů počítače. Jsou ovšem možná i jiná řešení (ekvivalent síťové karty může být již integrován v systémové desce, pro připojení k síti může být využíváno paralelní či sériové rozhraní apod.). Ať již má ale komunikační hardware jakoukoli formu, vždy je nutné jej ovládat programovými prostředky - musí tedy existovat ovladač, který je mu přizpůsoben a který ostatním programům zprostředkovává využití jeho funkcí.

Problematikou ovladačů se podrobněji zabývá samostatná odpověď.

Implementace přenosových protokolů: komunikační hardware (síťová karta) je pro jednotlivé uzlové počítače pouze prostředkem přenosu dat - jinou otázkou je ovšem to, jakým způsobem bude konkrétně využíván. Neboli: podle jakých pravidel budou jednotlivé uzly postupovat při vzájemné komunikaci, jaký bude formát bloků dat, které si budou předávat, jakým způsobem budou reagovat na případné nestandardní situace (chyby při přenosech) apod. Všechna takováto "pravidla hry" stanovují konkrétní přenosové protokoly, které se v dané síti používají.

Při podrobnějším pohledu musíme tyto přenosové protokoly rozdělit do hierarchicky uspořádaných vrstev - protokoly nejnižších vrstev (tzv. fyzické a linkové vrstvy) jsou ovšem pro konkrétní způsob propojení (včetně použité kabeláže, síťových karet apod.) natolik specifické, že musí být implementovány v rámci příslušných ovladačů komunikačního hardwaru. Ty pak dokáží "zakrýt" specifika konkrétních přenosových technologií typu Ethernet, ARCnet či Token Ring apod.

Přenosové protokoly vyšších vrstev (tzv. síťové a transportní vrstvy) pak již mohou být do značné míry nezávislé na konkrétní přenosové technologii. Proto také bývají implementovány samostatně, resp. odděleně od ovladačů komunikačního hardwaru.

V sítích serverového typu Novell NetWare i v peer-to-peer sítích NetWare Lite jsou v této roli používány protokoly IPX/SPX, v sítích na bázi Unixu protokoly IP a TCP či UDP (z rodiny protokolů TCP/IP), zatímco v sítích na bázi síťového operačního systému LAN Manager, v peer-to-peer sítích LANtastic a dalších jsou využívány přenosové protokoly NETBIOS.

Prostředky pro začlenění síťových funkcí do operačního systému: Přenos dat počítačovou sítí je sám o sobě zase jen prostředkem k poskytování služeb nejrůznějšího charakteru, kvůli kterým se počítačové sítě vlastně budují. Jak jsme si již naznačili výše, konkrétní forma těchto prostředků je závislá na operačním systému, se kterým mají spolupracovat. V případě síťového operačního systému pro sítě serverového typu (jako např. Novell NetWare) jsou tyto prostředky integrální součástí operačního systému (který je díky tomu "síťový"). V případě pracovních stanic (klientů) sítí Novell NetWare v prostředí operačního systému MS DOS mají opět formu rezidentních programů a jsou označovány jako tzv. shelly (doslova: slupky). To proto, že z hlediska systémového postavení překrývají samotný MS DOS, zachytávají veškeré požadavky, které provozované aplikace adresují DOSu, a pokud se tyto požadavky týkají sítě, vyřizují je samy (bez účasti MS DOSu) - viz obr. 2. Podobně je tomu i v případě většiny peer-to-peer sítí určených pro prostředí MS DOS.


Jaký je rozdíl mezi paketovými ovladači, NDIS-ovladači a ODI-ovladači?

Nejprve je třeba si připomenout jednu důležitou skutečnost: síťové karty jsou v zásadě samostatné produkty, které si uživatelé kupují podle vlastního uvážení - stejně jako jsou samostatnými produkty nejrůznější síťové programy. Pomineme-li případ, kdy síťový operační systém typu peer-to-peer je prodáván současně se síťovou kartou, je třeba počítat s tím, že uživatel si může pořídit prakticky libovolnou kombinaci síťové karty a síťového programu.

Je samozřejmě v zájmu výrobce síťové karty, aby jeho výrobek bylo možné použít s co možná nejvíce různými síťovými programy. Proto se výrobce snaží ke svému výrobku přidat i ovladače uzpůsobené potřebám a konvencím síťových programů. Problém je ale v tom, že tak může učinit jen pro takové programy, které již existují (a z čistě praktických důvodů se musí výrobce omezit jen na ty nejvýznamnější). Nemůže se ale z principu přizpůsobit takovým programům, které dosud neexistují, ale časem budou vytvořeny a které budou chtít uživatelé používat spolu se síťovou kartou, kterou budou vlastnit.

V obdobné situaci jsou ale i výrobci nejrůznějších síťových programů. Je i v jejich bytostném zájmu, aby jejich produkty dokázaly spolupracovat s jakoukoli síťovou kartou, kterou uživatel může vlastnit. Výrobci tedy mohou sami napsat potřebné ovladače pro takové síťové karty, které jsou právě na trhu, ale opět nemohou anticipovat nové druhy síťových karet, které se objeví někdy v budoucnu.

Určitým východiskem by bylo vybrat určitou podmnožinu "vzorových" síťových karet renomovaných výrobců, výrobce programů nutit k tomu, aby je všechny podporovali, a naopak výrobce síťových karet nutit k tomu, aby jejich výrobky byly plně kompatibilní s některou z takovýchto "vyvolených" karet. Tato cesta ovšem není příliš schůdná.

V praxi se ujalo spíše jiné řešení: stanovení přesného rozhraní mezi ovladačem síťové karty a programy, které s tímto ovladačem pracují (s programy, implementujícími přenosové protokoly ve smyslu předchozí odpovědi). Jakmile je takovéto rozhraní stanoveno (a všeobecně akceptováno), pak stačí, aby výrobce síťové karty stačí napsal jediný ovladač, který vyhovuje požadavkům tohoto rozhraní. Obdobně stačí, aby se výrobce síťového programu tomuto rozhraní přizpůsobil, a obě strany pak mají zaručeno, že jejich produkty budou schopné vzájemně spolupracovat.

Drobný problém je ovšem v tom, kdo a jak má takovéto univerzální rozhraní stanovit: ne že by to bylo po věcné stránce příliš náročné - potíž je spíše v tom, jak přimět ostatní, aby navrhované řešení přijali a skutečně dodržovali.

Nakonec vše dopadlo tak, jak bylo možné očekávat: jednotných rozhraní mezi ovladačem síťové karty a ostatními programy vzniklo a ujalo se více.

V akademickém prostředí jsou nejvíce rozšířeny tzv. paketové ovladače (packet drivers), vyvinuté původně firmou FTP Software. Ovladače tohoto typu pro nejrůznější síťové karty jsou volně šiřitelné, a jsou dostupné dokonce i ve zdrojovém tvaru. Úkol shromažďovat tyto ovladače a zajišťovat jejich distribuci si vzala na svá bedra známá Clarkson University ve městě Potsdam ve státě New York. Proto se také paketovým ovladačům někdy říká Clarkson packet drivers, resp. jejich sbírce, která na této univerzitě vznikla, se říká: The Clarkson packet driver collection. V současné době však Clarkson University nemá se shromažďováním a distribucí paketových ovladačů již nic společného - celá sbírka a péče o ni přešla na firmu Crynwr Software, a proto se těmto ovladačům nyní říká také Crynwr packet drivers (resp. jejich sbírce: The Crynwr packet driver collection).

Další standard pro rozhraní mezi ovladačem síťové karty (či jiného síťového hardwaru) a ostatními síťovými programy vypracovaly společně firmy Microsoft a 3Com a nazvaly jej NDIS (od: Network Driver Interface Specification, doslova: specifikace rozhraní síťových ovladačů). Vlastní ovladače napsané podle tohoto standardu jsou pak označovány jako tzv. NDIS-ovladače (NDIS drivers).

Standard NDIS byl původně vypracován pro potřeby síťového operačního systému LAN Manager firmy Microsoft, ale dnes se používá i v řadě jiných produktů (například u Windows for Workgroups).

Konečně třetím nejrozšířenějším standardem je tzv. rozhraní ODI (Open Data-Link Interface, někdy též: ODLI), které vypracovala firma Novell, ve spolupráci s firmou Apple, a které se používá např. v sítích NetWare a NetWare Lite.

Technické odlišnosti těchto tří rozhraní již přesahují rámec tohoto textu. Pro uživatele navíc nejsou příliš podstatné - pro ně je mnohem důležitější ptát se, zda k síťové kartě, kterou si chtějí koupit, některé z těchto ovladačů existují. U drtivé většiny dnes vyráběných karet jsou přímo s kartou dodávány ovladače NDIS i ODI a často také paketové ovladače (nebo je lze alespoň dodatečně sehnat z jiných zdrojů). Pak je ještě podstatné to, zda síťový program, který si uživatel hodlá zakoupit, podporuje některé z těchto rozhraní, pro které je k dispozici potřebný ovladač. Pokud ano, pak má uživatel rozumnou záruku, že příslušný program si bude "rozumět" s danou síťovou kartou.

Nic ovšem není ztraceno ani v případě, že nedojde ke vzájemné shodě - například když je k dispozici jen paketový ovladač, ale příslušný program dokáže pracovat jen s ODI ovladačem. Existují totiž takové programy, které dokáží převádět jeden typ ovladače na druhý - které "překryjí" ovladač jednoho typu, a samy se chovají jako ovladač jiného typu. Takovýmto programům se v angličtině říká shims.