close
Перейти до вмісту

CSMA

Матеріал з Вікіпедії — вільної енциклопедії.

Множинний доступ із контролем несучої (англ. Carrier-Sense Multiple Access, CSMA) — це протокол керування доступом до середовища (MAC), у якому вузол перевіряє відсутність іншого мережевого трафіку перед початком передавання через спільне середовище передачі, наприклад електричну шину або певну ділянку електромагнітного спектра.

У мережах із CSMA передавач використовує механізм прослуховування несучої, щоб визначити, чи не виконується вже інше передавання, перш ніж розпочати власне. Тобто вузол намагається виявити наявність несучого сигналу від іншого вузла перед спробою передавання. Якщо несучу виявлено, вузол очікує завершення поточного передавання і лише після цього починає власне.

Завдяки використанню CSMA кілька вузлів можуть по черзі передавати та приймати дані через те саме середовище. Передавання одного вузла зазвичай приймається всіма іншими вузлами, підключеними до цього середовища.

Існують різні модифікації базового CSMA, зокрема з механізмами:

  • уникнення колізій — CSMA/CA;
  • виявлення колізій — CSMA/CD;
  • розв’язання колізій та іншими методами керування конфліктами доступу до середовища.

Варіанти доступу

[ред. | ред. код]

Різновиди CSMA використовують різні алгоритми для визначення моменту початку передавання даних через спільне середовище. Основною відмінністю між цими алгоритмами є ступінь їхньої агресивності або наполегливості щодо ініціювання передавання.

Більш агресивний алгоритм може розпочинати передавання швидше та ефективніше використовувати доступну пропускну здатність середовища. Однак це зазвичай супроводжується підвищеною ймовірністю виникнення колізій з передаваннями інших вузлів мережі.

1-наполеглевий

[ред. | ред. код]

Це агресивний алгоритм доступу до середовища передавання.

Коли вузол готовий до передавання даних, він перевіряє стан середовища передавання. Якщо середовище вільне, вузол негайно починає передавання. Якщо середовище зайняте, вузол безперервно прослуховує його доти, доки воно не стане вільним, після чого безумовно передає повідомлення (кадр), тобто з імовірністю 1.

У разі виникнення колізії передавач очікує випадковий проміжок часу, а потім повторює ту саму процедуру.

Через те, що всі вузли, які очікують звільнення каналу, починають передавання одразу після його звільнення, алгоритм 1-persistent CSMA забезпечує високе використання пропускної здатності каналу, але водночас збільшує ймовірність колізій за високого мережевого навантаження.

Алгоритм 1-persistent CSMA використовується в системах CSMA/CD, зокрема в мережах Ethernet.

Ненаполегливий

[ред. | ред. код]

Неагресивний алгоритм доступу до середовища передачі.

Коли вузол готовий передавати дані, він перевіряє стан середовища передавання — чи є воно вільним, чи зайнятим. Якщо середовище вільне, передавання починається негайно. Якщо ж середовище зайняте, вузол не продовжує безперервно контролювати канал, як у випадку з 1-persistent CSMA. Натомість він очікує випадковий проміжок часу, після чого знову перевіряє стан каналу і повторює весь цикл.

Такий підхід зменшує ймовірність одночасного початку передавання кількома вузлами після звільнення каналу, а отже, знижує кількість колізій і підвищує загальну ефективність використання середовища передавання. Недоліком є більша початкова затримка доступу до каналу порівняно з алгоритмом 1-persistent CSMA.

p-наполегливий

[ред. | ред. код]

Є проміжним варіантом між двома попередніми, коли передавання після того як середовище стане вільним почнеться з імовірністю p, а з імовірністю (1-p) буде очікувати випадковий проміжок часу.[1]

o-наполегливий

[ред. | ред. код]

Коли після звільнення середовища кожен з вузлів очікує індивідуально заданий йому проміжок часу (слот).

Модифікації

[ред. | ред. код]

У децентралізованих мобільних мережах 1-наполегливий та p-наполегливий варіанти можуть спричинити широкомовний шторм, тому розроблені ще 3 модифікації зважений p-наполегливий, слотовий 1-наполегливий та слотовий p-наполегливий.

  • CSMA/CD використовується для підвищення продуктивності CSMA шляхом припинення передавання одразу після виявлення колізії, що скорочує час, необхідний перед виконанням повторної спроби передавання. CSMA/CD застосовується в мережах Ethernet.
  • У CSMA/CA для підвищення ефективності CSMA використовується механізм уникнення колізій. Якщо перед початком передавання середовище передавання виявляється зайнятим, то передавання відкладається на випадковий проміжок часу. Цей випадковий інтервал зменшує ймовірність того, що два або більше вузлів, які очікують можливості передавання, одночасно розпочнуть передавання після завершення виявленої передачі, тим самим знижуючи частоту виникнення колізій. CSMA/CA використовується в мережах Wi-Fi.
  • У CSMA/CR (CSMA with Collision Resolution*) для уникнення колізій використовуються пріоритети, що містяться в заголовку кадру. Цей метод застосовується в мережі Controller Area Network (CAN).

Примітки

[ред. | ред. код]
  1. Kleinrock, L.; Tobagi, F. (Грудень 1975). Packet Switching in Radio Channels: Part I--Carrier Sense Multiple-Access Modes and Their Throughput-Delay Characteristics. IEEE Transactions on Communications (англ.). 23 (12): 1400—1416. doi:10.1109/TCOM.1975.1092768. ISSN 0096-2244. S2CID 5879608.