Поведение буфера неуправляемого коммутатора Ethernet

260
Roger Irwin

Если у меня есть типичный неуправляемый коммутатор, подключенный к серверу со скоростью 1 Гбит / с и нескольким клиентам со скоростью 100 Мбит / с, будет ли коммутатор буферизировать пакеты?

Например, если два клиента загружают файлы, может ли сервер отправить пакет для второго клиента до того, как первый пакет завершит свою работу?

0
Эта информация обычно доступна в Интернете и объясняется более подробно и подробно, чем то, что нам нужно сделать здесь. Коммутаторы делают буферный трафик по нескольким причинам. Полнодуплексный характер TCP означает, что отправитель будет ждать ответа получателя, в результате чего соединение между ними будет работать на более медленной скорости. Если у вас вопрос «Могут ли несколько соединений со скоростью 100 Мбит / с использовать одну и ту же скорость 1 Гбит / с?», То да, они могут. Теоретически, 10 компьютеров могли передавать файл на полной скорости одновременно. Appleoddity 5 лет назад 0

2 ответа на вопрос

0
Zac67

Если у меня есть типичный неуправляемый коммутатор, подключенный к серверу со скоростью 1 Гбит / с и нескольким клиентам со скоростью 100 Мбит / с, будет ли коммутатор буферизировать пакеты?

Коммутатор буферизует определенное количество кадров, в зависимости от модели.

если два клиента загружают файлы, может ли сервер отправить пакет второму клиенту до того, как первый пакет завершит свою работу?

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

По сути, сервер, подключенный с пропускной способностью 1 Гбит / с, может обслуживать 10 клиентов, подключенных со скоростью 100 Мбит / с, на их полной скорости - при условии, что он может предоставлять данные достаточно быстро, и скорость ограничивается только сетью.

0
LawrenceC

Ethernet-коммутатор может делать две вещи:

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

Прорезать - начать отправку кадра, как только будет известен адрес получателя.

MAC-адрес назначения - это самое первое, что есть в кадре Ethernet, так что буферизуется не так много, прежде чем коммутатор начнёт посылать то, что получает - у некоторых концентраторов есть функция «Без фрагментов», которая ожидает 64 байта перед отправкой, чтобы избежать беспокоить пункт назначения, если произойдет столкновение.

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

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

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

Если вы передаете что-то в Интернет, почти всегда есть несколько «прыжков» - сервер отправляет данные на ваш коммутатор, который пересылает на ваш маршрутизатор, который пересылает, возможно, на большее количество маршрутизаторов, затем на маршрутизатор вашего интернет-провайдера, затем на вашего интернет-провайдера в восходящем направлении IXP и т. Д. и т. д. Сетевой адаптер вашего сервера не должен ждать завершения всех этих переходов, конечно, он может работать при отправке другого кадра на коммутатор, как только сетевой адаптер будет завершен с текущим кадром.

Определенно, среди всех этих «прыжков» может быть несколько пакетов - и есть вероятность, что они могут или не могут прийти по порядку на другом конце - это что-то TCP-адреса с порядковыми номерами и окнами (UDP не делает). Прорезание / сохранение и пересылка влияет только на непосредственное соединение между сервером и коммутатором.

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

Ну, я на самом деле хочу решить, какой переключатель! Вы видите, я слышал, что в дешевых неуправляемых коммутаторах недостаточно места в буфере для хранения пакета (1508 байт) для каждого порта. Сохранение и пересылка подразумевают, что пакет полностью буферизуется перед отправкой на другой порт, но это подразумевает, что он сможет принимать другой пакет на входящем порте, как только он «передаст» пакет в буфер порт назначения? Или я должен искать дополнительную спецификацию, чтобы гарантировать это? Roger Irwin 5 лет назад 0