CSMA/CD je když...

Luboš Klaška Tutoriály 10. září 1999

Celým povídáním o Ethernetu se prolíná pojem CSMA/CD, což je přístupová metoda, na které je celá technologie založena. Je její velkou předností (hlavně ve smyslu jednoduchosti implementace), na druhé straně ale způsobuje i základní omezení této technologie.

Celým povídáním o Ethernetu se prolíná pojem CSMA/CD, což je přístupová metoda, na které je celá technologie založena. Je její velkou předností (hlavně ve smyslu jednoduchosti implementace), na druhé straně ale způsobuje i základní omezení této technologie. Samozřejmě ji používá i gigabitový Ethernet a proto jistě nebude na škodu, zopakujeme-li si principy této přístupové metody.

Co vlastně pojem přístupová metoda znamená? Je to metoda, která reguluje přístup jednotlivých uzlů ke společně sdílenému přenosovému médiu. Metoda CSMA využívá "příposlechu nosné", tzn., že jednotlivé stanice monitorují, zda právě neprobíhá nějaké vysílání - aby se nerušily navzájem. Na společném přenosovém médiu může vysílat vždy jen jedna stanice, setkají-li se na médiu signály více stanic, zinterferují, vznikne kolize a signál je znehodnocen.

Historická síť Aloha tuto možnost nevyužívala, při slabém provozu je i malá pravděpodobnost kolizí (že dvě stanice budou vysílat ve stejný okamžik). Monitorováním provozu lze dosáhnout vyšší efektivity sítě, hlavně při vyšší zátěži a tedy i vyšší pravděpodobnosti kolizí (i když přináší jistou režii). CS ve zkratce znamená Carrier Sense, čili právě "příposlech nosné" a písmena MA označují Multiple Access, tedy sdílený charakter média, ke kterému mají současný přístup všechny uzly.

To, že uzly poslouchají provoz v "éteru", tedy na sdíleném médiu, aby zjistily, je-li "obsazeno" nebo mohou-li vysílat, je jen první polovinou řešení problému. Druhou polovinou je pak řešení způsobu, jak se má chovat uzel, který chce vysílat - úmysl vysílat může mít samozřejmě větší počet uzlů. Jde o to najít jednoduchou metodu, jak zajistit, aby uzly nezačaly vysílat současně - došlo by ke kolizi a ke znehodnocení signálu.

Zde existuje několik možností, jak rychle bude uzel reagovat na zjištění, že vysílání již skončilo a médium je volné - od snahy začít vysílat ihned až po posečkání jistou definovanou dobu. Chování uzlů lze určit definicí jisté pravděpodobnosti p, která určuje, jak uzel vytrvá a počká na skončení právě probíhajícího přenosu a s opačnou pravděpodobností (1-p) to vzdá a odmlčí se (než začne znovu od začátku). Hodnota pravděpodobnosti p má vliv samozřejmě i na to, jak bude uzel úspěšný ve své snaze o vysílání v závislosti na zatížení přenosového média, tedy počtu uzlů, snažících se o vysílání.

Autoři Ethernetu zvolili tzv. 1-persistentní metodu CSMA (podle principu p-persistentní metoda, kde p je výše zmíněná pravděpodobnost; persistent = ang. vytrvalý), která dává uzlu poměrně velkou šanci na vysílání (na uplatnění požadavku), avšak jen při menší zátěži (jednotky až desítky procent). Se vzrůstající zátěží úspěšnost metody klesá.

Avšak ani tento mechanizmus neřeší možnost vzniku následných (zavlečených) kolizí, pouze snižuje jejich pravděpodobnost. K tomu přispívají svým chováním i jednotlivé uzly, které se dostanou do opakované kolize - pro snížení pravděpodobnosti další kolize, zvětší si na dvojnásobek interval, ze kterého si náhodně volí dobu, na kterou se odmlčí. Tento postup opakuje každý uzel celkem desetkrát, než snahu o vysílání vzdá a ohlásí vyšším přenosovým vrstvám neúspěch.

Písmena CD ve jménu metody znamenají právě mechanizmus detekce nastalých kolizí (Collision Detection). Rozpoznání vzniklých kolizí je komplikováno důležitostí správného rozpoznání kolizí všemi uzly, a fyzikálními zákonitostmi, jako je např. konečná rychlost šíření signálu. Tyto okolnosti jsou příčinou jistých pravidel pro chování uzlů a stavbu sítí Ethernet.

Metoda CSMA/CD tak omezuje maximální velikost kolizní domény, tj. oblasti, kterou se mohou kolize volně šířit. Ta je pak dána dobou šíření signálu mezi nejvzdálenějšími konci vedení. Dojde-li totiž ke kolizi, musí být zajištěno, že ji zaznamenají všechny uzly v doméně, proto i uzel, který zaznamenal kolizi, nesmí ihned přestat vysílat, ale musí vysílat ještě po jistou dobu (tzv. jam signál, minimálně 32 bitů, které nelze zaměnit s hodnotou CRC předchozího vysílání).

Naopak uzel, který nezaznamenal do jisté doby od začátku vysílání kolizi, má jistotu, že žádná kolize až do konce jeho vysílání nenastane. Základní algoritmus metody CSMA/CD ve formě vývojového diagramu je znázorněn na obrázku.

Obr. 2 - Základní algoritmus metody CSMA/CD
Základní algoritmus metody CSMA/CD

Z výše uvedených principů metody CSMA/CD vyplývají její nejdůležitější vlastnosti:

  • není deterministická, nezaručuje tedy přístup ke sdílenému médiu v konečném čase;

  • proto není příliš vhodná pro řízení a aplikace v reálném čase;

  • se zatížením klesá její efektivita;

  • topologie sítě musí být alespoň v logickém smyslu sběrnicová.

Metoda CSMA/CD se ovšem neuplatní ve spojeních, pracujících na principu plného duplexu (full-duplex). Zařízení pracující v tomto režimu jsou schopny současného vysílání i příjmu - na rozdíl od standardního režimu Ethernetu (poloviční, half duplex), kdy zařízení buď vysílá nebo přijímá data. Režim současného vysílání a příjmu nelze provozovat na koaxiálních kabelech - je nutný samostatný vysílací a přijímací kanál a proto jej lze uplatnit pouze na spojích s UTP nebo optickými kabely.

Protože vysílání i příjem dat probíhá na samostatných kanálech, je tento režim bezkolizní, tzn. neuplatňuje se řídící metoda CSMA/CD. Je tak možné plně efektivně využít dané přenosové pásmo. Mimo tuto výhodu je dalším přínosem zdvojnásobení přenosové kapacity spoje - součet přenosových kapacit v obou směrech.


Vytisknout


    Komentáře k článku

    ...k článku nejsou žádné komentáře

Vložte Váš komentář k tomuto článku

Máte dotaz? Neváhejte nám napsat.

Pole označená hvězdičkou (*) jsou povinná


Reklama v příspěvcích není dovolena, dodržujte etiketu. Redakce Světa sítí si vyhrazuje právo smazat příspěvěk, který v diskuzi použije vulgární slova a společensky neúnosné výrazy. Délka příspěvku je limitována 1500 znaky.