Что происходит, когда 2 компьютера одновременно передают 3-й в полнодуплексном коммутаторе?

Рассмотрим следующий сценарий:

У меня есть 2 ПК (PC1 и PC2), которые хотят передавать в одно и то же время на PC3 в полнодуплексном коммутаторе Ethernet. Давайте рассмотрим, что все порты находятся в одной VLAN, поэтому что происходит внутри коммутатора? Кто передает сначала PC3?

Ранее я прочитал CSMA /CD , но только он использовался в более ранней версии Ethernet версии, которые работали в полудуплексном режиме, и каждый порт коммутатора был доменом коллизии, и если две машины пытались передать в одно и то же время, был выполнен алгоритм, чтобы дать случайное время каждому компьютеру для передачи и решения проблемы коллизий. Однако в полнодуплексном переключателе я прочитал, что возможность столкновения устранена, поэтому, если 2 ПК пытаются передать одновременно, что происходит внутри коммутатора? Включает ли коммутатор алгоритм для выбора, кто первым передает?

14 голосов | спросил Juan Jose Polanco Arias 4 J0000006Europe/Moscow 2013, 19:16:26

4 ответа


14

Коммутатор полностью загрузит входящие кадры данных из двух отправляющих систем в свои буферы. Я не уверен, как он определяет, какой кадр будет первым в очереди для последующей пересылки; но это, вероятно, основано на начальном времени приема начала кадра. Затем коммутатор работает через очередь буфера передачи, отправляя кадры один за другим на порт /сегмент назначения.

Нет проблем с фреймами, которые «работают друг с другом». Реальная проблема заключается в том, что конечный порт /сегмент может принимать фреймы достаточно быстро. (И, конечно же, можно быстро переключить свой буфер /очереди).

ответил Craig Constantine 4 J0000006Europe/Moscow 2013, 19:26:48
6

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

Однако эта проблема явно обсуждается в Компьютерные сети - системный аспект на стр. 231 -232.

Суть решения для дизайна под названием «Sunshine Switch» заключается в том, что у вас есть вход для диаграммы - вычетчик - ловушка - селектор == banyan === выходы и есть окно с задержкой, которое соединяет селектор с дозатором. И я цитирую:

  

Когда больше, чем l (ed. size of banyan) пакетов, предназначено для   один выход в том же цикле, они рециркулируются через   и снова переключится на коммутатор в следующем цикле.

И далее:

  

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

ответил ytti 4 J0000006Europe/Moscow 2013, 20:12:58
3

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

ответил David Rothera 4 J0000006Europe/Moscow 2013, 19:19:21
0

Переключение вперед по одному пакету, когда они вводят переключатель, поэтому никаких столкновений не происходит. Затем PC3 будет обрабатывать пакеты из PC1 & amp; PC2, делящее его время процессора. Окно и буферизация будут контролировать поток связи.

ответил Jon Rob 8 J000000Wednesday15 2015, 12:10:56

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132