CSMA/CD (Carrier Sense Multiple Access/Collision Detection) je metoda řízení přístupu k médiím, která byla široce používána v rané ethernetové technologii/LAN, kdy bývala sdílená sběrnicová topologie a každý uzel (počítače) byly propojeny koaxiálními kabely. Nyní je Days Ethernet plně duplexní a topologie je buď hvězda (připojená přes přepínač nebo směrovač) nebo bod-bod (přímé připojení). CSMA/CD se tedy nepoužívají, ale stále jsou podporovány.
Zvažte scénář, kdy je na lince „n“ stanic a všechny čekají na přenos dat tímto kanálem. V tomto případě by všechny „n“ stanice chtěly získat přístup k lince/kanálu, aby přenesly svá vlastní data. Problém nastává, když data v daný okamžik přenáší více stanic. V tomto případě dojde ke kolizi v datech z různých stanic.
CSMA/CD je jednou z takových technik, kde se různé stanice, které se řídí tímto protokolem, dohodnou na určitých podmínkách a opatřeních pro detekci kolizí pro efektivní přenos. Tento protokol rozhoduje o tom, která stanice bude kdy vysílat, aby data dorazila do cíle bez poškození.
Jak CSMA/CD funguje?
- Krok 1: Zkontrolujte, zda je odesílatel připraven k přenosu datových paketů. Krok 2: Zkontrolujte, zda není přenosové spojení nečinné.
Odesílatel musí neustále kontrolovat, zda je přenosové spojení/médium nečinné. K tomu nepřetržitě snímá přenosy z jiných uzlů. Odesílatel odešle fiktivní data na odkaz. Pokud neobdrží žádný kolizní signál, znamená to, že linka je momentálně nečinná. Pokud vycítí, že je dopravce volný a nedochází ke kolizím, odešle data. V opačném případě se zdrží odesílání dat. Krok 3: Odešlete data a zkontrolujte kolize.
Odesílatel přenáší svá data na odkaz. CSMA/CD nepoužívá systém „potvrzení“. Kontroluje úspěšné a neúspěšné přenosy prostřednictvím kolizních signálů. Pokud během přenosu přijme uzel signál o kolizi, přenos se zastaví. Stanice pak vyšle rušivý signál na linku a čeká na náhodné časové intervaly, než znovu odešle rámec. Po nějakém náhodném čase se znovu pokusí přenést data a zopakuje výše uvedený proces. Krok 4: Pokud nebyla při šíření detekována žádná kolize, odesílatel dokončí přenos svého rámce a vynuluje čítače.
Jak stanice pozná, že její data kolidují?
Zvažte výše uvedenou situaci. Dvě stanice, A a B.
Doba šíření: Tp = 1 hodina (přechod signálu z A do B trvá 1 hodinu)
At time t=0, A transmits its data. t= 30 mins : Collision occurs.>
Poté, co ke kolizi dojde, je generován kolizní signál a odeslán do obou A a B, aby informoval stanice o kolizi. Vzhledem k tomu, že ke srážce došlo uprostřed, signálu srážky také trvá 30 minut, než dosáhne A a B.
Therefore, t=1 hr: A & B receive collision signals.>
Tento kolizní signál je přijímán všemi stanicemi na tomto spoji. Pak,
Jak zajistit, aby se srazila data naší stanice?
Za tímto účelem doba přenosu (Tt)> Doba šíření (Tp) [hrubá hranice]
Je to proto, že než odešleme poslední bit našich dat z naší stanice, měli bychom si být alespoň jisti, že některé bity již dosáhly svého cíle. Tím je zajištěno, že linka není zaneprázdněna a nedojde ke kolizím.
Ale výše je volná hranice. Netrvalo nám dlouho, než se signál srážky vrátil k nám. Za tímto účelem zvažte nejhorší možný scénář.
Zvažte znovu výše uvedený systém.

