Что такое столкновение Ethernet

Обновлено: 21.11.2024

Ethernet – это технология, разработанная Xerox PARC в 1973 и 1974 годах для поддержки локальных сетей. С тех пор он был расширен за счет включения целого семейства технологий, поддерживающих различные сетевые архитектуры и топологии, в рамках рабочей группы IEEE 802.3, занимающейся поддержкой сетей с использованием физических подключений и устройств (т. е. не беспроводных).

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

Множественный доступ с контролем несущей и обнаружением конфликтов (CSMA/CD)

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

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

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

На следующем рисунке из Википедии показан упрощенный алгоритм CSMA/CD.

Упрощенный алгоритм CSMA/CD.

Связь

При традиционном совместном развертывании Ethernet все подключенные компьютеры подвержены конфликтам друг с другом, и все хосты должны иметь возможность обнаруживать конфликты в любом месте сети. По мере роста сети это не масштабируется. Чтобы решить эту проблему, связывание разделяет сеть Ethernet на сегменты. Мост работает, наблюдая за сетевым трафиком и узнавая, какие MAC-адреса подключены к каким сегментам сети. Как только адрес изучен, мост перенаправляет трафик, предназначенный для MAC-адреса, только в сегмент сети, в котором находится этот MAC-адрес. Это повышает общую производительность сети, ограничивая объем ненужного трафика, отправляемого по всей сети, и уменьшая количество конфликтов по мере масштабирования сети.

Бесконфликтный Ethernet

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

Дополнительные ссылки

Эта статья представляет собой введение в Ethernet. Если вы хотите узнать больше, есть несколько отличных ресурсов на выбор:

Я пытаюсь понять, как возникает коллизия в Ethernet, особенно когда существует несоответствие дуплексного режима или когда в устаревшей сети Ethernet два узла передают данные одновременно.

Все объясняют коллизию на верхнем уровне (два кадра сталкиваются, когда один отправляется, а другой принимается). Однако на приведенном ниже графике видно, что существуют разные схемы для Rx и Tx. Как может произойти коллизия, если есть выделенные каналы для отправки и получения кадров?

РЕДАКТИРОВАТЬ: Возможно, ярлык «Hub MDI-X» вызывает некоторую путаницу в отношении сути моего вопроса. Я не спрашиваю, как функциональность концентратора может вызвать коллизию. Мое внимание сосредоточено на обмене данными между двумя узлами с интерфейсами MDI или MDI-X (концентратор и коммутаторы имеют интерфейсы MDI-X). В любом из этих двух случаев, как может произойти коллизия между двумя узлами, когда у них есть несоответствие дуплекса, в то время как при несоответствии дуплекса Rx и Tx все еще имеют свои выделенные каналы?

Тем не менее, у меня есть тот же вопрос относительно 100base-tx, если у нас есть несоответствие дуплекса, а узел A является полудуплексным, а узел B — полнодуплексным. Предположим, что узел A имеет интерфейс MDI, а узел B — интерфейс MDI-X. NodeB передает данные с контактов 3 и 4, а узел B получает только данные с 3 и 4. Как может произойти коллизия в узле A, если он получает данные только с этих контактов?

Конфликт происходит в L1, а не в L2 — конфликтуют биты/несущие. Два отправителя сталкиваются, когда пытаются отправить (почти) одновременно.

5 ответов 5

Чтобы понять это, вам нужно понять исторический контекст.

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

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

Затем появился 10BASE-T, который, как вы заметили, имеет выделенные каналы данных для каждого направления. Тем не менее, ему все еще нужно было вписаться в существующую модель, поэтому по умолчанию он работал в «полудуплексном» режиме, эмулируя коаксиальный кабель. На самом деле сигналы не сталкивались в проводе, но приемопередатчики действовали так, как если бы они сталкивались, и ретрансляторы предприняли те же действия, что и раньше, чтобы убедиться, что это было видно по сети.

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

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

Эти проблемы означали, что на практике системы 10BASE-T почти всегда работали в полудуплексном режиме.

