Допустим, у нас есть это:

Network 1                      Network 2
-----------------------------  ----------------
|   \  /                    |  |    \  /      |
|    \/                     |  |     \/       |
| ----------  ------------  |  | ----------   |
| |Router 1|--|Computer 2|  |  | |Router 2|   |
| ----------  ------------  |  | ----------   |
|     |                     |  |     |        |
|     |                     |  |     |        |
| ------------              |  | ------------ |
| |Computer 1|              |  | |Computer 3| |
| ------------              |  | ------------ |
-----------------------------  ----------------

Мы предполагаем, что все компьютеры отправляют данные одновременно.

Допустим, компьютер 1 отправляет что-то вроде "привет" (что не совсем реалистично), а компьютер 2 передает "до свидания". Не смешались бы сигналы, и получилось бы что-то вроде "хегол" и "лаудобье"? Если бы Компьютер 3 отправлял свою зашифрованную вещь, а Маршрутизатор 1 читал ее, похоже, это было бы большим беспорядком.

Как маршрутизаторы определяют разницу между сигналом одного компьютера и сигналом другого?

2 ответа2

3

Это сеть 101.

Устройства в сети IP (Интернет-протокол) однозначно идентифицируются по MAC-адресу (Media Access Control) и их IP-адресу.

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

Каждый кадр Ethernet начинается с заголовка Ethernet, который содержит MAC-адреса назначения и источника в качестве первых двух полей.

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

С точки зрения части вопроса, спрашивающего о второй сети (Компьютер 3); Если мы говорим о двух разных сетях Wi-Fi с разными SSID и ключами, то даже если они обе работают на одном и том же канале, каждая беспроводная точка доступа будет игнорировать трафик, который не был помечен своим собственным SSID.

0

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

Если немного расширить это, то номер порта (используемый UDP или TCP) обеспечит обработку байта как части правильного диалога. Таким образом, когда ваш веб-браузер загружает несколько графических изображений одновременно, сопоставление номеров исходных портов TCP поможет определить, предназначены ли байты для одного графического объекта или другого.

Однако, выходя за пределы Networking 101, есть также CSMA:CA, что означает Carrier Select Multi-Access: предотвращение столкновений. Эта функция является просто частью стандарта Wi-Fi. Это отличается от CSMA: CD, который обозначает Carrier Select Multi-Access: Collision Detect, который является просто частью стандарта Ethernet.

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

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

CSMA:CD немного более агрессивен. Если медный провод не посылает сигнал некоторое время, устройство попытается отправить сообщение.

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

CSMA:CA безопаснее (что делает коллизии менее вероятными), но заметно дороже (с точки зрения дополнительного времени ожидания и / или накладных расходов на дополнительные байты). Причина, по которой CSMA:CA предпочтительнее для Wi-Fi, заключается в том, что коллизии потенциально намного дороже для Wi-Fi по сравнению с Ethernet. Мало того, что скорости Wi-Fi обычно медленнее, у вас, скорее всего, возникнет проблема, когда один элемент оборудования может совместно использовать носители (радиоволны) с необнаруженным другим элементом оборудования.

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

Напротив, с Ethernet каждое устройство в сегменте, вероятно, сможет заметить, что носитель (проводка) активно используется, довольно быстро. Таким образом, столкновения, как правило, менее подвержены возникновению, и поэтому более высокий риск окупится. Так что менее дорогой CSMA:CD привыкает.

Эти протоколы (CSMA:CA и CSMA:CD), которые являются частью других протоколов (Wi-Fi и Ethernet), являются очень техническими. Например, если у вас есть несколько подключенных концентраторов, CSMA:CD может учитывать, сколько времени потребуется для прохождения электрических сигналов от компьютера на одном конце коммутатора к компьютеру на другом конце концентратора. Такие расчеты рассматриваются как часть решения о том, как долго отступать при столкновении.

Итак, чтобы подвести итог ответа, из-за сложного протокола CSMA:CA, который является лишь частью еще более сложного протокола, называемого Wi-Fi, у вас фактически никогда не будет двух устройств, успешно прерывающих конфликтующее соединение одновременно. Если два устройства пытаются отправить что-то одновременно, вы столкнетесь с коллизией, и оба устройства попытаются снова (позднее) повторно отправить данные.

Статья в Википедии "Многостанционный доступ с контролем несущей и предотвращением столкновений" (CSMA:CA)

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .