Re: [Taps] TCP components

Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch> Thu, 11 June 2015 14:11 UTC

Return-Path: <mirja.kuehlewind@tik.ee.ethz.ch>
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 BD8621AD37C for <taps@ietfa.amsl.com>; Thu, 11 Jun 2015 07:11:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.91
X-Spam-Level:
X-Spam-Status: No, score=-3.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-2.3, T_RP_MATCHES_RCVD=-0.01] 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 od7ncJ3NutiV for <taps@ietfa.amsl.com>; Thu, 11 Jun 2015 07:11:46 -0700 (PDT)
Received: from smtp.ee.ethz.ch (smtp.ee.ethz.ch [129.132.2.219]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F14411AD376 for <taps@ietf.org>; Thu, 11 Jun 2015 07:11:43 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by smtp.ee.ethz.ch (Postfix) with ESMTP id 12FC4D9305; Thu, 11 Jun 2015 16:11:42 +0200 (MEST)
X-Virus-Scanned: by amavisd-new on smtp.ee.ethz.ch
Received: from smtp.ee.ethz.ch ([127.0.0.1]) by localhost (.ee.ethz.ch [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 0J-w5kXRubpP; Thu, 11 Jun 2015 16:11:41 +0200 (MEST)
Received: from [82.130.103.143] (nb-10510.ethz.ch [82.130.103.143]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mirjak) by smtp.ee.ethz.ch (Postfix) with ESMTPSA id AE9B0D9304; Thu, 11 Jun 2015 16:11:41 +0200 (MEST)
Message-ID: <5579971D.9040509@tik.ee.ethz.ch>
Date: Thu, 11 Jun 2015 16:11:41 +0200
From: Mirja Kühlewind <mirja.kuehlewind@tik.ee.ethz.ch>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
MIME-Version: 1.0
To: gorry@erg.abdn.ac.uk
References: <5579768E.5060402@tik.ee.ethz.ch> <2e1ca6a7e239e671b7516431ad5db93c.squirrel@erg.abdn.ac.uk>
In-Reply-To: <2e1ca6a7e239e671b7516431ad5db93c.squirrel@erg.abdn.ac.uk>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <http://mailarchive.ietf.org/arch/msg/taps/OZZFMvZzha15qqANDeeQ3BGc2RY>
Cc: Brian Trammell <ietf@trammell.ch>, "taps@ietf.org" <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:11:49 -0000

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

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