Standardizace v Internetu
Tento článek vyšel v počítačových novinách Computerworld č. 11/95, v rámci tzv. tématu týdne, jako součást série článků věnovaných problematice Internetu.
Jedním z velmi důležitých momentů, které přispěly k dnešní popularitě a obrovským rozměrům Internetu, je existence dobře propracovaného a efektivně fungujícího mechanismu tvorby standardů a doporučení, definujících fungování Internetu.
Mechanismus, prostřednictvím kterého Internet vypracovává, schvaluje, vydává a distribuuje své standardy, normy a doporučení, se samozřejmě vyvíjel. V tomto článku si jej budeme popisovat v takové podobě, jakou má dnes, a která je již delší dobu ustálena. Součástí celého mechanismu přitom jsou jak různé organizační subjekty, které se přípravou a schvalováním standardů a doporučení zabývají, tak i přesně definovaná pravidla jejich fungování, a pravidla tvorby a postupu přijímání standardů a doporučení různých typů a různého určení.
Začněme nejprve organizačními subjekty, jejich postavením a posláním.
ISOC, IAB, IETF, IRTF a další
Jak jsme si již uvedli v tématu týdne v CW 4/95, je nejvyšší odbornou autoritou v Internetu společnost Internet Society (ISOC), jako profesní sdružení jednotlivců i organizací, usilující o rozvoj "síťování" prostřednictvím Internetu a jeho technologií. Společnost ISOC jako taková však žádné standardy, normy či doporučení nevypracovává ani formálně neschvaluje - je spíše zastřešujícím orgánem, který koordinuje veškeré koncepční otázky kolem Internetu a jeho dalšího rozvoje (aniž by si přitom činila nárok na jakékoli "vlastnictví" Internetu, viz již zmíněné CW 4/95). V čele společnosti ISOC stojí její předsednictvo (Board of Trustees).
Pokud jde o technické otázky, týkající se architektury Internetu obecně a protokolů TCP/IP konkrétně, pak ty má v Internet Society na starosti "dceřinný" subjekt se statutem technického poradního orgánu, kterým je Internet Architecture Board (IAB). Jeho úkolem je koordinovat a zastřešovat všechny zmíněné aktivity (tj. aktivity na poli architektury Internetu a protokolů TCP/IP). Vlastním řešením technických otázek se však IAB samo nezabývá, a přenechává je dalším odborným orgánům, jejichž činnost pouze koordinuje. Je to však právě IAB, kdo fomálně vydává jednotlivé standardy a doporučení Internetu - ovšem bez toho, že by kohokoli k čemukoli nutila. Dodržování příslušných standardů a doporučení je tedy čistě dobrovolné, v praxi ale mnohdy důslednější, než dodržování různých právně závazných standardů de jure.
Vlastní technická práce probíhá na půdě dalšího organizačního subjektu, kterým je IETF (Internet Engineering Task Force). Ten si vytváří jednotlivé pracovní skupiny (Working Groups), které se podle svého tematického zaměření sdružují do větších skupin, označovaných jako Areas (doslova: oblasti). Když se například před časem ukázalo, že současný způsob adresování v rámci protokolu IP je dlouhodobě neudržitelný (viz též článek "Adresování v TCP/IP sítích), bylo v rámci IETF vytvořeno několik pracovních skupin, zbývajících se jednotlivými aspekty této problematiky, a byly sdruženy do jedné zastřešující "oblasti" (IPnG Area), která jejich činnost koordinuje.
Zajímavou je i otázka členství v jednotlivých pracovních skupinách IETF: to je otevřené a ryze dobrovolné - stačí účastnit se zasedání IETF a jejích pracovních skupin, nebo se na jejich práci podílet alespoň on-line formou, prostřednictvím sítě (zejména elektronickou poštou). Přitom se očekává, že členy budou spíše zainteresovaní a odborně fundovaní jednotlivci, než formálně delegovaní zástupci různých organizací. Pravidla členství jsou skutečně natolik otevřená, že s trochou nadsázky je možné definovat členství v IETF jako "duševní rozpoložení".
Tak volně organizovaný orgán, jakým je IETF, je ale dosti obtížné řídit a koordinovat. Proto nad ním existuje ještě jeden zastřešující orgán charakteru "dozorčí rady", kterým je tzv. Internet Engineering Steering Group (IESG). Jeho členy jsou ředitelé jednotlivých oblasti (Area directors), a dále volený předseda IETF, který je současně i předsedou IESG. Úkolem IESG je praktické a bezprostřední řízení aktivit IETF, a naplňování pravidel pro vypracovávání, schvalování a šíření standardů Internetu. Na rozdíl od samotného IETF je IESG formálně součástí Internet Society (ISOC).
Za zmínku stojí ještě další orgán, zastřešený společností ISOC a její radou IAB: Internet Research Task Force (IRTF). Tento orgán je v jistém smyslu paralelní k IETF, neboť také provádí vlastní "technickou" práci a je členěn na různě tematicky zaměřené oblasti (Areas). Zabývá se však takovou problematikou, kterou bychom mohli zařadit spíše do kategorie "základního výzkumu", a která většinou ještě nemá bezprostřední využití v rámci Internetu (a pokud se takovou stane, IRTF ji předává do kompetence IETF). Také IRTF, podobně jako IETF, má nad sebou svou "dozorčí radu" - IRSG (Internet Research Steering Group). Ani IRTF, ani IRSG však díky svému odbornému zaměření nejsou považovány za součást standardizační "mašinérie" Internetu.
Ne všechno je standard
Pro rozumné a efektivní fungování Internetu jsou samozřejmě zapotřebí takové standardy, které musí ve vlastním zájmu dodržovat všichni, a všichni je také stejným způsobem implementovat. Vedle nich ale bude vždy existovat celá řada dalších pravidel, doporučení či technik, které se týkají jen určitého okruhu uživatelů, dále celá řada doporučení, které jsou nepovinné, resp. volitelné, které mají pouze experimentální nebo informativní charakter apod. Přesto je ale vhodné, aby i takovéto materiály podléhaly jednotným pravidlům, jednotné koordinaci, způsobu dostribuce atd.
Standardizační "mašinérii" Internetu proto musíme chápat poněkud šířeji v tom smyslu, že vedle skutečných standardů (závazných na dobrovolné bázi, viz výše) jsou jejími výstupy i další doporučení, normy a jiné druhy materiálů, které mohou mít poněkud odlišný charakter, záběr i záměr. Pro snažší vyjadřování budeme všechny tyto výstupy označovat jednotně jako dokumenty (resp. dokumenty Internetu), protože mají vždy psanou formu (a teprve později si řekneme, jakým způsobem a v jakém tvaru jsou vydávány a šířeny).
V prvním přiblížení si můžeme všechny dokumenty Internetu rozdělit na dvě hlavní kategorie, na standardy a ostatní materiály. První z obou kategorií je v původní terminologii Internetu označována jako "track" (doslova "cesta", "trasa"), resp. jako "standards track", což dobře vystihuje skutečnou podstatu věci: příslušné dokumenty, které se mají stát standardy, totiž postupně prochází několika stádii, a teprve na konci celé této předem nalinkované "cesty" se stávají skutečnými standardy Internetu. Naproti tomu u druhé kategorie (Off-track) se obdobný pohyb (s drobnými výjimkami) nepředpokládá.
Off-Track
Podívejme se nyní podrobněji na tu z obou kategorií, jejíž výstupy nejsou zamýšleny jako závazné standardy - nebo alespoň ne v dané chvíli. Jednotlivé dokumenty jsou zde řazeny do čtyř úrovní, označovaných jako tzv. maturity levels (doslova: "úrovně vyzrálosti"):
- Informational: do této úrovně patří dokumenty, vydávané pro potřeby všeobecné informovanost celé komunity uživatelů Internetu. Jde především o dokumenty, které popisují záměry, zkušenosti, návody, perspektivy apod. Přitom nemusí přinášet ani žádné doporučení, ani nemusí vyjadřovat žádný všeobecný konsensus v určité otázce. Jako dokumenty tohoto typu mohou být vydávány i specifikace, vypracované mimo rámec Internetu, a o kterých se nepředpokládá že by se standardy Internetu někdy staly.
- Experimental: sem patří dokumenty, představující specifikace takového řešení, které je součástí experimentu, vývoje či výzkumu. Jsou vydávány jednak kvůli všeobecné informovanosti internetovské komunity, tak především jako formální zachycení postupu prací a případných výsledků.
- Prototype: tato úroveň byla zavedena pro potřeby včasného zveřejnění návrhů nových protokolů, které by měly být v budoucnu řádně standardizovány. Ovšem než budou moci nastoupit předepsanou cestu standardizace ("Standards Track"), musí být nejprve shromážděny potřebné zkušenosti s jejich praktickou implementací a provozem. Právě k tomuto účelu slouží publikování jejich specifikací coby "prototypů".
-
Historical: různé dokumenty mohou časem zastarat, a být
nahrazeny novějšími verzemi či variantami, nebo být jednoduše
prohlášeny za přežité. V takovém případě jsou tyto dokumenty
přesunuty do úrovně "historických".
Standards Track
Podobně jako v případě předcházející kategorie, existují i zde různé "úrovně vyzrálosti" (maturity levels) - tentokráte jen tři, ale zato jde již o skutečné úrovně, které jsou hierarchicky uspořádány, a mezi kterými jednotlivé dokumenty postupně přechází směrem vzhůru, podle předem přesně stanovených pravidel:
- Proposed Standard (doslova: "navhovaný standard") je počáteční úrovní, na které nově předkládané standardy začínají svou životní dráhu. Specifikace, předkládaná jako navrhovaný standard, by měla kodifikovat takové řešení, které je již dostatečně ustálené, které již má vyřešeny všechny základní koncepční otázky, je považováno za dostatečně zvládnuté a propracované, a kterému se již dostalo takové pozornosti ze strany širší internetovské komunity, že je možné jej považovat za přínosné. Přesto se ale připouští, že na základě dalších praktických zkušeností může v návrhu dojít k určitým změnám, nebo dokonce ke stažení celého návrhu jako takového. Pro předložení nového návrhu standardu není formálně požadována ani praktická implementace ani existence provozních zkušeností - tyto jsou ale velmi žádoucí, a mohou být rozhodujícím argumentem pro prosazení návrhu a jeho postup na vyšší úroveň. Výrobci síťových komponent by měli považovat návrhy této úrovně za ještě nevyzrálé. Na jedné straně je jistě vhodné, aby s nimi experimentovali a získávali zkušenosti, ale na druhé straně by se praktické implementace takovýchto návrhů neměly dostávat volně na trh a mezi běžné zákazníky. Přechod dokumentu z této úrovně na vyšší úroveň je možný nejdříve za 6 měsíců.
- Draft Standard ("předběžný standard") je úrovní, pro jejíž dosažení je již vyžadována existence nejméně dvou nezávislých a vzájemně interoperabilních implementací, a také existence určitých zkušeností s praktickým provoozem. Přechod dokumentu z úrovně "Proposed Standard" na úroveň "Draft Standard" je pak vyjádřením víry ve vyzrálost, užitečnost a také realizovatelnost navrhovaného řešení. Standard, který dosáhl této úrovně, je již považován víceméně za definitivní, a případné změny v něm by měly odrážet jen řešení konkrétních problémů, které se objevily až při masovějším využití. Pro výrobce síťových komponent již většinou má smysl implementovat řešení na této úrovni standardizace ve svých produktech, a uvádět je běžně na trh. Přechod na vyšší úroveň je možný nejdříve za 4 měsíce.
- Internet Standard (též jen: Standard) je nejvyšší úrovní, pro jejíž dosažení jsou zapotřebí rozsáhlé praktické zkušenosti s provozem. Řešení, které se dostalo až na tuto úroveň standardizace, je všeobecně považováno za vyzrálé, ustálené, a přinášející významný efekt pro celou komunitu uživatelů Internetu. Setrvání standardu na této úrovni není nijak časově omezeno, ani není podmíněno žádnými pravidelnými či nepravidelnými revizemi.
Úrovně závaznosti
Pro vyjádření míry závaznosti jednotlivých dokumentů, a hlavně pro vyjádření okruhu uživatelů a provozovatelů, kterých se týkají, jsou jednotlivé dokumenty řazeny do pěti úrovní závaznosti (requirements levels):
- Required (doslova: "požadováno"): do této úrovné jsou zařazeny dokumenty se specifikacemi takových protokolů a řešení, jejichž implementace je povinná. Příkladem mohou být protokoly IP a ICMP na úrovni síťové vrstvy, které jsou pro fungování sítě a její připojení k Internetu naprosto nezbytné.
- Recommended (doslova: "doporučené"): implementace řešení, definovaných dokumenty na této úrovni závaznosti, sice není nezbytně nutná pro dosažení minimální požadované funkčnosti, ale je velmi žádoucí. Výrobci síťových komponent by tato řešení měli zakomponovávat do svých výrobků, a vynechávat by je měli jen ve zvlášť odůvodněných případech.
- Elective (nejspíše: "volitelné"): sem patří dokumenty, popisující taková řešení, pro která neexistuje žádná explicitní povinnost je implementovat. Výrobci i koncoví uživatelé se pro ně mohou rozhodovat podle vlastního uvážení a podle vlastních potřeb.
- Limited Use (doslova: "omezené využití"): jde o dokumenty popisující taká řešení, jejichž působnost je nějakým způsobem omezena. Typickým příkladem mohou být řešení, kodifikovaná dokumenty z úrovně Experimental - jejich nasazení by mělo být omezeno jen na subjekty, které se na příslušném experimentu podílí.
- Not Recommended (doslova: "nedoporučené"): na tuto úroveň závaznosti se dostávají dokumenty popisující takové protokoly či taková řešení, která jsou považována za neevhodná pro všeobecné použití - ať již z důvodu své omezené funkčnosti, své úzce specializované povahy, či zastaralosti.
Dokumenty RFC
Základním mechanismem zpřístupnění dokumentů Internetů co nejširšímu spektru zainteresované odborné veřejnosti je jejich vydání ve formě tzv. dokumentů RFC. Jak jsme si již uvedli v tématu týdne v CW 4/95, jde v jistém smyslu o tradici vzniklou roku 1969 - kdy tehdejší posgraduální studenti, pozdější autoři protokolů TCP/IP, chtěli vhodně prezentovat svoje myšlenky, názory a návrhy, ale nemohli (a nejspíše ani nechtěli) se opřít o žádnou formální autoritu, ktreá by je vydávala. Proto svým dokumentům dali příznačný název "Request For Comment", doslova: "žádost o komentář".
Tradice pokračovala, a další dokumenty byly označovány také jako RFC. Aby se nepletly, každý z nich dostal do názvu své pořadové číslo: historicky prvním dokumenten RFC byl dokument RFC-1, pak následoval RFC-2 atd. V době psaní tohoto článku jich vyšlo přes 1700. S postupem času se ale obsahová náplň dokumentů RFC poněkud měnila. Jestliže zpočátku mohly tyto dokumenty obsahovat v podstatě cokoli, včetně básní a pozvánek na různá zasedání, později se již zaměřující jen na odborné otázky. Jak by již mělo vyplývat z dříve uvedeného textu, zdaleka ne všechny dokumenty RFC představují standardy. Pokud bychom sledovali jejich četnost, pak by zdaleka nejpočetnějšími byly dokumenty úrovně "Informational". Nicméně každý odborný "dokument Internetu" ve vydán touto formou.
Podstatnou vlastností všech dokumentů RFC je skutečnost, že jsou volně šiřitelné (public domain), a to v on-line formě. Všechny musí existovat ve formě čistého ASCII textu - což samozřejmě nebrání jejich kvalitnějšími naformátování, převodu do jiných textových formátů a šíření i v textové podobě. Směrodatný je však vždy jejich čistý ASCII tvar.
Další důležitou vlastností dokumentů RFC je skutečnost, že se nikdy nemění. Dojde-li k potřebě změnit obsah již publikovaného dokumentu RFC, je místo toho vydán nový dokument RFC - s novým pořadovým číslem - který již ve svém záhlaví nese údaj o tom, že nahrazuje jiný dokument RFC (doslova: Obsoletes RFC-xxxx, neboli: "činí RFC-xxxx zastaralým"). Tato vlastnost je velmi výhodná pro šíření dokumentů RFC prostřednictvím samotného Internetu - nikdy se totiž nemůže stát, že by v nějakém archivu bylo třeba obměňovat staré verze dokumentů RFC verzemi novými. Stejně tak se nikomu nemůže stát, že by si z nějakého archivu v Internetu "stáhnul" neaktuální verzi - může se mu ale stát to, že nemá jiný dokument RFC, s vyšším pořadovám číslem, který daný dokument nahrazuje.
Dokumenty STD
V některých situacích však může být "neměnnost" dokumentů RFC spíše na obtíž - zvláště je-li potřeba vyhledat nejaktuálnější verzi některého standardu. Proto byla vedle dokumentů RFC zavedena ještě další řada (či spíše sub-série), a to STD. Jednotlivé dokumenty této řady však nejsou žádnými novými dokumenty - všechny jsou současně vydávány i jako dokumenty RFC. Jde tedy jen o nový druh číslování a řazení dokumentů: například dokumentem STD-1 je dokument RFC-1280, ale stejně tak budou dokumentem STD-1 i budoucí aktualizace RFC-1280, které toto RFC nahradí. U dokumentů STD tedy již nebude platit to, co u dokumentů RFC - bude nutné shánět jejich nejaktuálnější verze. Na druhé straně aktuální verze určitého dokumentu STD bude vždy představovat aktuální stav určitého standardu, což v případě dokumentů RFC neplatí.
Dokumenty FYI
Ještě další zajímavou řadou dokumentů, která je opět jen sub-sérií dokumentů RFC, resp. novým druhem jejich číslování, je řada FYI (od anglického: For Your Information). Jejím smyslem je zvýraznit existenci dokumentů vysloveně informativního charakteru, zaměřených na nejrůznější skupiny uživatelů Internetu, a zavést lepší přehled do jejich číslování. Například označení FYI-18 je přeci jen snáze zapamatovatelné, než RFC-1392 (ve skutečnosti jde o výkladový slovník nejčastěji používaných termínů).