Re: [tcpm] Meeting Notes // TCP silent close issue

Yoshifumi Nishida <nsd.ietf@gmail.com> Mon, 29 November 2021 10:22 UTC

Return-Path: <nsd.ietf@gmail.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 DBA873A0112 for <tcpm@ietfa.amsl.com>; Mon, 29 Nov 2021 02:22:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 DTwHdt4wX74d for <tcpm@ietfa.amsl.com>; Mon, 29 Nov 2021 02:22:09 -0800 (PST)
Received: from mail-qk1-x729.google.com (mail-qk1-x729.google.com [IPv6:2607:f8b0:4864:20::729]) (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 48FC63A0064 for <tcpm@ietf.org>; Mon, 29 Nov 2021 02:22:09 -0800 (PST)
Received: by mail-qk1-x729.google.com with SMTP id d2so22248057qki.12 for <tcpm@ietf.org>; Mon, 29 Nov 2021 02:22:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TMZIZZPdwaPZHWRg1xr89GU4IIxVnIBKSjUK8mju2Gs=; b=pn+edDA6T0VjGLSNvpWZiJUem+hhbpdEWw0PhVrm1WcYIzOpMlGqvjuMR1v6mBBaUy i7Xy/5YkYnb+lWai7bDclojhZP76+0jKgP6gPufayOcfwDUX9HHsOcU8W1QxgubMXkq9 VhuMHenATnGIo0rUTFXCswp5/yNYxDZQ53huSNfOqfl9ydZJI2nM+RMWUZ7s4CtOipML yuvLj/FdccB5AqrpGm/Ao9O4aOye+R/8DlhNZCAjEQoesM807y9k/MAQDIGMpT65ctL0 Uhgnuo90ZPuCZwLVwwxtzwMwEhV1xEzRKnMiPCRkqUfUYUkZwmQJVsmWJhFfZ1ndYRJc i2zg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TMZIZZPdwaPZHWRg1xr89GU4IIxVnIBKSjUK8mju2Gs=; b=NShcMKmHZx8wbZfCiCX62TtPiYj7PzXPX6nab28DWcQ+8ozIOgEqt6SZejal511BuN 2vJBoA1+rNXhevPDY9KD037fOv2Yie9UPZkWCUmQcK645VI30Ipz9j4ab6xpGUclbQ3k VKQrTfk8tTnGPQcWkGpjvg22XiaxI963WdrfQYmneUGMhhVBBv7UCAvke33J+NCpVGf3 9xRmkD9AH9s8EUtMbEr6edEIDkeDy2XY1/G0hUheAf3AWalVDJEd1QB0fyhNC6ddvm/5 umSDyWP9VA0oKheI0HBPTUNlvbks8vQV6jIGcIaJwcm/Cp2V5sfwaFuHzFh8tnGrT9uW rF6g==
X-Gm-Message-State: AOAM533hoN8eU1pDjrkZQlz9qrsl9O7jhMrgqem4TWGM7rpqMmne1xAV ythv0p43sysiR/kZ6IYm0eNGSuwecsWR91Eb5b0=
X-Google-Smtp-Source: ABdhPJzwpdO7QB5bjDUfGoSu5IJOL3ROsw4sKbur8SM1a/1jWEQaj9eOFMT31w20wJLnKqcr5qleukhpL4WnKoDKt2w=
X-Received: by 2002:a05:620a:4155:: with SMTP id k21mr29427827qko.591.1638181327841; Mon, 29 Nov 2021 02:22:07 -0800 (PST)
MIME-Version: 1.0
References: <96A7D17B-D8EC-4724-8E2B-532FEDD3C4B8@fh-muenster.de> <C8B8411B-9332-4A0C-BDF6-C440EC391408@strayalpha.com> <CAAK044TFU1+FVCNPZPxj6b2biZvipyCGa9WNfD9XTTHZZdR+VA@mail.gmail.com> <69ABB460-FF81-4CBF-A562-285E8560382B@strayalpha.com>
In-Reply-To: <69ABB460-FF81-4CBF-A562-285E8560382B@strayalpha.com>
From: Yoshifumi Nishida <nsd.ietf@gmail.com>
Date: Mon, 29 Nov 2021 02:21:56 -0800
Message-ID: <CAAK044QZ5MDxSrrAM_SZ2tjDkAXU0dq=-wV0pC4YYfmcG23p6w@mail.gmail.com>
To: "touch@strayalpha.com" <touch@strayalpha.com>
Cc: Extensions <tcpm@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000001fabf105d1ead039"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/w3TOLKzXdvJK7y7XdGQH0fLfT-w>
Subject: Re: [tcpm] Meeting Notes // TCP silent close issue
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: Mon, 29 Nov 2021 10:22:14 -0000

Hi Joe,

Thanks for the comments.

On Sat, Nov 20, 2021 at 1:07 PM touch@strayalpha.com <touch@strayalpha.com>
wrote:

>
> Notes below…
>
> On Nov 15, 2021, at 11:49 PM, Yoshifumi Nishida <nsd.ietf@gmail.com>
> wrote:
>
> Hi Joe, everyone,
>
> On Fri, Nov 12, 2021 at 8:58 AM touch@strayalpha.com <touch@strayalpha.com>
> wrote:
>
>> Hi, all,
>>
>> I noticed the discussion on TCP “silent close”, but didn’t recall seeing
>> any discussion on this topic on the list, so I figured I’d start one.
>>
>> (Incidentally, a question to the chair: aren’t topics with meeting times
>> slots supposed to have at least been discussed on the list or drafted?)
>>
>> The issue, AFAICT, is that:
>> - an app with a huge number of TCP connections crashes
>> - so the OS sends out that huge number of FINs
>> - which a burden on the OS and network
>> - if the entire OS crashes, no FINs get sent out
>> - so why not let that happen when the apps crash?
>>
>> This is addressed in TIME_WAIT discussions already, e.g.:
>>
>> T. Faber, J. Touch and W. Yue, "The TIME-WAIT state in TCP and its effect
>> on busy servers," IEEE INFOCOM '99. Conference on Computer Communications.
>> Proceedings. Eighteenth Annual Joint Conference of the IEEE Computer and
>> Communications Societies. The Future is Now (Cat. No.99CH36320), 1999, pp.
>> 1573-1583 vol.3, doi: https://doi.org/10.1109/INFCOM.1999.752180
>>
>>
>> The reason is RFCs 793 and 1122 both require hosts to avoid new
>> connections for the TIME_WAIT period during a reboot, ensuring the safety
>> of the orphan TCP connections on the remote systems.
>>
>> So, in this case, it would be OK for the OS to avoid sending out the
>> burst of FINs, but *ONLY* if it also ensured those connection identifiers
>> (at least) remained in TIME_WAIT. I.e., it would be possible for the OS to
>> simply put them in TIME_WAIT and then allow the TCBs to be garbage
>> collected either during a scan of TCBs or when a new connection on the same
>> socket pair occurs. That can happen one of two ways:
>> - put the TCBs in TIME_WAIT directly (or perform equivalent bookkeeping)
>> - have the OS pause new connections for the TIME_WAIT period, i.e.,
>> emulating the reboot pause
>>
>
> While I basically agree with what you're proposing here, I would like to
> think about something extra.
> In a nutshell, I am thinking that TIME_WAIT is a bit outdated mechanism
> given that most TCP connections today use TLS.
>
>
> We can’t rely on TLS; it’s not required and is defined as an application
> on top of TCP, rather than being integrated into it.
>
> As I wrote in my old I_D (
> https://datatracker.ietf.org/doc/html/draft-nishida-tcpm-disabling-paws-00#section-3.3
> ),
> if a connection uses TLS, I think we can distinguish the packets from old
> connections.
>
>
> By the time TLS sees it, it’s too late; TCP has already acted on it (e.g.,
> ACKd it, etc.).
>

Right. But, I am thinking that the boundary between TLS and TCP might
be becoming ambiguous.
If this is the direction to be evolved, I think it would be worth thinking
about something like this.
--
Yoshi