* MultiPath TCP in the Linux Kernel
@ 2011-01-20 14:09 Christoph Paasch
[not found] ` <AANLkTinkqCjQqRKDFnxTF4-uF27XyPzh0gY-vX3fnfSo@mail.gmail.com>
2011-01-20 15:38 ` Hagen Paul Pfeifer
0 siblings, 2 replies; 6+ messages in thread
From: Christoph Paasch @ 2011-01-20 14:09 UTC (permalink / raw)
To: netdev, bonding-devel, linux-sctp
Hi all,
The IETF is developing a new transport layer solution, MultiPath TCP, which
allows to efficiently exploit several Internet paths between a pair of hosts,
while presenting a single TCP connection to the application layer.
At the UCLouvain in Belgium we are developping the support for MultiPath TCP
in the Linux Kernel. The implementation is a major extension to the Linux TCP-
stack.
For general information, access:
http://inl.info.ucl.ac.be/mptcp
https://scm.info.ucl.ac.be/trac/mptcp/
To access the git-repository:
git://scm.info.ucl.ac.be/mtcp.git
branches:
mptcp_2.6.36 - based on Linux Kernel 2.6.36
mtcp_no_subrcvqueue - based on Linux Kernel 2.6.28
For questions, feedback,... feel free to subscribe to the mptcp-dev Mailing-
List:
https://listes-2.sipr.ucl.ac.be/sympa/info/mptcp-dev
Regards,
Christoph
--
Christoph Paasch
PhD Student
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
Université Catholique de Louvain
www.rollerbulls.be
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: MultiPath TCP in the Linux Kernel
[not found] ` <AANLkTinkqCjQqRKDFnxTF4-uF27XyPzh0gY-vX3fnfSo@mail.gmail.com>
@ 2011-01-20 15:11 ` Christoph Paasch
[not found] ` <AANLkTi=v7jJzfRoeQLGzwU29p2dVqJqd=Eap_8ntfxKP@mail.gmail.com>
0 siblings, 1 reply; 6+ messages in thread
From: Christoph Paasch @ 2011-01-20 15:11 UTC (permalink / raw)
To: Peter Chacko
Cc: netdev, bonding-devel, linux-sctp, MS PRASAD, Lal Samuel Varghese,
Gregory S. Tseytin
Hi,
MultiPath TCP is not a port of SCTP. It is based on regular TCP and presents a
regular socket-api to the application. Thus applications do not have to be
modified.
MPTCP opens several TCP-subflows across it's different IP-addresses, and lets
the data go over these different TCP sessions. To synchronize the data-
transfer MPTCP uses TCP-options. Thus, on the wire it looks like regular TCP,
with the only difference being that there are additional TCP-options.
MPTCP increases the throughput, because it uses the TCP-subflows
simultaneously. With our implementation we got 2Gbps throughput for a single
iperf-session on a machine having two 1Gb-interfaces (using jumbo-frames),
whereas regular TCP could only go up to 1Gbps, as it only uses one interface.
To maintain bottleneck-fairness the Coupled Congestion Control controls the
congestion window of the individual subflows (included in the implementation
since the latest release).
http://datatracker.ietf.org/doc/draft-ietf-mptcp-congestion/
Cheers,
Christoph
P.S.: We have a public webserver running MPTCP at http://mptcp.info.ucl.ac.be
So you can directly try out the power of MPTCP... ;-)
On Thursday, January 20, 2011 wrote Peter Chacko:
> SCTP already provides that , and is TCP Multi-Path is going to be a port of
> it or any other difference ?
>
> We are looking to use SCTP for this feature, but as we found it it has not
> kicked off , because of its firewall issues, we are trying add
> Multi-Pathing at application layer, sharing all the congestion states(like
> CM idea) as we are building a WAN optimized storage replication module as
> part of our cloud storage gateway development.
>
> Curious to see more info on this.
>
> Thanks
>
> 2011/1/20 Christoph Paasch <christoph.paasch@uclouvain.be>
>
> > Hi all,
> >
> > The IETF is developing a new transport layer solution, MultiPath TCP,
> > which allows to efficiently exploit several Internet paths between a
> > pair of hosts,
> > while presenting a single TCP connection to the application layer.
> >
> > At the UCLouvain in Belgium we are developping the support for MultiPath
> > TCP
> > in the Linux Kernel. The implementation is a major extension to the Linux
> > TCP-
> > stack.
> >
> > For general information, access:
> > http://inl.info.ucl.ac.be/mptcp
> > https://scm.info.ucl.ac.be/trac/mptcp/
> >
> > To access the git-repository:
> > git://scm.info.ucl.ac.be/mtcp.git
> >
> > branches:
> > mptcp_2.6.36 - based on Linux Kernel 2.6.36
> > mtcp_no_subrcvqueue - based on Linux Kernel 2.6.28
> >
> > For questions, feedback,... feel free to subscribe to the mptcp-dev
> > Mailing-
> > List:
> > https://listes-2.sipr.ucl.ac.be/sympa/info/mptcp-dev
> >
> >
> > Regards,
> > Christoph
> >
> > --
> > Christoph Paasch
> > PhD Student
> >
> > IP Networking Lab --- http://inl.info.ucl.ac.be
> > MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
> > Université Catholique de Louvain
> >
> > www.rollerbulls.be
> > --
> > --
> > To unsubscribe from this list: send the line "unsubscribe netdev" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Christoph Paasch
PhD Student
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
Université Catholique de Louvain
www.rollerbulls.be
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: MultiPath TCP in the Linux Kernel
2011-01-20 14:09 MultiPath TCP in the Linux Kernel Christoph Paasch
[not found] ` <AANLkTinkqCjQqRKDFnxTF4-uF27XyPzh0gY-vX3fnfSo@mail.gmail.com>
@ 2011-01-20 15:38 ` Hagen Paul Pfeifer
2011-01-20 15:42 ` Eric Dumazet
1 sibling, 1 reply; 6+ messages in thread
From: Hagen Paul Pfeifer @ 2011-01-20 15:38 UTC (permalink / raw)
To: christoph.paasch; +Cc: netdev, bonding-devel, linux-sctp
On Thu, 20 Jan 2011 15:09:34 +0100, Christoph Paasch wrote:
> Hi all,
>
> The IETF is developing a new transport layer solution, MultiPath TCP,
> which
> allows to efficiently exploit several Internet paths between a pair of
> hosts,
> while presenting a single TCP connection to the application layer.
>
> At the UCLouvain in Belgium we are developping the support for MultiPath
> TCP
> in the Linux Kernel. The implementation is a major extension to the
Linux
> TCP-
> stack.
Hello Christoph,
if you want that your work becomes part of the official network stack you
should align your effort on the official Linux way. This means you should
split your work and publish patches on this maillinglist.
Cheers, Hagen
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: MultiPath TCP in the Linux Kernel
2011-01-20 15:38 ` Hagen Paul Pfeifer
@ 2011-01-20 15:42 ` Eric Dumazet
2011-01-21 13:26 ` Christoph Paasch
0 siblings, 1 reply; 6+ messages in thread
From: Eric Dumazet @ 2011-01-20 15:42 UTC (permalink / raw)
To: Hagen Paul Pfeifer; +Cc: christoph.paasch, netdev, bonding-devel, linux-sctp
Le jeudi 20 janvier 2011 à 16:38 +0100, Hagen Paul Pfeifer a écrit :
> Hello Christoph,
>
> if you want that your work becomes part of the official network stack you
> should align your effort on the official Linux way. This means you should
> split your work and publish patches on this maillinglist.
Hmm, they probably know that, and prefer to wait MTCP stuff is mature
before patch submission :)
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: MultiPath TCP in the Linux Kernel
[not found] ` <AANLkTi=v7jJzfRoeQLGzwU29p2dVqJqd=Eap_8ntfxKP@mail.gmail.com>
@ 2011-01-21 13:19 ` Christoph Paasch
0 siblings, 0 replies; 6+ messages in thread
From: Christoph Paasch @ 2011-01-21 13:19 UTC (permalink / raw)
To: Peter Chacko
Cc: netdev, bonding-devel, linux-sctp, MS PRASAD, Lal Samuel Varghese,
Gregory S. Tseytin
Hi Peter,
On Thursday, January 20, 2011 wrote Peter Chacko:
> Is there any document that shows the difference of SCTP multi-streaming and
> MPTCP ? SCTP team has done lot of great workin in load-balanced
> multi-streaming work across multi-hopped hosts. I am curious to learn more
> on your work in the context of this.
MPTCP can be compared to SCTP-CMT. Regular SCTP just uses one path for a
stream and thus does not increase the throughput.
At http://inl.info.ucl.ac.be/mptcp/ is a master thesis from a student, where
he compared plenty of different multi-path transport solutions. Have a look at
the document "multi-path congestion control" from Arnaud Ongenae on this
website.
> Does MP-TCP make use of CM ? (Congestion Manager, created out of MIT) for
> sharing congestion states across TCP ensembles ?
No, MPTCP uses the coupled congestion control. However, this congestion-
manager might be an interesting extension to mptcp.
> How does it work with a firewall that will allow only a session that is the
> reply of a SYN packet from inside firewall ? (Because other parallel
> streams of TCP doesn't send SYN to the same destination, and how will the
> firewall will allow the replies of this other session go through ? )
You mean the case, where a server has 2 interfaces, and a client (behind the
firewall) establishes a MPTCP-session to the server?
The server will tell the client about it's available addresses.
Additionally, the server will try by itself the establishment of the
additional subflow. This attempt will get blocked by the firewall.
As the server sended its set of addresses to the client, the client will also
attempt to establish a new subflow. This attempt will pass the firewall as it
comes from the inside.
> Is there any commerical use of this work ?
Our implementation is still in alpha-state. There are still missing features,
and it's not yet 100% stable. It's a major modification of the TCP/IP-stack
because packets from the subflows need to get pushed up to the 'meta-
connection' and reordered there.
> Will this also support message level TCP packet exchange ? (So that main
> strengths of SCTP are "in" to the TCP stack ).
What do you mean with "message level TCP packet exchange" ?
Best regards,
Christoph
> 2011/1/20 Christoph Paasch <christoph.paasch@uclouvain.be>
>
> > Hi,
> >
> > MultiPath TCP is not a port of SCTP. It is based on regular TCP and
> > presents a
> > regular socket-api to the application. Thus applications do not have to
> > be modified.
> >
> > MPTCP opens several TCP-subflows across it's different IP-addresses, and
> > lets
> > the data go over these different TCP sessions. To synchronize the data-
> > transfer MPTCP uses TCP-options. Thus, on the wire it looks like regular
> > TCP,
> > with the only difference being that there are additional TCP-options.
> >
> > MPTCP increases the throughput, because it uses the TCP-subflows
> > simultaneously. With our implementation we got 2Gbps throughput for a
> > single
> > iperf-session on a machine having two 1Gb-interfaces (using
> > jumbo-frames), whereas regular TCP could only go up to 1Gbps, as it only
> > uses one interface.
> >
> > To maintain bottleneck-fairness the Coupled Congestion Control controls
> > the congestion window of the individual subflows (included in the
> > implementation
> > since the latest release).
> > http://datatracker.ietf.org/doc/draft-ietf-mptcp-congestion/
> >
> >
> > Cheers,
> > Christoph
> >
> > P.S.: We have a public webserver running MPTCP at
> > http://mptcp.info.ucl.ac.be
> > So you can directly try out the power of MPTCP... ;-)
> >
> > On Thursday, January 20, 2011 wrote Peter Chacko:
> > > SCTP already provides that , and is TCP Multi-Path is going to be a
> > > port
> >
> > of
> >
> > > it or any other difference ?
> > >
> > > We are looking to use SCTP for this feature, but as we found it it has
> >
> > not
> >
> > > kicked off , because of its firewall issues, we are trying add
> > > Multi-Pathing at application layer, sharing all the congestion
> >
> > states(like
> >
> > > CM idea) as we are building a WAN optimized storage replication module
> > > as part of our cloud storage gateway development.
> > >
> > > Curious to see more info on this.
> > >
> > > Thanks
> > >
> > > 2011/1/20 Christoph Paasch <christoph.paasch@uclouvain.be>
> > >
> > > > Hi all,
> > > >
> > > > The IETF is developing a new transport layer solution, MultiPath TCP,
> > > > which allows to efficiently exploit several Internet paths between a
> > > > pair of hosts,
> > > > while presenting a single TCP connection to the application layer.
> > > >
> > > > At the UCLouvain in Belgium we are developping the support for
> >
> > MultiPath
> >
> > > > TCP
> > > > in the Linux Kernel. The implementation is a major extension to the
> >
> > Linux
> >
> > > > TCP-
> > > > stack.
> > > >
> > > > For general information, access:
> > > > http://inl.info.ucl.ac.be/mptcp
> > > > https://scm.info.ucl.ac.be/trac/mptcp/
> > > >
> > > > To access the git-repository:
> > > > git://scm.info.ucl.ac.be/mtcp.git
> > > >
> > > > branches:
> > > > mptcp_2.6.36 - based on Linux Kernel 2.6.36
> > > > mtcp_no_subrcvqueue - based on Linux Kernel 2.6.28
> > > >
> > > > For questions, feedback,... feel free to subscribe to the mptcp-dev
> > > > Mailing-
> > > > List:
> > > > https://listes-2.sipr.ucl.ac.be/sympa/info/mptcp-dev
> > > >
> > > >
> > > > Regards,
> > > > Christoph
> > > >
> > > > --
> > > > Christoph Paasch
> > > > PhD Student
> > > >
> > > > IP Networking Lab --- http://inl.info.ucl.ac.be
> > > > MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
> > > > Université Catholique de Louvain
> > > >
> > > > www.rollerbulls.be
> > > > --
> > > > --
> > > > To unsubscribe from this list: send the line "unsubscribe netdev" in
> > > > the body of a message to majordomo@vger.kernel.org
> > > > More majordomo info at http://vger.kernel.org/majordomo-info.html
> >
> > --
> > Christoph Paasch
> > PhD Student
> >
> > IP Networking Lab --- http://inl.info.ucl.ac.be
> > MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
> > Université Catholique de Louvain
> >
> > www.rollerbulls.be
> > --
--
Christoph Paasch
PhD Student
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
Université Catholique de Louvain
www.rollerbulls.be
--
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: MultiPath TCP in the Linux Kernel
2011-01-20 15:42 ` Eric Dumazet
@ 2011-01-21 13:26 ` Christoph Paasch
0 siblings, 0 replies; 6+ messages in thread
From: Christoph Paasch @ 2011-01-21 13:26 UTC (permalink / raw)
To: Eric Dumazet; +Cc: Hagen Paul Pfeifer, netdev, bonding-devel, linux-sctp
On Thursday, January 20, 2011 wrote Eric Dumazet:
> > if you want that your work becomes part of the official network stack you
> > should align your effort on the official Linux way. This means you should
> > split your work and publish patches on this maillinglist.
>
> Hmm, they probably know that, and prefer to wait MTCP stuff is mature
> before patch submission :)
Exactly... :)
The protocol specification of MPTCP is not stable yet
(http://datatracker.ietf.org/doc/draft-ietf-mptcp-multiaddressed/).
Also, all the features are not yet in our implementation (e.g., IPv6-support
and dual IPv4/IPv6-support), and it is necessary to make our implementation
less intrusive to the regular TCP/IP-stack.
However, as developper-resources are limited this will still take quite some
time... ;)
Cheers,
Christoph
--
Christoph Paasch
PhD Student
IP Networking Lab --- http://inl.info.ucl.ac.be
MultiPath TCP in the Linux Kernel --- http://inl.info.ucl.ac.be/mptcp
Université Catholique de Louvain
www.rollerbulls.be
--
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-01-21 13:26 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-01-20 14:09 MultiPath TCP in the Linux Kernel Christoph Paasch
[not found] ` <AANLkTinkqCjQqRKDFnxTF4-uF27XyPzh0gY-vX3fnfSo@mail.gmail.com>
2011-01-20 15:11 ` Christoph Paasch
[not found] ` <AANLkTi=v7jJzfRoeQLGzwU29p2dVqJqd=Eap_8ntfxKP@mail.gmail.com>
2011-01-21 13:19 ` Christoph Paasch
2011-01-20 15:38 ` Hagen Paul Pfeifer
2011-01-20 15:42 ` Eric Dumazet
2011-01-21 13:26 ` Christoph Paasch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).