CSMA/CD: объяснение процесса

В локальной сети Ethernet (IEEE 802.3) все участники сети обычно встречаются на общей среде передачи данных — кабеле. Эта встреча должна регулироваться, чтобы избежать хаоса во время передачи данных, который может привести к их потере или повреждению. CSMA/CD предлагает метод, который правильно организует передачу данных.

Этот метод не подходит для WLAN. Поэтому процесс был адаптирован в виде CSMA/CA. CSMA/CD больше не имеет значения для большинства проводных сетей, поскольку новые кабельные технологии предлагают другие возможности. Тем не менее, не помешает знать и об этой старой процедуре.

Что такое CSMA/CD?

CSMA/CD расшифровывается как Carrier Sense Multiple Access/Collision Detection, при этом обнаружение столкновений является расширением протокола CSMA. Это создает процедуру, которая регулирует, как должна происходить коммуникация в сети с общей средой передачи. Расширение также определяет, как действовать в случае возникновения коллизий, т.е. когда два или более узла пытаются одновременно отправить пакеты данных через среду передачи (шину) и мешают друг другу.

Определение

Чтобы понять, как работает CSMA/CD, имеет смысл разделить отдельные компоненты этого термина:

  • Определение состояния несущей (CS): Определение состояния несущей позволяет всем участникам сети проверить, свободна ли в данный момент среда — только после этого протокол инициирует передачу данных.
  • Множественный доступ (MA): несколько участников (компьютеров, подключенных к сети) совместно используют среду передачи данных.
  • Обнаружение столкновений (CD): Обнаружение столкновений является расширением оригинального протокола и определяет, как действовать в случае столкновения пакетов данных.

Как работает процесс CSMA/CD

CSMA/CD состоит из нескольких этапов. Процедура основана на обычном групповом разговоре: для хорошего общения важно, чтобы участники не говорили все сразу, что может сбить с толку. Вместо этого они должны говорить друг за другом, чтобы каждый участник мог полностью понять, какой вклад вносят в обсуждение другие. Сами того не осознавая, мы ведем себя подобным образом во время беседы: Когда кто-то другой говорит, мы стоим в стороне и слушаем.

После того, как другой участник закончил свой вклад, мы ждем некоторое время и начинаем говорить только тогда, когда этот же участник или другой участник разговора не начинает больше ничего говорить. Если мы случайно начинаем говорить с кем-то другим в то же самое время, мы прекращаем нашу попытку, немного ждем, а затем пытаемся снова.

Процесс CSMA/CD очень похож. Сначала станция контролирует среду передачи. Пока она занята, мониторинг будет продолжаться. Только когда среда свободна и в течение определенного времени (в межкадровом интервале), станция отправляет пакет данных. Тем временем передатчик продолжает следить за средой передачи, чтобы увидеть, не обнаружит ли он коллизий данных. Если к моменту окончания передачи ни один из участников не попытается отправить свои данные через среду передачи и не произойдет столкновения, то передача прошла успешно.

Факт

Столкновения приводят к смещению напряжения на кабеле. Это позволяет станциям обнаруживать столкновения.

Однако если коллизия обнаружена, участник немедленно прерывает передачу и вместо этого посылает сигнал помехи (сигнал JAM), чтобы все остальные станции также могли обнаружить коллизию. Теперь участник ждет случайное количество времени (обратный отсчет), прежде чем снова попытаться передать сигнал. Откат должен быть случайным, чтобы следующее столкновение не произошло сразу же. Поскольку обе станции выбирают случайное значение, вероятность того, что они начнут попытку передачи одновременно, довольно мала.

Попытки передачи подсчитываются. Если следующие попытки также неудачны и достигнуто максимальное число попыток (16), станция сообщает об ошибке на следующий вышестоящий сетевой уровень, а затем окончательно прекращает передачу. Поскольку крайне маловероятно, что участник сети достигнет максимального числа попыток во время нормального процесса, можно предположить, что произошла системная ошибка.

Факт

