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

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

2 ответа2

0

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

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

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

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

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

0

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

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

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

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

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

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

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

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

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

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

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