Передаются ли кадры паузы хосту?

Передаются ли кадры паузы хосту?

Недавно я видел форум Debian, на котором упоминалось, что кадры паузы должны быть отброшены уровнем MAC, а если нет, то драйвер должен отбросить их. Это правда? Как хост на самом деле замедляет трафик, если он получил кадр паузы от коммутатора?

Я пытаюсь лучше понять управление потоком Ethernet. Если приведенное выше утверждение верно, что на самом деле означает passed to the host?

решение1

Существует три способа управления потоком:

  1. Если вы перегружены, вы теряете данные.
  2. Если вы не можете обработать запрос с более высокого уровня (обычно из-за того, что ваша локальная очередь заполнена), вы возвращаете ошибку на этот более высокий уровень.
  3. Вы заранее уведомляете вышестоящие уровни о необходимости снизить скорость.

На уровне Ethernet метод 3 поддерживается через кадры паузы. Часто более высокие уровни не поддерживают метод 3, но вместо этого поддерживают метод 2. Когда уровень имеет уровень ниже, который поддерживает метод 3, но уровень выше поддерживает только метод 2, он может временно прекратить передачу данных на более низкие уровни, заставляя метод 2 применяться к более высоким уровням.

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

решение2

До сих пор управление потоком Ethernet было неудачным экспериментом, поскольку оно часто приводит кблокировка начала очередипроблемы. Коммутаторы не должны отправлять кадры паузы хостам. Я считаю, что коммутаторы Cisco нельзя настроить на отправку кадров паузы; включение управления потоком Ethernet на коммутаторе Cisco просто заставляет его принимать полученные кадры паузы. Хосты поступают мудро, игнорируя полученные кадры паузы.

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

Связанный контент