Как уменьшить использование данных с помощью traffi c control и iptables? - PullRequest
0 голосов
/ 25 апреля 2020

Моя цель состоит в том, чтобы уменьшить использование данных за счет ограничения пропускной способности, так что такие службы, как Microsoft Teams и Zoom, вынуждены адаптироваться к моему более медленному соединению inte rnet, автоматически снижая качество видео, аудио и общий доступ к экрану.

Я попытался использовать tc на linux следующим образом, но с некоторым успехом:

    tc qdisc add dev eth0 root handle 1: htb default 10
    tc class add dev eth0 parent 1: classid 1:1 htb rate 50kbps ceil 50kbps       
    tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50kbps ceil 50kbps

Когда я запускаю эти команды, мой inte rnet определенно существенно замедляется. Страницы загружаются намного медленнее. Тем не менее, службы видеочата, похоже, все еще прожигают данные, как если бы эти настройки отсутствовали, а качество остается неизменным без задержки или задержки.

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

Я не уверен, верно ли это предположение или нет, но если это так, я представил, что ответом может быть использование входной политики или определенных правил iptables. Я недостаточно знаком с iptables, чтобы использовать его для этой цели, но я попробовал следующее:

    tc qdisc add dev eth0 handle ffff: ingress
    tc filter add dev eth0 protocol ip parent ffff: prio 50 u32 match ip \
        src 0.0.0.0/0 police rate 50kbit burst 10k drop flowid :1

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

Есть мысли?

...