На работе у нас есть выделенный Интернет-канал для повседневного использования (серверы используют другой канал) с ограниченной пропускной способностью загрузки (в настоящее время 3 Мбит / с). Поскольку имеется ~ 80 пользователей, иногда этот восходящий канал загружается до 100%, что заметно снижает производительность. В большинстве случаев это происходит из-за того, что несколько пользователей пытаются одновременно загружать файлы в Dropbox, Google Диск ... Я пробовал формировать трафик для сервисов-нарушителей, но это требует некоторого обслуживания, поскольку пользователи, кажется, очень хорошо умеют находить новые сервисы, которые потребляют пропускную способность на завтрак.
Я думал о другом подходе. Какое-то динамическое управление пропускной способностью на пользовательской основе. Утром все начнут «чистить», без формирования трафика (или какой-то очень простой схемы), но с течением дня «тяжелые загрузчики» будут автоматически формироваться все более и более агрессивно (возможно, с помощью некоторых предопределенных уровней).
Моя идея состоит в том, чтобы настроить Linux-сервер в качестве маршрутизатора (или, возможно, моста перед настоящим маршрутизатором). Есть идеи, как это реализовать?
Вы можете изучить настройку решения, используя управление трафиком Linux (tc). Очередь стохастической справедливости (http://opalsoft.net/qos/DS-25.htm) может по очереди предоставить каждому пользователю свою справедливую долю полосы пропускания, гарантируя, что ни один человек не займет линию.
Если вы вставите это в конец иерархической корзины токенов (http://opalsoft.net/qos/DS-28.htm), чтобы ограничить скорость, тогда вам будет хорошо идти.
Это непростая задача - разобраться в tc, посмотрите это (http://opalsoft.net/qos/DS.htm) и это (http://www.lartc.org/howto/lartc.qdisc.html) или вы можете взглянуть на готовое решение, такое как wonder-shaper (http://lartc.org/wondershaper/)