ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
HI,
I AM DEVELOPING A BANDWIDTH MANAGEMENT SYSTEM AS PART OF MY FINAL YEAR PROJECT AND I NEED ALL OF YOUR SUGGESTION AND HELP. FIRST OF ALL I WANT TO SHARE MY IDEA OF THE BMS WITH YOU SO THAT YOU CAN DECIDE WHETHER THIS IDEA WORKS OR NOT.
THE PROBLEM:
THE CLIENT PLACE HAS 10 TERMINALS. THE CLIENT IS USING A BROADBAND CONNECTION TO THE INTERNET. THE CLIENT WANTS TO MANAGE HIS BANDWIDTH UTILIZATION AND WANTS TO PRIORITIZE HIS BANDWIDTH ALLOCATIONS SO AS TO SET MAXIMUM FOR VOICE APPLICATIONS.
HERE'S THE WAY I SEE IT:
WE SET UP A SERVER THROUGH WHICH ALL TRAFFIC TO THE INTERNET SHALL PASS. WE EXAMINE EACH AND EVERY IP HEADER TO DETERMINE WHAT KIND OF APPLICATION IT ORIGINATED FROM. WE MAINTAIN A PRIORITY QUEUE IN WHICH WE PUT THE IP PACKETS. THIS PRIORITY QUEUE GIVES HIGHEST PRIORITY TO VOICE DATA BUT ALSO SEES TO IT THAT OTHER DATA DONOT SUFFER. IN ANY CASE, THE APPLICATON MUST ENSURE THAT VOICE DATA NEVER HAVE A LOW BANDWIDTH PROBLEM.
METHODOLOGY:
1. SET THE SERVER TO PROMISCUS MODE
2. EXAMINE EACH IP PACKET HEADER AND DETERMINE ITS APPLICATION TYPE
3. MAINTAIN A PRIORITY LIST OF ALL THE APPLICATIONS IN USE
4. MAINTAIN A PRIORITY QUEUE WITH REGARD TO THE PRIORITY LIST OR USE A CBQ.
5. FORWARD THE IP PACKETS
GLITCHES:
1. FIRST OF ALL I DON'T HAVE MUCH EXPERIENCE IN LINUX PROGRAMMING BUT I DO UNDERSTAND PROGRAMMING (C AND C++)
2. I DONOT KNOW ALL THE LIBRARY FILES THAT SHOULD BE USED
3. I DONOT KNOW WHETHER THIS IDEA IS FEASIBLE OR NOT
I WOULD VERY MUCH APPERICIATE IF YOU GURUS CAN SUGGEST ME WITH YOUR EXPERTISE AND HELP ME DO R&D WITH THE PROJECT. I WELCOME ANY SUGGESTION AND COMMENTS REGARDING MY PROBLEM. AND IF ANYBODY CAN GO ALONG WITH ME IN THIS PROJECT, GIVING ME FEEDBACKS AT EVERY MILESTONE, TELLING ME WHERE TO LOOK FOR RELATED TOPICS, I WOULD BE INDEBTED AND GRATEFUL. I CAN'T PAY MONEY BUT THE WAY I SEE IT IT'S A OPEN COMMUNITY AND WHATEVER WE DO WE CARE TO MAKE IT OPEN ENOUGH FOR THE WORLD TO SEE AND THINK.
WITH REGARDS
BIKASH SHRESTHA.
Last edited by shrike_912; 06-02-2004 at 06:55 AM.
First of all, what you try to do has already been done... so you can have a look in linux kernel internal (netfilter modules) and in iproute2 (tc programm).
So about your method, be careful with the algorithm you use... For a broadband network (>1Mbit/s), I don't think that CBQ is a good choice... HTB should give you better results Moreover, you don't need maximum bandwidth for VoIP but a minimum latency (that's why it should be the queue with the higher priority)... And don't forget to put interactive services like ssh, telnet... in a queue with high priority to keep a low latency and so a good interactivity... It would be a shame to wait 3sec before displaying a character.
thanx for replying, i was getting desperate. is this netfilter and iproute2 widely in use? how does it works inside? i understand we donot need maximum bandwidth allocated for VoIP and the minimum latency theory works. okay for it. what is HBT? is it similar to CBQ..how do i use it?
If you've already use iptables for firewalling purpose, you have also used netfilter project... To be simple, it's the kernel part of iptables.
And I can't explain you how it works inside as it's a big and complex projetc, but here is a link which should help you a lot... It's not about coding but more about general concept
About HTB, it's another algorithm for QoS (Sorry, I don't remember exactly how it works) like CBQ. More info here and a comparison test with CBQ here
huh..so every machine that runs on a network uses it. by the way can it be configured to get what i am trying to achieve? what do u think? this Qos thing..i need a li'l bit of more tutorial in it.. post me some links..
thanx for everything..
with regards,
bikash shrestha
Not all machines use it... only these which are configured to do it But you can configure (easily or not... everything depends on your skills) a gateway to do that. Personnaly, I have still tried to set up QoS mechanisms and it was quite easy... the real problem is to found the project/script which will fit your requirements. Because, there are csripts which can ease you the work, have a look at these links: http://www.tldp.org/HOWTO/ADSL-Bandw...agement-HOWTO/ a very useful script if you have an ADSL connection... Of course, you can easily adapt it to fit your own requirements http://sourceforge.net/projects/htbinit/ if you want to use an HTB based solution (According to me, for high rates only) http://sourceforge.net/projects/cbqinit/ I never test it... but must be the equivalent of HTB for lower rates.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.