Motto:
"Start by making all your networks one network.
Then make all your computers one computer!"
Dříve než se začneme podrobněji zabývat protokolem TCP/IP, pokusme se opravit jeden všeobecně uznávaný omyl, který vzbuzuje zbytečné obavy uživatelů výpočetní techniky. Obvykle se říká: "Na univerzitě se buduje UNIXovská počítačová síť." To je velmi nepřesné. UNIX hraje v univerzitní síti velmi důležitou úlohu, ale je to operační systém, nikoliv síť. Síťové prostředí vytvářejí až další softwarové komponenty, které implementují určité komunikační protokoly a nad nimi postavené síťové aplikace. Takových protokolů a aplikací je celá řada a jednou z možností, pro nás v současné době nejdůležitější, je protokol TCP/IP, na kterém bude univerzitní síť založena. Síťový software není obvykle vázán na konkrétní operační systém, ale bývá implementován pod různými systémy. To beze zbytku platí pro TCP/IP. UNIX zde hraje roli prostředí, které je pro tvorbu a provoz síťového softwaru mimořádně vhodné, a to je důležitý, zdaleka však ne jediný důvod, proč současně s protokolem TCP/IP podporujeme i systém UNIX. Další omyl se skrývá v obavách uživatelů, že budou muset zahodit vše, co se naučili a vytvořili pod MS DOSem, a začít se učit UNIX. Ale tak tomu v žádném případě není. Pracovní stanice uživatelů, tvořené v převážné míře počítači PC AT 286, budou nadále provozovány pod operačním systémem MS DOS, na provozování UNIXu ostatně nejsou ani vhodně uzpůsobeny. Ve způsobu jejich používání se v podstatě nic nezmění, pouze se připojením do sítě podstatně zvětší jejich možnosti. UNIX bude zřejmě používán pro práci s elektronickou poštou, ale pravděpodobně i zde bude možno vystačit s DOSem. Opravme tedy výše uvedené omyly následující větou:
Počítačová síť univerzity je budována na bázi protokolu TCP/IP s použitím serverů s operačním systémem UNIX a stávajících pracovních stanic s operačním systémem DOS.
Říkám-li protokol TCP/IP, dopouštím se vědomě určité nepřesnosti. Za touto zkratkou se ve skutečnosti skrývá celá řada na sebe navazujících komunikačních protokolů a na nich založených aplikací. Cílem celého systému je vytvoření univerzálního komunikačního prostředí, které je z uživatelského hlediska homogenní, přestože je umístěno v hardwarově i softwarově heterogenním prostředí různých operačních systémů, počítačů, komunikačních rozhraní a médií. TCP/IP je zkratkou pro Transmission Control Protocol/Internet Protocol, dva klíčové protokoly systému. Povězme si něco o těchto protokolech a o jednom dalším - UDP (User Datagram Protocol), na který již v názvu systému nezbylo místo.
Internet Protocol je srdcem systému. Je nositelem onoho kouzla, které z řady malých, na různých fyzických protokolech založených sítí vytváří INTERNET. Je to internet s malým i, to jest nějaká libovolná síť založená na TCP/IP, nebo Internet s velkým I, zcela konkrétní mezinárodní síť s mnoha tisíci připojených počítačů, améba, jejíž podstatná část se nachází v USA, ale která se stále více rozrůstá do celého světa, jejíž malý výběžek již dorazil do Prahy a o jejíž rozšíření i do Brna se musíme co nejdříve postarat.
Internet je network of networks, síť složená ze sítí. IP dokáže tyto sítě sjednotit. Poskytuje vlastně jedinou, ale velmi důležitou službu: přenesení nejmenší jednotky dat - datagramu (nebo též paketu) - z jednoho počítače sítě do kteréhokoliv jiného počítače. IP je protokolem nezabezpečeným, nezajišťuje kontrolu, zda datagram byl správně doručen či zda byl vůbec doručen, ani nezaručuje, že datagramy dojdou ve stejném pořadí, v jakém byly vyslány. To, že se IP nemusí o tyto záležitosti starat, podstatně usnadňuje jeho implementaci, přičemž o zabezpečení přenosu se starají další protokoly, na IP navazující. Jednotlivé sítě jsou propojeny TCP/IP branami.1 Datagram, má-li být doručen mezi počítači v různých sítích, musí projít přes jednu nebo více bran. Správné směrování datagramů zajišťují směrovací tabulky (routing tables), obsažené v každé bráně. Tabulka obsahuje pro každou cílovou síť adresu nejbližší další brány, do které musí být datagram předán. Brány si navzájem předávají a periodicky aktualizují svoje směrovací informace pomocí několika více či méně dokonalých algoritmů.
Všechny další protokoly a aplikace v TCP/IP využívají přímo nebo nepřímo služeb IP. Bezprostředně nad IP stojí další dva již zmíněné protokoly: UDP a TCP. Tyto dva protokoly jsou navzájem nezávislé a poskytují dvě alternativy, použitelné pro síťové aplikace.
UDP je poměrně jednoduchým rozšířením IP; oproti němu zabezpečuje navíc datagramy kontrolním součtem, takže lze již rozpoznat, že při přenosu došlo k chybě, ale stále ještě zde není řešeno potvrzování příjmu paketu, to si musejí jednotlivé aplikace, je-li to třeba, zajistit samy. Takováto strategie je pro mnohé aplikace naprosto vyhovující: UDP je vhodný pro aplikace, které nevyžadují trvalé spojení komunikujících procesů a které potřebují posílat jednotlivé zprávy, požadavky, odpovědi apod.
Protokol TCP, který si svým významem zasloužil místo v názvu celého systému, je již poněkud složitější. Umožňuje vytvoření bezchybného, plně duplexního kanálu mezi dvěma počítači. K tomu je samozřejmě nutný mechanismus potvrzování správnosti přenášených dat, číslování datagramů, opakování ztracených nebo vadných datagramů. To vše je řešeno rafinovaně jednoduchým protokolem sliding windows. Pro vyšší vrstvy softwaru však tyto problémy zůstávají skryty, stačí pouze požádat o vytvoření komunikačního kanálu a potom už z něj jenom číst nebo do něj zapisovat data. Samozřejmostí je, že takovýchto kanálů může být v daném okamžiku otevřeno několik. Protokol TCP je velmi vhodný především pro přenos souborů, vzdálený terminálový přístup, přenos elektronické pošty a další aplikace.
Výše popsané protokoly vytvářejí jakousi dopravní síť. Uživatele železnice ovšem příliš nezajímá, jak vypadají koleje, podstatné je pro něj spíše to, kam se po nich dostane či jaké zboží mu po nich někdo přiveze. Povězme si tedy o některých aplikacích nad naší dopravní sítí.
FTP - File Transfer Protocol - je klasickou službou
v TCP/IP. Zajišťuje přenos souborů. Ovládá se interaktivním způsobem.
Při zahájení relace požaduje zadání jména uživatele a hesla na vzdáleném
počítači - podle toho jsou pak řízena přístupová práva ke vzdáleným souborům.
Kromě vlastního přenosu souborů příkazy get
a put
(resp.
mget
a mput
pro přenos více souborů najednou) umožňuje
vypsání adresáře, přejmenování a rušení souborů a řadu dalších
příkazů. Přenos souborů je možný buď v binárním režimu nebo
v textovém režimu s případnou konverzí textu, liší-li se formát
či kódování textových souborů na vzdáleném a místním počítači.
rcp
- remote copy - je jednodušší variantou přenosu souborů. Umožňuje
zadání požadavku na přenos souboru přímo z příkazového řádku a nevyžaduje
zadání uživatelského jména a hesla. Vyžaduje se ale, aby lokální počítač
byl zanesen v seznamu oprávněných uzlů v příslušném souboru na vzdáleném
počítači.
telnet
umožňuje terminálový přístup (remote login - emulaci
terminálu) ke vzdálenému počítači. Z lokálního terminálu (konzoly)
pracujeme na vzdáleném počítači stejným způsobem, jako kdybychom
seděli u lokálního terminálu. Vzdálený počítač přitom může pracovat
pod zcela jiným operačním systémem než místní počítač. Některé
implementace umožňují emulaci několika různých typů terminálů, jako například
VT100, VT220, grafické terminály Tektronix apod. Existuje i možnost
emulace IBM terminálu 3270. Tu ale zatím nemůžeme využít, protože
univerzitní IBM-like počítače EC 1027 ani HDS 6660 nejsou
vybaveny systémem TCP/IP (zda tomu tak v budoucnu bude, je otázkou
finančních prostředků na zakoupení potřebného softwaru).
Na MU bude pravděpodobně nejčastěji využíván terminálový přístup
z DOSovských stanic do UNIXu.
rlogin
- remote login - je jednodušší varianta
příkazu telnet
, nevyžadující zadání jména a hesla, podobně
jako rcp
.
rexec
- remote exec, rsh
- remote shell,
oba příkazy zajišťují provedení jednotlivého příkazu na vzdáleném počítači.
rexec
vyžaduje zadání jména a hesla, rsh
nikoliv.
SMTP - Simple Mail Transfer Protocol - je protokol
sloužící k přenesení elektronické pošty. Tento protokol zůstává běžnému
uživateli skryt, je totiž vyvolán zprostředkovaně, pomocí poštovního softwaru
(maileru), kterým může být například systém MMDF, sendmail
apod. Uživateli stačí znát příkaz mail
, kterým může odesílat
a číst poštu. Administrátor systému ovšem musí poštovní systém vhodně
zkonfigurovat, nadefinovat správně komunikační kanály, po kterých se má pošta
přenášet. SMTP je hlavním takovým kanálem v síti postavené na TCP/IP.
Může být v případě potřeby doplněn dalšími prostředky, jako je například
protokol UUCP (UNIX to UNIX CoPy), vhodný zejména pro přenos
po komutovaných telefonních linkách apod.
NFS - Network File System - je prostředek mimořádně důležitý zejména pro lokální sítě (podsítě) propojené rychlým rozhraním, jako je Ethernet, Token Ring apod. NFS umožňuje sdílení souborů mezi počítači - zpřístupní soubory jednoho počítače druhému počítači tak, že s nimi může pracovat stejným způsobem jako se soubory na svém lokálním disku. Tímto způsobem obvykle montujeme určité adresářové podstromy, případně i celé disky vzdáleného počítače na logické disky nebo adresáře místního počítače. NFS respektuje přístupová práva k souborům v souladu s konvencemi příslušného operačního systému, takže je zaručena ochrana před jejich zničením či zneužitím nepovolaným uživatelem - například se lze účinně bránit proti zavirování, umožníme-li řadovým uživatelům přístup k souborům (programům) pouze pro čtení. NFS umožňuje sdílet soubory jak mezi počítači se stejnými operačními systémy, tak i mezi různými systémy. To je hlavní výhoda NFS oproti obdobným síťovým prostředkům zaměřeným výhradně na DOS, jako je například Novell, Lantastic, LanSmart apod. Z DOSovské stanice můžeme stejně dobře namontovat soubory AT 386 serveru provozujícího SCO UNIX jako soubory VAXu běžícího pod VMS apod. Rozhodneme-li se vyměnit málo výkonný 386 počítač například za SUN Sparc server, pro uživatele se v podstatě nic nezmění, pouze se zvýší výkon. Není třeba zahodit dříve koupený hardware a hlavně software. Pro nás bude mít význam především přístup z DOSovských stanic k souborům na UNIXovských serverch, případně též montování souborů mezi UNIXovskými počítači. NFS přináší úsporu místa na discích, šetří finanční prostředky na nákup softwaru (zakoupíme-li například jednu síťovou verzi místo několika jednouživatelských kopií určitého programu), v neposlední řadě může velmi zefektivnit práci spojenou s výměnou dat (programy, texty, výsledky měření, ...) mezi pracovníky podílejícími se na společných projektech.
RFS - Remote File Sharing - se velmi podobá NFS,
je však specializován pro UNIX. Ztráta obecnosti je vyvážena větší dokonalostí
některých služeb a řadou služeb navíc. Systémy NFS a RFS mohou
koexistovat a je možné například používat současně NFS pro spojení
DOS ->
UNIX a RFS pro spojení UNIX <->
UNIX.
X Window System, často označovaný jen jako X, velmi mocný a rozsáhlý prostředek, poskytuje unifikující grafické prostředí, které lze provozovat jak na jednotlivém počítači, tak v síti. Na pracovní stanici uživatele běží X-server, umožňující vytváření a obhospodařování oken a vykonávání velké škály grafických příkazů. Jednotlivé aplikace, běžící často na vzdáleném počítači, se obracejí na X-server se svými požadavky. Existují dokonce tzv. X-terminály - specializované terminály-počítače, sloužící výhradně jako X-server. Běžně ovšem provozujeme X-server i na UNIXovském nebo DOSovském počítači, ten musí být dostatečně výkonný a vybavený grafikou s dostatečnou rozlišovací schopností (alespoň VGA).
Většina moderních databázových systémů je vystavěna v duchu filozofie client-server, kdy databázový systém je rozdělen na dvě části. V pozadí běží výkonný databázový server, schopný velkého množství databázových transakcí. V popředí pak pracuje proces komunikující s uživatelem a posílající požadavky a dotazy na server. Síťové prostředí umožňuje rozdělit tyto úkoly mezi různé počítače, takže databázový server může být provozován na velmi výkonném, pro databáze specializovaném počítači a na malé uživatelské stanici s dobrými grafickými možnostmi probíhá prezentační část databázového systému. Každý počítač je tak využit na takové úkoly, pro jaké je nejlépe uzpůsoben.
Výčet aplikací používajících TCP/IP není tímto zdaleka vyčerpán, snad jsme alespoň vyjmenovali ty, které pro nás budou mít v nejbližší době největší význam.
1 | Terminologie bohužel zdaleka není jednotná. Autoři TCP/IP termínem
gateway - brána označili zařízení (počítač) spojující
jednotlivé lokální sítě. V obecnější terminologii je toto
zařízení obvykle nazýváno router - směrovač, zatímco
termínem brána se označuje počítač, který propojuje sítě
s různými komunikačními protokoly a převádí mezi nimi
určité služby. Abychom předešli nedorozumění, budeme v tomto
článku pro bránu ve smyslu TCP/IP používat termín TCP/IP
brána.
... zpět do textu |