Vyšlo v měsíčníku PC World, 12/2006
Vytištěno z adresy: http://www.earchiv.cz/b06/b1200001.php3

Báječný svět počítačových sítí

Část XX.: Příběh Ethernetu

Snad žádná jiná přenosová technologie linkové vrstvy neměla v praxi takový úspěch a nedočkala se takového nasazení, jako Ethernet. Vděčí za to kombinaci několika faktorů, včetně své jednoduchosti a přímočarosti, a také rozumnému přístupu svých původních autorů, včasné standardizaci a brzkému "otevření". Dnes už Ethernet přerostl z prostředí lokálních sítí až do sítí metropolitních i sítí rozlehlých. Přitom také podstatně zrychlil, z původních deseti megabitů za sekundu nejnověji na tisícinásobek, na deset gigabitů.

Ethernet je technologií, která z pohledu sedmivrstvého referenčního modelu ISO/OSI patří na linkovou vrstvu, neboť se zabývá přenosem rámců mezi uzly, které spolu přímo sousedí. Zasahuje ale i do vrstvy fyzické, neboť má své vlastní představy o tom, jak se mají přenášet jednotlivé bity. V rámci rodiny protokolů TCP/IP je zařazení Ethernetu ještě jednodušší, protože zde je pro "vše pod síťovou vrstvou" vyhrazena jen jedna vrstva, a to vrstva síťového rozhraní.

Zařazení Ethernetu do sedmivrstvého modelu ISO/OSI a do síťového modelu TCP/IP

Ethernet přitom dokáže velmi dobře spolupracovat právě s protokoly TCP/IP. Má totiž velmi podobnou filosofii jako protokol IP, který se v rámci protokolů TCP/IP používá na síťové vrstvě - a je právě tím síťovým protokolem, který je asi nejčastěji vkládán do Ethernetových rámců. Oba protokoly, tedy jak Ethernet, tak i IP, jsou totiž záměrně koncipovány jako jednoduché a přímočaré protokoly, soustředěné "na svůj hlavní byznys". Ten vykonávají velmi efektivně, a už si příliš nelámou hlavu s tím, co se má stát v různých "krajních situacích".

U Ethernetu je to třeba situace, kdy je více uzlů připojeno k jednomu společně sdílenému segmentu (viz obrázek), a dva či více uzlů by chtěly začít vysílat a odesílat své rámce. To ale nejde, a tak se Ethernet pokouší mezi nimi vybrat jednoho, který by vysílal (a ostatní by počkali). Dělá to ale v zásadě tak, že si jakoby hodí kostkou (neboli: použije náhodný faktor), a podle výsledku vybírá. Je to jednoduché, rychlé a také snadno implementovatelné, a navíc to v drtivé většině situací bohatě postačuje a funguje zcela bez problémů. Ale z pohledu jednotlivých uzlů použití náhody (nedeterminismu) znamená, že chování Ethernetu není dopředu přesně predikovatelné, a jednotlivé uzly nemají žádnou jistotu, že se vůbec dostanou "ke slovu" (že budou moci odeslat svůj rámec). Mohou počítat pouze s pravděpodobností, která se tím více blíží jistotě, čím menší je provoz v daném segmentu. Ale nikdy nejde o skutečnou jistotu.

Právě naznačený nedeterminismus (použití náhodného prvku) je v Ethernetu hluboce zakořeněn a dodnes jej činí nezpůsobilý pro využití tam, kde je požadována garantovaná odezva v reálném čase (jako například při řízení výroby). Na druhou stranu pro drtivou většinu ostatních aplikací, jako třeba pro "kancelářské", "domácí" či "školní" využití vyhovuje více než dobře, a dokáže zde uplatnit již zmiňované přednosti (jednoduchost, přímočarost, rychlost, i snadnost implementace, a s ní spojenou nízkou cenu). Podobně síťový protokol IP také ve většině případů "stíhá" přenášet síťové pakety, ale pokud zátěž přeroste jeho možnosti, moc si s tím hlavu neláme, "přebývající" pakety zahazuje a pokračuje dál.

