Not sure how to set up QoS (Go2Meeting, Skype for business, IP-based prio)

  • Hi!
    I have 50 clients in 2 LANs and 2 WAN uplinks. We're using 2 SIP concurrent calls, but most important are the video calls we have with our clients: Hangouts, Go2Meeting, Skype for Business… and I'm not sure how to handle those. The only profile I found was for Hangouts, but I have no idea how to setup the rest. Since we have 4 conference rooms which we use for conferencing, I believe I should setup IP-address based rules. But should I use PRIQ, CBQ or HFSC? After I'm done with the wizard I get some floating rules, but how do I tell pfSense to throw everything away and only prioritize the 4 IPs? Should I stay away from the wizard?

  • HFSC give gives you the most control of your bandwidth. In general, you just use the bandwidth setting, which guarantees a minimum bandwidth under worst load, allowing you to determine how your connection will work under the worst case. It also has much more fine-tuned advanced controls, like real-time and the whole m1/d/m2, but you can ignore those for all but the most limited bandwidths and perfection of SLAs.

    In general, if you have as situation where you have enough bandwidth, but you have some "bandwidth hogs", due to the nature of TCP to consume all "free" bandwidth, just using fq_Codel limiters on your WANs and settings the up/down bandwidth is probably all you need. Very turn key. The best part is you don't need to use any firewall rules. No assigning traffic to queue or the like.

    If you have a situation where you do not have enough bandwidth, you'll want CBQ or HFSC. I personally like HFSC due to its crazy low latency of inter-queue scheduling. I can assign 1Kbit/s to an ICMP queue and get perfect latency as if the link is idle. Can't do that with CBQ. It tends to couple latency and bandwidth. Give a queue more bandwidth and the latency goes down even if you don't need the bandwidth.

  • @Harvy66:

    I can assign 1Kbit/s to an ICMP queue and get perfect latency as if the link is idle.

    How do you QoS per packet type?

  • I just create a firewall rule that matches the dataflow and assign it to the queue that I want.

  • Hi folks!
    OK, so I've setup a HFSC queue, and I've assigned the few IPs I need to prioritize. So it's a 50 Mbit/s link, I defined the service curve with:
    "Max bandwidth for queue." / "upper limit" / 40Mb
    "Min bandwidth for queue." / "Real Time" / 3Mb

    But what do I enter for "Bandwidth"? Do I put 50 Mbit/s inside?

    My main question is what clients to assign the queue to? Only the ones I want to affect with QoS (max & min), oder ALL the clients? I coluld live with ALL the clients having max and min defined since it's mostly only few clients at the time trying to max out the link, so if I put everyone in the floating rule - I should be fine, right?

    The problem is I can only prioritize based on IP address. Sometimes the client is pulling entertainment videos from youtube, sometimes it's performing an important presentation, I cannot know what is important and what is not. What would be the best practice for such a case?


Log in to reply