Есть канал от провайдера 100Мбит в обе стороны. По нему идет IPTV, также по нему идет все остальное. Провайдер со своей стороны QoS не настраивает, считает что и так нормально.
По факту IPTV жрет ~4Мбит. Но при параллельной активности каналожрущих приложений типа torrent или speedtest картинка IPTV рассыпается на артефакты.
Я решил настроить QoS у себя на роутере (OS BusyBox v1.21.1) Сначала выбрал метод приоритезации HTB и пытался настроить на нем. QoS для IPTV на скоростном канале (комментарий)
Но цель не была достигнута, при существенной нагрузке на канал изображение все равно продолжало «лагать». Мне посоветовали использовать другой метод - HFSC.
Попробовал HFSC, но результат тот же (картинка IPTV распадается), вот скрипт:
int="br0"
DL="88Mbit"
DP="60Mbit"
tc qdisc del dev $int root > /dev/null 2>&1
tc qdisc add dev $int root handle 1: hfsc default 20
tc class add dev $int parent 1: classid 1:1 hfsc sc rate $DL ul rate $DL
#Класс для iptv
tc class add dev $int parent 1:1 classid 1:10 hfsc rt umax 1500b dmax 1us rate 10Mbit ul rate $DL
#Класс для всего остального
tc class add dev $int parent 1:1 classid 1:20 hfsc ls rate 1kbit ul rate $DP
tc qdisc add dev $int parent 1:10 handle 10: sfq perturb 10
tc qdisc add dev $int parent 1:20 handle 20: sfq perturb 10
#
tc filter add dev $int parent 1: protocol ip prio 1 u32 match ip protocol 17 0xff match ip dst 224.0.0.0/3 flowid 1:10
PS Похоже придется все-таки проверить аналогичные скрипты на более производительном компьютере, возможно действительно проблемы в недостаточной производительности процессора роутера.