Hello Christian and thank you for your explanation,
On Wed, Feb 08, 2012 at 03:53:22PM +0100, Christian Huldt wrote:
8 feb 2012 kl. 14:26 skrev Antonio Quartulli:
Hello Christian,
On Wed, Feb 08, 2012 at 12:29:52PM +0100, Christian Huldt wrote:
As a complete newbie to batman, please excuse if this question is unusually stupid, but I just got home after getting update on the mptcp kernel module http://mptcp.info.ucl.ac.be/ and it seems to me that running mptcp over a batman mesh could potentially be quite nice. It that correct or am I just being ignorant?
Before answering your question, I would like to read and understand a bit more about mptcp, but actually I couldn't find any resource explaining the concept behind it an how it is supposed to work. The only document I've been able to find is Sébastien's Thesis...but I would rather prefer a lighter reading first :-)
Anyway, is it somehow similar to ip multihoming with load balancing?
I am unfortunately not able to say whether that is the case (yet…), I saw a demo and (think I) understood at least parts of the talk. This is my limited understanding: This implementation of mptcp works by creating a virtual interface bound to two (or more?) interfaces and traffic over that virtual interface is by the mptcp layer sent packet by packet to one of the bound interfaces. - I am assuming that it is using the tcp acks to optimize which interface gets more packets -
It sounds like "bonding at the TCP layer" (let me pass the term).
The receiving host has to be mptcp capable as well in order to bring the two (or more?) connections together to one.
One of the benefits is that except for the two hosts talking, no one needs to be aware of the "multi path nature" as it is just two normal tcp connections.
I think that it could be useful (or mayhem) in a mesh network though I would believe that where will be complications.
Well, assuming you know how batman handles clients, the only way to exploit such "multi-path TCP" is to connect the two (or more) involved interfaces of the client to two (or more) different nodes. If not, all the packets will follow the same path in the mesh network anyway.
By the way, I'd say that from the batman-adv point of view using mptcp is the same as ethernet bonding. (Please correct me if I made any mistakes)
Cheers,