Re: [tcpm] New Version Notification for draft-touch-tcpm-tcp-edo-01.txt

Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be> Sat, 03 May 2014 19:52 UTC

Return-Path: <olivier.bonaventure@uclouvain.be>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 85DC71A011B for <tcpm@ietfa.amsl.com>; Sat, 3 May 2014 12:52:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.301
X-Spam-Level:
X-Spam-Status: No, score=-4.301 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 GTG1sBd75QQv for <tcpm@ietfa.amsl.com>; Sat, 3 May 2014 12:52:03 -0700 (PDT)
Received: from smtp6.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) by ietfa.amsl.com (Postfix) with ESMTP id 3B4B01A0110 for <tcpm@ietf.org>; Sat, 3 May 2014 12:52:02 -0700 (PDT)
Received: from mbpobo.local (host-212-68-230-69.brutele.be [212.68.230.69]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: obonaventure@smtp6.sgsi.ucl.ac.be) by smtp6.sgsi.ucl.ac.be (Postfix) with ESMTPSA id 15F1E1833E4; Sat, 3 May 2014 21:51:52 +0200 (CEST)
X-DKIM: Sendmail DKIM Filter v2.8.3 smtp6.sgsi.ucl.ac.be 15F1E1833E4
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1399146712; bh=93IDkXQ4CzNxiVV16yEJJH2FQatmeAD0cB3iWs+Dzpc=; h=Message-ID:Date:From:Reply-To:MIME-Version:To:CC:Subject: References:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=wsFLojJJulUiPz5qAkUHKFKvkTIKdHXCyFV4kmPMRm9cy+VcMZl4mrdvG7ad9bFJ5 uvA/4GKTmOBPNPdwucnpd7LO4UOOZ+1FevqdH4IDePY6d+O//5bavF812m/H7Lw2I/ 0IESLp2J/hQ2Td/9PXOad9VVOwRL8frfjKgVb7qM=
Message-ID: <536548D7.5030802@uclouvain.be>
Date: Sat, 03 May 2014 21:51:51 +0200
From: Olivier Bonaventure <Olivier.Bonaventure@uclouvain.be>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: "Scharf, Michael (Michael)" <michael.scharf@alcatel-lucent.com>, Joe Touch <touch@isi.edu>
References: <20140425221257.12559.43206.idtracker@ietfa.amsl.com> <2586_1398464386_535ADF82_2586_915_1_535ADF56.9050106@isi.edu> <CF8D8E25-E435-4199-8FD6-3F7066447292@iki.fi> <5363AF84.8090701@mti-systems.com> <5363B397.8090009@isi.edu> <CAO249yeyr5q21-=e6p5azwULOh1_jUsniZ6YPcDYd69av8MMYw@mail.gmail.com> <DCC98F94-EA74-4AAA-94AE-E399A405AF13@isi.edu> <655C07320163294895BBADA28372AF5D2CFE36@FR712WXCHMBA15.zeu.alcatel-lucent.com>
In-Reply-To: <655C07320163294895BBADA28372AF5D2CFE36@FR712WXCHMBA15.zeu.alcatel-lucent.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.97.7-exp at smtp-6.sipr-dc.ucl.ac.be
X-Virus-Status: Clean
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-MailScanner-ID: 15F1E1833E4.A6D26
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: olivier.bonaventure@uclouvain.be
X-SGSI-Spam-Status: No
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/AVSzKZetmCXkSVLvCTrwE2uhGuw
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] New Version Notification for draft-touch-tcpm-tcp-edo-01.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
Reply-To: Olivier.Bonaventure@uclouvain.be
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 03 May 2014 19:52:05 -0000

Michael,


> Thus, instead of further arguing about process aspects, I am more interested in thoughts on:
>
> * From designers of TCP extensions requiring more option space: Is draft-touch-tcpm-tcp-edo a good solution for your needs and thus the right way to move forward?
>
> * From implementers: Are there deployment issues beyond what is described in the draft already? And, would this mechanism be implemented in the Internet?

My main concern with this draft are the possible interactions with 
segment splitting/coalescing middleboxes.

The draft considers that these middleboxes are rare and should not 
constitute a problem. Unfortunately, I have to disagree with this 
statement. An important concern are the recent NICs that support TSO or 
GRO. These NICs are very widely used today and there are environments 
where it is very difficult for a TCP stack to determine whether it runs 
with such a NIC a not. A typical case is a virtual machine running on a 
host that exposes a driver that does not correspond to the physical NIC 
that is actually used.

The EDO option proposed in this draft does not unfortunately work 
correctly through a middlebox that splits segments. Concerning the 
following example.

A host that has negotiated EDO during the three way handshake sends a 
segment that contains :
- TCP header indicates 4 bytes of option, followed by EDO option 
indicating an option of 100 bytes, 100 bytes of option (e.g. a very long 
SACK), 1000 bytes of data

The middlebox does not understand the EDO option but needs to split the 
segment. Some middleboxes will copy all options in the two segments. 
This results in  :

segment 1 : TCP header indicates 4 bytes of option, followed by EDO 
option indicating an option of 100 bytes, 100 bytes of option (e.g. a 
very long SACK), 500 bytes of data

segment 2 : TCP header indicates 4 bytes of option, followed by EDO 
option indicating an option of 100 bytes, 500 bytes of data

The receiver will try to parse 100 bytes of option in the second segment...

In their IMC paper entitled "Is it Still Possible to Extend TCP?", 
Michio Honda et al. provide the following recommendation
http://conferences.sigcomm.org/imc/2011/docs/p181.pdf

"All the NICs we tested correctly copied the options to all the split 
segments. TSO is now sufficiently commonplace so that designers of 
extensions to TCP should assume it. The implication is that TCP options 
must be designed so that when they are duplicated on consecutive 
segments, this does not adversely affect correctness or performance."

EDO should be modified to take this recommendation into account to be 
deployable in today's Internet.

One possibility could be to include a checksum inside the EDO option.


   +--------+--------+--------+--------+----------+----------+
   |  Kind  | Length |  Header_length  |       Checksum      |
   +--------+--------+--------+--------+----------+----------+

The checksum should be computed over the entire extended option by the 
sender. When a receiver receives a segment with the EDO option, it MUST 
verify the EDO checksum. If the checksum is correct, then the extended 
option can be parsed. Otherwise, the entire segment should be silently 
dropped.

The checksum could solve the problem mentionned above with the NIC that 
segment data, but additional work is required to check whether such 
modification would solve all possible problems with middleboxes.

With Multipath TCP, we managed to extend TCP while preserving 
connectivity. Multipath TCP can cope with various types of middleboxes 
but not all possible behaviours. For some of these behaviours, Multipath 
TCP fallsback to regular TCP to ensure that the application continues to 
operate without any loss of connectivity. The EDO option should also 
have this goal in mind.

Best regards,


Olivier


-- 
INL, ICTEAM, UCLouvain, Belgium, http://inl.info.ucl.ac.be