Multipath TCP is the only way I know of to truly aggregate a single connection across any and all links.

iOS7 supports Multi-path TCP, Citrix supports it and Amazon EC2 uses it too :)
http://mptcp.info.ucl.ac.be/
http://perso.uclouvain.be/olivier.bonaventure/blog/html/2013/09/18/mptcp.html

In their tests the devs managed to get a single TCP connection to run at upto 53Gbit across 6 10Bgit links.

The patch is very simple to apply.

Andy.

On Wed 02 Oct 2013 09:58:02 BST, Stuart Henderson wrote:
On 2013/10/01 23:02, Abel Abraham Camarillo Ojeda wrote:
On Fri, 23 Aug 2013 18:39:29 -0500, Abel Abraham Camarillo Ojeda
<[email protected]> wrote:
Not yet, will test.

On Thu, Aug 22, 2013 at 7:05 AM, Stuart Henderson <[email protected]>
wrote:
On 2013-08-22, Abel Abraham Camarillo Ojeda <[email protected]> wrote:
Is there a way to duplicate the throughput of a single
TCP connection using two servers having two gigabit NICs?

I have tried using LACP but I cannot get more than
900MB of throughput...

LACP uses a hash over IP addresses/vlan tags/flowlabel to avoid
problems
with out-of-order packet delivery. (Similar for equal-cost multipath).
Have you tried a roundrobin trunk yet?

Stuart:

Trying between two obsd hosts only (no switch) I was able to get
more than 1000Mb speed testing with tcpbench but only using great
values for -n option (-n >16)...

Is there a way to aggregate (reliably) a single TCP connection using an
LACP capable switch between two OpenBSD hosts?

I'm using this:

http://www.amazon.com/Cisco-SG200-26P-Ethernet-Mini-GBIC-SLM2024PT/dp/B004GHMU5Q

Thanks

I'm not aware of any LACP implementation on switches which does per-packet
balancing.

Even if you hack your kernel so that LACP trunks use round-robin to
determine the output port (rather than hashes of headers), that is only
on the link *to* the switch. Once the switch has received a packet,
it will use its own algorithm to choose the output port.

Typically the switch will use a hash of ethernet headers i.e. src/dest
MAC and vlan tags - expensive switches will allow more options but usually
even then it's no more than src/dest IP and port numbers.

Even if you can find some way around this, some packets will arrive
out-of-order which will cause individual TCP flows to slow down, so even
in that case it's pretty unlikely to really help actual performance.

It sounds like what you really need here is 10GE kit. Motherboard/NIC
ports aren't too bad now, but if you want more than 2-4 10GE ports on a
switch (to mention some of the "cheaper" options: xgs1910-24, gsm7228s,
sg500x-24) then the switches start to get rather expensive.

Reply via email to