Vyšlo na iHNed.cz, 31.10.2012
Vytištěno z adresy: http://www.earchiv.cz/b12/b1031003.php3

Kam se ztratilo IP verze 5?

Jeden otřelý počítačový vtip říká, že nejjednodušším přechodem z IPv4 na IPv6 je přechod postupný: nejprve z IPv4 na IPv5, a teprve pak z IPv5 na IPv6. Vypadá to vcelku logicky, ale vznáší to jednu zajímavou otázku: co je s IPv5? Kam se ztratilo?

Svět Internetu a jeho protokolů TCP/IP je světem poměrně racionálním, ve kterém se obvykle nesetkáváme s nesmysly, nelogičnostmi a nedomyšlenostmi - na které naopak dost často narážíme v jiných počítačových architekturách. Jenže co by to bylo za pravidlo, kdyby nemělo i své výjimky. Takže tedy: proč se při přechodu na nové a větší IP adresy přechází z verze 4 rovnou na verzi 6, a přitom přeskakuje verze 5?

Odpověď je vcelku jednoduchá: proto, že žádný protokol IP verze 5 (IPv5) neexistuje a nikdy neexistoval. Jenže o to je to ještě podivnější: proč tedy někdo očísloval jednotlivé verze protokolu IP tak divně? Proč šel ze čtyřky rovnou na šestku, zatímco pětku přeskočil?

Pro vysvětlení už musíme zabrousit trochu do detailů fungování dnešního Internetu a jeho protokolů TCP/IP. Zejména pak protokolu IP (Internet Protocol-u), který je vlastně jediným protokolem, který fakticky přenáší nějaká dat (členěná na pakety) v celé té obrovské soustavě vzájemně propojených sítí, kterým se dohromady říká Internet. Fígl je právě v tom, že je jediný - a že způsob, jakým funguje, nemusí vyhovovat všem. Nevyhovuje například multimediálním přenosům, jako třeba přenosům hlasu pro potřeby telefonování.

Na první pohled by se mohlo zdát, že potřeba telefonování po Internetu (obecně po sítích s protokolem IP) je záležitostí až několika posledních let, ale není tomu tak. Trápila už i "otce zakladatele" v dobách, kdy se vše teprve formovalo - a tak se již v roce 1979, prakticky pouhý rok po vzniku protokolu IP, objevuje návrh nového protokolu ST (plným jménem: Internet Stream Protocol). Měl být alternativou k protokolu IP, neboli fungovat "vedle něj" na stejné (síťové) vrstvě, ale odlišně od toho, jak fungoval a dodnes funguje protokol IP: v odborném žargonu by se to dalo popsat tak, že místo nespojovaného přenosu jednotlivých paketů (jako to dělá protokol IP) přenáší ST své pakety spojovaným způsobem, jako jakýsi proud (anglicky: stream). Proto také "Internet Stream Protocol", zkratkou ST.

Jenže: aby protokoly IP a ST mohly fungovat vedle sebe a jejich pakety se vzájemně nepopletly, musí být nějak rozlišeny. A tak se využila konvence, zavedená už u paketů protokolu IP: ty mají hned na začátku své hlavičky uvedeno, které verzi protokolu patří. Jistě uhádnete, že pakety dnes používaného protokolu IP verze 4 (IPv4) zde mají hodnotu 4. No a taky asi už tušíte, jak to dopadlo s protokolem ST, který měl fungovat souběžně s protokolem IP a jehož pakety měly být vhodně odlišeny: na stejném místě mají hodnotu 5.

Účelu tak bylo dosaženo: oba druhy paketů se dají jednoduše a rychle odlišit od sebe. I díky tomu mohl protokol IP dále vzkvétat a dorůstat do své dnešní slávy, kdy skutečně "běhá na všem" (IP over Everything) a snad každá aplikace nad ním chce ve vlastním zájmu umět fungovat (Everything over IP). To protokol ST tak úspěšný nebyl. Vlastně nikdy neopustil stádium experimentálního protokolu, nebyl "komerčně" implementován a nikdy se běžně nepoužíval. Asi i proto, že protokol IP ho doslova převálcoval svou jednoduchostí a úspěšností - a svou nevhodnost pro multimediální přenosy dokázal kompenzovat "hrubou silou": pouhým zvyšováním přenosových a dalších kapacit, tak aby se jeho nevýhodnost pro multimediální přenosy minimalizovala. Díky tomu dnes běžně telefonujeme po protokolu IP (třeba i v rámci veřejného Internetu), a protokol ST k tomu nepotřebujeme. A vlastně o jeho existenci až ani nevíme.

Památce protokolu ST budiž přičteno k dobru, že byl hrdý na své jméno (Internet Stream Protocol, resp. ST) a nikdy se neprezentovat jako IP verze 5, resp. IPv5.

Jenže když skutečnému protokolu IP (IPv4) začalo posléze být těsno v jeho adresovém prostoru, objevila se hrozba vyčerpání jeho adres a bylo třeba vyvinout jeho novou verzi s většími adresami, objevil se problém: jak ji očíslovat? Jistě by se dalo jí říkat "verze 5" - ale v prvním bytu své hlavičky, kde dochází k rozlišení verze, by číslo 5 mít nemohla, protože to už bylo dávno přiděleno protokolu ST. Byť již nepoužívanému. A tak se raději zvolila další číslice - a světlo světa spatřil protokol IP verze 6 (IPv6).

Opravdu to tedy není tak, že by autoři internetových protokolů neuměli do pěti počítat. Nebo vlastně do šesti? A co takhle počítání od jedné dál? Existoval někdy nějaký protokol IP verze 1? Nebo verze 2? Neexistovaly - ale to si nechme zase na nějaký další článek.