Určitá podobnost mezi Ethernetem a protokolem IP z rodiny protokolů TCP/IP přitom není úplně náhodná. Mezi autory obou řešení totiž existuje vazba, v osobě Roberta Metcalfa, o kterém jsme se v tomto seriálu již také jednou zmiňovali (v 17. dílu tohoto seriálu, v souvislosti s tzv. Metcalfovým zákonem). Právě Robert Metcalfe totiž vedl skupinu, která "vynalezla" Ethernet - a současně byl členem skupiny, která pod vedením Vintona Cerfa navrhovala samotné protokoly TCP/IP. Snad i proto Ethernet tak báječně "pasuje" k protokolu IP.

Jak se zrodil Ethernet?

Pojďme tedy k historii Ethernetu jako takového. Ta se začala psát počátkem sedmdesátých let minulého století ve vědeckovýzkumném středisku PARC (Palo Alto Research Center) v Kalifornii v USA, který patřil společnosti Xerox. Zde se zrodila celá řada vynikajících nápadů a inovací, jako třeba grafické uživatelské rozhraní (GUI), režim WYSIWYG (What You See Is What You Get), či objektově orientované programování (OOP), RAID či laserový tisk apod. A také se zde zrodily první pracovní stanice, příznačně pojmenované Alto, které byly jakýmsi předstupněm pro pozdější osobní počítače standardu IBM PC. Už tyto pracovní stanice totiž měly značně "osobní" charakter, a mohly být vyhrazeny jednotlivým uživatelům.

Právě pracovním stanicím Alto pak Ethernet vděčí za svůj vznik. Ve středisku PARC jich vyrobili větší počet, načež vnikla potřeba propojit je mezi sebou. Ale vzhledem k jejich počtu to už nešlo udělat tak, jak bylo v té době zvykem pro rozlehlé sítě s několika málo počítači - pomocí dvoubodových spojů, víceméně ad hoc způsobem. A tak vzniklo nové zadání: vyvinout vhodnou technologii, která by jednoduchým a systematickým způsobem propojila větší počet uzlů, nacházejících se velmi blízko sebe, typicky v jedné budově.

Do řešení tohoto úkolu se nakonec pustila skupinka inženýrů, soustředěná kolem Roberta Metcalfa. Navrhla propojit pracovní stanice Alto stylem "do sběrnice", přes jeden segment koaxiálního kabelu, sdílený všemi stanicemi. Mělo to výhodu v tom, že když jeden uzel něco vysílal do tohoto společně sdíleného přenosového média, "slyšely" to současně všechny ostatní uzly a mohly jeho vysílání přijímat. Právě kvůli této vlastnosti - kvůli tomu, že vysílání jednoho uzlu "pronikalo všude", ke všem uzlům - pak Ethernet dostal také své jméno (podrobněji viz samostatný box).

Představa topologie "do sběrnice", využívající sdílené přenosové médium

Proč se Ethernet jmenuje Ethernet?

Když v 19. století položil James Clerk Maxwell základy teorie elektromagnetické pole, fyzikům přišlo divné, jak se mohou elektromagnetické vlny šířit i vakuem, kde vlastně "nic není". A tak přišli s pracovní hypotézou, která říkala že i ve vakuu přeci jen "něco je". Jakási všeprostupující substance, kterou nazvali "éter", a skrze kterou by se elektromagnetické vlny mohly šířit i ve vakuu.

Poměrně záhy si ale fyzikové tuto hypotézu sami vyvrátili. Známý Michelson-Morleyův pokus dokázal, že "všeprostupující éter" nemůže existovat. A tak se s ním ve fyzice přestalo počítat. Nicméně samotné slůvko "éter" jakoby přežilo, a dodnes se neformálně používá pro označení toho, skrze co se šíří bezdrátové vysílání. Hovoří se například o "vysílání éterem", či o "zaplněném éteru" apod.

