Problem with Qos and P2P traffic



  • Hello,

    I'm trying for the last few weeks to setup a traffic shaping for p2p traffic.
    The queues are perfectly detected but not dropping enough bandwidth.

    Here is a simple setup to try the issue:

    LAN    4800kbit/s  HFSC
    –-------qLink  Priority: 7 Default queue ECN Bandwidth: 99%
    ---------qP2P  Priority: 1 Default queue ECN Bandwidth: 1%

    Anyone know why the queue qP2P still get close to max speed(90%) when qLink download something?

    PS: Same bug for me: https://forum.pfsense.org/index.php?topic=73967.0

    Config:
    2.1-RELEASE (i386) nanobsd (1g)
    Intel atom 330 - 1Go - 2 realtek cards

    internet-->modem--->pfsense--->server

    Thanks.





  • Is there a way to drop a queue from full speed to very low speed very quickly?

    Torrents with to many connections don't slow but with a few connections they slow down a lot.

    Maybe a buffer problem from the nics?



  • I'm doing something wrong?

    The ping go very high and lot off packet loss.



  • Packet loss is expected when you have drops from one queue to make bandwidth available to another queue.  I have also struggled with HFSC for a few weeks.  I finally gave up and switched to PRIQ on the advice of JimP.  It's not very hard at all to make a few rules to move high-level traffic to the priority queue, and all else can go to the P2P queue.



  • From what I understand about PRIQ you can have the same thing happen as a higher priority queue gets processes ahead of a lower priority queue. So if your higher priority queues are always full then the packets for the lower queues get dropped.

    I would be interested in seeing how you have the queues setup with PRIQ.



  • Yes, PRIQ can be harsh to lower queues, but unless you've got a link that's saturated much of the time and you don't need to guarantee a minimum service level for the low queues, it shouldn't be a problem in reality.  In my config, I have only a few queues:  VoIP is top (7), ACK next (6), HTTP/S, DNS and RTSP next (4), everything else last (3).  I have a low queue configured with a limiter, but I don't use it.  Having a default queue handle non-classified traffic is good enough for my needs at the moment.



  • I've tried with PRIQ, but same as before :(

    The detection of the traffic type works just fine with HFSC and PRIQ

    I've got LAN Side:

    • 1% P2P

    • 61% HTTP

    • 20% ACK

    • 4% Voip

    • 4% Games

    • 10% Other

    In this configuration when there is only P2P, they get all the BW -> perfectly normal
    But when there is P2P and HTTP, p2p still get all the BW if there is lot of connections(HFSC and PRIQ)

    BW download: 5000kbit/s



  • You could try setting a limiter for TCP traffic coming from your LAN similar to https://forum.pfsense.org/index.php?topic=63531.0

    I did this in my setup and it does work.  Does it limit all TCP streams , yes it does but at least it gets you a starting point to limit bandwidth and not let torrent's take it all.



  • But the problem is,  I want the torrent to have full BW when there is no other DL.

    The p2p traffic get drop a little, but still get all BW. Maybe it's impossible to do that?




  • Why are you applying the floating rule to the LAN interface? From what I understand of floating rules you dont want to apply them there.



  • To match the download traffic. I've got only 5Mbit/s.

    I use pfsense for home usage that way:
    internet->modem->pfsense->lan

    The Upperlimit from HFSC Service Curve works fine.. i don't now why the bandwidth share doesn't.



  • I understand that you only have 5Mbit of download but for Floating rules I think you want to select the WAN interface not the LAN.  Maybe try that and see if it makes a difference?



  • Because the WAN side have no LAN ip address, i need to match a LAN ip address and not port. The only way is to put the floating rule on the LAN side.



  • You dont have the quick option checked on the rules.  Have you done that?  If you do not have that option checked it still processes the rest of the rules.



  • I've try but nothing change.



  • sorry i can't be of more help.  I dont worry about P2P in my setup as I have the limiter defining a hard set bandwidth that all TCP streams share equally.  I dont care if it is P2P or straight HTTP download , they only get x% of the bandwidth to share among all the clients requesting it.

    I would search this forum and others to see what other people have tried.



  • Are you really on 2.1?  You might want to consider upgrading to current.  No use wasting time trying to work with a bug that may have already been fixed.

    I also noticed that you have drops on your P2P queue but not many others.  This shows me that your other queues are getting higher priority as expected.  Sideout is right in that your floating rules shouldn't target a particular interface.  That's what makes them floating rules.

    Did you go through the wizard or did you build your queues manually?



  • Thanks sideout for your help!

    I've this version:
    2.1.2-RELEASE (amd64)
    built on Thu Apr 10 05:42:41 EDT 2014

    I create the rules via the wizard then change manually some speed settings.



  • I am on 2.1.3 built on May 10th.



  • I will try to do it again via the wizard and see what append.



  • Make sure you delete any rules you manually added to WAN, LAN or Floating Rules tabs since they won't get removed when you remove your traffic shaper.



  • I've follow the wizzard and delete custum floating rules, wan, lan

    add 2 floating rules to catch IP from the p2p computer(Interface LAN dest: IP and Interface LAN source: IP)(The computer as a Port forward)  With WAN interface enable, no traffic is catch
    qOtherHigh  60%
    qP2P  2%
    etc..

    Result: Packets get drops as before, but not enough.

    I think the problem is how to match floating rules with LAN IP address instead of ports



  • is the lan address 192.168.0.210 of a particular PC set to static ip?
    if not then did you set static ip+mac address in dhcp server?



  • The PC is set with an static IP address

    This guy have exactely the same problem.
    Maybe it's just a bug..
    https://forum.pfsense.org/index.php?topic=73570.msg401784#msg401784

    openSUSE-13.1 torrent and ubuntu 14.04 HTTP dl

    no http dl, torrent 5 connexion: full speed

    5 connexion: no problem the torrent get drop to almost no speed 10-20ko/s
    10 connexion : 140ko/s
    15 connexion : 230ko/s
    20 connexion:  almost full speed

    The traffic shapper need to drop the speed to 10-20ko/s even with 1000 connexion on the p2p queue



  • Nothing to do with the config?  1 realtek on WAN and 1 3 Com on LAN, 1 atom processor.
    I know that realtek is not a good brand…



  • I prefer to use Intel or Broadcomm NIC's with PFSense with Intel's being the ones that work the best.



  • I see that you have same problem.

    It seems that pfBug is not a valid solution for working environment.

    I'm using PacketShaper from Packeteer and I had hope that I can move it onto ESXi server to remove one device from server cabinet. But seems that no can do. I spent 10 hours on pfSense and definitely this thing has nothing close to real traffic shaper.  I have same settings on Packeteer PS7500 and pfBug. pfBug give maybe 10% of bandwidth to priority queue with 60% of bandwidth assign to it and 90% of bandwidth to lowest queue with just 5% of bandwidth assign to it.

    It is a joke not traffic shaping. However pfSense GUI is faster than Packeteer one :D, but otherwise it is cra*.



  • Thanks for your feedback.



  • I've follow this tutorial
    https://forum.pfsense.org/index.php?topic=63531.msg364520#msg364520

    And now when I download from 2 differents PC they got each one half bandwidth, the same for more PC. Getting close to resolve the problem!

    Still can't figure out why the traffic shapping give the same speed even if one queue is 1% share and the other one 61%.

    PS: I've got the last build:
    2.1.5-RELEASE (amd64)
    built on Mon Aug 25 07:44:45 EDT 2014
    FreeBSD 8.3-RELEASE-p16


Log in to reply