Механизм разрешения коллизий в Ethernet — двоичный экспоненциальный откат — используется для смягчения постоянных коллизий. Участник должен подождать некоторое время, прежде чем начать новую попытку после столкновения. Эта продолжительность всегда случайным образом кратна так называемому времени слота. Время слота зависит от скорости передачи и составляет несколько микросекунд. Диапазон возможных кратных значений удваивается с каждой неудачной попыткой, поэтому вероятность одновременной передачи становится экспоненциально ниже.

Столкновения

Чтобы определить, произошло ли столкновение, станция одновременно проверяет, совпадает ли передаваемый сигнал с сигналом на среде передачи. Если это не так, другая станция одновременно осуществляет передачу и фальсифицирует сигнал на шине. Подобные коллизии происходят регулярно и являются частью нормальной работы локальной вычислительной сети (ЛВС). Однако размер сети также увеличивает вероятность столкновений. В данном случае размер относится не только к количеству участников, но и к длине путей передачи.

Из-за того, что это занимает некоторое время, может случиться так, что участник уже отправил сигнал, но он еще не был обнаружен другим участником. Это также приводит к увеличению количества коллизий и замедляет работу сети в целом.

Что такое область столкновений?

Область коллизий — это область сети, в которой участники совместно используют среду передачи. Участники получают доступ с помощью процедуры CSMA/CD. Однако область коллизий не должна превышать определенного размера: Сети нельзя увеличивать до бесконечности, чтобы процедура коллизий оставалась эффективной. Причиной этого является скорость передачи и расстояние, которое она должна пройти.

Факт

Сетевые протоколы можно разделить на семь абстрактных уровней в соответствии с эталонной моделью OSI. Верхний уровень (прикладной уровень) предоставляет функции для приложений, позволяя пользователям вводить и выводить данные. Сюда входят уровни для транспорта (где вы можете найти, например, TCP) и коммутации (где находится интернет-протокол). На самом нижнем уровне (физическом) задача состоит в том, чтобы перевести двоичные цифры компьютера в физический сигнал, соответствующий среде передачи. Область столкновений также находится на этом уровне.

Для работы CSMA/CD сообщения об ошибках должны достигать всех участников области коллизий за определенное время: пакет данных проходит от одного конца области до другого, где может произойти коллизия. Соответствующий сигнал должен достичь первой станции до того, как она будет готова к полной передаче пакета данных. В противном случае станция не поймет, что передаваемые данные уже повреждены, и посчитает передачу успешной, в то время как пакет данных будет потерян. Подобные инциденты называются «поздними столкновениями» и приводят к потере данных.

Имея эти знания и информацию об используемой сетевой технологии, можно рассчитать максимальный размер области коллизий. Если предположить, что вы имеете дело с классической полудуплексной сетью Ethernet, то скорость передачи данных в ней составляет 10 Мбит/с. Самый маленький пакет данных, который, соответственно, требует наименьшего времени для полной передачи и является самым крайним случаем, имеет размер 512 бит (64 байта). В результате время слота составляет 51,2 мкс (микросекунды). Время слота описывает продолжительность времени, в течение которого сигнал может пройти до конца области столкновений и обратно.

Однако данные в сетях не передаются через пустое пространство со скоростью света. Они привязаны к физическим условиям среды передачи. Номинальная скорость распространения (NVP) — это процент от скорости света, который достигается в среде. Например, витая пара, типичная для локальных сетей, имеет значение NVP 0,6, а более старые коаксиальные кабели — 0,77. Таким образом, скорость передачи данных может достигать 180 000 км/с (112 000 м/с) (60%) или примерно 230 000 км/с (143 000 м/с) (77%) от скорости света.

Все данные используются для того, чтобы максимизировать набор данных, чтобы гарантировать точность CSMA/CD.

                Управление данными x продолжительность передачи = удвоенная максимальная длина

                230.000 км/с x 0.0000512 с = 11.776 км

                (143,000 м/с x 0,0000512 с = 7,32 м)

Таким образом, домен коллизий в сети на основе коаксиальных кабелей может иметь максимальный разброс 5,89 км (3,66 м). При расчете необходимо учитывать сигналы, идущие в обоих направлениях. Максимальный размер области столкновений также не может быть расширен за счет соединительных усилителей сигнала (повторителей), поскольку они не влияют на процедуру CSMA/CD.

