HFSC и приоритет трафика
-
Пытаюсь разобраться с шейпером HFSC, но никак не получается победить торренты.
Заметил странную вещь, если посмотреть pfctl -vsq, то видно, что у очередей нет приоритетов, несмотря на то, что в интерфейсе они проставлены.
С чем это может быть связано ?.queue root_em1 on em1 bandwidth 1Gb priority 0 {qInternet}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qInternet on em1 bandwidth 11.53Mb hfsc( red ecn upperlimit 11.53Mb ) {qACK, qP2P, qGames, qOthersHigh, qOthersLow}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qACK on em1 bandwidth 2.19Mb hfsc( red ecn )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qP2P on em1 bandwidth 576.72Kb hfsc( red ecn default upperlimit 576.72Kb )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/500 ]
queue qGames on em1 bandwidth 2.19Mb hfsc( red ecn )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qOthersHigh on em1 bandwidth 1.04Mb hfsc( red ecn )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qOthersLow on em1 bandwidth 461.37Kb hfsc( red ecn )
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ] -
Скрины очередей + скрины floating rules в студию
-
Правила по сути такие.
-
-
-
-
-
- qOthersLow
TCP * * * 80 (HTTP) * qACK/qOthersHigh
Пример очередь internet и дочерняя
- qOthersLow
-
-
-
-
-
-
Мой листинг по команде pfctl -vsq :
queue root_pppoe1 on pppoe1 bandwidth 512Kb priority 0 {qACK, qDefault, qOthersHigh, qOthersLow}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qACK on pppoe1 bandwidth 512Kb hfsc( red ecn linkshare 97.28Kb )
[ pkts: 25720 bytes: 1234316 dropped pkts: 692 bytes: 35572 ]
[ qlength: 0/ 50 ]
queue qDefault on pppoe1 bandwidth 512Kb hfsc( red ecn default linkshare 46.08Kb )
[ pkts: 4466 bytes: 2201570 dropped pkts: 99 bytes: 74765 ]
[ qlength: 8/ 50 ]
queue qOthersHigh on pppoe1 bandwidth 512Kb hfsc( red ecn linkshare 46.08Kb )
[ pkts: 1006 bytes: 63657 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qOthersLow on pppoe1 bandwidth 512Kb qlimit 2000 hfsc( red ecn linkshare 1Kb upperlimit 460.80Kb )
[ pkts: 3102 bytes: 206523 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/2000 ]
queue root_em0 on em0 bandwidth 1Gb priority 0 {qInternet}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qInternet on em0 bandwidth 14.68Mb hfsc( red ecn upperlimit 14.68Mb ) {qACK, qOthersHigh, qOthersLow, qDefault}
[ pkts: 0 bytes: 0 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qACK on em0 bandwidth 14.68Mb hfsc( red ecn linkshare 2.79Mb )
[ pkts: 2057 bytes: 117614 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qOthersHigh on em0 bandwidth 14.68Mb hfsc( red ecn linkshare 1.32Mb )
[ pkts: 279 bytes: 54003 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 ]
queue qOthersLow on em0 bandwidth 14.68Mb qlimit 2000 hfsc( red ecn linkshare 1Kb upperlimit 13.21Mb )
[ pkts: 4008 bytes: 4414426 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/2000 ]
queue qDefault on em0 bandwidth 14.68Mb hfsc( red ecn default linkshare 1.32Mb )
[ pkts: 49194 bytes: 46973159 dropped pkts: 319 bytes: 444899 ]
[ qlength: 0/ 50 ]Странные у вас правила шейпинга , однако … Скорость скачивания увидел, а скорость отдачи ?
P.s. Мои скрины :
-
Большое спасибо за вывод pfctl -vsq
Сделал похожие очереди, так действительно работает.Но теоретический вопрос все равно остался
У планировщика cbq приоритет отображается
queue qOthersDefault on em2 bandwidth 900Kb priority 3 cbq( red ecn )
а у HFSC нет
queue qOthersHigh on em1 bandwidth 1.04Mb hfsc( red ecn )И еще не совсем понял смысл параметра linkshare, когда он используется вместе с bandwidth
-
И еще не совсем понял смысл параметра linkshare, когда он используется вместе с bandwidth
У меня bandwidth во всех очередях равна нулю.
Теория - https://calomel.org/pf_hfsc.html + пост от goliy по "допиливанию" pfsense (за что ему большое спасибо) - http://forum.pfsense.org/index.php/topic,41947.0.html. В нем есть ответы на многие вопросы , в том числе и почему bandwidth во всех очередях равна нулю.P.s. Небольшое изменение . Правило с ICMP поместить в самый конец во floating rules и сделать reset states, иначе пинг растет при появление p2p-трафика. Честно говоря, оно там и было после wizard-a.
Каюсь, это моя "самодеятельность" ::)