Skip to contentSkip to conversation

multi path TCP

B.A.T.M.A.N. Christian Huldt 2 participants 7 messages Feb 8, 2012

lore
Share & tools
lore
#0 lore raw

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?

tia
Christian

#1 lore raw

Hello Christian,

Quoted 2 lines · Christian Huldt

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?

Cheers,

Signature · 4 lines
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara
#2 lore raw

8 feb 2012 kl. 14:26 skrev Antonio Quartulli:

Quoted 6 lines

Hello Christian,

Quoted 2 lines · Christian Huldt

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?

Quoted 8 lines

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 -

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.

#3 lore raw

Hello Christian and thank you for your explanation,

Quoted 16 lines · Christian Huldt

8 feb 2012 kl. 14:26 skrev Antonio Quartulli:

Quoted 13 lines

Hello Christian,

Quoted 2 lines · Christian Huldt

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 :-)

Quoted 6 lines
Quoted 1 line

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).

Quoted 5 lines

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,

Signature · 4 lines
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara
#4 lore raw

Hello Antonio, and thanks both for your explanation as well as your question that made me understand things better.

8 feb 2012 kl. 16:13 skrev Antonio Quartulli:

Quoted 31 lines

Hello Christian and thank you for your explanation,

Quoted 16 lines · Christian Huldt

8 feb 2012 kl. 14:26 skrev Antonio Quartulli:

Quoted 13 lines

Hello Christian,

Quoted 2 lines · Christian Huldt

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 :-)

Quoted 6 lines
Quoted 1 line

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).

Quoted 2 lines

The receiving host has to be mptcp capable as well in order to bring the two (or more?) connections together to one.

Quoted 8 lines
Quoted 3 lines

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.

Maybe one could do something similar with routes rather than interfaces? That is, by sending packets to different other nodes? But I think that could complicate things and I should probably dig deeper into batman-adv before coming up with more ideas...

Quoted 2 lines

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)

I think that is correct.

#5 lore raw
Quoted 1 line · Christian Huldt

Maybe one could do something similar with routes rather than interfaces? That is, by sending packets to different other nodes?

Mh..I don't get this. Why sending packets to different nodes? I think the main goal of outing is to reach the destination ;-) Unless your destination is connected to both the nodes you chose I don't think it is a good idea.

Cheers,

Signature · 4 lines
Antonio Quartulli

..each of us alone is worth nothing..
Ernesto "Che" Guevara
#6 lore raw

8 feb 2012 kl. 16:44 skrev Antonio Quartulli:

Quoted 6 lines · Christian Huldt
Quoted 1 line

Maybe one could do something similar with routes rather than interfaces? That is, by sending packets to different other nodes?

Mh..I don't get this. Why sending packets to different nodes? I think the main goal of outing is to reach the destination ;-) Unless your destination is connected to both the nodes you chose I don't think it is a good idea.

Well, I'm probably a utopist envisioning a mesh rather then the 27 wireless networks I see everywhere in the city, and thought that multi path could give me 27 times the speed in that setting…

I shall return to building my first mesh as I need the experience.

Thanks for your input!

regards
Christian