CSMA/CD

Иако је много ефикаснији од ALOHA система, CSMA још увек има једну очигледну неефикасност. Када се два оквира сударе медијум остаје неупотребљив за време преноса оба оштећена оквира. За дуге оквире, у поређењу са временом простирања, смањивање капацитета може бити значајно. Ово смањивање капацитета може се смањити ако станица настави да ослушкује медијум док шаље, чиме је настао CSMA/CD који уноси још једно побољшање: откривање колизије. До колизије долази када две станице или више станица утврде да је канал слободан, па почну истовремено да емитују. Зато станица која емитује истовремено „ослушкује“ канал како би открила да ли је евентуално дошло до колизије. Овај процес назива се слушање током емитовања.

Чим открију колизију, не чекајући да заврше започето емитовање оквира, обе станице нагло прекидају емитовање и шаљу кратак сигнал упозорења којим обавештавају остале станице у мрежи да је дошло до колизије. На тај начин постиже се уштеда у времену и количини пренетих података. Када остале станице приме сигнал упозорења, оне одбацују оквире који су оштећени колизијом.

После слања сигнала упозорења обе станице чекају случајан период времена како би се избегло да поново дође до колизије, а затим поново емитују, наравно ако у међувремену ниједна друга станица није приграбила канал.

Погледајмо на једном примеру како изгледа откривање колизије:

Колизија код магистрале

%d0%ba%d0%be%d0%bb%d0%b8%d0%b7%d0%b8%d1%98%d0%b0
Посматрајмо систем у коме је 4 станице повезано на магистралу. У тренутку t0 станица А почиње да шаље пакет адресиран на D. У t1 и B и C су спремни да шаљу. B осећа пренос станице А и одлаже свој пренос. C, ипак, је још увек несвесна преноса са A и почиње свој пренос. Када пренос са А стигне до C, у t2, C открива колизију и прекида пренос. Ефекат колизије простире се до A где се детектује у неком каснијем тренутку, t3, у коме A прекида пренос. Видимо да дужина оквира мора бити одређене дужине, како би могао стићи са краја на крај магистрале, укључујући и путовање оквира упозорења да је дошло до колизије.

Анализирамо најнеповољнији случај када се изворишна и одредишна станица налазе на супротним странама магистрале – у нашем случају то су станице A и D. Када дође до колизије, оквир упозорења да се догодила колизија стиже у изворишну станицу A после 2t секунди (t – време потребно да сигнал из А стигне у D).

Треба онемогућити да станица заврши емитовање оквира пре но што први бит тог оквира стигне у D. Наиме, ако се емитовање оквира заврши пре но што сигнал упозорења стигне у А (тј. после 2t), предајник закључује да је оквир успешно послат (јер овде нема потврђивања!).

Према 802.3 стандарду максимална дужина локалне мреже брзине 10Mbps је 2500m и има четири регенератора, при чему сваки регенератор уноси кашњење од 3,275*10-3ms. Време за које сигнал стиже из А у D састоји се од времена пропагације и кашњења које уносе регенератори:

t=tprop+4*tregener=2500/2*108+4*3,275*10-6=25,6*10-3ms

Дакле, у најнеповољнијем случају сигнал упозорења стиже у одредиште после 2t=51,2*10-3ms, па је минимална дужина оквира:

Lrama=Vb*2t=10*106*51,2*10-6=512bit=64B

Ако брзина мреже расте, онда мора да се сразмерно порасту брзине или повећа минимална дужина оквира или смањи максимална дужина кабла.

Колизија код звезде

Много једноставнија шема детекције колизије могућа је код звезде са упреденом парицом. У овом случају, детекција је заснована на логици уместо на мерењу вредности напона. За било који hub, ако постоји сигнал на више од једног улаза, претпоставља се колизија. Генерише се посебан сигнал који се зове collision presence (cp) – присуство колизије. Овај сигнал се генерише и шаље све док је присутна активност на било којој улазној линији. Сваки чвор интерпретира овај сигнал као појаву колизије.

zvezda1

Оквир који је послала станица А простире се до HHUB и на крају је примају све станице на мрежи.

само А шаље => нема колизије!!!


А и В шаљу. Колизију детектује IHUB на који су прикључене станице А и В. Он генерише cp сигнал који се простире до HHUB и затим поново емитује до свих HUB-ова и станица.

zvezda3

A, B и C шаљу. IHUB1 детектује колизију и генерише cp који шаље до HHUB. На HHUB се појављују cp и рс тако да и он детектује колизију и свима шаље ср

MAC оквир

ram2

Преамбула – Preamble – седмобајтни низ наизменичних 0 и 1 које користи пријемник да успостави синхронизацију
SFD (Start Frame Delimiter) – секвенца 10101011 која указује на стварни почетак оквира и дозвољава пријемнику да лоцира први бит остатка оквира
адреса одредишта – DA (Destination Address) – дефинише станицу или станице којима је оквир намењен. Може бити јединствена физичка адреса, група адреса или глобална адреса. Избор између 16-битне или 64-битне адресе је имплементациона одлука и мора бити иста за све станице на одређеној локалној мрежи.
адреса изворишта – SA (Source Address) – дефинише станицу која је послала оквир
дужина података – Length – дужина поља LLC података говори колико има бајтова у пољу података. Поље података може да буде дугачко највише 1500 бајтова.
поље података – LLC data – јединица података коју је обезбедио LLC
допуна – Pad – бајтови додати да се осигура да је оквир довољно дугачак за исправну детекцију колизије. Према стандарду 802.3 исправан оквир мора да буде дугачак бар 64 бајта рачунато од адресе одредишта закључно са пољем за проверу исправности. Дакле, поље података мора бити дугачко бар 64-(6+6+2+4)=64-18=46B. Ако то није случај, оквир 802.3 мора се допунити до 64B, а за то служи поље допуне.
FCS (Frame Check Sequence) – 32-битна CRC, на основу свих поља изузев Preamble, SFD и FCS.

Иако се стандард 802.3 много користи, он има и два значајна недостатка:

– може се догодити да станица произвољно дуго чека на могућност да пошаље оквир
– сви оквири су равноправни, тј. не постоји могућност да неки оквири добију статус приоритетнијих, а то представља проблем у системима који раде у реалном времену када значајни оквири не смеју да чекају.

Advertisements

One thought on “CSMA/CD

  1. Повратни пинг: Управљање приступом медијуму – Рачунари и програмирање

Оставите одговор

Попуните детаље испод или притисните на иконицу да бисте се пријавили:

WordPress.com лого

Коментаришет користећи свој WordPress.com налог. Одјавите се / Промени )

Слика на Твитеру

Коментаришет користећи свој Twitter налог. Одјавите се / Промени )

Фејсбукова фотографија

Коментаришет користећи свој Facebook налог. Одјавите се / Промени )

Google+ photo

Коментаришет користећи свој Google+ налог. Одјавите се / Промени )

Повезивање са %s