Множественный доступ с контролем несущей и обнаружением коллизий - Carrier-sense multiple access with collision detection

Множественный доступ с контролем несущей и обнаружением коллизий (CSMA / CD) это контроль доступа к медиа (MAC) метод, наиболее часто используемый в Ethernet технология для локальная сеть. Оно использует перевозчик -чувствительность к отложению передачи до тех пор, пока другие станции не перестанут передавать. Это используется в сочетании с обнаружением коллизий, при котором передающая станция обнаруживает коллизии, считывая передачи от других станций, когда она передает Рамка. Когда это состояние коллизии обнаруживается, станция прекращает передачу этого кадра, передает сигнал о застревании, а затем ожидает случайный интервал времени, прежде чем пытаться повторно отправить кадр.[1]

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

С ростом популярности Коммутаторы Ethernet в 1990-е годы IEEE 802.3 устарел Повторители Ethernet в 2011,[2] делая CSMA / CD и полудуплексный режим менее распространенным и менее важным.

Процедура

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

Следующая процедура используется для начала передачи. Процедура считается завершенной, когда кадр передан успешно или во время передачи обнаружен конфликт.[3]:33

  1. Готов ли кадр к передаче? Если нет, дождитесь кадра.
  2. Средний холостой ход? Если нет, подождите, пока он не станет готов.[примечание 1]
  3. Начните передачу и следите за столкновениями во время передачи.
  4. Произошло столкновение? Если да, перейдите к процедуре обнаружения столкновения.
  5. Сбросьте счетчики повторной передачи и завершите передачу кадра.

Следующая процедура используется для разрешения обнаруженного столкновения. Процедура завершается, когда повторная передача инициируется или повторная передача прерывается из-за многочисленных конфликтов.

  1. Продолжить передачу (с сигналом застревания вместо заголовка кадра / данных /CRC ) до тех пор, пока не будет достигнуто минимальное время пакета, чтобы гарантировать, что все приемники обнаружат конфликт.
  2. Увеличьте счетчик повторных передач.
  3. Было ли достигнуто максимальное количество попыток передачи? Если да, прервите передачу.
  4. Рассчитайте и дождитесь случайного отвали период в зависимости от количества столкновений.
  5. Повторно войдите в основную процедуру на этапе 1.

Способы обнаружения столкновений зависят от носителя. На общей электрической шине, например 10BASE5 или же 10BASE2 коллизии могут быть обнаружены путем сравнения переданных данных с полученными или путем распознавания более высокой, чем обычно, амплитуды сигнала на шине.[4][5] На всех других носителях несущая, обнаруженная на приемном канале во время передачи, запускает событие коллизии.[6] Репитеры или узлы самостоятельно обнаруживать столкновения и распространять сигналы помех.[7][8]

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

Сигнал о застревании

В сигнал помехи или же сигнал помех это сигнал который несет 32-битный двоичный шаблон, отправленный станцией данных, чтобы сообщить другим станциям о конфликте и о том, что они не должны передавать.[9]

Максимальное время заклинивания рассчитывается следующим образом: Максимально допустимый диаметр Ethernet установка ограничена 232 битами. Таким образом, время приема-передачи составляет 464 бита. Поскольку время слота в Ethernet - 512 бит, разница между временем прохождения слота и временем приема-передачи составляет 48 бит (6 байт), что является максимальным «временем блокировки».

Это, в свою очередь, означает: станция, отмечающая столкновение Произошла отправка шаблона длиной от 4 до 6 байтов, состоящего из 16 комбинаций битов 1-0. Примечание. Размер этого сигнала блокировки явно превышает минимально допустимый размер кадра в 64 байта.

Цель этого - гарантировать, что любой другой узел, который может в данный момент принимать кадр, получит сигнал блокировки вместо правильного 32-битного CRC MAC, это заставит другие приемники отбросить кадр из-за ошибки CRC.

Позднее столкновение

А позднее столкновение это тип коллизии, которая происходит дальше в пакете, чем разрешено данным стандартом протокола. В 10-мегабитной общей среде Ethernet, если ошибка коллизии возникает после того, как передающая станция передала первые 512 бит данных,[10] говорят, что произошло позднее столкновение. Важно отметить, что поздние конфликты не отправляются повторно. NIC в отличие от коллизий, происходящих до первых 64 октетов; его оставляют для верхних слоев стек протоколов чтобы определить, что произошла потеря данных.

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

Локальное столкновение

А локальное столкновение это столкновение, которое происходит на NIC в отличие от провода. Сетевая карта не может обнаружить локальные коллизии, не пытаясь отправить информацию.

На UTP При кабеле локальная коллизия обнаруживается в локальном сегменте только тогда, когда станция обнаруживает сигнал в паре RX одновременно с отправкой в ​​паре TX. Поскольку два сигнала находятся в разных парах, характеристики сигнала не изменяются. Коллизии распознаются на UTP, только когда станция работает в полудуплекс. Единственная функциональная разница между половиной и полнодуплексный операция в этом отношении заключается в том, разрешено ли одновременное использование пары передачи и приема.

Эффект захвата канала