No a stejně tak si na původní éter vzpomněl i Robert Metcalfe, když měl v roce 1974 nějak pojmenovat to, co vznikalo pod jeho vedení. Stará a velmi záhy vyvrácená hypotéza o éteru ho inspirovala hlavně kvůli všesměrovému způsobu šíření signálu v rámci sběrnicové topologie, kterou on a jeho lidé propojili pracovní stanice Alto. A tak se zrodilo jméno Ethernet, pro jakousi "éterovou síť". Dokonce se z té doby zachoval ještě i Metcalfův pracovní náčrtek, na kterém je sdílené médium (konkrétně koaxiální kabel) explicitně označeno jako éter.

DIX Ethernet

První verze Ethernetu, která spatřila světlo světa ve středisku PARC a skutečně propojovala pracovní stanice Alto, pracovala s přenosovou rychlostí 2,94 Mbit/s, odvozenou od rychlosti procesorů stanic Alto.

Ale to ještě zdaleka nebyla ta verze Ethernetu, která doslova dobila svět. Na té museli ve středisku PARC ještě trochu zapracovat, a také ji zrychlit, na rovných 10 megabitů za sekundu. Ale to už se do vývojových přípravných prací zapojily i další subjekty, respektive jejich odborníci.

Kromě samotné firmy Xerox se tak na vývoji Ethernetu podílely také společnosti Intel, a DEC (Digital Equipment Corporation). Seřazeno podle abecedy je to trojice DEC, Intel a Xerox, zkratkou DIX. Proto se také o prvních verzích Ethernetu mluvilo a mluví jako o "DIX Ethernetu".

Otevření a standardizace

Všechny tři společnosti, které se na vývoji Ethernetu podílely, si mohly výsledné řešení "nechat pro sebe", jako své vlastní a proprietární, a proti eventuelnímu okopírování jej chránit například patentováním.

Pravdou je, že ještě než byly "přizvány do hry" i společnosti DEC a Intel, nechal si Xerox vznikající Ethernet patentovat, a také si zaregistroval samotné jméno Ethernet jako svou chráněnou známku. Patent na "vícebodový komunikační systém s detekcí kolizí" (Multipoint data communication system with collision detection) Xerox podal 31. března 1975.

