У меня есть установка с сетевым концентратором и тремя устройствами Ethernet. Один из них - это ПК (под управлением Windows XP), два других - это аппаратные компоненты, которым необходимо обмениваться данными друг с другом по сети. Кроме того, к обоим этим компонентам можно получить доступ через SSH и FTP и запустить пользовательскую версию Linux (LFS).
Я использую концентратор (Netgear DS 524), поскольку он позволяет мне удобно просматривать обмен данными между устройствами на ПК.
Эта установка работает как шарм, за одним исключением. Если я подключаю ПК напрямую к устройству и пытаюсь загрузить файл через FTP, он работает отлично (то же самое с SFTP). Скачать тоже работает. Wiresharks абсолютно не показывает проблем с подключением.
Однако, когда я подключаю ПК и одно из устройств через концентратор (другое устройство выключено и отключено от концентратора), у меня возникают проблемы с загрузкой файлов (как по FTP, так и по SFTP). Каждый отдельный пакет, отправленный на устройство, передается повторно, и индикатор коллизии на концентраторе интенсивно мигает. Скачать работает без проблем.
Я обнаружил, что когда я немного загружаю сетевую подсистему устройства, поток пакетов улучшается. Простые команды вроде:
ping 127.0.0.1 -f > /dev/null
или while true; do ifconfig eth5; done > /dev/null
Уменьшите частоту столкновений в десять раз, но всего на пару секунд. Я подумал, что, возможно, устройство как-то слишком быстро реагирует, и это вызывает проблему. Я уменьшил размер MTU на ПК до 576, и это тоже немного помогло, теперь примерно каждый 15-й пакет передается повторно. Вот скриншот из Wireshark: http://i.imgur.com/L13dTGa.png
У вас есть идеи, как я могу улучшить эту ситуацию и получить рабочие закачки через хаб?
Звучит как несоответствие дуплексов. Я бы жестко установил интерфейсы на всех устройствах на 100Base-TX, полудуплекс (безопасная базовая конфигурация для любого концентратора 100Base-TX) и посмотрел, улучшится ли она. После того, как вы его улучшите, вы можете поэкспериментировать с переключением обратно на полнодуплексный режим, чтобы увидеть, что «ломает» его.
(Мне неясно, поддерживает ли эта модель хаба полнодуплексный режим. Он выглядит довольно старым и Документация NetGear кажется довольно плохим.)