В эффект захвата канала это явление, когда один пользователь общая среда «захватывает» среду на значительное время. В этот период (обычно 16 кадров)[требуется разъяснение ]другим пользователям запрещается использовать этот носитель. Этот эффект впервые был замечен в сетях, использующих CSMA / CD на Ethernet. Из-за этого эффекта соединение с наибольшим объемом данных доминирует над беспроводным каналом с множественным доступом.[11] Это происходит в каналах Ethernet из-за того, что узлы «отключаются» от канала и пытаются повторно получить к нему доступ. В протоколе Ethernet, когда происходит конфликт связи (когда два пользователя среды пытаются отправить одновременно), каждый пользователь ожидает в течение произвольного периода времени перед повторным доступом к каналу. Однако пользователь будет ждать («отступить») в течение случайного количества времени, пропорционального количеству раз, когда он последовательно пытался получить доступ к ссылке. Эффект захвата канала возникает, когда один пользователь продолжает «выигрывать» ссылку.

Например, пользователь A и пользователь B одновременно пытаются получить доступ к тихой ссылке. Поскольку они обнаруживают коллизию, пользователь A ожидает случайного времени от 0 до 1 единицы времени, как и пользователь B. Допустим, пользователь A выбирает меньшее время отсрочки. Затем пользователь A начинает использовать ссылку, а B позволяет ему завершить отправку Рамка. Если у пользователя A все еще есть что отправить, тогда пользователь A и пользователь B вызовут новый конфликт данных. A снова выберет случайное время отсрочки от 0 до 1, но пользователь B выберет время отсрочки от 0 до 3, потому что это второй раз подряд B столкновение. Скорее всего, А снова "выиграет". Если так будет продолжаться, A, скорее всего, выиграет все столкновения, и после 16 столкновений (количество попыток, прежде чем пользователь отступит на длительный период времени), пользователь A «захватит» канал.

Способность одного узла захватывать всю среду уменьшается по мере увеличения количества узлов. Это связано с тем, что по мере увеличения количества узлов увеличивается вероятность того, что один из «других» узлов будет иметь меньшее время задержки, чем захватывающий узел.

Эффект захвата канала создает ситуацию, когда одна станция может вести передачу, в то время как другие постоянно отключаются, что приводит к ситуации краткосрочной несправедливости. Тем не менее, в долгосрочной перспективе ситуация является справедливой, потому что каждая станция имеет возможность «захватить» среду, как только одна из станций завершит передачу. Эффективность канала увеличивается, когда один узел захватил канал.

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

Приложения

CSMA / CD использовался в уже устаревших общие медиа Ethernet варианты (10BASE5, 10BASE2 ) и в ранних версиях витая пара Ethernet который использовал ретрансляторы. Современные сети Ethernet, построенные с переключатели и полнодуплексный подключений, больше не нужно использовать CSMA / CD, потому что каждый сегмент Ethernet или область столкновения, теперь изолирован. CSMA / CD по-прежнему поддерживается для обратной совместимости и для полудуплексных соединений. В IEEE 802.3 Стандарт, который определяет все варианты Ethernet, по историческим причинам все еще носил название «Метод доступа с контролем несущей с обнаружением коллизий (CSMA / CD) и спецификации физического уровня» до 802.3-2008, в котором используется новое название «Стандарт IEEE для Ethernet» .

Смотрите также

Примечания

  1. ^ В Ethernet станции должны дополнительно ждать 96-битного межкадровый зазор период.

Рекомендации

  1. ^ «Объяснение обнаружения конфликтов множественного доступа с контролем несущей (CSMA / CD)». learn-networking.com. 29 января 2008 г.. Получено 2011-07-29.
  2. ^ IEEE 802.3-2012, пункты 9, 27, 41
  3. ^ Хайнц-Герд Хегеринг; Альфред Лаппл (1993). Ethernet: создание инфраструктуры связи. Эддисон-Уэсли. ISBN  0-201-62405-2.
  4. ^ IEEE 802.3 8.3.1.5 Пороги обнаружения столкновений
  5. ^ IEEE 802.3 10.4.1.5 Пороги обнаружения столкновений
  6. ^ IEEE 802.3 14.2.1.4 Требования к функции присутствия коллизии (только в полудуплексном режиме)
  7. ^ IEEE 802.3 9.5.6 Обработка столкновений
  8. ^ IEEE 802.3 27.3.1.4 Функциональные требования к обработке столкновений
  9. ^ Форузан, Бехруз А. (2010). Набор протоколов TCP / IP (4-е изд.). Бостон: Высшее образование Макгроу-Хилла. п. 54. ISBN  978-0073376042.
  10. ^ IEEE 802.3-2008 Раздел 1, IEEE раздел 5.2.2.1.10
  11. ^ Коппарти, S; Кришнамурти, С. В .; Faloutsos, M .; Трипати, С. К. (1998). «Разделение TCP для мобильных одноранговых сетей» (PDF). Глобальная телекоммуникационная конференция, 2002. GLOBECOM '02. IEEE. 1. С. 138–142. Дои:10.1109 / GLOCOM.2002.1188057. ISBN  0-7803-7632-3. S2CID  18426.