Назад | Перейти на главную страницу

Реализация jumbo-кадров на одном интерфейсе, а не на другом

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

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

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

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

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

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

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

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

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

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

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