Re: [Taps] TCP components

Mohamed Oulmahdi <m.oulmahdi@gmail.com> Thu, 11 June 2015 14:40 UTC

Return-Path: <m.oulmahdi@gmail.com>
X-Original-To: taps@ietfa.amsl.com
Delivered-To: taps@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7198A1B2A8D for <taps@ietfa.amsl.com>; Thu, 11 Jun 2015 07:40:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.699
X-Spam-Level:
X-Spam-Status: No, score=-1.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] autolearn=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 RKAgzdgPVvIC for <taps@ietfa.amsl.com>; Thu, 11 Jun 2015 07:40:05 -0700 (PDT)
Received: from mail-wg0-x235.google.com (mail-wg0-x235.google.com [IPv6:2a00:1450:400c:c00::235]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8460F1A890B for <taps@ietf.org>; Thu, 11 Jun 2015 07:36:44 -0700 (PDT)
Received: by wgv5 with SMTP id 5so6484741wgv.1 for <taps@ietf.org>; Thu, 11 Jun 2015 07:36:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=2m2PgPAN3Fqa5p1Lbraiwr6WePhpHAimESrohPcmhOw=; b=yo43CkxZuZokXv9UnQKaf1GugcefyewzZroZvbPeL62E9IS61rT42Lqs78hJ7Db80t ID5UQMt3F4+v+fseJk0yF5M/Yx2HrWWmSlYjockqsiMzMJ6nM3kY2oHfDZ+E8RBpLBkv XGnCBkqJspTIuSxgDzt8B7NXJHPjm52m5DEaKFk3vHOYvpNVia8G/SkjcWjzdtgimUVK tttjh8rxJFn3uwp8cxQr0JJRyTByQ+iuMHrQX09S7siGedfDd5PqwmAgyLsnm1gzjkF7 rJ7sO1WRyTUxEx+y1onpSjjBjAob1vDxjJRl74UL+KCWWtGacqHDwZnRDuiOUWJjrAwL nhCg==
MIME-Version: 1.0
X-Received: by 10.180.73.10 with SMTP id h10mr29921157wiv.21.1434033403301; Thu, 11 Jun 2015 07:36:43 -0700 (PDT)
Received: by 10.28.145.7 with HTTP; Thu, 11 Jun 2015 07:36:43 -0700 (PDT)
Received: by 10.28.145.7 with HTTP; Thu, 11 Jun 2015 07:36:43 -0700 (PDT)
In-Reply-To: <5579971D.9040509@tik.ee.ethz.ch>
References: <5579768E.5060402@tik.ee.ethz.ch> <2e1ca6a7e239e671b7516431ad5db93c.squirrel@erg.abdn.ac.uk> <5579971D.9040509@tik.ee.ethz.ch>
Date: Thu, 11 Jun 2015 16:36:43 +0200
Message-ID: <CAJ+dxNAM1OycSj6J9Qirb9=gbwFnrCUoBicRQafPO=bBXK-nnQ@mail.gmail.com>
From: Mohamed Oulmahdi <m.oulmahdi@gmail.com>
To: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
Content-Type: multipart/alternative; boundary="f46d043c7f1e99954805183eebe4"
Archived-At: <http://mailarchive.ietf.org/arch/msg/taps/oud7tFUr4_lsIGzmDqaadLwWBlU>
Cc: gorry@erg.abdn.ac.uk, Brian Trammell <ietf@trammell.ch>, taps@ietf.org
Subject: Re: [Taps] TCP components
X-BeenThere: taps@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Discussions on Transport Services <taps.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/taps>, <mailto:taps-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/taps/>
List-Post: <mailto:taps@ietf.org>
List-Help: <mailto:taps-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/taps>, <mailto:taps-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 11 Jun 2015 14:40:07 -0000

Hi,

On Jun 11, 2015 4:11 PM, "Mirja Kühlewind" <mirja.kuehlewind@tik.ee.ethz.ch>
wrote:
>
> Hi Gorry,
>
> see below.
>
>
>>> - Limited control over segment transmission scheduling (Nagle's
>>> algorithm):
>>>         This allows for delay minimization in interactive applications.
>>
>>
>> GF: Not quite - To me, it prevents increased delay from the TCP protocol.
>> It doesn't really control anything to reduce delay.
>
>
> Yes, I think we wanted to say the same thing here; don't really see the
difference...

 I don't understand this delay optimization. Is it thanks to Nagle's
algorithm or for the possibility of its deactivation? Because it's known
that this algorithm increase delay and so became unsuitable for
delay-sensitive applications...
>
>
>>
>>> - Port multiplexing, with application-to-port mapping during connection
>>> setup:
>>
>>
>> GF: Thinking on this, is application-to-port mapping really a TCP
>> function? port-mapping is similar in other transports, and doesn't really
>> have any different support in TCP (contrast to the Service Code in DCCP)
>
>
> No it's not specific to TCP but it's still something you get when you use
TCP and that's what we wanted to document here.
>
>
>>
>>>         Note that in the presence of network address and port
translation (NAPT),
>>> TCP
>>> ports are
>>>         in effect part of the endpoint address for forwarding purposes.
>>>
>> GF: This is the case only for those middle boxes that do NAPT,
>> load-ballancing etc, saying they are part of the endpoint address is to
me
>> confusing forwarding by middle boxes from forwarding by routers - I'd
>> prefer to be more careful here.
>
>
> I agree that we should be careful here about the wording. However this
was only a note to explain slightly better what we had in mind here.
>
>
>>
>>> - Full reliability based on ack-based loss detection and retransmission:
>>>         Loss is sensed using duplicated acks ("fast retransmit"), which
places a
>>> lower
>>> bound on
>>>         the delay inherent in this approach to reliability.
>>>
>> GF: DupACK, SACK, and the RTO. (explicit NACK is I think only used in
>> SCPS-TP and probably doesn't nee dot be mentioned).
>
>
> I'd say DupACK and RTO is both ACK-based loss detection where in the
latter case no ACKs are received for a certain time. However we can add
both explicitly here. What we probably should mention is that RTO puts a
maximum bound on the delay. I agree that SACK should probably be mentioned
as well here because this again helps speeding up the retransmissions and
therefore helps reducing delay by head of line blocking.
>
>
>>
>>> - Error detection based on a checksum covering the network and transport
>>> headers
>>> as well as payload:
>>>         Packets that are detected as corrupted are dropped, relying on
the
>>> reliability
>>> mechanism
>>>         to retransmit them.
>>>
>> GF: True (actually packets header checks and data segments + pseudo
header)
>
>
> Sorry, what do you mean by pseudo header here?
>
>
>>
>>> - Window-based flow control, with receiver-side window management and
>>> signaling
>>> of available window:
>>>         Scaling the flow control window beyond 64kB requires the use of
an
>>> optional
>>> feature,
>>>         which has performance implications in environments where this
option is
>>> not
>>> supported.
>>>
>> GF: Does environment mean path? or something else?
>
>
> Both option stripping on the path or no support of the receiving end
point. Can make this more clear.
>
>
>
>>
>>> - Window-based congestion control reacting to loss, delay,
retransmission
>>> timeout, or
>>>         an explicit congestion signal (ECN):
>>>         Most commonly used is a loss signal from the reliability
component's
>>> retransmission mechanism.
>>>         TCP reacts to a congestion signal by reducing the size of the
congestion
>>> window;
>>>         retransmission timeout is generally handled with a larger
reaction than
>>> other  signals.
>>>
>> GF: Generally? Shouldn't RTO imply loss of path state and always result
in
>> a larger reaction? (RTO back-off for instance).
>
>
> In principle yes, but you could easily also implement an congestion
control algorithm there the window is set to minimum for every dupACK. The
'generally' is because there is not the one and only congestion control in
TCP and therefore you never know what people actually implement.
>
>
> Mirja
>
>
> _______________________________________________
> Taps mailing list
> Taps@ietf.org
> https://www.ietf.org/mailman/listinfo/taps