Vyšlo v týdeníku CHIPweek č. 29/96, 16. července 1996
Vytištěno z adresy: http://www.earchiv.cz/a96/a629k150.php3

Úvod

Měla-li ve světě počítačových sítí nějaká koncepce a ucelená soustava názorů skutečně úspěch, pak to zcela jistě byla technologie TCP/IP. V modulu, který dnes začíná, se proto soustředíme na podstatu této technologie, na její základní myšlenky i celkový přístup.

Na úvod jedno malé terminologické odbočení - o TCP/IP se dnes mluví i píše opravdu velmi často, ale ne vždy se zcela správnými přívlastky a přídomky. Mnohdy se totiž hovoří o „protokolu TCP/IP", v jednotném čísle, jako kdyby šlo o jeden jediný protokol. To není správné, protože TCP/IP je souhrnné označené mnoha jednotlivých protokolů, které spolu úzce souvisí - dnes je jich už bohatě přes stovku. Správné je tedy mluvit o „soustavě" protokolů, či o „rodině" protokolů TCP/IP (v angličtině se v této souvislosti používá nejčastěji spojení „TCP/IP protocol suite").

Ve skutečnosti je ale TCP/IP více než jen soustavou vzájemně souvisejících protokolů - jde o celý ucelený „světový názor", o soustavu myšlenek a názorů na to, jak by počítačové sítě měly být budovány a jak by měly fungovat. Konkrétní protokoly, které tvoří součást rodiny protokolů TCP/IP, jsou pak již jen konkrétním vyústěním těchto myšlenek a koncepcí.

Jak vzniklo TCP/IP?