Для 100BASE-TX ситуация резко улучшилась. Коммутаторы Ethernet (технически быстрые многопортовые мосты) упали в цене до такой степени, что можно было отказаться от тупых повторителей-концентраторов. Автоматическое согласование позволило сетевым картам устанавливать полнодуплексные соединения без подверженной ошибкам ручной настройки. Если вы соедините два сетевых адаптера 100BASE-TX вместе с помощью перекрестного кабеля или подключите сетевой адаптер 100BASE-TX к коммутатору и не предпримете никаких действий для ручного переопределения, они почти наверняка согласуют полнодуплексный режим.

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

Более высокие скорости полностью отказались от полудуплексного режима.

@OrangeDog, если вы имеете в виду Wi-Fi (IEEE 802.11), то это не беспроводной Ethernet (IEEE 802.3). Это совершенно другой протокол, который имеет другие кадры и использует CSMA/CA вместо CSMA/CD. Эти два протокола очень разные, в то время как Ethernet на различных носителях, которые он поддерживает, в основном одинаковы.

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

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

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

Коммутатор – это мост высокой плотности. Первоначальные мосты были похожи на ПК с несколькими интерфейсами. Вы не ожидаете, что компьютер с несколькими интерфейсами будет иметь коллизии, если он получит одновременные кадры на нескольких интерфейсах.

Изменить:

Ваши комментарии наводят меня на мысль, что вы все еще не понимаете того, что я написал выше о хабах.

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

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

Это правильный ответ. OP игнорирует все случаи, кроме двух конечных точек с перекрестным кабелем (или, в современных условиях, любым кабелем) между ними.

В этом ответе объясняется, как происходит коллизия, когда в топологии есть концентратор. Хотя поздняя коллизия может произойти, когда есть два узла (скажем, коммутатор и ПК), один из которых является полудуплексным, а другой — полнодуплексным. Почему в этом случае происходит коллизия, хотя для Tx и Rx существуют отдельные цепи, как показано на графике моего вопроса?

Похоже, ярлык "Hub MDI-X" вызвал некоторую путаницу в отношении сути моего вопроса. Я отредактировал соответственно.

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

В полнодуплексном режиме есть выделенный канал для трафика "слева направо" и выделенный канал для трафика "справа налево":

Поэтому в полнодуплексном режиме коллизии невозможны, даже если оба сетевых адаптера передают данные одновременно.

Однако в полудуплексном режиме трафик в любом направлении должен использовать провод только в одном направлении за раз. Таким образом, хотя физически все еще существуют выделенные каналы, логически, если одна сетевая карта получает что-то во время передачи, она регистрирует это как коллизию. Биты/сигнал на самом деле не «сталкиваются» в сети — счетчик коллизий просто увеличивается, когда сетевая карта одновременно принимает и передает данные.

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

"Биты/сигнал на самом деле не "сталкиваются" в проводе" В концентраторе, как на рисунке в вопросе, биты действительно сталкиваются в проводе и создают мусорный сигнал . Хосты, которые одновременно отправляют и слышат другой сигнал, отправят сигнал помехи всем остальным интерфейсам на концентраторе.

@RonMaupin Вы, конечно, правы - я имел в виду, что произойдет, когда ретранслятор не обнаружит/не отреагирует на столкновение.

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

Этот метод повторения имитирует поведение предыдущих вариантов Ethernet с общим медиа (10BASE5 и 10BASE2), где повторители использовались только в качестве соединений физических сегментов или удлинителей линий. Конечно, вы правы: витая пара — это полнодуплексная среда на уровне проводов, где коллизия происходит только на верхнем физическом уровне, а не на самом проводе.

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

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

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

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

При использовании управляемых коммутаторов у вас обычно есть счетчики ошибок портов. Увеличение количества коллизий на одной стороне (HDX) и увеличение числа ошибок и ошибок FCS на другой стороне (FDX) являются очень серьезными признаками несоответствия дуплексного режима.

По сути, использование автоматического согласования – очень хорошая практика, позволяющая избежать несоответствий при дуплексном режиме. Ручная настройка скорости и дуплексного режима обычно приводит к несоответствию, особенно при замене оборудования через несколько лет. К счастью, вся полудуплексная схема ушла с Gigabit Ethernet и быстрее.

Конфликт — это событие, которое происходит в сети Ethernet, когда две станции одновременно «разговаривают» по проводу. Конфликты — обычное явление в сети Ethernet, и в большинстве случаев их не следует рассматривать как проблему.

В этом документе мы обсудим:

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

Ранние конфликты

