Реализация больших кадров на одном интерфейсе и отсутствие поддержки на другом

Реализация больших кадров на одном интерфейсе и отсутствие поддержки на другом

У меня есть распределенное приложение, которое пропускает большой объем трафика между несколькими машинами. В настоящее время эти машины совместно используют гигабитную сеть с остальными машинами в стойке, и я начинаю замечать проблемы (конфликты пакетов). Размышляя над решениями, я наткнулся на обсуждение jumbo-кадров, которые определенно решили бы мою проблему, если бы работали так, как заявлено. Но...

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

На всех моих серверах по две сетевые карты. Могу ли я настроить частную сеть для распределенного приложения, убедившись, что все первые сетевые карты машин настроены на jumbo-фреймы, и использовать вторую карту на этих машинах (с выключенными jumbo-фреймами) для подключения к остальной части моей сети и к внешнему миру? Я думаю, что большой трафик внутри подсистемы краулера будет изолирован от остальной сети, включая интернет-трафик, а использование jumbo-фреймов улучшит скорость связи.

Все машины представляют собой серверы Dell PowerEdge 1950 под управлением Windows 2008. Я знаю, что сетевые адаптеры Broadcom GigE серверов PE поддерживают большие кадры, но можно ли настроить один с большими кадрами, а другой — без них?

Наконец, как мне убедиться, что я получаю коммутатор, который поддерживает jumbo frame? Мы используем коммутаторы TP-Link, которые, похоже, работают хорошо в настоящее время, но я не могу найти никакой информации о том, поддерживают ли они jumbo frame.

Я знаю, что у меня много вопросов. То, что я рассматриваю, звучит разумно?

решение1

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

Мы настроили отдельную VLAN для нашей сети хранения данных и должны были настроить отдельный сетевой блок на eth1, чтобы избежать этого поведения. Увеличение MTU до 9000 легко увеличило пропускную способность, поскольку эта конкретная система имеет дело с потоковой передачей ряда довольно больших файлов.

решение2

Это должно быть вполне осуществимо. Серверные сетевые карты в Windows могут иметь разные настройки MTU для каждого интерфейса. В противном случае iSCSI, обычный драйвер больших кадров, не получил бы того распространения, которое он имел.

решение3

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

При этом отдельные устройства должны согласовывать свои размеры MTU друг с другом. Поэтому вам не придется включать его для всех устройств.

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