Historie TCP/IP dosti úzce souvisí s historií Internetu - ten vznikl jako experiment amerického ministerstva obrany, který měl ověřit možnost vybudování počítačové sítě propojující místa velení a schopnou přežít i jaderný úder nepřítele. Ministerstvo obrany USA si za tímto účelem nechalo vypracovat studii (od firmy Rand Corporation), aby vědělo kterým směrem se vůbec vydat. Zmíněná studie dospěla k závěru, že jedinou možností je nevytvářet v síti žádný centrální prvek - který by jistě byl prvním cílem nepřítele - a pak také nutnost předem počítat s nespolehlivostí přenosových cest (které může nepřítel kdykoli „odstřelit", ale síť jako celek by to měla přežít). Důsledkem pak bylo i zjištění, že „klasické" přenosové technologie na bázi přepojování okruhů, v tehdejší době zcela dominující ve světě spojů, nejsou pro daný účel použitelné (když nepřítel „odstřelí" část sítě, přeruší tím již zřízený okruh).

Přednost proto dostala myšlenka přepojování paketů, pocházející právě od zmíněné Rand Corporation - ale její životaschopnost bylo třeba nejprve ověřit v praxi, protože šlo o věc velmi novou a dosud příliš neimplementovanou . No a tak americké ministerstvo obrany spojilo příjemné s užitečným, a začalo budovat rozlehlou počítačovou síť, schopnou ověřit životaschopnost přepojování paketů - a současně s tím schopnou propojit výzkumná střediska, které totéž ministerstvo financovalo ze svých prostředků na rozvoj vědy. Světlo světa tak spatřila síť ARPANET, pojmenovaná po grantové agentuře ARPA (Advanced Research Projects Agency) - což byla účelová organizace ministerstva obrany USA (DoD, Department of Defense), skrz kterou „tekly peníze" od vojáků do akademické sféry, která výzkum skutečně zajišťovala.

Původní ARPANET byl tedy vybudován na technologii přepojování paketů - ovšem takové, která byla jen narychlo „spíchnuta" pro potřeby ověření životaschopnosti celé koncepce. Toto ověření se podařilo, ale původní implementace se ukázala jako nepříliš vhodná pro praktické použití. No a tak znovu nastoupil měšec amerického ministerstva obrany, které skrze svou grantovou agenturu ARPA zafinancovalo vývoj „řádné" a neuspěchané verze síťových protokolů na principu přepojování paketů. No a tak se v průběhu 70. let zrodily protokoly TCP/IP. Časem (postupně cca od roku 1980, definitivně k 1.1.1983) na ně přešla i síť ARPANET, která postupně přerostla až v dnešní Internet.

Další vývoj TCP/IP

Pro další prosazení protokolů TCP/IP, i mimo samotnou síť ARPANET, byl velmi důležitý jeden sympatický počin amerického resortu obrany, za jehož peníze byly protokoly TCP/IP vyvinuty. Vojáci totiž nelitovali investovat další peníze do toho, aby protokoly TCP/IP byly implementovány do prostředí vhodného operačního systému. Stalo se tak díky tomu, že grantová agentura ARPA zaplatila komerční firmě BBN (Bolt. Beranek and Newman, která také „stavěla" začínající ARPANET), aby tato implementovala protokoly TCP/IP v BSD Unixu. No a pak agentura ARPA ještě přispěla i středisku Berkeley Software Distribution na univerzitě v Berkeley na to, aby mohla zdarma distribuovat BSD Unix vybavený protokoly TCP/IP celé akademické sféře. Načasování bylo vynikající, protože většina amerických univerzit v té době právě „přezbrojovala" svůj výpočetní park, a BSD Unix jim přišel velmi vhod. I v tom, že prostřednictvím v něm zabudovaných protokolů TCP/IP bylo možné se snadno připojit k síti ARPANET, neboli k rodícímu se Internetu. Později pak byly protokoly TCP/IP implementovány i v ostatních verzích Unixu, a dodnes jsou zcela dominující síťovou technologií v prostředí Unixu.

Agentura ARPA (posléze přejmenovaná na DARPA) pak financovala i další vývoj protokolů TCP/IP. Po věcné stránce jej měla na starosti řídící skupina s názvem ICCB (Internet Configuration and Control Board), které zpočátku předsedal duchovní otec celé koncepce TCP/IP, pan Vinton G. Cerf. Později (s oschodem pana Cerfa do komerční sféry) byla tato skupina přejmenována na IAB (Internet Activities Board), ale svou roli zastřešujícího orgánu pro další vývoj TCP/IP si podržela až do dnešních dnů - kdy sice má stále stejnou zkratku IAB, ale poněkud pozměněný název (Internet Architecture Board). Není již také podřízena agentuřa ARPA a financována z jejích prostředků, ale je součástí prestižní Internet Society („společnosti pro Internet", založené v roce 1992).

Současný vývoj TCP/IP

Roli amerického ministerstva obrany při vzniku protokolů TCP/IP (i Internetu jako takového) je možné přirovnat k rodičovské péči o vlastního potomka, který se v jistém stádiu života postaví na vlastní nohy a žije dále svým vlastním životem. Stejně tak jako Internet, který po určité počáteční době svého života přešel pod civilní vědeckovýzkumnou správu a posléze sa postavil na plně komerční „nohy", začaly i protokoly TCP/IP žít svým vlastním životem. Alespoň v tom smyslu, že pro svůj další rozvoj již nejsou vázány na příděl peněz od nějaké centrální autority, která by také mohla o mnoha věcech rozhodovat. Dnes je vývoj protokolů TCP/I v podstatě věcí veřejnou, na které se podílí jak zainteresovaní jednotlivci (sdružení ve volně organizovaném spolku s názvem IETF, neboli Internet Engineering Task Force), tak i mnohé čistě komerční firmy a další instituce. V podstatě odkudkoli (z lůna IETF, od komerční firmy apod.) může přijít nějaký nový návrh, a vstoupit do zavedené „standardizační mašinérie" (ke které se dostaneme podrobněji v dalších dílech). Pokud se ukáže, že je rozumný, potřebný a že jej lze implementovat, může se stát další součástí TCP/IP. Dnes již existuje mnoho protokolů, které jsou „standardní" součástí rodiny protokolů TCP/IP, a pochází od komerčních firem či ještě jiných subjektů (a mnohdy vznikly jako jejich vlastní, proprietární řešení, které se posléze osvědčilo a stalo se standardem). Příkladem může být třeba protokol NFS pro sdílení souborů (pocházející od firmy Sun), nebo třeba celá koncepce služby WWW a s ní související protokoly (vyvinuté původně ve středisku CERN).

TCP/IP a Internet

Protokoly TCP/IP vznikly v lůně vznikajícího Internetu a pro jeho potřeby, a dodnes jsou také technologií, na které je Internet vybudován a na které funguje. Proto se také o protokolech TCP/IP mluví neformálně jako o protokolech Internetu, a hlavně celá „standardizační mašinérie", která se stará o přesné definování jednotlivých součástí TCP/IP, je dosud přisuzována Internetu jako takovému (proto se také hovoří o „standardech Internetu").

Přesto ale není zcela správné klást mezi Internet a TCP/IP rovnítko - TCP/IP je technologie, neboli „způsob jak něco udělat". Naproti tomu Internet je konkrétní síť, resp. soustava vzájemně propojených sítí, neboli jedno konkrétní použití technologie TCP/IP. Stejná technologie TCP/IP může být, a také skutečně je implementována i v sítích, které s Internetem nemusí mít nic společného (nemusí k němu být připojeny), například ve zcela izolovaných lokálních sítích. Stejně tak se ale i do dnešního Internetu začínají pomalu prosazovat i některé technologie, které nejsou bezprostřední součástí TCP/IP - jde například o některé pilotní nasazení protokolů ze světa ISO/OSI, jako třeba o adresářové služby X.500.