В этом обсуждении мы будем ссылаться на воображаемую сеть Ethernet, состоящую из станций A и B и любого количества других станций. Сеть находится в таком состоянии, что провод свободен (никто не разговаривает), и с момента последнего разговора по проводу прошло 9,6 микросекунды.

Ранняя коллизия — это любая коллизия, которая происходит до того, как 512 битов кадра будут переданы в сеть. Обоснование этого обсуждается в следующем эссе.

Ниже приводится схема обычного или «раннего» столкновения:

  • Станция A, обнаружив, что провод бездействует в течение 9,6 микросекунд, начинает передавать свой кадр данных, начиная с 64-битной преамбулы. Во время передачи Станция А также прослушивает аномальное напряжение в проводе — сигнал о столкновении. (Рис. 1)
  • Некоторое время спустя, но до того, как сигнал от станции А успел распространиться по проводу к станции Б, станция Б также обнаруживает, что провод бездействует в течение 9,6 микросекунд, и начинает передачу своего кадра данных, начиная с с 64-битной преамбулой. Станция B также прослушивает столкновение на проводе. (рис. 2)
  • В какой-то точке провода между станцией A и станцией B электрические сигналы перекрываются, создавая точку аномального напряжения. Поскольку сигналы продолжают распространяться, это аномальное напряжение распространяется по проводу к станции А и станции Б. (рис. 3)
  • Какая бы станция ни находилась ближе всего к физической точке на проводе, где два сигнала перекрываются, она первой обнаружит коллизию. Ради этого обсуждения мы будем говорить, что Станция А первой обнаруживает столкновение. (Рис. 4) Станция А, обнаружив аномальное напряжение на проводе и поняв, что произошла коллизия, немедленно прекращает передачу данных и передает на провод 32-битный «джем». (Рис. 5) 32-битное застревание состоит из любой комбинации значений, которая не является действительной CRC для кадра, который был только что прерван коллизией. Большинство карт Ethernet сегодня просто отправляют 32 единицы и знают, что вероятность того, что это будет контрольная сумма, составляет всего 1/(2^32) — довольно хорошие шансы. Целью 32-битного джема является полное распространение напряжения по проводу, чтобы никто другой не мог говорить.
  • Затем станция А реализует алгоритм, известный как алгоритм усеченной двоичной экспоненциальной задержки, который определяет, как долго она будет ждать, прежде чем попытается повторно передать только что прерванный кадр. Прерванный кадр называется рантом.
  • Затем станция B обнаружит столкновение. Станция B также отправит 32-битный джем и применит алгоритм усеченного двоичного экспоненциального отката. (рис. 6)

В нормально работающей сети Ethernet регулярно возникают ранние коллизии. Нет аппаратного сбоя или неправильной работы станции — просто так получилось, что две сетевые карты начинают говорить одновременно. Как правило, после того, как говорящие реализуют алгоритм отсрочки, специально разработанный для того, чтобы обе сетевые карты не пытались снова говорить одновременно, оба говорящих успешно передают свои кадры в сеть. Обычно станции требуется не более 2–3 миллисекунд, чтобы восстановиться после коллизии и успешно повторно передать кадр.

Поздние конфликты

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

В этом обсуждении мы будем ссылаться на ту же сеть, которая описана при обсуждении ранних коллизий, но с одной модификацией: в этой сети администратор сети нарушил максимальную длину кабеля (500 метров для толстого Ethernet 10BASE5, 185 метров). для тонкого Ethernet 10BASE2), либо добавив слишком много повторителей между станциями A и B, либо просто проложив между ними слишком много проводов.

