Dear all, Am trying to distribute our 256kbps internet link to our internel LAN and want to give 32kbps each to our 8 nodes. how should one go about it. I have a server with 2 LAN cards. LAN (192.168.0.0/24)<----->Linux Box<------->Internet Router<------->ISP Thanx AJ _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Friday 22 November 2002 14:54, ajay@movingdelhi.org wrote:> Dear all, > > Am trying to distribute our 256kbps internet link to our > internel LAN and want to give 32kbps each to our 8 nodes. how should one > go about it. > > I have a server with 2 LAN cards. > > > LAN (192.168.0.0/24)<----->Linux Box<------->Internet Router<------->ISPDo you want them to be able to share the bandwidth, or is 32kbps the maximum they may get? You can create 1 bounded class with rate = 256kbps and 8 child classes with rate = 32kbps. And you need 8 filter so put the traffic in the 8 classes. You can filter based on ip-address if the nodes has fixed ip-addresses. You can do this with htb or cbq. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
On Saturday 23 November 2002 06:58, ajay@movingdelhi.org wrote:> Thanx, I managed it to get the basic script working but the result IS NOT > satisfactory. What is happening is this:- > > When any user (ex 192.168.0.4 in my script) starts to download a file > (Download1) after a while it settles down to the alloted bandwidth 32kbps. > If he puts another download (Download 2) after a while it occupies > approximately half of the total bandwidht alloted to 192.168.0.4. So far > so good..... > NOW, when the user(192.168.0.4) cancels any one of the downloads (Say > download 1) the other download (download 2) takes a very long time to grow > up to the total alloted bandwidth i.e 32kbps. > > Why is that happening?I''m not sure, but when the scond download is started, both ends of the connection are using as much bandwidth as possible untill packets are dropped. If the connection has suddenly more bandwidth because the other download is stopped, it takes some time before both ends of the connection realize this. And when they do so, they are trying to push again as much as possible untill they are throttled to 64kbps. I think that''s the way how tcp is handle the bandwidth limitaion.> I can''t figure it out. Could SFQ Help?Not really. SFQ give each data stream the same opportunity to send something. If one of the streams is gone, the other can send all of the time. But you can try to add one to see what happens.> ___________________________________________________________ > /sbin/tc qdisc add root dev eth1 handle 1:0 cbq bandwidth 10Mbit avpkt 1000 > /sbin/tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 10Mbit > rate 256Kbit allot 1514 bounded > /sbin/tc class add dev eth1 parent 1:1 classid 1:2 cbq bandwidth 256Kbit > rate 32Kbit allot 1514 bounded > /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src > 192.168.0.4 flowid 1:2 > /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst > 192.168.0.4 flowid 1:2 > ________________________________________________________________bandwidth is always the nic bandwidth so 10Mbit. And shaping on eth1 is shaping all the packets that are leaving eth2. So the usung src and dst in 2 filters is useless. The src filter will never match. Stef -- stef.coene@docum.org "Using Linux as bandwidth manager" http://www.docum.org/ #lartc @ irc.oftc.net _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Thanx, I managed it to get the basic script working but the result IS NOT satisfactory. What is happening is this:- When any user (ex 192.168.0.4 in my script) starts to download a file (Download1) after a while it settles down to the alloted bandwidth 32kbps. If he puts another download (Download 2) after a while it occupies approximately half of the total bandwidht alloted to 192.168.0.4. So far so good..... NOW, when the user(192.168.0.4) cancels any one of the downloads (Say download 1) the other download (download 2) takes a very long time to grow up to the total alloted bandwidth i.e 32kbps. Why is that happening? I can''t figure it out. Could SFQ Help? Script : ___________________________________________________________ /sbin/tc qdisc add root dev eth1 handle 1:0 cbq bandwidth 10Mbit avpkt 1000 /sbin/tc class add dev eth1 parent 1:0 classid 1:1 cbq bandwidth 10Mbit rate 256Kbit allot 1514 bounded /sbin/tc class add dev eth1 parent 1:1 classid 1:2 cbq bandwidth 256Kbit rate 32Kbit allot 1514 bounded /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.4 flowid 1:2 /sbin/tc filter add dev eth1 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.4 flowid 1:2 ________________________________________________________________ Thanx in advance PS: Yes, I want each individual user to get 32kbps ----- Original Message ----- From: "Stef Coene" <stef.coene@docum.org>> > Dear all, > > > > Am trying to distribute our 256kbps internet link to our > > internel LAN and want to give 32kbps each to our 8 nodes. how shouldone> > go about it. > > > > I have a server with 2 LAN cards. > > > > > > LAN (192.168.0.0/24)<----->Linux Box<------->Internet Router<------->ISP > Do you want them to be able to share the bandwidth, or is 32kbps themaximum> they may get? > > You can create 1 bounded class with rate = 256kbps and 8 child classeswith> rate = 32kbps. And you need 8 filter so put the traffic in the 8 classes. > You can filter based on ip-address if the nodes has fixed ip-addresses.You> can do this with htb or cbq. > > Stef >_______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/