I have this problem: I have an Internet line input with variable speed. I have a max speed and a min speed: Vmax and Vmin. The speed is always changing between Vmax and Vmin. I want to share the actual bandwidth (you don''t not how much, you only know the speed is between Vmax and Vmin) for N clients. The bandwidth should be shared so nobody can get more bandwidth than the others. There is some queue disciplines like esfq and WRR. But theses ones only work if you know the actual bandwidth. HTB works only width fixed bandwidth too. I have studied all shaping and queue disciplines in linux, and I don''t have a real solution yet. Do you have any idea? Santiago -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. MailScanner agradece a transtec Computers por su apoyo.
I have this problem: I have an Internet line input with variable speed. I have a max speed and a min speed: Vmax and Vmin. The speed is always changing between Vmax and Vmin. I want to share the actual bandwidth (you don''t not how much, you only know the speed is between Vmax and Vmin) for N clients. The bandwidth should be shared so nobody can get more bandwidth than the others. There is some queue disciplines like esfq and WRR (w. But theses ones only work if you know the actual bandwidth. HTB works only width fixed bandwidth too. I have studied all shaping and queue disciplines in linux, and I don''t have a real solution yet. Do you have any idea? Santiago ------- End of Forwarded Message ------- -- Open WebMail Project (http://openwebmail.org) -- Este mensaje ha sido analizado por MailScanner en busca de virus y otros contenidos peligrosos, y se considera que está limpio. MailScanner agradece a transtec Computers por su apoyo.
Javier Ors
2007-Aug-29 18:12 UTC
Re: How tho share varible bandwidth with weighted round robin
> > There is some queue disciplines like esfq and WRR (w. But theses ones only > work if you know the actual bandwidth.As far as I undestand, at least sfq should work without knowing the actual bandwith (you don''t need to specify it in the qdisc creation). The problem with it is that it only works in the bottleneck of the network, where the queues form, which is usually the machine which has the hardware that makes the connection to the Internet. For example in this configuration... Internet <--- cable/dsl/etc. ---> Router/Modem <---ethernet---> Firewall <---ethernet---->LAN shaping outgoing traffic (traffic to the internet) with only sfq, esfq, prio, etc... will be useless if it is done in the firewall, becouse the queues will form in the router. It could be done in the same router if it has the capability (for example, it runs Linux inside and it is accessible by ssh or telnet). I haven''t tried WRR but the same should be applied. Theoretically, at least as I see it, HTB could also be used without knowing the actual speed in the bottleneck, you just should set the root class to a speed higher than Vmax and adjust the rates of the leaf classes to the desired ratios, or playing with the quantums so that it behaves like a WRR or DRR (which is that it uses internally when the classes are borrowing). But I have made many attempts in this sense and all of them have been unsuccessful, don''t know why. For incoming traffic it is another story, it can be done in the firewall, but it is a little trickier. Even more theoretically, outgoing shaping maybe could be done also in the firewall if the router supports ECN, so that the queues could be formed in the firewall using this information without nedding to reduce the bandwith, but this is just a mental experiment which still have pending to brought to practice, so don''t pay much attention to this... _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc
Santiago
2007-Aug-29 21:06 UTC
Re: How tho share varible bandwidth with weighted round robin
Santiago
2007-Aug-29 21:18 UTC
Re: How tho share varible bandwidth with weighted round robin
Javier Ors
2007-Aug-30 08:32 UTC
Re: How tho share varible bandwidth with weighted round robin
> > I am interested in the incoming traffic (from Internet to lan users). > This is the problem. >Then there is no possibility to change the shaping to the bottleneck, as long as it is in the ISP routers. So you have to artificially create it in order to have a queue you can shape. There''s only two ways you can achive this, either you can: a) Reduce the speed, the one you already know but are not happy with. b) Increase the delay, you could achive the queue just introducing a fixed delay to every packet that goes to the LAN. There is a qdisc called ''netem'' that can do this, in principle it is only intended for emulating and testing, but it also can be used for this purpose (online gamers will not be very happy with this solution). I don''t know if there is any other queuing discipline that can achive this or if it is not good to do this for some technical reason. Maybe it could be possible not to penalize neither speed or delay using some kind of advanced solution that monitors how much bandwith is consuming each host and penalize only the hosts that are taking some % more than the average, or % more than totalacutalspeed/N. But it will be very compilcated as long as when a host is below the average you don''t know whether it is for congestion or just becouse it is not making intensive use of the net. Good luck, and remember that for incomming traffic you can only shape TCP connections, it has no sense dropping UDP packets as long as they have no speed regulating mechanism, and once you have recive them the bandwith has already been wasted. _______________________________________________ LARTC mailing list LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/cgi-bin/mailman/listinfo/lartc