Ниже приводится схема позднего столкновения, вызванного несоответствием спецификации. кабели:

  1. Станция A, обнаружив, что провод бездействует в течение 9,6 микросекунд, начинает передавать свой кадр данных, начиная с 64-битной преамбулы. Станция А передает 256 бит своего кадра. Если бы кабель был в норме и станция B начала передачу, что вызвало бы коллизию, даже если бы станции A и B находились на самых дальних концах провода друг от друга, станция A обнаружила бы коллизию до того, как она смогла бы передать свой 512-й сигнал. кусочек. (Рис. 1)
  2. Станция A продолжает передавать биты, а тем временем на другом конце провода, как раз перед тем, как электрический сигнал достигает станции B, станция B обнаруживает свободный провод в течение 9,6 микросекунд и начинает передачу. (рис. 2)
  3. Через минуту происходит столкновение. (Рис. 3) Станция B, находясь очень близко к столкновению, обнаруживает его первой и начинает передавать 32-битный сигнал помехи. (рис. 4)
  4. Конфликт начинает распространяться по проводу к станции А, но, поскольку кабель не соответствует техническим требованиям, к тому времени, когда он достигает станции А, станция А уже закончила передачу и больше не ожидает коллизий! (Рис. 5) Станция A совершенно не знает, что произошло столкновение!
  5. Причина, по которой поздние коллизии представляют собой проблему, заключается в том, что, как только сетевая карта пропускает факт возникновения коллизии, восстановление и повторная передача остаются за верхними уровнями, а время восстановления резко увеличивается. Хотя сетевая карта обычно восстанавливает и повторно передает кадр за 2–3 миллисекунды, для верхних уровней обычно требуется от 10 до 100 раз больше времени.

Другой важной причиной поздних конфликтов является неисправная сетевая карта. Если сетевая карта работает со сбоями таким образом, что не может обнаружить, что другая станция говорит, будут возникать поздние (и ранние) коллизии.

  • Конфликты Рис. 1
    Станция A обнаруживает 9,6 микросекунд простоя и начинает передачу. В то же время он прослушивает коллизии.

Столкновения, рис. 2

Прежде чем сигнал от станции А успевает распространиться по проводу к станции Б, станция Б обнаруживает 9,6 микросекунд простоя и начинает передавать кадр.

Столкновения, рис. 3

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

Столкновения Рис. 4
Станция А находится ближе всего к точке столкновения, поэтому она первой обнаруживает столкновение. Обнаружив столкновение, Станция А прекращает передачу данных.

Столкновения, рис. 5

Станция А передает 32-битный джем, обычно состоящий из всех единиц. Цель джема состоит в том, чтобы помешать кому-либо еще попытаться говорить по проводу. Затем станция А реализует алгоритм усеченного двоичного экспоненциального отката.

Конфликты Рис. 6
Станция B обнаруживает коллизию через короткое время и также отправляет 32-битный джем. Затем он реализует алгоритм усеченного двоичного экспоненциального отката.

Поздние конфликты Рис. 1
Станция A обнаруживает 9,6 микросекунд простоя и начинает передачу. В то же время он прослушивает столкновения.В этом случае помните, что по той или иной причине сеть нарушает спецификации максимальной длины кабеля для любого типа используемого кабеля (500 метров для толстого Ethernet 10 BASE-5, 185 метров для тонкого Ethernet 10 BASE-2). .

Поздние коллизии — рис. 2
Сразу после того, как станция B начинает передачу, происходит коллизия.

Поздние конфликты — рис. 3
Сразу после того, как станция B начинает передачу, происходит конфликт.

Поздние конфликты — рис. 4
Станция B обнаруживает конфликт и начинает передачу 32-битного джема. Тем временем событие столкновения передается по проводу к станции А.

Поздние конфликты — рис. 5
Станция А завершает передачу и, следовательно, перестает прослушивать конфликты. Однако, поскольку длина сети не соответствует спецификации, событие коллизии еще не достигло ее. Станция А никогда не знает, что произошло столкновение. Когда станция А увидит 32-битный джем, она просто подумает, что какие-то другие станции столкнулись, и проигнорирует его.

В этом документе представлен обзор различных счетчиков, связанных с коллизиями Ethernet, и объясняется, как устранять проблемы с коллизиями Ethernet, о которых сообщают эти сообщения об ошибках (в зависимости от платформы):

Примечание. Информация в этом документе относится только к полудуплексному Ethernet. В полнодуплексном Ethernet обнаружение коллизий отключено.

Предпосылки

Требования

Для этого документа нет особых требований.

Используемые компоненты

Этот документ не ограничивается конкретными версиями программного и аппаратного обеспечения.

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

Условия

Дополнительную информацию об условных обозначениях документов см. в технических советах Cisco.

Что такое коллизии?

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

Ethernet использует CSMA/CD (множественный доступ с контролем несущей/обнаружение коллизий) в качестве метода обнаружения коллизий. Вот упрощенный пример работы Ethernet:

Станция А хочет отправить кадр. Во-первых, он проверяет, доступен ли носитель (Carrier Sense). Если это не так, он ожидает завершения работы текущего отправителя на носителе.

Предположим, станция A считает, что носитель доступен, и пытается отправить кадр. Поскольку носитель является общим (множественный доступ), другие отправители также могут попытаться отправить его одновременно. В этот момент станция B пытается отправить кадр одновременно со станцией A.

Вскоре после этого Станция А и Станция Б обнаруживают, что есть другое устройство, пытающееся отправить кадр (обнаружение столкновений). Каждая станция ждет случайное количество времени перед повторной отправкой. Время после столкновения разделено на временные интервалы; Станция A и станция B выбирают случайный интервал для попытки повторной передачи.

Если станция A и станция B попытаются выполнить повторную передачу в одном и том же слоте, они увеличат количество слотов. Затем каждая станция выбирает новый интервал, тем самым уменьшая вероятность повторной передачи в том же интервале.

Подводя итог, можно сказать, что коллизии — это способ распределения нагрузки трафика во времени путем арбитража доступа к общей среде. Столкновения неплохие; они необходимы для правильной работы Ethernet.

Несколько полезных фактов:

Максимальное количество временных интервалов ограничено 1024.

Максимальное количество повторных передач для одного и того же кадра в механизме коллизий равно 16. Если 16 раз подряд происходит сбой, это считается чрезмерной коллизией.

Отложенный счетчик

Вот пример вывода команды show interface:

Счетчик задержки подсчитывает, сколько раз интерфейс пытался отправить кадр, но при первой попытке обнаружил, что несущая занята (распознавание несущей). Это не является проблемой и является частью нормальной работы Ethernet.

Счетчик столкновений

Вот еще один пример вывода команды show interface:

Как объяснено здесь, коллизии не представляют проблемы. Счетчик коллизий подсчитывает количество кадров, для которых произошло одно или несколько конфликтов при отправке кадров.

Счетчик коллизий можно разбить на отдельные коллизии и множественные коллизии, как в этом выводе команды show controller:

Это означает, что восемь (из 10) кадров были успешно переданы после одной коллизии; два других кадра требовали множественных коллизий для разрешения доступа к среде.

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

Не существует установленного ограничения на количество "плохих" столкновений или максимальное количество столкновений.

В заключение отметим, что счетчик коллизий не предоставляет очень полезную статистику для анализа производительности сети или проблем.

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

Чтобы обнаружение коллизий работало правильно, период, в течение которого обнаруживаются коллизии, ограничен (512 битовых интервалов). Для Ethernet это 51,2 мкс (микросекунды), а для Fast Ethernet — 5,12 мкс. Для станций Ethernet коллизии могут быть обнаружены в течение 51,2 микросекунд после начала передачи, или, другими словами, до 512-го бита кадра.

Когда коллизия обнаруживается станцией после того, как она отправила 512-й бит своего кадра, она считается поздней коллизией.

О поздних конфликтах сообщают следующие сообщения об ошибках:

Точное сообщение об ошибке зависит от платформы. Вы можете проверить количество чрезмерных коллизий в выходных данных команды show interface ethernet [номер интерфейса].

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

Чрезмерное количество конфликтов

Как обсуждалось ранее, максимальное количество повторных попыток в алгоритме отсрочки равно 16. Это означает, что если интерфейсу не удается выделить слот, в котором он может передать свой кадр без повторной коллизии, 16 раз, он сдается. Кадр просто не передается и помечается как чрезмерная коллизия.

О чрезмерных коллизиях сообщают следующие сообщения об ошибках:

Точное сообщение об ошибке зависит от платформы.

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

Примечание. Счетчик рефлектометра с временной задержкой (TDR) — это внутренний счетчик, который подсчитывает время (в тактах по 100 наносекунд (нс) каждый) от начала передачи до возникновения коллизии. Поскольку передача проходит около 35 футов за тик, это значение полезно для определения приблизительного расстояния до места повреждения кабеля.

Вы можете проверить количество чрезмерных коллизий в выходных данных команды show controller ethernet [номер интерфейса].

Чрезмерное коллизии указывают на проблему. Распространенными причинами являются устройства, подключенные как полнодуплексные к общей сети Ethernet, неисправные сетевые карты или просто слишком много станций в общей среде. Чрезмерные коллизии могут быть устранены за счет скорости жесткого кодирования и дуплекса.

В коммутаторах Cisco Catalyst системное сообщение %SIBYTE-4-SB_EXCESS_COLL отображается при каждом возникновении чрезмерной коллизии, если включен режим внутренней службы. При отключенном внутреннем режиме службы система выводит это сообщение только тогда, когда чрезмерная коллизия достигает определенного фиксированного порога. В этом случае появление этого сообщения может указывать на реальный случай коллизии. При включенном внутреннем режиме службы система выводит это сообщение всякий раз, когда возникает один случай чрезмерной коллизии. Это может быть вызвано некоторым аппаратным шумом. Периодическое появление этого сообщения при включенном внутреннем режиме службы является нормальным поведением. Вы можете ввести внутреннюю команду no service, чтобы отключить это ведение журнала и посмотреть, как это повлияет на ваши журналы ошибок.

Устранение неполадок, связанных с коллизиями Ethernet, скоростью, несоответствием дуплексного режима

Конфликты Ethernet очень важны в сети. Это также важно для сертификационных экзаменов CCNA, CCNP и CCIE. В этом уроке мы сосредоточимся на конфликте Ethernet. Мы узнаем, что такое коллизия, какие существуют типы коллизий Ethernet. Мы сосредоточимся на этих типах столкновений и изучим эти счетчики столкновений. Мы также увидим, как просматривать эти клоунтеры на маршрутизаторах и коммутаторах Cisco.

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

Ethernet — один из основных сетевых стандартов.В стандарте Ethernet есть механизм, который используется для управления общей пропускной способностью и предотвращения одновременной отправки данных на общий носитель. Этот механизм называется «столкновением». Другими словами, коллизия – это ситуация, когда два конца одновременно отправляют данные на общий носитель, на полудуплексный носитель.

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

Механизмы CSMA/CD работают очень просто. В соответствии с этим механизмом каждый конец проверяет доступность среды, а затем отправляет данные. Если они обнаруживают, что носитель занят, они ждут до определенного времени и повторяют попытку. Давайте объясним это подробно.

Когда узел А решает отправить кадр, он проверяет носитель. Если носитель недоступен, он ожидает, или, если носитель доступен, он отправляет кадр. Если A и B считают, что медум доступен одновременно, то они оба отправляют кадр, и коллизия обнаруживается. Они оба ждут случайного времени, чтобы повторить попытку. Время после столкновения делится на временные интервалы, они оба получают случайный интервал. Если та же ситуация повторится еще раз, они продлевают количество слотов.

Теперь давайте поговорим о каждом из этих счетчиков столкновений один за другим.

Отложенный счетчик

Отложенный счетчик — это количество попыток интерфейса отправить кадр. Как мы уже говорили выше, после попытки, если она обнаруживает, что носитель занят, счетчик отложенной загрузки увеличивается. Это обычная операция Ethernet.

Вы можете увидеть отложенный счетчик с помощью команды «show interface interface» на устройствах Cisco во время вашей работы.

Счетчик столкновений

Одиночное столкновение означает, что после одного столкновения кадр был отправлен.

Множественное столкновение означает, что после пары столкновений кадр был отправлен.

Чтобы проверить наличие конфликтов на носителе, вы можете использовать команду «show interface interface» на устройствах Cisco во время работы.

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

Столкновения обнаруживаются через определенное время. Это время меняется в зависимости от СМИ. Если столкновение обнаружено после этого определенного времени, оно называется поздним столкновением. Это время обычно составляет 512 бит.

Чтобы проверить номер позднего столкновения, вы также можете использовать команду «show interface interface».

Существуют различные причины поздних столкновений. Вот некоторые из них:

  • Проблема с кабелем
  • Подписать несоответствующее количество концентраторов
  • сетевые карты

Чрезмерное столкновение

Если интерфейс получает 16 последовательных коллизий во время передачи кадра, он сдается, и кадр отбрасывается. Этот тип столкновения называется чрезмерным столкновением.

Вы можете проверить чрезмерные конфликты с помощью команды «show controller interface» на устройствах Cisco.

Здесь есть два параметра, которые используются при чрезмерных коллизиях. Это TRC (счетчик повторных попыток передачи) и TDR (рефлектометр с временной задержкой). TRC — это количество попыток передачи соответствующего пакета. TDR – это время от начала передачи до момента коллизии.

Читайте также: