CSMA/CD (Carrier Sense Multiple Access/Collision Detection) — це метод керування доступом до носія, який широко використовувався в ранніх технологіях/локальних мережах Ethernet, коли раніше існувала спільна топологія шини та кожен вузол (комп’ютери) з’єднувався коаксіальним кабелем. Тепер Days Ethernet є повним дуплексом, а топологія – «зірка» (підключена через комутатор або маршрутизатор) або «точка-точка» (пряме з’єднання). Тому CSMA/CD не використовується, але вони все ще підтримуються.
Розглянемо сценарій, коли в каналі є «n» станцій, і всі вони чекають передачі даних через цей канал. У цьому випадку всі «n» станцій захочуть отримати доступ до посилання/каналу для передачі власних даних. Проблема виникає, коли одночасно передає дані більше ніж одна станція. У цьому випадку виникнуть колізії в даних з різних станцій.
CSMA/CD є одним із таких методів, коли різні станції, які дотримуються цього протоколу, узгоджують деякі умови та заходи виявлення колізій для ефективної передачі. Цей протокол вирішує, яка станція коли буде передавати, щоб дані досягали пункту призначення без пошкоджень.
Як працює CSMA/CD?
- Крок 1. Перевірте, чи готовий відправник до передачі пакетів даних. Крок 2. Перевірте, чи канал передачі неактивний.
Відправник має продовжувати перевіряти, чи канал/носій передачі неактивний. Для цього він постійно відчуває передачі з інших вузлів. Відправник надсилає фіктивні дані за посиланням. Якщо він не отримує жодного сигналу зіткнення, це означає, що зв’язок на даний момент неактивний. Якщо він відчуває, що носій вільний і немає конфліктів, він надсилає дані. В іншому випадку він утримується від надсилання даних. Крок 3. Передайте дані та перевірте наявність колізій.
Відправник передає свої дані за посиланням. CSMA/CD не використовує систему «підтвердження». Він перевіряє успішні та невдалі передачі через сигнали зіткнення. Під час передачі, якщо вузол отримує сигнал зіткнення, передача припиняється. Потім станція передає сигнал перешкоди на канал і чекає випадкових інтервалів часу, перш ніж повторно надіслати кадр. Через деякий випадковий час він знову намагається передати дані та повторює описаний вище процес. Крок 4: Якщо під час розповсюдження не було виявлено колізій, відправник завершує передачу кадру та скидає лічильники.
Як станція дізнається, що її дані збігаються?
Розглянемо наведену вище ситуацію. Дві станції, A & B.
Час розповсюдження: Tp = 1 година (сигналу потрібна 1 година, щоб перейти від A до B)
At time t=0, A transmits its data. t= 30 mins : Collision occurs.>
Після зіткнення генерується сигнал про зіткнення, який надсилається на A та B, щоб повідомити станції про зіткнення. Оскільки зіткнення сталося на півдорозі, сигналу про зіткнення також потрібно 30 хвилин, щоб досягти A & B.
Therefore, t=1 hr: A & B receive collision signals.>
Цей сигнал зіткнення приймається всіма станціями на цій лінії. Потім,
Як переконатися, що зіткнулися саме дані нашої станції?
Для цього час передачі (Tt)> час поширення (Tp) [Груба межа]
Це тому, що ми хочемо, щоб перед тим, як передати останній біт наших даних із нашої станції, ми повинні бути принаймні впевнені, що деякі біти вже досягли місця призначення. Це гарантує, що посилання не буде зайняте, і не виникне конфліктів.
Але вище є вільна межа. Ми не витратили часу, який знадобився сигналом зіткнення, щоб повернутися до нас. Для цього розгляньте найгірший сценарій.
Розглянемо наведену вище систему ще раз.

At time t=0, A transmits its data. t= 59:59 mins : Collision occurs>
Це зіткнення відбувається безпосередньо перед тим, як дані досягають B. Тепер сигналу зіткнення знову потрібно 59:59 хвилин, щоб досягти A. Отже, A отримує інформацію про зіткнення приблизно через 2 години, тобто через 2 * Tp.
Hence, to ensure tighter bound, to detect the collision completely, Tt>>= 2 * Місто>
Це максимальний час зіткнення, який може знадобитися системі, щоб виявити, чи зіткнення було з її власними даними.
Якою має бути мінімальна довжина пакета, що передається?
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 * Місто>>
Length of the packet>= 2 * Tp * Пропускна здатність каналу>
Заповнення допомагає у випадках, коли у нас немає таких довгих пакетів. Ми можемо додати додаткові символи в кінець наших даних, щоб задовольнити наведену вище умову.
Виявлення зіткнень у CSMA/CD включає такі функції:
- Відстеження несучої: перед передачею даних пристрій прослуховує мережу, щоб перевірити, чи вільне середовище передачі. Якщо носій зайнятий, пристрій чекає, поки він звільниться, перш ніж передавати дані. Множинний доступ: у мережі CSMA/CD кілька пристроїв використовують одне середовище передачі. Кожен пристрій має рівний доступ до носія, і будь-який пристрій може передавати дані, коли носій вільний. Виявлення зіткнення: якщо два або більше пристроїв передають дані одночасно, виникає зіткнення. Коли пристрій виявляє зіткнення, він негайно припиняє передачу та надсилає сигнал перешкоди, щоб повідомити всі інші пристрої в мережі про зіткнення. Потім пристрої чекають випадковий час перед повторною спробою передачі, щоб зменшити ймовірність нового зіткнення. Алгоритм відстрочки: у CSMA/CD алгоритм відстрочки використовується, щоб визначити, коли пристрій може повторно передавати дані після зіткнення. Алгоритм використовує випадкову затримку перед повторною передачею даних пристроєм, щоб зменшити ймовірність виникнення ще одного зіткнення. Мінімальний розмір кадру: для CSMA/CD потрібен мінімальний розмір кадру, щоб усі пристрої мали достатньо часу для виявлення зіткнення до завершення передачі. Якщо кадр занадто короткий, пристрій може не виявити зіткнення та продовжити передачу, що призведе до пошкодження даних у мережі.
Переваги CSMA/CD:
- Простий і широко використовуваний: CSMA/CD є широко використовуваним протоколом для мереж Ethernet, і його простота полегшує впровадження та використання.
Справедливість: У мережі CSMA/CD усі пристрої мають рівний доступ до середовища передачі, що забезпечує чесність передачі даних.
Ефективність: CSMA/CD дозволяє ефективно використовувати середовище передачі, запобігаючи непотрібним зіткненням і зменшуючи перевантаження мережі.
Недоліки CSMA/CD:
- Обмежена масштабованість: CSMA/CD має обмеження щодо масштабованості, і вона може не підходити для великих мереж із великою кількістю пристроїв.
Уразливість до зіткнень: Хоча CSMA/CD може виявляти зіткнення, він не може запобігти їх виникненню. Колізії можуть призвести до пошкодження даних, затримок повторної передачі та зниження продуктивності мережі.
Неефективне використання пропускної здатності: CSMA/CD використовує випадковий алгоритм відстрочки, який може призвести до неефективного використання пропускної здатності мережі, якщо пристрій постійно зазнає конфліктів.
Схильність до атак на безпеку: CSMA/CD не надає жодних функцій безпеки, і протокол вразливий до атак на безпеку, таких як перехоплення пакетів і підробка.
Читайте далі – Ефективність CSMA/CD