Исправление буфера в домашней сети

9

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

Простая топология - широкополосный модем / WIFI-маршрутизатор в одном корпусе, с некоторыми беспроводными и некоторыми проводными клиентами.

Я попытался установить ifconfig wlan0/eth0 txqueuelen 1на всех клиентах, кажется, это помогает немного, но не сильно.

Советы приветствуются: как мне следует диагностировать и устранять проблемы с задержкой? Могут ли быть установлены дополнительные параметры конфигурации на клиентах, или, может быть, помогут более качественные маршрутизаторы WIFI?

cuu508
источник

Ответы:

3

Что вам нужно, так это качество обслуживания и настраиваемый алгоритм очередей. Я бы порекомендовал установить что-то вроде этого, если вы счастливы поиграть с внутренними компонентами Linux / FreeBSD и у вас есть немного свободных денег:

+------+     +--------+      +------+<----> Wireless Access Point
|Router|<--->|Firewall|<---->|Switch|
+------+     +--------+      +------+<----> Wired computers

Где брандмауэр - это Linux, FreeBSD или аналогичный компьютер с двумя сетевыми картами, которые могут накладывать некоторые расширенные правила организации очередей и качества обслуживания на трафик.

Мне пришлось сделать что-то подобное, чтобы остановить тайм-ауты DNS-запросов при выполнении тяжелой передачи данных по медленному интернет-соединению.

Другой вариант - получить лучший маршрутизатор - тот, на котором вы можете установить dd-wrt или open-wrt, так как я полагаю, что эти две прошивки предоставляют больше возможностей QoS и т. Д., Чем стандартные маршрутизаторы bog.

Majenko
источник
2

Я пытался установить ifconfig wlan0/eth0 txqueuelen 1на всех клиентах ...

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

Это, конечно, будет работать только в том случае, если ваш маршрутизатор работает под управлением Linux и позволяет запускать команды. К счастью, большинство кастомных прошивок для домашних роутеров (DD-WRT, OpenWRT, Tomato) делают.


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

BlueRaja - Дэнни Пфлугхофт
источник
1

QoS или Quality of Service - это своего рода упорядочение и установка приоритетов для пакетов, которые будут обрабатываться маршрутизатором ... Именно об этом и следует заботиться, когда у вас возникают такие проблемы ... Попробуйте выполнить поиск в панели конфигурации маршрутизатора и включите QoS. ... Лучше использовать ручные настройки в вашем случае, но вы должны знать порядок приоритета пакетов, которые вы хотите обработать с начала до конца.

morTie
источник
0

Я использую Windows и Mac вместо Linux, но решение для меня заключалось в том, чтобы переключиться с маршрутизатора Netgear, расположенного ниже по потоку от коробки интернет-провайдеров, на пограничный маршрутизатор и настроить интеллектуальную маршрутизацию (которая поступает из Linux).

Джордж Маренго
источник