Сделала ограничение на скорость закачки по 443 порту с помощью iptables. Политика по умолчанию на все цепочки - ДРОП.
"Прореживаю" входящие пакеты, исходящие пускаю без ограничений - их мало, не мешают.
/sbin/iptables -A FORWARD -p tcp --sport 443 -m state --state ESTABLISHED \
-m limit --limit 100/minute --limit-burst 50 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 443 -m state --state RELATED\
-m limit --limit 100/minute --limit-burst 50 -j ACCEPT
/sbin/iptables -A FORWARD -s "$clinet"0/24 -p tcp --dport 443 -j ACCEPT #без ограничений
/sbin/iptables -A FORWARD -p tcp --sport 443 -j DROP #бью, чтобы логи не засоряли
По идее что должно быть: видя потери пакетов, передающая сторона должна сжимать окно - замедлять скорость передачи, пока не установится равновесие и потери не минимизируются (медленный старт).
НО!!!!!!!!!!!!!!!!!!!!!!!!
Смотрю, сколько пакетов (и мегабайт) дропается и пропускается. Примерно поровну! Равновесие почему-то не устанавливается, передающая сторона ничего и не думает замедлять. Это подтверждается и моими счетчиками скорости (и через iptables и через tc) - когда качают через 443 порт, дебет с кредитом не сходится, а так - все нормально.
Где тот медленный старт?! Ведь эти пакеты, предназначенные на убой, забивают нам канал, которого и без того не хватает.
Неужели это нормально?
Поскольку такой мехаизм используется во всех ограничителях тарфика, что же, добрая половина трафика в сети цеелнаправленно бьется, только никто этого не видит? Или это просто кривая реализация ТСП на каком-то конкретном сервере? Или я нерационально подобрала параметры ограничения (в особенности --limit-burst)?
"Прореживаю" входящие пакеты, исходящие пускаю без ограничений - их мало, не мешают.
/sbin/iptables -A FORWARD -p tcp --sport 443 -m state --state ESTABLISHED \
-m limit --limit 100/minute --limit-burst 50 -j ACCEPT
/sbin/iptables -A FORWARD -p tcp --sport 443 -m state --state RELATED\
-m limit --limit 100/minute --limit-burst 50 -j ACCEPT
/sbin/iptables -A FORWARD -s "$clinet"0/24 -p tcp --dport 443 -j ACCEPT #без ограничений
/sbin/iptables -A FORWARD -p tcp --sport 443 -j DROP #бью, чтобы логи не засоряли
По идее что должно быть: видя потери пакетов, передающая сторона должна сжимать окно - замедлять скорость передачи, пока не установится равновесие и потери не минимизируются (медленный старт).
НО!!!!!!!!!!!!!!!!!!!!!!!!
Смотрю, сколько пакетов (и мегабайт) дропается и пропускается. Примерно поровну! Равновесие почему-то не устанавливается, передающая сторона ничего и не думает замедлять. Это подтверждается и моими счетчиками скорости (и через iptables и через tc) - когда качают через 443 порт, дебет с кредитом не сходится, а так - все нормально.
Где тот медленный старт?! Ведь эти пакеты, предназначенные на убой, забивают нам канал, которого и без того не хватает.
Неужели это нормально?
Поскольку такой мехаизм используется во всех ограничителях тарфика, что же, добрая половина трафика в сети цеелнаправленно бьется, только никто этого не видит? Или это просто кривая реализация ТСП на каком-то конкретном сервере? Или я нерационально подобрала параметры ограничения (в особенности --limit-burst)?