Re: [tcpm] 793bis ready to go?

Joseph Touch <touch@strayalpha.com> Sat, 20 February 2021 21:37 UTC

Return-Path: <touch@strayalpha.com>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 992F43A0DC0 for <tcpm@ietfa.amsl.com>; Sat, 20 Feb 2021 13:37:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.241
X-Spam-Level:
X-Spam-Status: No, score=0.241 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HAS_X_OUTGOING_SPAM_STAT=2.339, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=strayalpha.com
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 L5iGaZEtrWHE for <tcpm@ietfa.amsl.com>; Sat, 20 Feb 2021 13:37:54 -0800 (PST)
Received: from server217-5.web-hosting.com (server217-5.web-hosting.com [198.54.116.226]) (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 809ED3A0DBC for <tcpm@ietf.org>; Sat, 20 Feb 2021 13:37:54 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=strayalpha.com; s=default; h=To:References:Message-Id: Content-Transfer-Encoding:Cc:Date:In-Reply-To:From:Subject:Mime-Version: Content-Type:Sender:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=FWmRKMfox2tFV8Pwrm8nbAriiOZxTOCgF0gLX+BK0Os=; b=cRKBvquqpv7Jq/tc5vruReDPm /EWUbIAK1TMATfH3pn8T85nGXshsNq7uUjzrZGOd8sKPeUKTmyOhAqMX5wZo3Ag+BW2vaE+27nj5G KAm36yubcuz/RjVz7iNtrpM0zQwtswmo/rtVJxUZF9v6de+tm/0lA7HTWhiwQqgbK5W7P6r595XbT WgD6MqrIs7/3ipAjyGwHjWCThkrZ3VtrrIPKrth0/3kzUTDDZhc5nEE8wm+1IMX+MYHh9cqCUJYd8 R6aTdlQ7sF4bBwYbBkfFLQbBzXuYv1wlxrtJTnOYtaU5oiPuUmAic0qUIX3oQVKKJFzwopdrIDLUA 3HlOWWyJA==;
Received: from cpe-172-250-225-198.socal.res.rr.com ([172.250.225.198]:55515 helo=[192.168.1.14]) by server217.web-hosting.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.93) (envelope-from <touch@strayalpha.com>) id 1lDZwi-001rJ0-BO; Sat, 20 Feb 2021 16:37:53 -0500
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\))
From: Joseph Touch <touch@strayalpha.com>
In-Reply-To: <51A077AB-F5A5-4E4E-9B7F-C606DF50C407@fh-muenster.de>
Date: Sat, 20 Feb 2021 13:37:47 -0800
Cc: "Scheffenegger, Richard" <rs.ietf@gmx.at>, tcpm IETF list <tcpm@ietf.org>, Markku Kojo <kojo=40cs.helsinki.fi@dmarc.ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <4F753030-7F77-4D6C-98B5-3F1FCBDBA076@strayalpha.com>
References: <cd600644350847ef8415d21588d1e912@hs-esslingen.de> <alpine.DEB.2.21.2102160206350.3820@hp8x-60.cs.helsinki.fi> <07c02ad6-979f-4049-3075-cae0064b7def@gmx.at> <51A077AB-F5A5-4E4E-9B7F-C606DF50C407@fh-muenster.de>
To: Michael Tuexen <tuexen@fh-muenster.de>
X-Mailer: Apple Mail (2.3654.60.0.2.21)
X-OutGoing-Spam-Status: No, score=-0.2
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - server217.web-hosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - strayalpha.com
X-Get-Message-Sender-Via: server217.web-hosting.com: authenticated_id: touch@strayalpha.com
X-Authenticated-Sender: server217.web-hosting.com: touch@strayalpha.com
X-Source:
X-Source-Args:
X-Source-Dir:
X-From-Rewrite: unmodified, already matched
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/wTU0qISoav5emjruwl53UtsH_28>
Subject: Re: [tcpm] 793bis ready to go?
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
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: <https://mailarchive.ietf.org/arch/browse/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, 20 Feb 2021 21:37:56 -0000

Even if you prefer the FreeBSD variant, the text below doesn’t appear to fix this; it will end up sending the SYN-ACK of the received data *and a second ACK* at the end of the sixth step.

Joe

> On Feb 20, 2021, at 12:56 PM, tuexen@fh-muenster.de wrote:
> 
>> On 18. Feb 2021, at 14:59, Scheffenegger, Richard <rs.ietf@gmx.at> wrote:
>> 
>> One more nit, around dealing with data-in-SYN,ACK
>> 
>> 793bis (page 71) has this text, which unfortunately doesn have any
>> RFC2119 language.
>> 
>> But in short, it seems to require the transmission of a pure ACK just
>> for the SYN bit, and a 2nd ACK right afterwards (step 6) to acknowledge
>> the data.
>> 
>> The FBSD implementation was found to skip over the ACK-only-the-SYN
>> intermediate step (which must be acceptable, as that ACK may get lost in
>> the network), sending out only the cummulative ACK for SYN and data,
>> after having transitioned into ESTABLISHED.
> Hi,
> 
> I really prefer the FreeBSD behaviour. A TCP stack should not need to send
> two segments at the same time when handling the event of a single segment reception.
> 
> Best regards
> Michael, as an individual
>> 
>> But strictly speaking, this behavior is a deviation from 793 / 793bis.
>> 
>> Perhaps a "and should send it" would do, to allow this behavior,
>> conserving one pure ACK...
>> 
>> Best regards,
>>  Richard
>> 
>> 
>> 
>> If the state is SYN-SENT then
>> 
>>        first check the ACK bit
>> 
>>           If the ACK bit is set
>> :
>> :
>> fourth check the SYN bit
>> 
>>           This step should be reached only if the ACK is ok, or there
>>           is no ACK, and it the segment did not contain a RST.
>> 
>>           If the SYN bit is on and the security/compartment is
>>>>>        acceptable then, RCV.NXT is set to SEG.SEQ+1, IRS is set to
>>           SEG.SEQ.  SND.UNA should be advanced to equal SEG.ACK (if
>>           there is an ACK), and any segments on the retransmission
>>           queue that are thereby acknowledged should be removed.
>> 
>>           If SND.UNA > ISS (our SYN has been ACKed), change the
>>           connection state to ESTABLISHED, form an ACK segment
>> 
>>>>>           <SEQ=SND.NXT><ACK=RCV.NXT><CTL=ACK>
>> 
>>           and send it.  Data or controls that were queued for
>>           transmission may be included.  If there are other controls
>> or text in the segment then continue processing at the sixth
>>           step below where the URG bit is checked, otherwise return.
>> 
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org
>> https://www.ietf.org/mailman/listinfo/tcpm
> 
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm