Как именно происходит столкновение Ethernet в кабеле, поскольку узлы используют разные схемы для передачи и приема?

13

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

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

Различные цепи используются для передачи и получения

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

Христос Даламагкас
источник
Обратите внимание, что 10Base2 или 10Base5 использовали один и тот же носитель, например, один и тот же кабель.
Патрик Терлистен
Тем не менее у меня есть тот же вопрос, касающийся 100base-tx, в случае, если у нас есть несоответствие дуплексных режимов, а узел A - полудуплексный, а nodeB - полный дуплексный. Предположим, что узел A имеет интерфейс MDI, а узел B - интерфейс MDI-X. Узел B передает с контактов 3 и 4, а узел B принимает только с 3 и 4. Как может произойти коллизия в узле A, поскольку он получает только от этих контактов?
Христос Даламагкас
6
Столкновение происходит в L1, а не в L2 - это биты / несущие, которые сталкиваются. Два отправителя сталкиваются, когда они пытаются отправить (рядом) одновременно.
Zac67

Ответы:

11

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Редактировать:

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

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

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

Рон Мопин
источник
3
Это настоящий ответ. OP игнорирует все случаи, кроме двух конечных точек с перекрестным кабелем (или, в современных условиях, любым кабелем) между ними.
R .. GitHub ОСТАНОВИТЬ ЛЬДА
@R .., рисунок в вопросе показывает концентратор, поэтому я ответил за соединение концентратора.
Рон Маупин
Этот ответ объясняет, как происходит коллизия, когда у вас есть концентратор в топологии. Хотя позднее может произойти конфликт, когда есть два узла (скажем, коммутатор и ПК), один полудуплексный, а другой полнодуплексный. Почему в этом случае происходит коллизия, хотя существуют отдельные цепи для Tx и Rx, как показано на графике моего вопроса?
Христос Даламагкас
Похоже, что лейбл "Hub MDI-X" вызвал некоторую путаницу, касающуюся пункта моего вопроса. Я отредактировал соответственно.
Христос Даламагкас
3
Потому что тот с полудуплексом объявляет коллизию, когда слышит что-то во время отправки. См. Ответ выше. Если устройство, настроенное для полудуплексного режима, при отправке слышит другой сигнал, оно должно предполагать, что произошла коллизия, поскольку считает, что оно является полудуплексным, и одновременно может отправлять только одно устройство.
Рон Мопин
8

Отличный вопрос

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

Выделенный канал

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

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

Эдди
источник
4
Сигналы на проводе сталкиваются даже с витой парой. С тремя конечными узлами два одновременных сигнала будут сталкиваться на третьем узле.
Zac67
4
« Биты / сигнал на самом деле не« сталкиваются »на проводе « В концентраторе, как на рисунке в вопросе, биты на самом деле сталкиваются на проводе и создают сигнал мусора. Хосты, которые отправляют одновременно и слышат другой сигнал, затем отправят сигнал глушения на все другие интерфейсы на концентраторе.
Рон Маупин
@RonMaupin Вы правы, конечно - я имел в виду, что произойдет, когда ретранслятор не обнаружит / не отреагирует на столкновение.
Zac67
1
@ Zac67, я не комментировал тебя, мы с тобой говорили одно и то же.
Рон Маупин
@ Zac67 / RonMaupin ОП отредактировал вопрос, подтвердив, что они не задают вопрос о хабах.
Эдди
6

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

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

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

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

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

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

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

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

Zac67
источник
3

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

Тот факт, что для передачи данных от машины B к машине A и к машине C используется другая схема, не помогает. Все, что происходит, - это то, что A и C пытаются одновременно передавать данные на устройство B, и существует только один путь передачи сигнала на устройство B.

Дэвид Шварц
источник