Báječný svět počítačových sítí
Část XXI.: Stomegabitový Ethernet
Dnešní Ethernet už není tím, čím byl při svém vzniku. Z původních deseti megabitů za sekundu zrychlil na desetinásobnou rychlost, a ani to ještě zdaleka není jeho poslední slovo. Dokázal se také přizpůsobit různým druhům kabeláže, a současně si ponechal své základní vlastnosti, kterým vděčí za rozhodující část svého úspěchu. Konkrétně svou jednoduchost, přímočarost a otevřenost. V neposlední řadě si nadále ponechal i své původní jméno, na které si lidé už zvykli. Ale málem to dopadlo jinak, protože o šanci stát se „stomegabitovým Ethernetem“ svého času soupeřily dvě různé vývojové verze.
První část „životního příběhu“ Ethernetu, kterou jsme si popisovali v předchozím dílu tohoto seriálu, se nesla ve znamená rychlosti deseti megabitů za sekundu. S těmi Ethernet původně začínal a dosahoval jich ještě na koaxiálním kabelu. Tedy na médiu, které bylo už svou fyzikální podstatou sdílené, protože jednotlivé uzly se připojovaly přímo k němu a společně využívaly jeho přenosovou kapacitu. Proto potřeboval ještě nějakou přístupovou metodu, která by řídila přístup jednotlivých uzlů ke společně sdílenému médiu. Konkrétně řešila situaci, kdy více uzlů chce začít vysílat současně.
Tvůrci Ethernetu se nakonec rozhodli pro nedeterministickou přístupovou metodu, kterou pojmenovali CSMA/CD. Nedeterministickou je kvůli tomu, že při souběhu více žádostí o vysílání po společně sdíleném médiu si jakoby hodí kostkou a nechá vyhrát toho žadatele, na kterého se usměje štěstí. Proto také Ethernet nedokázal žádnému uzlu skutečně garantovat, že se někdy dostane ke slovu a bude moci odvysílat svá data. Statisticky to funguje bez problémů, ale třeba pro řízení výroby, kde je zapotřebí odezva v reálném čase, se Ethernet nehodil a dodnes nehodí. Zato v kancelářích, domácnostech apod. Ethernet jednoznačně zvítězil.
Z koaxu na twist
Nedeterministická metoda CDMA/CS zůstala Ethernetu i poté, co z koaxiálního kabelu (ať již „tlustého“ či „tenkého“) přesedlal na kroucenu dvoulinku (anglicky: twisted pair, zkráceně jen „twist“). Šlo o poměrně významnou změnu, už jen kvůli tomu, že kroucená dvoulinka už není sdíleným přenosovým médiem, ale naopak médiem plně vyhrazeným. To proto, že na kroucené dvoulince nejde dělat odbočky, a tak ji lze použít pouze k propojení dvou uzlů mezi sebou.
Původně sběrnicová topologie Ethernetu, z dob použití koaxiálního kabelu, se tak s příchodem kroucené dvoulinky změnila na hvězdicovitou, resp. stromovitou – když se jednotlivé koncové uzly paprskovitě (stylem „do hvězdy“) napojovaly pomocí kroucené dvoulinky na vhodnou „krabičku“ (rozbočovač, anglicky: hub). Ta měla na starosti to, co původně zajišťoval koaxiální kabel jaksi „sám od sebe“, skrze svůj sdílený charakter. Tedy rozvedení přenášených dat ke všem uzlům ve svém dosahu. Nyní musel potřebné „rozvedení“, resp. „rozbočení“ zajistit elektronickou cestou právě rozbočovač.
Rozbočovač ale nemá přesně předepsáno, jakým způsobem vlastně „rozbočuje“. Možností je více a jednou z nich je to, že se rozbočovač bude chovat jako opakovač (anglicky: repeater). To znamená, že každý Ethernetový rámec, který přijme z kteréhokoli ze „svých“ segmentů, okamžitě rozešle („zopakuje“) i do všech segmentů. Tím pak fakticky (znovu)vytváří původní sdílený charakter propojení celé skupiny uzlů, neboli emuluje chování koaxiálního kabelu.
Jinými slovy se zde začíná lišit fyzická topologie, která už je hvězdicovitá, resp. stromovitá, od topologie logické, která popisuje způsob fungování. Tato logická topologie je stále sběrnicová, jako u původního koaxiálního Ethernetu.
Jde vlastně o určitou disproporci, která byla při svém vzniku motivována snahou nijak neměnit fungování desetimegabitového Ethernetu. Současně jde i o určité „plýtvání“, protože potenciál v podobě vyhrazeného charakteru kroucené dvoulinky zde nebyl vůbec využit. Místo toho bylo celé nové řešení, postavené již na kroucené dvoulince, degradováno na roveň původního koaxiálního Ethernetu.
Z deseti na sto: dvěma způsoby
Nevyužitý potenciál kroucené dvoulinky však přišel na přetřes, jakmile se začalo uvažovat o prvním zrychlení Ethernetu, z původních 10 megabitů za sekundu, hned na desetinásobek, na 100 megabitů za sekundu. Právě tehdy se objevily dva fundamentálně odlišně přístupy, z nichž jeden se snažil tento potenciál využít, zatímco druhý o to neusiloval.
Hlavní rozdíl mezi oběma přístupy by se dal asi nejlépe charakterizovat jejich přístupem k rozsahu změn. Jeden přístup, který prosazovalo konsorcium Fast Ethernet Alliance z USA (vzniklé v roce 1993), zastával názor že jedinou změnou má být samotné zrychlení na desetinásobek, zatímco všechno ostatní má zůstat tak jako u původní desetimegabitové verze. Tedy včetně původní přístupové metody CSMA/CD, šité ještě na míru koaxiálnímu kabelu.
Naopak druhý proud, reprezentovaný hlavně firmou Hewlett-Packard, na to šel jinak. Snažil se nejen zrychlit, ale i nahradit všechno to, co se ukázalo jako ne zcela optimální, respektive mohlo být řešeno jinak, díky změnám v topologii sítě. A to včetně přístupové metody CSMA/CD, která byla „šitá na míru“ původnímu koaxiálnímu kabelu, a nyní mohla být nahrazena jinou přístupovou metodou.
Ethernet „se změnami“
Pravdou je, že řešení firmy HP se jevilo jako propracovanější a efektivnější. Předpokládalo použití zcela nové přístupové metody, s názvem „Demand Priority“, která již funguje deterministicky a dokáže garantovat právo k vysílání.
Na rozdíl od metody CSMA/CD, která je distribuovaná a nemá žádný centrální prvek, je Demand Priority naopak centralizovanou přístupovou metodou. O tom, kdo a kdy bude vysílat, zde rozhoduje „nejvyšší“ rozbočovač, ve spolupráci s ostatními rozbočovači (ve smyslu uspořádání „do stromu“, viz obrázek). Přitom se využívá toho, že každý jednotlivý uzel má svůj spoj k nejbližšímu rozbočovači jen a jen pro sebe, a tak po něm může posílat i své eventuelní žádosti o vysílání.
Rozbočovačům pak stačí jen pasivně čekat, až je koncové uzly samy a explicitně požádají o právo vysílat. Následně se rozhodují podle všech takto obdržených žádostí, a mohou dokonce brát v úvahu i různé priority. Odsud také celá přístupová metoda Demand Priority získala i své jméno (anglické: „Demand“ znamená žádost).
Vítězí „Ethernet beze změn“
Standardizační skupině IEEE 802.3, která se Ethernetu věnuje, se v jednu chvíli (v roce 1992) sešly na stole oba návrhy na stomegabitový Ethernet – verze „se změnami“ i verze „beze změn“. Oba se přitom shodně označovaly jako „Fast Ethernet“ (doslova: rychlý Ethernet), a oba aspirovaly na to, aby právě ony byly standardizovány jako nová, stomegabitová verze Ethernetu. Jenže uspět mohl jen jeden návrh.
Standardizační komise nakonec vybrala za vítěze verzi „beze změn“, která kromě samotného rychlení ponechávala všechno tak, jak to fungovalo již u desetimegabitové verze. Takže neměnila ani přístupovou metodu CSMA/CD. A nejspíše právě to rozhodlo, protože samotné standardy od IEEE nemohly používat jméno Ethernet (registrované jako obchodní známka Xeroxu), a tak používaly označení „sítě s přístupovou metodou CSMA/CD“. A pokud by nyní tuto přístupovou metodu vyměnily za jinou, prý by to už nebyl původní Ethernet. No, vida jaké aspekty také rozhodují o úspěchu či neúspěchu nových technologií.
Ovšem ani verze „beze změn“ neskončila někde v šuplíku. Skupina 802.3, věnovaná Ethernetu, tuto verzi sice odmítla pasovat na stomegabitový Ethernet, ale současně ji doporučila ke standardizaci jako zcela novou linkovou technologii. Za tímto účelem pak v rámci společnosti IEEE (Institute of Electrical and Electronics Engineers) vnikla zbrusu nová standardizační skupina, IEEE 802.12, která v červnu 1995 vydala návrh „se změnami“ jako svůj standard.
Na trh se pak tato technologie dostala pod názvem 100 VG ANyLAN, kde číslo 100 představuje nominální rychlost v megabitech za sekundu, a VG je zkratka od Voice Grade (indikující schopnost nové technologie fungovat nad páry kroucené dvoulinky, určené původně pro přenos hlasu v rámci telefonní sítě). No a dovětek „AnyLAN“ pak naznačoval, že už nešlo jen o „nástupnickou technologii“ k Ethernetu, ale současně i k Token Ringu. To už bylo v době, kdy se k firmě HP, která návrh prosazovala, mezitím připojilo i IBM. To hledalo vhodného „rychlejšího nástupce“ svého Token Ringu, a našlo jej právě v této nové technologii.
IEEE 802.3u
Zpět ale k vítězi, kterým se stal návrh stomegabitového Ethernetu „beze změn“. Ten byl vydán jako nový standard (IEEE 802.3u) doslova jen pár dní po standardu IEEE 802.11 (100 VG AnyLAN), a to stále v červnu 1995. Následně se začal poměrně rychle prosazovat do praxe.
Jeho nástupu pomohlo i to, že k jedné změně (kromě zvýšení rychlosti) přeci jen došlo. Konkrétně přibyly mechanismy, umožňující automatickou detekci rychlosti (deset nebo sto megabitů). Díky tomu pak výrobci mohli uvést na trh takové produkty, v podobě sítových karet, různých přepínačů, opakovačů atd., které se dokázaly samy přizpůsobit oběma dostupným rychlostním verzím. To následně značně usnadnilo migraci z desetimegabitového na stomegabitový Ethernet.
100BaseT
Nový stomegabitový Ethernet, souhrnně označovaný také jako 100BaseT, pokrývá stejné vrstvy a podvrstvy, jako jeho desetimegabitový předchůdce 10 BaseT. Tedy celou fyzickou vrstvu, a pak také podvrstvu MAC vrstvy linkové. Nově však u něj došlo k určité diferenciaci v rámci fyzické vrstvy, která se pro potřeby tohoto standardu také rozdělila na dvě podvrstvy:
- vyšší podvrstvu, nezávislou na přenosovém médiu (Medium Independent Interface, MII), sloužící hlavně jako jednotné rozhraní k nižší podvrstvě. Toto nové rozhraní mj. nahradilo dřívější rozhraní AUI (Attachment Unit Interface), které existovalo u desetimegabitové verze (ale nepovažovalo se za samostatnou vrstvu).
- nižší podvrstvu, závislou na přenosovém médiu (Physical Layer Device, PHY). Na této úrovni je realizováno vše, co je závislé na konkrétním přenosovém médiu - od kódování jednotlivých bitů, až po elektrické parametry signálů atd.
Smysl tohoto rozdělení ilustruje také následující obrázek, který ukazuje jak nižší fyzická podvrstva (závislá na médiu) může být řešena jako samostatný konstrukční celek (jako tzv. transceiver), a připojena k univerzální síťové kartě. Stejně tak dobře ale může být transceiver integrován přímo na síťové kartě, která je pak ale již použitelná jen pro jedno konkrétní přenosové médium.
100Base TX, T4, FX a T2
Jednotlivé varianty podvrstvy PHY samozřejmě musely být také vhodně standardizovány, tak aby si konkrétní produkty rozuměly mezi sebou (byly vzájemně kompatibilní a vzájemně interoperabilní). Samotný 100BaseT je proto jen jakýmsi zastřešením, pod kterým jsou „schovány“ jednotlivé dílčí varianty řešení, využívajících různé druhy přenosových cest:
- 100BaseTX: umožňuje použití dvou párů kroucené dvoulinky kategorie 5 (tj. dimenzované do 100 MHz)
- 100BaseT4: umožňuje použití starší a lacinější kroucené dvoulinky kategorie 4 (dimenzované do 10 MHz), ovšem s tím, že pro každý jednotlivý uzel jsou zapotřebí čtyři páry kroucené dvoulinky
- 100BaseFx: umožňuje použití dvou optických vláken
Způsob, jakým uvedené dílčí standardy řeší přenos dat rychlostí 100 Mbit/s po kroucené dvoulince či po optice, určitě také stojí za zmínku. Na rozdíl od desetimegabitového Ethernetu už zde nejde o kódování Manchester, které pracuje jen se dvěma „polohami“ toho signálu (např. + a - ), který je skutečně vysílán do přenosového média. Místo toho pracují se signálem, který nabývá tří možných „poloh“ (+, 0 -). Jde tedy již o signál ternární, nikoli binární, který se sice hůře detekuje, ale na druhou stranu dokáže na sebe „naložit“ více bitů. Každá jednotlivá změna totiž může reprezentovat více než jeden bit, jako u původního Manchesteru.
Díky této „fintě“ s kódováním MLT-3 lze pak vystačit při přenosu i se signálem, který má podstatně nižší (čtvrtinovou) frekvenci, a tudíž podstatně méně vyzařuje a ruší své okolí.
Na druhou stranu, kvůli větší robustnosti, je ve skutečnosti přenášeno více bitů než kolik by bylo nezbytně nutné. Určitá redundance, v podobě „bitů navíc“, pak zlepšuje možnosti detekce signálu. Například u varianty 100BaseTX, pro dva páry kroucené dvoulinky, se vždy čtyři bity doplní o jeden další bit, na pětici bitů, a ta se pak skutečně odesílá. Vlastně se tak jednotlivé čtveřice bitů nahrazují vybranými pěticemi, a to tak, aby mezi pěticí bitů bylo co možná nejvíce jedničkových bitů. Označuje se to jako kódování 4B/5B, které se používá i u varianty 100BaseFx (využívající optických vláken).
V případě varianty 100BaseT4, která vyžaduje čtyři páry „horší“ kroucené dvoulinky kategorie 3, je používáno ještě jiné kódování, označované jako 8B/6T. To proto, že vždy osm bitů je zakódováno pomocí šesti změn přenášeného signálu. Vše zde funguje tak, že celý „datový tok“ se jakoby rozkládá do tří párů kroucené dvoulinky a přenáší se vždy jen jedním směrem. Tím se dosahuje dalšího snížení frekvence signálu, tak aby jej „unesla“ i starší a lacinější dvoulinka kategorie 3, s horšími přenosovými vlastnostmi. Čtvrtý pár pak slouží pro indikaci kolize, pro potřeby přístupové metody.
Techniky kódování signálu, které byly k dispozici v době vzniku stomegabitového Ethernetu, se v mezidobí neustále zdokonalují. Časem proto mohla vzniknout i varianta 100BaseT2, která dokáže vystačit jen se dvěma páry kroucené dvoulinky „starší“ kategorie 3. Ale tato verze se v praxi moc nerozšířila. Jednak proto, že přišla na svět relativně pozdě. Ale určitě také proto, že kroucená dvoulinka kategorie 5 mezitím zcela převládla, na úkor starší dvoulinky kategorie 3.
Opakovače a maximální dosah
To, že si výsledná verze stomegabitového Ethernetu („beze změn“) ponechala přístupovou metodu CSMA/CD, se promítlo i do maximálního dosahu jednotlivých kabelových segmentů. V zásadě tak stále platí, že kvůli korektnímu fungování této přístupové metody je nutné, aby eventuelní kolizi zaznamenaly všechny uzly nejpozději za určitou konkrétní a pevně danou dobu. Právě to je jednou z hlavních překážek, která brání libovolnému zvětšování tzv. kolizních domén (jako oblastí, v rámci kterým musí být každá kolize šířena). Tedy souvislých kabelových segmentů i soustav těchto segmentů, propojených na úrovni fyzické vrstvy, pomocí opakovačů.
Druhou hlavní překážkou jsou obvodové vlastnosti přenosového média, především pak útlum a zkreslení. I kvůli nim nesmí být souvislé kabelové segmenty příliš dlouhé.
V případě desetimegabitového Ethernetu (ve variantě 10BaseT, a tedy s využitím kroucené dvoulinky), je maximální délka souvislého kabelového segmentu 100 metrů, s tím že tato vzdálenost je ovlivněna především obvodovými vlastnostmi použité kabeláže. Druhá překážka, v podobě nutnosti rozšířit kolizi nejpozději v určitém konkrétním čase (51,2 mikrosekundy), se u desetimegabitového Ethernetu projevuje až při spojování jednotlivých segmentů pomocí opakovačů (do tzv. kolizní domény).
Výsledkem je pravidlo označované jako „pravidlo 5-4-3“, které říká že propojeno smí být nejvýše 5 segmentů, pomocí 4 opakovačů, ale jen 3 z těchto segmentů smí být „obydlené“ (tj. smí na ně být připojeny nějaké uzly). Představu ukazuje následující obrázek.
V případě stomegabitového Ethernetu zůstávají obě překážky zachovány, ale přeci jen zde dochází k určitým kvantitativním změnám. Jde zejména o desetinásobné zrychlení, resp. zkrácení doby, kterou zabere přenos jednoho bitu. Dopady se projevují hlavně na maximálním počtu opakovačů, které lze použít v rámci jedné kolizní domény. Naopak obvodové vlastnosti se u jednotlivých kabelových segmentů z kroucené dvoulinky ještě neuplatňují, a tak jejich maximální délka je stejná jako u desetimegabitové verze: 100 metrů. V případě optického segmentu (s mnohovidovým vláknem) jde o 412 metrů.
Dva druhy stomegabitových opakovačů
Než si řekneme, jak je to s maximálním počtem opakovačů u stomegabitového Ethernetu, musíme si nejprve vše ještě trochu zkomplikovat. Konkrétně tím, že stomegabitové opakovače mohou být dvojího druhu, podle toho, jaké varianty kabelových segmentů propojují.
Jedna varianta opakovačů, označovaná jako „třída I“ (Repeater Class I), dokáže propojit mezi sebou Ethernetové segmenty různého typu kabeláže (například 100BaseTx a 100BaseT2 apod.). Jenže takovýto opakovač má „hodně práce“ s překódováváním jednotlivých bitů, a tak na něm vzniká relativně velké zpoždění (odpovídající cca 140 bitům). Proto takovýto opakovač smí být v celé kolizní doméně nejvýše jeden.
Druhá varianta stomegabitových opakovačů, označovaná jako „třída II“ (Repeater Class II), může propojovat pouze segmenty se stejným typem kódování jednotlivých bitů. Tedy například segmenty 100BaseTX mezi sebou, nebo segmenty 100BaseFX mezi sebou, či segmenty 100BaseT4 mezi sebou, případně i segmenty 100BaseTX a 100BaseFX (vzájemně). Nikoli ale „křížem“ mezi různými způsoby kódování, jako například mezi segmenty 100BaseFX a 100BaseT4, jako to umí opakovač třídy I. Zde by totiž bylo nutné jednotlivé bity „vybalovat“ z jejich kódování a překódovávat – a přitom by vznikalo již příliš velké zpoždění.
Na druhou stranu opakovače třídy II mají podstatně méně práce, resp. dokáží fungovat mnohem rychleji. Díky tomu smí být v kolizní doméně i dva. Ale jejich propojení zase nesmí být delší jak 5 metrů.
Ani možnost použít jeden opakovač třídy I (Class I), či dva opakovače třídy II (Class II) však neznamená, že maximální dosah je vždy dán součtem maximálních délek dvou či tří kabelových segmentů. Není tomu tak proto, že při použití opakovačů se již začínají významně projevovat omezení, daná nutností rozšířit kolizi po celé kolizní doméně. Jak ukazuje následující tabulka s konkrétními dosahy, v případě použití kroucené dvoulinky je ještě možné dosahy sčítat. Ovšem jakmile použijeme optické segmenty, začnou s maximální dosahy dokonce zkracovat, i oproti jednomu souvislému segmentu!
Použitý opakovač | Twist | Optické vlákno | T4 + FX | TX+FX |
---|---|---|---|---|
Žádný | 100m | 412m | N/A | N/A |
1x Class I | 200m | 272m | 231m | 260m |
1x Class II | 200m | 320m | N/A | 308m |
2x Class II | 205m | 228m | N/A | 216m |
Pokud bychom se například pokoušeli propojit dva optické segmenty pomocí opakovače třídy I, mohla by výsledná soustava dosahovat maximálně 272 metrů, zatímco jednotlivý optický segment může mít délku až 412 metrů. Takže zde využití opakovačů prakticky ztrácí smysl.