Ovšem ještě než byl tento patent přijat (13.12.1977, jako US Patent #4,063,220, podařilo se Robertu Metcalfovi přesvědčit společnost Xerox, aby vznikající Ethernet neuzavírala a nedělala z něj proprietární technologii, kterou by mohla vyrábět a prodávat právě a pouze ona a nikdo jiný. Pravdou je, že takto by se Ethernet téměř jistě nedočkal takového rozšíření, jaké má dnes. Místo toho Xerox souhlasil jak s tím, že "vezme do hry" další subjekty (DEC a Intel), tak i s tím, že celé vznikající řešení "otevře", zveřejní, a dokonce nechá standardizovat, tj. vydat jako standard.

Jen pro srovnání: Ethernet nebyl jedinou technologií svého druhu, která v uvedené době vznikala, s cílem propojit systematickým způsobem a na malou vzdálenost větší počty uzlů. Jiným příkladem byla technologie Token Ring, kterou vyvíjela společnost IBM. Ta ji ale tak dlouho držela "pod pokličkou", chránila si ji jako své proprietární řešení a odmítala ji náležitě otevřít, až bylo příliš pozdě a Ethernet konkurenční Token Ring jednoznačně převálcoval.

Ethernet II vs. IEEE 802.3

Vývoj Ethernetu probíhal prakticky celá sedmdesátá léta. Teprve s blížícím se rokem 1980 usoudili vývojáři ve středisku PARC, že jejich dílo je dostatečně připravené a vyzrálé na to, aby se specifikace Ethernetu mohli předat ke standardizaci. K té si vybrali organizaci IEEE (Institute of Electrical and Electronics Engineers), která se právě počátkem roku 1980 začala zabývat standardizací v oblasti lokálních sítí (sítí LAN). Za tímto účelem také IEEE zřídila svou pracovní skupinu, kterou označila číslem 802 (kde "80" reprezentovalo poslední dvě číslice roku založení, a zbývající číslice "2" odpovídala měsíci - únoru).

Pracovní skupina IEEE 802 si k projednání návrhu na standardizaci Ethernetu vytvořila zvláštní podskupinu, dodnes označovanou jako IEEE 802.3. Ta začala návrh DIX Ethernetu skutečně posuzovat, ale měla k němu určité připomínky, vyžádala si provedení určitých změn v celém návrhu - a s tím návrh vrátila autorům.

Některé z připomínek byly spíše kosmetické, ale jiné už nikoli - a autoři DIX Ethernetu akceptovali jen některé ze vznesených připomínek. Vznikla tak druhá verze DIX Ethernetu, dodnes označovaná jako Ethernet II.

Jenže tato nová verze (Ethernet II) stále nesplňovala všechny představy standardizační pracovní skupiny IEEE 802.3, a ta nakonec (v roce 1983) vydala jako standard něco opět jiného, upraveného podle vlastních představ. A tak se stalo, že náhle existovaly dvě různé verze Ethernetu.

Verze, která byla nakonec vydána jako standard (IEEE 802.3), navíc formálně ani nemohla být pojmenována jako Ethernet. To kvůli tomu, že v té době již měla jméno Ethernet registrované jako svou chráněnou značku společnost Xerox. Proto standardy IEEE 802.3 používají poněkud krkolomné označení sítí "na bázi CSMA/CD". To podle označení přístupové metody, který je pro Ethernet tak charakteristická.

Rozdíl je v rámcích

Rozdílů mezi Ethernetem II a standardem IEEE 802.3 ("síť na bázi CSMA/CD") je více, ale nejvýznamnější je asi odlišný formát linkových rámců u obou verzí.

Obecná struktura ethernetového linkového rámce

Obě verze mají v prvních 12 bytech dvě 48-bitové (ethernetové) adresy, patřící odesilateli a příjemci daného rámce. V tomto se tedy neliší. Rozdíl je až v dalších dvou bytech. V případě Ethernetu II je zde specifikace toho, co je "v nákladové části" rámce. Jde o údaj, kterému se říká "EtherType", a jeho (používané) hodnoty jsou vyšší než 1500. Podle Ethertypu pak příjemce, který "vybaluje" obsah přijatého rámce, pozná komu tento obsah patří. Například pro protokol IP, jehož pakety jsou do ethernetových rámců vkládány asi nejčastěji, je Ethertype roven 0800 (hexadecimálně), resp. 2048 dekadicky.

Naproti tomu verze IEEE 802.3 má ve stejných dvou bytech jiný údaj, a sice velikost rámce, počítanou v bytech. Přesněji: velikost nákladové části rámce, bez započítání hlavičky rámce a jeho patičky se zabezpečovacím údajem (tzv. CRC).

Zajímavou otázkou určitě je, zda oba druhy Ethernetových rámců mohou koexistovat vedle sebe. Tedy zda příjemce může vždy spolehlivě poznat, zda právě přijal jeden či druhý typ rámce.

Odpověď na tuto otázku je naštěstí kladná, a to díky tomu, že velikost Ethernetových rámců nepřesahuje 1500 bytů "užitečného nákladu". A tak se lze orientovat podle hodnoty obsažené v příslušných dvou bytech: pokud je větší než 1500, jde o rámec Ethernet II. Jinak o rámec IEEE 802.3, viz obrázek.

Oba typy rámců se přitom používají dodnes. Vedle nich se dokonce používaly ještě dva další typy ethernetových linkových rámců, a to "raw 802.3", a 802.3 SNAP". I ty bylo a stále je možné rozlišit, podle konkrétních hodnot v jejich hlavičce, viz obrázek.

Srovnání ethernetových rámců

Další vývoj Ethernetu

Další vývoj Ethernetu se již odehrával výlučně "po linii" standardizované verze IEEE 802.3, zatímco paralelní DIX Ethernet (resp. Ethernet II) se již dále nevyvíjel. Neznamená to ale, že by Ethernet II byl dnes úplně mrtvý a už jsme se s ním již nemohli nikde setkat. Alespoň něco se z něj totiž stále ještě používá, a to formát linkových rámců (viz samostatný box). Je oblíbený zejména na Uniových platformách.

Pro verze Ethernetu, standardizované v rámci IEEE 802.3 (tedy vlastně "pro sítě na bázi CSMA/CD) se záhy začalo používat také jiné označení. Například první standardizovaná verze je dodnes známá jako "10Base5", kde číslo 10 znamená rychlost (už šlo o 10 Mbit/s), a číslice 5 značí dosah (ve stovkách metrů). Slůvko "Base" uprostřed celého označení pak říkalo, že jde o přenos tzv. v základním pásmu (Baseband), což fakticky znamenalo že jde o přenos který není modulován (tj. nepoužívá nějakou nosnou harmonickou frekvenci, jejíž modulací by se vyjadřovala přenášená data).

Pravdou je, že se časem objevila i verze 10 Broad36, která dosahovala stejné rychlosti 10 Mbit/s, dokonce na vzdálenost 3,6 kilometru, ale po "televizním" koaxiálním kabelu a právě díky použití modulovaného přenosu. Ovšem tato verze je, i přes určité pozdější snahy o její vzkříšení, dnes úplně mrtvá.

Koaxiální Ethernet

Vraťme se tedy k verzi 10Broad5, která měla dosah až 500 metrů. Využívala přitom tzv. tlustý koaxiální kabel, s průměrem 1 cm. Ten měl často žlutou barvu (jakoby podle původního Metcalfova obrázku, viz výše), a tak se mu někdy říkalo i "Yellowcable" (doslova: žlutý kabel).

Tlustý koaxiální kabel byl ale dosti drahý, a také velmi málo ohebný. Ohnout jej do pravého úhlu, například kolem nějakého rohu stěny, bylo nemožné. Naštěstí ale tento kabel nemusel vést k samotným uzlům, protože se na něm daly dělat odbočky, prostřednictvím tzv. transceiverů. Koncové uzly se pak připojovaly až k tzv. drop kabelům, které mohly být až 50 metrů dlouhé, viz obrázek.

Představa připojování uzlů k Ethernetu 10Base5

Nevýhody první verze Ethernetu částečně odstranila verze další, označovaná jako 10Base2. Používala již tenčí koaxiální kabel (o polovičním průměru), a číslice 2 odpovídala tomu, že jeho dosah byl jen 200 metrů. Vlastně až po zaokrouhlení, protož přesně to bylo jen 185 metrů. Navíc reálný dosah byl ještě menší, protože u této verze se na kabelu nedělaly odbočky, ale musel se "dotáhnout" až k síťové kartě, kde byl teprve rozbočen prostřednictvím speciálního konektoru ve tvaru písmene T. Vše naznačuje obrázek.

Představa připojování uzlů k Ethernetu 10Base2

Konektory T a BNC pro Ethernet 10Base2

Ethernet na kroucené dvoulince

Koaxiální kabel byl přenosovým médiem, na kterém Ethernet doslova "vyrostl", a podle kterého se také zformovala jeho celková koncepce. Zejména sdílený charakter koaxiálního kabelu, coby přenosového média, na dlouho předznamenal jeho vlastnosti, i chování jeho přístupové metody. Jenže ani koaxiální kabel nevydržel Ethernetu navždy.

Alternativou, která časem koaxiální kabel úplně nahradila, byla tzv. kroucená dvoulinka (anglicky: twisted pair, zkráceně "twist"). Tedy dvojice souběžně vedených vodičů, které jsou pravidelně zkrouceny kvůli tomu, aby se minimalizovalo jejich vyzařování i citlivost na vnější elektromagnetického pole (tj. efekt antény).

Důvod, proč Ethernet přešel na kroucenou dvoulinku, úzce souvisí s tím, jak se v USA budovaly nejrůznější objekty. Tak, že se v nich dopředu instalovaly rozvody pro potřeby telefonie, a tyto se značně předimenzovávaly. Když se pak měly někde instalovat ještě další (koaxiální) kabelové rozvody pro potřeby Ethernetu, lidi zákonitě napadlo: a nemohl by Ethernet místo koaxiálních kabelů používat právě kroucenou dvoulinku, která "už je natažená"?

No, chvíli to trvalo a dalo to určitou práci, ale nakonec se to podařilo: na světě byl standard, který umožňoval fungování Ethernetu po (telefonní) kroucené dvoulince. Příslušné řešení se dodnes označuje jako 10BaseT, a na jeho konci už není číslice ale písmenko T, znamenající "twist". Možná je tomu tak proto, aby nemusela být na konci jen malá jednička. Dosah se totiž také zkrátil, a to na pouhých 100 metrů.

Navíc kroucená dvoulinka je v jednom ohledu principiálně odlišná od koaxiálního kabelu: nejdou na ní dělat žádné odbočky, a tak ji lze použít jen pro dvoubodové spoje (tj. jen pro vzájemné propojení dvou uzlů). Jenže na to Ethenret nebyl zvyklý, a předpokládal naopak sdílené propojení více uzlů stylem "do sběrnice" (viz výše). A tak se místo odboček na kabelu muselo použít rozvětvení pomocí elektronických obvodů, soustředěných do "krabičky", označované příznačně jako rozbočovač (anglicky: hub).

Představa připojování uzlů k Ethernetu 10BaseT

Ani desetimegabitový Ethernet na kroucené dvoulince (10BaseT) však nebyl zdaleka posledním slovem Ethernetu. Ten se s postupem času dočkal dalších podstatných inovací. Například postupného zrychlování, nejprve na 100 Mbit/s, pak na 1 Gbit/s, a nově i na 10 Gbit/s. Stále častěji se přitom začalo přecházet z kroucené dvoulinky na optická vlákna, která skýtala podstatně větší přenosový potenciál.

Jenže brzdou ve zvětšování dosahu Ethernetu byla jeho přístupová metoda (CSMA/CD), jejíž fungování neumožňovalo dosahovat větších vzdáleností ani na optických vláknech. A tak časem vzala za své i tato přístupová metoda, pro Ethernet dříve tak charakteristická. U gigabitového Ethernetu ještě nebyla odstraněna úplně (protože zde stále existuje varianta kde se využívá), ale u desetigigabitového Ethernetu už vzala definitivně dostala vale.

Bez ní sice Ethernet může fungovat jen na dvoubodových spojích, bez opakovačů a jen plně duplexně (neboli tak, aby obě strany mohly vysílat "proti sobě" a souběžně). Ale na oplátku může Ethernet v této podobě dosáhnout na podstatně větší vzdálenosti, třeba i desítky kilometrů. Vlastně už ztratil nějaké principiální omezení na dosah, a ten už dán jen fyzikálními vlastnostmi použitého přenosového média (hlavně jeho útlumem).

Před Ethernetem se tak doslova otevřel zcela nový svět. Původně totiž vznikl jako technologie jen pro lokální sítě (sítě LAN), umožňující propojení jen na krátké vzdálenosti. Ale když s postupem času ztratil svá omezení na dosah, mohl náhle vstoupit do sítí metropolitních, a dokonce i do sítí rozlehlých. Najednou se pak začalo hovořit i o "metropolitním Ethernetu", o "Ethernetu pro operátory" a o dalších jeho mutacích a variantách.

Ale to je vše stále jen část celého báječného a velmi úspěšného příběhu Ethernetu, jehož další části si necháme zase na příští díl tohoto seriálu.