Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Can you explain that? What's QOS, how much CPU does it take to run well, and why don't other expensive routers have the power for fast internet?


QOS is quality of service. It lets you prioritize certain traffic over others. So if I'm running BitTorrent but trying to watch Netflix, I can set up a QOS rule to prioritize Netflix over the BitTorrent. Netflix might only need 4Mbps but a torrent can take 100% of my connection. So I would set a QOS rule to make sure that Netflix gets what it needs then the torrent can have the rest.

Inspecting every packet as it runs through the network takes a lot of processing power. Many router manufacturers put just enough hardware in the box to handle fast connections, but not enough to handle complicated QOS rules on top of that.


Looks like Google is doing the same; that CPU probably isn't fast enough to handle NAT and QoS at the speeds the WiFi radio is capable of; much less a gigabit Google Fiber connection. While I understand consumers aren't going to spend $500 on a router, it's a bit disappointing to see Google engage in the same behavior that Linksys, D-link, et al do.


Quality of Service is when the router shapes the traffic making sure all devices on the network get their 'fair' share so to speak. It can prioritize traffic depending on application and use. So you could deprioritize streaming video for instance if you want to make sure that your skype call went through.

This takes some processing power which not all routers have a lot of.

This link covers it a bit more in depth: http://www.pcworld.com/article/2689995/quality-of-service-ex...


> This takes some processing power which not all routers have a lot of.

I've set up and hand rolled my own Linux-based routers in the past on cheap leftover hardware (first gen Celeron). Adding QoS introduced literally zero noticeable CPU overhead.

I'm not saying you're wrong but you're clearly overselling the computational cost of this feature.


My router is a Asus RT-N16. It has a 480 MHz Broadcom BCM4716 chip. It uses 100% of the CPU just do to NAT on my 100 mbps connection. Doing QoS on it is out of the question. As is doing VPN at those speeds.

You are right. It isn't that much CPU, but with modern connection speeds (>=100 mbit) you actually need a half way decent CPU. Your old Celeron was probably routing a < 10 mbps connection.


You're right about a few things, but I don't think you're painting a true picture of things.

Yes, your router uses much CPU for NAT. That's because it is a complex process which requires mangling the packets and keeping lots of state in a big table.

QoS however is relatively cheap. It's merely looking at fixed offsets in the IP packets and deciding which of those (mangled) packets must go now and which can go later. It requires some extra memory for some extra packet-queues, and a lookup in one of iptables' smallest rulesets. That's about it.

Yes, I routed things at slower speeds, but you got to have a perspective on things: You must NAT all the traffic, but only need to QoS the outgoing traffic.

This means that if the downstream speeds have increased 100x recent years while upbound speeds only 10x (which is my fair assesment of the market), your NAT cost is now 110x higher, while the QoS cost is merely 10x.

And QoS was the cheap load. If your router is already buried in other work, I'm sure QoS will feel extra painful, but so would anything else. On a healthy load you probably wont see it in the load-graphs at all.

Also worth keeping in mind is that QoS as a feature has diminishing returns the higher upload-rates you have. If you have 128kbps upload, making sure the right packets get out first is excessively important. If you have Gigabit upload, not only will QoS be more expensive, but you are almost guaranteed to have no benefit from it what so ever.

So yeah, I stand by my argument. QoS is not a heavy feature, even though marketed as such.


Fair enough! I've never really delved too deeply into it as most of the time the stuff I deal with is pretty simple. Though some other comments parallel to mine seem to agree with me




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: