Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is it possible to merge two 1GBps NIC's on a single PC thereby doubling the available LAN bandwidth? Two other PC's would then be able to request data at 1GBps each instead of splitting the 1GBps NIC into 500MBps.

Cat 6 supports 10GBps throughput over a single cable so the NIC is really the limitation but if I connect both NIC's to a switch (using 2 available ports), is there a way to make both NIC's be accessed by the same IP and also on the PC side, have applications utilize both NIC's?

Some intelligent software should make this possible but may also require the other end (the router) to be able to "acknowledge" the configuration.

I could attempt this on either Ubuntu 12.04 x64, Win7 x64, or any other free OS.

share|improve this question
You're almost there, but you need to change the word "merge" to "bridge", and suddenly, google returns marvelous results: – allquixotic Mar 1 '13 at 16:37
Ah, I steered clear of that term because of it's relation to the Windows Bridging function which creates a pass-through network, not an aggregate network. – Enigma Mar 1 '13 at 16:38
This is called "bonding" in the Unix world, "bridging" is as @Enigma states. – vonbrand Mar 1 '13 at 18:00
@allquixotic bridging is NOT link aggregation. Spanning tree will shut down one of the ports to prevent a loop if both ports are connected to the same switch. Link aggregation/bonding is not the same as bridging. – Zoredache Mar 1 '13 at 18:32
up vote 2 down vote accepted

This is commonly done under Linux and well baked into most distros - the technology is called "Channel Bonding" - bridging means something different (more-or-less making your device act as a switch).

The official solution to what you are trying to do in Linux is

In summary nutshell you install "ifenslave" to bind the interfaces together, install the "bonding" kernel module and modify your interfaces so that your ethernet devices become slaves, and a new "bond0" device is created - a very simplified interfaces file might look

auto eth0
iface eth0 inet manual
bond-master bond0

auto eth1 
iface eth1 inet manual
bond-master bond0

auto bond0
iface bond0 inet static

bond-mode balance

And restart networking.

Of specific note the "bond-mode" defines the way balancing works - there are 6 modes which define different behaviours for different scenarios and it is important to get the correct one for your needs. Some modes will work with all hardware - like balance-rr, some will require special switches. (I selected balance-rr as it shuffles traffic out alternative interfaces if both interfaces are available. Its probably not a great choice for balancing inbound traffic)

share|improve this answer

You can bridge your NICs in windows 7, this will have them acting as one NIC. Go to network connections, click on the two you would like to bridge, so they are both highlighted, right click and bridge. But this will not automatically double your throughput. You have to have a switch/router that supports compatible link aggregation. Even with this you do not get double, but you do get more. The biggest benefit would be fail over security.

Server Fault Answer

share|improve this answer
There are some forms of bonding that do not require configuration on the switch you are connecting too. But they are not very useful on a desktop, since they mostly only work for the outgoing stuff. Desktops tend to be consumers, so the majority of their network activity is incoming. – Zoredache Mar 1 '13 at 18:36
In Linux and Cisco circles BRIDGING is not what you want. I am pretty sure its not the correct technlogy under Windows either - According to… bridging has the same meaning as one would expect, ie turning a computer, more or less, into a switch. – davidgo Mar 1 '13 at 19:11

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .