stringtranslate.com

Множественный доступ с контролем несущей и обнаружением коллизий

Множественный доступ с контролем несущей и обнаружением коллизий ( 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] [10]

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

Это, в свою очередь, означает: Станция, обнаружившая конфликт , отправляет шаблон длиной от 4 до 6 байт, состоящий из 16 комбинаций битов 1-0. [заметка 2]

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложения

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-битного периода межкадрового перерыва .
  2. ^ Размер этого сигнала помех явно превышает минимально допустимый размер кадра в 64 байта.

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

  1. ^ «Объяснение обнаружения конфликтов множественного доступа с контролем несущей (CSMA/CD)» . Learn-networking.com . 29 января 2008 г. Архивировано из оригинала 23 июля 2011 г. Проверено 29 июля 2011 г.
  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. ИСБН 978-0073376042.
  10. ^ IEEE 802.3 4.2.3.2.4 Обнаружение и предотвращение конфликтов (только полудуплексный режим)
  11. ^ IEEE 802.3-2008, раздел 1, раздел IEEE 5.2.2.1.10.
  12. ^ Коппарти, С; Кришнамурти, СВ; Фалуцсос, М.; Трипати, СК (1998). «Разделение TCP для мобильных одноранговых сетей» (PDF) . Глобальная конференция по телекоммуникациям, 2002 г. GLOBECOM '02. ИИЭЭ . Том. 1. С. 138–142. дои : 10.1109/GLOCOM.2002.1188057. ISBN 0-7803-7632-3. S2CID  18426. Архивировано (PDF) из оригинала 9 октября 2022 г.