Linux RedHat
2003-Apr-16 10:13 UTC
load balancing multiple connections on different ports to one ip address
Hi all, I am wondering if I can use traffic control to balance the traffic coming into my computer in the following way... +----------+ +----------+ +----------+ +----------+ | Internet | | Internet | | Internet | | Internet | | Server 1 | | Server 2 | | Server 3 | ... | Server n | +----------+ +----------+ +----------+ +----------+ Port ????? Port ????? Port ????? Port ????? | | | | +--------------+------+-------+-----------------+ | | eth1 +----------+ | Linux | | Router | +----------+ | eth0 | +----------+ | PC on | | Lan | +----------+ Multiple servers sending data to one pc on the lan using multiple ports. I want to load balance the traffic leaving eth0 towards the PC based on the number of connections. I am wondering if I will be able to set up classes/filters for a set number of connections ( for arguments sake - say 10 connections ) regardless of what port they are on and thus configure my tc setup to load balance those 10 connections - allowing them to borrow from each other as usual. All I am looking for here is a short yes/no answer and possible a hint as to what part of the howto to start looking at. I want to figure out how to do it myself, but don''t want to waste time trying if it is not possible. Thanks for your time spent reading/answering. Leigh _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
Linux RedHat
2003-Apr-16 11:27 UTC
Re: load balancing multiple connections on different ports to one ip address
> On Wed, 2003-04-16 at 12:13, Linux RedHat wrote: >> Hi all, >> >> I am wondering if I can use traffic control to balance the traffic coming into >> my computer in the following way... >> >> +----------+ +----------+ +----------+ +----------+ >> | Internet | | Internet | | Internet | | Internet | >> | Server 1 | | Server 2 | | Server 3 | ... | Server n | >> +----------+ +----------+ +----------+ +----------+ >> Port ????? Port ????? Port ????? Port ????? >> | | | | >> +--------------+------+-------+-----------------+ >> | >> | eth1 >> +----------+ >> | Linux | >> | Router | >> +----------+ >> | eth0 >> | >> +----------+ >> | PC on | >> | Lan | >> +----------+ >> >> Multiple servers sending data to one pc on the lan using multiple ports. I want >> to load balance the traffic leaving eth0 towards the PC based on the number of >> connections. >> >> I am wondering if I will be able to set up classes/filters for a set number of >> connections ( for arguments sake - say 10 connections ) regardless of what port >> they are on and thus configure my tc setup to load balance those 10 connections >> - allowing them to borrow from each other as usual. >> >> All I am looking for here is a short yes/no answer and possible a hint as to >> what part of the howto to start looking at. I want to figure out how to do it >> myself, but don''t want to waste time trying if it is not possible. >> >> Thanks for your time spent reading/answering. >> >> Leigh > > hi leigh, > > checkout the linux virtual server page as well -- this is the exact schema > discussed in the howto. (http://www.linuxvirtualserver.org/) > > cheers > > christopher cuseThanks for that Christopher... Unfortunately that''s not quite what I am after : The servers referred to in my diagram are not "known" servers. They could be any servers e.g. public ftps, web sites etc. The virtualserver pages seem to be designed for balancing the load on "known" servers while I want to balance the traffic *to* the client which has connected to several previously undefined servers and is downloading from each of them. The purpose here is to prevent one server from sending so fast that it "hogs" the bandwidth available on my internet connection. An example would be that I am downloading via ftp from two servers where the first server can send data at 200KB/s and the second server can only send at 50KB/s. My internet connection can only handle 120KB/s so I want each connection to be guaranteed 60KB/s but allow borrowing of bandwidth where available. (In reality I will be implementing traffic control to allow for prioritising interactive traffic and also balancing the load between multiple client PC''s on the lan but for the purposes of this discussion I am ignoring that part of the structure) This is possibly a similar problem to sharing the bandwidth available to multiple client pcs but on top of that sharing the bandwidth available to each pc among that pc''s active connections. Hope that clarifies my project a bit... I have just realised that I used the term "load balancing" in my original post and may have misled you. I meant "bandwidth sharing". Leigh _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/
christopher cuse
2003-Apr-16 17:04 UTC
Re: load balancing multiple connections on different ports to one ip address
On Wed, 2003-04-16 at 13:27, Linux RedHat wrote:> > On Wed, 2003-04-16 at 12:13, Linux RedHat wrote: > >> Hi all, > >> > >> I am wondering if I can use traffic control to balance the traffic coming into > >> my computer in the following way... > >> > >> +----------+ +----------+ +----------+ +----------+ > >> | Internet | | Internet | | Internet | | Internet | > >> | Server 1 | | Server 2 | | Server 3 | ... | Server n | > >> +----------+ +----------+ +----------+ +----------+ > >> Port ????? Port ????? Port ????? Port ????? > >> | | | | > >> +--------------+------+-------+-----------------+ > >> | > >> | eth1 > >> +----------+ > >> | Linux | > >> | Router | > >> +----------+ > >> | eth0 > >> | > >> +----------+ > >> | PC on | > >> | Lan | > >> +----------+ > >> > >> Multiple servers sending data to one pc on the lan using multiple ports. I want > >> to load balance the traffic leaving eth0 towards the PC based on the number of > >> connections. > >> > >> I am wondering if I will be able to set up classes/filters for a set number of > >> connections ( for arguments sake - say 10 connections ) regardless of what port > >> they are on and thus configure my tc setup to load balance those 10 connections > >> - allowing them to borrow from each other as usual. > >> > >> All I am looking for here is a short yes/no answer and possible a hint as to > >> what part of the howto to start looking at. I want to figure out how to do it > >> myself, but don''t want to waste time trying if it is not possible. > >> > >> Thanks for your time spent reading/answering. > >> > >> Leigh > > > > hi leigh, > > > > checkout the linux virtual server page as well -- this is the exact schema > > discussed in the howto. (http://www.linuxvirtualserver.org/) > > > > cheers > > > > christopher cuse > > Thanks for that Christopher... > > Unfortunately that''s not quite what I am after : > > The servers referred to in my diagram are not "known" servers. They could be any > servers e.g. public ftps, web sites etc. The virtualserver pages seem to be designed > for balancing the load on "known" servers while I want to balance the traffic *to* > the client which has connected to several previously undefined servers and is > downloading from each of them. > > The purpose here is to prevent one server from sending so fast that it "hogs" the > bandwidth available on my internet connection. > > An example would be that I am downloading via ftp from two servers where the first > server can send data at 200KB/s and the second server can only send at 50KB/s. My > internet connection can only handle 120KB/s so I want each connection to be > guaranteed 60KB/s but allow borrowing of bandwidth where available. (In reality I > will be implementing traffic control to allow for prioritising interactive traffic > and also balancing the load between multiple client PC''s on the lan but for the > purposes of this discussion I am ignoring that part of the structure) > > This is possibly a similar problem to sharing the bandwidth available to multiple > client pcs but on top of that sharing the bandwidth available to each pc among that > pc''s active connections. > > Hope that clarifies my project a bit... I have just realised that I used the term > "load balancing" in my original post and may have misled you. I meant "bandwidth > sharing". > > Leighhi leigh, well, i would probably start with a script (see attached cbq-init) which should help you get your feet wet and serve as a knowledge foundation upon which you will build your final tc hierarchy. cheers christopher cuse
Linux RedHat
2003-Apr-16 23:12 UTC
Re: load balancing multiple connections on different ports to one ip address
> On Wed, 2003-04-16 at 13:27, Linux RedHat wrote: >> > On Wed, 2003-04-16 at 12:13, Linux RedHat wrote: >> >> Hi all, >> >> >> >> I am wondering if I can use traffic control to balance the traffic coming >> into my computer in the following way... >> >> >> >> +----------+ +----------+ +----------+ +----------+ | Internet | >> | Internet | | Internet | | Internet | | Server 1 | | Server 2 | >> | Server 3 | ... | Server n | +----------+ +----------+ >> +----------+ +----------+ >> >> Port ????? Port ????? Port ????? Port ????? >> >> | | | | >> >> +--------------+------+-------+-----------------+ >> >> | >> >> | eth1 >> >> +----------+ >> >> | Linux | >> >> | Router | >> >> +----------+ >> >> | eth0 >> >> | >> >> +----------+ >> >> | PC on | >> >> | Lan | >> >> +----------+ >> >> >> >> Multiple servers sending data to one pc on the lan using multiple ports. I >> want to load balance the traffic leaving eth0 towards the PC based on the >> number of connections. >> >> >> >> I am wondering if I will be able to set up classes/filters for a set number >> of connections ( for arguments sake - say 10 connections ) regardless of what >> port they are on and thus configure my tc setup to load balance those 10 >> connections - allowing them to borrow from each other as usual. >> >> >> >> All I am looking for here is a short yes/no answer and possible a hint as to >> what part of the howto to start looking at. I want to figure out how to do it >> myself, but don''t want to waste time trying if it is not possible. >> >> >> >> Thanks for your time spent reading/answering. >> >> >> >> Leigh >> > >> > hi leigh, >> > >> > checkout the linux virtual server page as well -- this is the exact schema >> discussed in the howto. (http://www.linuxvirtualserver.org/) >> > >> > cheers >> > >> > christopher cuse >> >> Thanks for that Christopher... >> >> Unfortunately that''s not quite what I am after : >> >> The servers referred to in my diagram are not "known" servers. They could be any >> servers e.g. public ftps, web sites etc. The virtualserver pages seem to be >> designed for balancing the load on "known" servers while I want to balance the >> traffic *to* the client which has connected to several previously undefined >> servers and is downloading from each of them. >> >> The purpose here is to prevent one server from sending so fast that it "hogs" >> the bandwidth available on my internet connection. >> >> An example would be that I am downloading via ftp from two servers where the >> first server can send data at 200KB/s and the second server can only send at >> 50KB/s. My internet connection can only handle 120KB/s so I want each connection >> to be guaranteed 60KB/s but allow borrowing of bandwidth where available. (In >> reality I will be implementing traffic control to allow for prioritising >> interactive traffic and also balancing the load between multiple client PC''s on >> the lan but for the purposes of this discussion I am ignoring that part of the >> structure) >> >> This is possibly a similar problem to sharing the bandwidth available to >> multiple client pcs but on top of that sharing the bandwidth available to each >> pc among that pc''s active connections. >> >> Hope that clarifies my project a bit... I have just realised that I used the >> term "load balancing" in my original post and may have misled you. I meant >> "bandwidth sharing". >> >> Leigh > > hi leigh, > > well, i would probably start with a script (see attached cbq-init) which should > help you get your feet wet and serve as a knowledge foundation upon which you will > build your final tc hierarchy. > > cheers > > christopher cusegulp! thanks again - i think i''ve now got a lot of reading to do. _______________________________________________ LARTC mailing list / LARTC@mailman.ds9a.nl http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/