Ethernet-коммутатор может делать две вещи:
Сохранить и переслать - дождаться получения всего кадра, прежде чем отправить его.
Прорезать - начать отправку кадра, как только будет известен адрес получателя.
MAC-адрес назначения - это самое первое, что есть в кадре Ethernet, так что буферизуется не так много, прежде чем коммутатор начнёт посылать то, что получает - у некоторых концентраторов есть функция "Без фрагментов", которая ожидает 64 байта перед отправкой, чтобы избежать беспокоить пункт назначения, если произойдет столкновение.
может ли сервер отправить пакет для второго клиента до того, как первый пакет завершит работу по линии
Связь между, например, вашим ПК и коммутатором, к которому он непосредственно подключен, может обрабатывать только 1 бит за раз, и сетевое оборудование в течение некоторого времени модулирует среду для "отправки" данных. Любой последовательный протокол связи работает следующим образом.
Таким образом, сетевая карта никогда не может отправлять более одного кадра "за один раз" - они помещаются в очередь (качество обслуживания влияет на этот порядок очередей) и обрабатываются сетевым стеком сервера и совместным оборудованием. (Объединение / соединение сетевых карт может заставить несколько сетевых карт работать вместе, как один сетевой адаптер.)
Если вы передаете что-то в Интернет, почти всегда есть несколько "прыжков" - сервер отправляет данные на ваш коммутатор, который пересылает на ваш маршрутизатор, который пересылает, возможно, на большее количество маршрутизаторов, затем на маршрутизатор вашего интернет-провайдера, затем на вашего интернет-провайдера в восходящем направлении IXP и т.д. , так далее. Сетевой адаптер вашего сервера не должен ждать завершения всех этих переходов, конечно, он может работать при отправке другого кадра на коммутатор, как только сетевой адаптер будет завершен с текущим кадром.
Определенно, среди всех этих "прыжков" может быть несколько пакетов - и есть вероятность, что они могут или не могут прийти по порядку на другом конце - это что-то TCP-адреса с порядковыми номерами и окнами (UDP не делает). Прорезание / сохранение и пересылка влияет только на непосредственное соединение между сервером и коммутатором.
Нужно проверить характеристики вашего коммутатора, чтобы узнать, что он делает. Этот, например, «хранить и пересылать».