At time t=0, A transmits its data. t= 59:59 mins : Collision occurs>
K této kolizi dochází těsně předtím, než data dosáhnou B. Nyní signálu o kolizi trvá opět 59:59 minut, než dosáhne A. Proto A obdrží informaci o kolizi přibližně po 2 hodinách, tj. po 2 * Tp.
Hence, to ensure tighter bound, to detect the collision completely, Tt>>= 2 * Město>
Toto je maximální čas kolize, který může systému trvat, než zjistí, zda kolize byla způsobena jeho vlastními daty.
Jaká by měla být minimální délka přenášeného paketu?
Transmission Time = Tt = Length of the packet/ Bandwidth of the link [Number of bits transmitted by sender per second] Substituting above, we get, Length of the packet/ Bandwidth of the link>= 2 * Město>
Length of the packet>= 2 * Tp * Šířka pásma odkazu>
Padding pomáhá v případech, kdy nemáme tak dlouhé pakety. Můžeme přidat další znaky na konec našich dat, abychom splnili výše uvedenou podmínku.
Detekce kolize v CSMA/CD zahrnuje následující funkce:
- Carrier sense: Před přenosem dat zařízení naslouchá síti, aby zkontrolovalo, zda je přenosové médium volné. Pokud je médium zaneprázdněné, zařízení před přenosem dat čeká, dokud se neuvolní. Vícenásobný přístup: V síti CSMA/CD sdílí více zařízení stejné přenosové médium. Každé zařízení má stejný přístup k médiu a jakékoli zařízení může přenášet data, když je médium volné. Detekce kolize: Pokud dvě nebo více zařízení přenáší data současně, dojde ke kolizi. Když zařízení detekuje kolizi, okamžitě přestane vysílat a vyšle signál rušení, aby o kolizi informovala všechna ostatní zařízení v síti. Zařízení pak náhodně počkají, než se pokusí znovu vysílat, aby se snížila pravděpodobnost další kolize. Algoritmus backoff: V CSMA/CD se k určení, kdy může zařízení po kolizi znovu vysílat data, používá algoritmus backoff. Algoritmus používá náhodné zpoždění, než zařízení znovu odešle data, aby se snížila pravděpodobnost další kolize. Minimální velikost snímku: CSMA/CD vyžaduje minimální velikost snímku, aby bylo zajištěno, že všechna zařízení budou mít dostatek času na detekci kolize před ukončením přenosu. Pokud je rámec příliš krátký, zařízení nemusí detekovat kolizi a pokračovat v přenosu, což vede k poškození dat v síti.
Výhody CSMA/CD:
- Jednoduchý a široce používaný: CSMA/CD je široce používaný protokol pro sítě Ethernet a jeho jednoduchost usnadňuje implementaci a použití.
Spravedlnost: V síti CSMA/CD mají všechna zařízení rovný přístup k přenosovému médiu, což zajišťuje spravedlivý přenos dat.
Účinnost: CSMA/CD umožňuje efektivní využití přenosového média tím, že předchází zbytečným kolizím a snižuje přetížení sítě.
Nevýhody CSMA/CD:
- Omezená škálovatelnost: CSMA/CD má omezení z hlediska škálovatelnosti a nemusí být vhodné pro velké sítě s vysokým počtem zařízení.
Zranitelnost vůči kolizím: CSMA/CD sice dokáže detekovat kolize, ale nemůže zabránit jejich výskytu. Kolize mohou vést k poškození dat, zpoždění opakovaného přenosu a snížení výkonu sítě.
Neefektivní využití šířky pásma: CSMA/CD používá náhodný algoritmus backoff, který může mít za následek neefektivní využití šířky pásma sítě, pokud zařízení neustále dochází ke kolizi.
Náchylnost k bezpečnostním útokům: CSMA/CD neposkytuje žádné bezpečnostní funkce a protokol je zranitelný vůči bezpečnostním útokům, jako je sniffing a spoofing paketů.
Čtěte dále – Efektivita CSMA/CD