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

Как ограничить каждый отдельный поток TCP до фиксированной максимальной скорости?

Я прочитал, но не всесторонне, все различные документы по формированию трафика и увидел длинный вопрос о планировании HSFC.

Кто-нибудь действительно понимает, как работает планирование HFSC в Linux / BSD?

посмотрел на другие вопросы, но, похоже, все решает сложные проблемы, такие как справедливое распределение заданного объема полосы пропускания, поддержание хороших интерактивных сеансов и т. д.

Но все, что я хочу сделать, это разделить известную общую максимальную теоретическую пропускную способность, скажем, 1 гигабайт, на (скажем) 10 фрагментов по 100 каждый и применить некоторую магию, чтобы любой сеанс TCP ограничивался максимум 100.

Это кажется простым запросом или бессмысленным? Возможно, настолько простым, что в примерах его никогда не обсуждают, вместо этого переходят непосредственно к более сложным сценариям. Но это было бы очень полезно в контролируемой среде, где клиенты не конкурируют.

Изменить: в nginx есть команда limit_rate, которая делает именно то, что я хочу (ограничение скорости для отдельного подключения к отдельному URL-адресу), но я бы все же предпочел сделать это на уровне iptables с tc или каким-либо другим модулем, поэтому вопрос открыт.