Download speed / bandwidth prioritized by application
Is there a program which will prioritize the available bandwidth by application?
I mean let's say I am downloading something via a Newsgroup reader, a torrent and I am using firefox at the same time.
I would like to give first priority to Firefox second priority to Bit Torrent and 3rd to let's say Pan Newsgroup reader. So that the Pan Newsgroup reader only uses the unused bandwidth.
Is there something that will do that?
If all applications are running on the same machine you could distinguish them by the different port numbers they use. If applications run on the same machine AND use the same port numbers it is next to impossible.
If the port numbers are different, use the program 'tc' in combination with iptables.
TC is a difficult beast to handle. Search for "Linux traffic shaping howto" and you'll get plenty documentation and examples. Try to understand the examples and adapt them for your needs. You'll want to use a HTB que discipline.
If you have a firewall through which you access internet, you'd have to implement your traffic shaping on the outgoing interface of the firewall. Outgoing here is FROM your firewall TO your machine.
If you access the internet directly from your machine (thru a modem or campus network) you'd have to shape the traffic inside your own box. However traffic shaping only works on outgoing interfaces as you can only control what you are sending not what you receive. In that case, you'd need to install a dummy interface which receives all traffic, and then distributes it to processes inside your machine. SUch an interface is called an IMQ (Intermediate Que Device)
You'll find that in google as well if you search for "Linux traffic shaping howto IMQ" . IMQ may or may not be part of the kernel now, I didn't follow the development the past few years.
Traffic shaping works, but the learning curve is a bit steep.
This sounds like something which is possible but you scared me of with the steep learning curve.
However I like to thank you for your reply jlinkels.
|All times are GMT -5. The time now is 12:08 AM.|