[iccrg] TCP-in-UDP next steps and clarification

Michael Welzl <michawe@ifi.uio.no> Mon, 04 April 2016 21:58 UTC

Return-Path: <michawe@ifi.uio.no>
X-Original-To: iccrg@ietfa.amsl.com
Delivered-To: iccrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61F9812D8D2 for <iccrg@ietfa.amsl.com>; Mon, 4 Apr 2016 14:58:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.21
X-Spam-Level:
X-Spam-Status: No, score=-4.21 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UoX8CwFcSmAv for <iccrg@ietfa.amsl.com>; Mon, 4 Apr 2016 14:58:30 -0700 (PDT)
Received: from mail-out4.uio.no (mail-out4.uio.no [IPv6:2001:700:100:10::15]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 45DCF12D655 for <iccrg@irtf.org>; Mon, 4 Apr 2016 14:58:28 -0700 (PDT)
Received: from mail-mx1.uio.no ([129.240.10.29]) by mail-out4.uio.no with esmtp (Exim 4.80.1) (envelope-from <michawe@ifi.uio.no>) id 1anCVu-0007n1-7u for iccrg@irtf.org; Mon, 04 Apr 2016 23:58:26 +0200
Received: from dhcp-8c20.meeting.ietf.org ([31.133.140.32]) by mail-mx1.uio.no with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) user michawe (Exim 4.80) (envelope-from <michawe@ifi.uio.no>) id 1anCVt-0002Ml-Ex for iccrg@irtf.org; Mon, 04 Apr 2016 23:58:26 +0200
From: Michael Welzl <michawe@ifi.uio.no>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: quoted-printable
Message-Id: <7D55AC2E-2687-428D-827E-B71D9591A761@ifi.uio.no>
Date: Mon, 04 Apr 2016 18:58:21 -0300
To: iccrg@irtf.org
Mime-Version: 1.0 (Mac OS X Mail 9.2 \(3112\))
X-Mailer: Apple Mail (2.3112)
X-UiO-SPF-Received:
X-UiO-Ratelimit-Test: rcpts/h 15 msgs/h 8 sum rcpts/h 23 sum msgs/h 12 total rcpts 40058 max rcpts/h 54 ratelimit 0
X-UiO-Spam-info: not spam, SpamAssassin (score=-5.0, required=5.0, autolearn=disabled, UIO_MAIL_IS_INTERNAL=-5, uiobl=NO, uiouri=NO)
X-UiO-Scanned: A522A14EA772E44A0A39BB20A25E167633106DBB
X-UiO-SPAM-Test: remote_host: 31.133.140.32 spam_score: -49 maxlevel 80 minaction 2 bait 0 mail/h: 7 total 7 max/h 7 blacklist 0 greylist 0 ratelimit 0
Archived-At: <http://mailarchive.ietf.org/arch/msg/iccrg/w7CpWQ1z6Hj2PZP8-TJkL7dth54>
Subject: [iccrg] TCP-in-UDP next steps and clarification
X-BeenThere: iccrg@irtf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "Discussions of Internet Congestion Control Research Group \(ICCRG\)" <iccrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/iccrg>, <mailto:iccrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/iccrg/>
List-Post: <mailto:iccrg@irtf.org>
List-Help: <mailto:iccrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/iccrg>, <mailto:iccrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Mon, 04 Apr 2016 21:58:33 -0000

[as author of draft-welzl-irtf-iccrg-tcp-in-udp, not chair ]

Dear all,

Thanks for your feedback on the list so far and the feedback in the meeting!

Here’s one explanation I wanted to give: someone, I think Matthew Sargent, commented that something similar could be done with MPTCP, by using multiple subflows between two hosts each having only one network interface.
My answer was a little vague - I said that the congestion control coupling is pretty similar but not quite, yet I didn’t explain the (rather subtle, but important) differences. These exist because MPTCP’s coupling assumes that flows *can* (actually should) take a different path. Some things that we can do with TCP coupling would probably be inappropriate there - at least MPTCP’s coupling doesn’t do them:
- a new connection joining the aggregate can immediately get a share of a potentially quite large cwnd of ongoing transfers. This can significantly reduce the completion time of short flows but in MPTCP it would be like using a very large initial window on a new path
- to do this, we influence slow start: as I said in my presentation, we only enter slow start if *all* connections enter slow start. This includes new ones: if a connection is already in congestion avoidance, it immediately means congestion avoidance for everyone.
- we also assign a cwnd share based on a priority. These can even change on the fly. Again, if connections would traverse different paths, this behavior is probably quite inappropriate, and MPTCP’s coupled CC wouldn’t do that.

Of course, MPTCP’s subflows also use different tuples in order to get different paths (almost the opposite of what we want). But that’s just the encapsulation - my point is, even if we’d use our own encapsulation, the MPTCP coupled congestion control doesn’t work for us. Yes, there are similarities, the goals are partially similar, but not entirely and so there are some quite significant differences too.

BTW someone also asked me if this could be used for connections in a VPN instead of using our UDP encapsulation. I say yes, absolutely.

Cheers,
Michael