Как можно предотвратить столкновения?

В целом, в полудуплексных системах невозможно полностью избежать коллизий. Они являются запланированными ошибками, и CSMA/CD гарантирует, что коллизии не приведут к проблемам во время передачи. Однако это относится только к потере данных. Скорость передачи снижается, если коллизий слишком много. Как возникает слишком большое количество коллизий? Если в домене коллизий слишком много участников, это увеличивает количество коллизий, а вместе с ними и количество задержек. В очень плохих случаях может оказаться, что достигается только 30% скорости.

Чтобы не зайти слишком далеко, стоит сформировать более мелкие домены коллизий. Для этого сеть должна быть разделена. Для этого используются коммутаторы или мосты — оба работают на основе MAC. Контроль доступа к медиа работает на втором (т.е. следующем по высоте) уровне OSI — резервном (data link). Имеет смысл формировать подсети таким образом, чтобы станции, которым приходится часто общаться друг с другом, находились рядом друг с другом. Это позволяет избежать того, что узкие места на мостах будут нивелировать выигрыш в скорости.

Полудуплекс и полный дуплекс

В сетевых технологиях различают полудуплексный и полнодуплексный режимы. Обе модели связаны с используемой технологией. В контексте сетей или других коммуникационных технологий дуплекс в основном описывает возможности в отношении передачи данных. Таким образом, полудуплекс позволяет передавать данные только в одном направлении за один раз. При полном дуплексе, однако, станция может отправлять и принимать данные в любое время.

Кроме того, существуют симплекс и дуплекс, когда речь идет о сетевой технологии. Первый позволяет передавать данные только в одном направлении в любое время. Хорошим примером этого является радио: Оно может отправлять передачи, но не может их принимать. Двойной симплекс, с другой стороны, больше соответствует принципу полного дуплекса, когда возможны как передача, так и прием. Однако, в отличие от полного дуплекса, это осуществляется двумя разными способами.

Различие между полудуплексом и полным дуплексом имеет четкое влияние на процедуру CSMA/CD: тот факт, что при полудуплексе возможна только одна передача, означает, что необходимо принять меры для предотвращения коллизий. Это становится ощутимым, если представить канал передачи как однополосную дорогу. Если трафик идет одновременно с обоих направлений, это приводит к столкновению. Полнодуплексный канал, с другой стороны, всегда двухполосный. Трафик может проходить мимо друг друга с обоих направлений. Поэтому в сетях, использующих полный дуплекс, не требуется множественный доступ с контролем несущей и обнаружением коллизий: коллизии не могут возникнуть.

Тип дуплекса связан с техническими условиями и, в частности, с типом используемого кабеля. Сети, подключенные к коаксиальным кабелям, могут работать только в полудуплексном режиме. Полный дуплекс стал возможен только после появления витой пары и оптоволоконных кабелей. В то же время, быстрый Ethernet (100 Мбит/с) и гигабитный Ethernet (1 Гбит/с) были реализованы как полнодуплексные сети, поэтому CSMA/CD на практике играет лишь незначительную роль.

CSMA/CD против CSMA/CA

Помимо расширения Carrier Sense Multiple Access with Collision Detection, доступ к среде передачи данных также может быть обеспечен с предотвращением столкновений CSMA/CA. Последнее особенно необходимо, когда речь идет о беспроводных соединениях; CSMA/CD не очень хорошо работает в радиосетях по разным причинам. Центральной проблемой здесь является проблема скрытой станции. Это происходит, когда две станции не узнают друг друга, но общаются одновременно с третьей станцией в середине — что неизбежно приводит к коллизиям.

CSMA/CA, однако, стремится избежать столкновений (как следует из названия), а не просто распознать их. Если столкновение все же происходит, создается соответствующий протокол. В этом отношении CSMA/CA является адаптацией CSMA/CD к другой среде передачи.

Оцените статью
cdelat.ru
Добавить комментарий