Using multiple ethernet cards to increase bandwidth
Linux - NetworkingThis forum is for any issue related to networks or networking.
Routing, network cards, OSI, etc. Anything 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.
Using multiple ethernet cards to increase bandwidth
Hi,
I have two ethernet ports (1 built-in and 1 card) on my system. I have a Cable internet connection that assigns an individual IP (no NAT done) to each port on the back of the Cable modem/router (Cisco uBR900 series). I haven't tried this, but I assume that if I connect both the cards to the router, each would be assigned a unique IP. The router is programmed to limit the download bandwidth to 100KBps. I can't reprogram the router - its password protected and the config is pushed into it from the ISP every 30 mins.
I would like to use the two ethernet ports in my computer to achieve a download bandwidth of 200KBps. How would I go about doing that? I looked at firehose (http://heroinewarrior.com/firehose.php3) but it appears that programs should be specially written to use it. I want any ordinary download program to have a download bandwidth of 200KBps. If 200KBps is not possible for a single file download, it can settle for two separate file downloads at 100KBps each. Right now only one ethernet port is connected and if I download 2 files from 2 separate servers each capable of 100KBps, both the files download at approx. 50KBps.
I suspect that it is against your AUP. So, uhh... don't do it, and it probably doesn't work (the cisco router is probably doing the 100k/s based on the up link, not your IP address.)
To verify, setup your second interface and then try
wget --bind-address=First.ADDRESS <A fast server>
wget --bind-address=second.ADDRESS <A different fast server>
PS, I'm pretty sure that the firehost stuff can be done with linux's bonding interface. No app hacking, just making the hosts aware of each others bonds. Or VLAN's.
Originally posted by bastard23 I suspect that it is against your AUP. So, uhh... don't do it, and it probably doesn't work (the cisco router is probably doing the 100k/s based on the up link, not your IP address.)
AUP?? I guess you are talking about some User agreement/contract with the ISP.
Quote:
But I don't think there is any automatic/100% way of doing this w/o your ISP's help. So, maybe just upgrade.
It's a free (included in rent) cable internet connection that is given to each apartment (campus housing). I don't think there is any provision for upgrading.
Quote:
PS, I'm pretty sure that the firehost stuff can be done with linux's bonding interface. No app hacking, just making the hosts aware of each others bonds. Or VLAN's.
Bonding interface?? Where does VLAN come here? I have no idea what you are talking about. Can you explain what you are talking about?
AUP?? I guess you are talking about some User agreement/contract with the ISP.
...
It's a free (included in rent) cable internet connection that is given to each apartment (campus housing). I don't think there is any provision for upgrading.
As for AUP (I'm sure they have one), all I was saying was that your provider (college, dorm net admin, cable provider, whoever) probably only wants you to have a 100k connection. That's between you and your uplink, just thought I'd bring it up.
Quote:
Bonding interface?? Where does VLAN come here? I have no idea what you are talking about. Can you explain what you are talking about?
Did you try setting up both ethernet devices? How about the wget (this tests to see if you can get 200k/s). You'll have to run them at the same time though. This will figure out if setting up more advanced stuff is worthwhile. It will test if you are rate limited by the cable connection, or by the cable router on each ethernet port.
Assuming the wgets work at 200kb/s combined, then what you can do is route some traffic over each interface. Like in the link I provided: http://lartc.org/howto/lartc.rpdb.multiple-links.html. Unfortunately this won't work all the time as the "routing" code doesn't know which connection is going to give you a big download.
Now to get around this "rate limiting" you want to have two IP addresses. (Like you have two computers). The problem is that one connection will only go to one interface/IP address. Channel bonding is a way around this, as it makes two interfaces look like one. Unfortunately, it requires both link points to be configured this way. VLANs (virtual local area networks) are an abstraction of normal ethernet. Once of the benifits is "bonding" multiple physical interfaces into one logical interface. Neither will work in your case. Sorry I brought it up.
I tried the wget thing, and one of them worked and the other resolved the IP but wasn't able to download. I think the DNS was resolved with the help of the first card.
Including my 2 ethrnet cards and my roomies' computers a total of 4 cards are connected to the router. I think the router has been set up to give an IP for only (any) 3 out of the 4 ports. So as of now, only one of my cards has a valid IP at a time. Actually ifconfig says both of them have a valid Local IP but only one of them has an internet connection. I'm using FC1 and when I activate the 2nd card (when the 1st card is already active and working), I see a quick error and the dialog box closes. But the config dialog oddly enough shows both the cards as active. I'm totally confused. In a week or so the total no. of cards in my room will reduce to 3 (2 on mine and 1 on another). I will try this again then.
More importantly, this is what I want to do. I have VMWare installed and running windows XP as the guest. When I download something from XP it maxes out my eth0 (one working card as of now) and browsing etc is verrry slow. I want host Linux to use eth0 and VMware to use eth1. That was the actual need. I ask VMware to create a virtual bridge interface on eth1 and use it to connect to the net. But windows XP is not getting any IP, which I think is because of the 3 card limit on my router.
I myself don't see a clear question here, but do you see any thing else that is wrong in my set up? I will try this whole thing again when one of the computers (laptop) in my room goes away, and let you know.
Thanks,
Sarav
Last edited by saravkrish; 12-13-2004 at 10:18 PM.
is it possible to bond 2 pppoe connections?
I have 2 LAN cards and 2 accounts with my ISP. I am able to log on to both the accounts (one through each LAN card). THe bandwidth I get then is that of just one account, thats obvious since the routing table entry makes ppp1 the default route. How can I make sure that I use the bandwidth provided by both the accounts?
I tried the ifconfig bond0 ...., ifenslave bond0.... thing but that only works for eth0 and eth1 , not for ppp0 and ppp1.
ifenslave bond0 ppp0 SIOCBONDENSLAVE: Operation not supported.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.