Vyšlo v týdeníku: | COMPUTERWORLD |
Číslo: | 31/92 |
Ročník: | 1992 |
Rubrika/kategorie: | Co je čím ... v počítačových sítích |
Díl: | 42 |
Řekne-li se dnes TCP/IP, je to obvykle chápáno jen jako označení dvou přenosových protokolů, používaných v počítačových sítích s počítači na bázi Unixu, konkrétně protokolů TCP (Transmission Control Protocol) resp. IP (Internet Protocol). Ve skutečnosti ale zkratka TCP/IP označuje celou soustavu protokolů, ne nutně vázanou na operační systém Unix, přičemž TCP a IP jsou sice nejznámější protokoly této soustavy, ale zdaleka ne protokoly jediné. Správnější je ale považovat TCP/IP za ucelenou soustavu názorů o tom, jak by se počítačové sítě měly budovat, a jak by měly fungovat. Zahrnuje totiž i vlastní představu o tom, jak by mělo být síťové programové vybavení členěno na jednotlivé vrstvy, jaké úkoly by tyto vrstvy měly plnit, a také jakým způsobem by je měly plnit - tedy jaké konkrétní protokoly by na jednotlivých úrovních měly být používány. Ve smyslu definice, kterou jsme si zavedli ve 23. dílu našeho seriálu, je tedy TCP/IP síťovou architekturou.
Agentura ARPA (mezitím přejmenovaná na DARPA) se pak snažila prosadit nově vytvořené protokoly (a vlastně i celou ucelenou síťovou architekturu) do praktického života i mimo síť ARPANET, především pak do akademického prostředí. Většina univerzitních počítačových pracovišť v USA v té době provozovala nějakou verzi tzv. BSD Unixu, pocházející ze střediska Berkeley Software Distribution (BSD) na University of California v Berkeley. Agentura DARPA si proto nechala u přední americké firmy Bolt, Beranek and Newman (BBN) na zakázku vyvinout implementaci TCP/IP protokolů pod operační systém Unix, a univerzitě v Berkeley přispěla výzkumnými granty na začlenění těchto protokolů do univerzitou distribuovaných produktů. Tím se protokoly TCP/IP prosadily do BSD Unixu, a posléze pak i do ostatních verzí Unixu buď přímo jako jejich standardní součást, nebo jako volitelný doplněk (option). Díky své popularitě se však záhy dostaly i na jiné platformy, a dnes jsou implementovány snad ve všech výpočetních prostředích, od osobních počítačů PC s operačním systémem MS DOS až např. po sálové počítače (mainframes) firmy IBM a operační systém VM.
Pro svůj úzký vztah k síti Internet je soustava protokolů TCP/IP někdy označována také jako Internet protocol suite (doslova: soustava protokolů Internetu), nebo též Department of Defense (DoD) protocol suite, což naopak zdůrazňuje vztah k ministerstvu obrany USA.
Tvůrci protokolů TCP/IP naopak vycházeli z předpokladu, že zajištění spolehlivosti je problémem koncových účastníků komunikace, a mělo by tedy být řešeno až na úrovni transportní vrstvy. Komunikační podsíť pak podle této představy nemusí ztrácet část své přenosové kapacity na zajišťování spolehlivosti (na potvrzování, opětné vysílání poškozených paketů atd.), a může ji naopak plně využít pro vlastní datový přenos. Komunikační podsíť tedy podle této představy nemusí být zcela spolehlivá - může v ní docházet ke ztrátám přenášených paketů, a to bez varování a bez snahy o nápravu. Komunikační síť by ovšem neměla zahazovat pakety bezdůvodně. Měla by naopak vyvíjet maximální snahu přenášené pakety doručit (v angličtině se v této souvislosti používá termín: best effort), a zahazovat pakety až tehdy, když je skutečně nemůže doručit - tedy např. když dojde k jejich poškození při přenosu, když pro ně není dostatek vyrovnávací paměti pro dočasné uložení, v případě výpadku spojení apod. Na rozdíl od referenčního modelu ISO/OSI tedy TCP/IP předpokládá jednoduchou (ale rychlou) komunikační podsíť, ke které se připojují inteligentní hostitelské počítače.
Další odlišnost od referenčního modelu ISO/OSI spočívá v názoru na to, jak má komunikační síť vlastně fungovat. Zatímco model ISO/OSI počítá především se spojovaným přenosem - tedy s mechanismem virtuálních okruhů, TCP/IP naopak předpokládá nespojovaný charakter přenosu v komunikační podsíti - tedy jednoduchou datagramovou službou - což ostatně vyplývá i z představy co možná nejjednodušší komunikační podsítě.
![]() |
Nejnižší vrstva, vrstva síťového rozhraní (Network Interface Layer) (někdy též: linková vrstva resp. Link Layer) má na starosti vše, co je spojeno s ovládáním konkrétní přenosové cesty resp. sítě, a s přímým vysíláním a příjmem datových paketů. V rámci soustavy TCP/IP není tato vrstva blíže specifikována, neboť je závislá na použité přenosové technologii.
Vrstvu síťového rozhraní může tvořit relativně jednoduchý ovladač (device driver), je-li daný uzel přímo připojen například k lokální síti či ke dvoubodovému spoji, nebo může tato vrstva představovat naopak velmi složitý subsystém, s vlastním linkovým přenosovým protokolem (např. HDLC apod.). Vzhledem k velmi častému připojování jednotlivých uzlů na lokální sítě typu Ethernet je vrstva síťového rozhraní v rámci TCP/IP často označována také jako Ethernetová vrstva (Ethernet Layer).
Bezprostředně vyšší vrstva, která již není závislá na konkrétní přenosové technologii, je vrstva síťová, v terminologii TCP/IP označovaná jako Internet Layer (volněji: vrstva vzájemného propojení sítí), nebo též IP vrstva (IP Layer) podle toho, že je realizována pomocí protokolu IP. Úkol této vrstvy je v prvním přiblížení stejný, jako úkol síťové vrstvy v referenčním modelu ISO/OSI - stará se o to, aby se jednotlivé pakety dostaly od odesilatele až ke svému skutečnému příjemci, přes případné směrovače resp. brány. Vzhledem k nespojovanému charakteru přenosů v TCP/IP je na úrovni této vrstvy zajišťována jednoduchá (tj. nespolehlivá) datagramová služba.
Třetí vrstva TCP/IP je označována jako transportní vrstva (Transport Layer), nebo též jako TCP vrstva (TCP Layer), neboť je nejčastěji realizována právě protokolem TCP (Transmission Control Protocol). Hlavním úkolem této vrstvy je zajistit přenos mezi dvěma koncovými účastníky, kterými jsou v případě TCP/IP přímo aplikační programy (jako entity bezprostředně vyšší vrstvy). Podle jejich nároků a požadavků může transportní vrstva regulovat tok dat oběma směry, zajišťovat spolehlivost přenosu, a také měnit nespojovaný charakter přenosu (v síťové vrstvě) na spojovaný.
Přestože je transportní vrstva TCP/IP nejčastěji zajišťována právě protokolem TCP, není to zdaleka jediná možnost. Dalším používaným protokolem na úrovni transportní vrstvy je například protokol UDP (User Datagram Protocol), který na rozdíl od TCP nezajišťuje mj. spolehlivost přenosu - samozřejmě pro takové aplikace, které si to (na úrovni transportní vrstvy) nepřejí.
Nejvyšší vrstvou TCP/IP je pak vrstva aplikační (Application Layer). Jejími entitami jsou jednotlivé aplikační programy, které na rozdíl od referenčního modelu ISO/OSI komunikují přímo s transportní vrstvou. Případné prezentační a relační služby, které v modelu ISO/OSI zajišťují samostatné vrstvy, si zde musí jednotlivé aplikace v případě potřeby realizovat samy.