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 и дочерняя






  • Мой листинг по команде 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.
    Каюсь, это моя "самодеятельность"  ::)


Locked