Re: [hybi] Clarify the role of closing handshake

Takeshi Yoshino <tyoshino@google.com> Sat, 12 February 2011 01:25 UTC

Return-Path: <tyoshino@google.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 8EBC33A6A62 for <hybi@core3.amsl.com>; Fri, 11 Feb 2011 17:25:44 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.976
X-Spam-Level:
X-Spam-Status: No, score=-102.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id mDVnmen9M1Xh for <hybi@core3.amsl.com>; Fri, 11 Feb 2011 17:25:43 -0800 (PST)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by core3.amsl.com (Postfix) with ESMTP id 2C7A03A6A21 for <hybi@ietf.org>; Fri, 11 Feb 2011 17:25:42 -0800 (PST)
Received: from hpaq14.eem.corp.google.com (hpaq14.eem.corp.google.com [172.25.149.14]) by smtp-out.google.com with ESMTP id p1C1Pupd003598 for <hybi@ietf.org>; Fri, 11 Feb 2011 17:25:56 -0800
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1297473956; bh=r+bF9MDOCqo1Fi+lM7DUGYRcyKs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=i4mdDlK0eehzv0owFKRpsYnSIcDWwHY78yqcywiqq9dMzTXKGRCAWwvZRK0RmHyh3 2/7HEV2NrhF3ZFLu262hQ==
Received: from ywo7 (ywo7.prod.google.com [10.192.15.7]) by hpaq14.eem.corp.google.com with ESMTP id p1C1PoAn031994 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <hybi@ietf.org>; Fri, 11 Feb 2011 17:25:51 -0800
Received: by ywo7 with SMTP id 7so1377969ywo.33 for <hybi@ietf.org>; Fri, 11 Feb 2011 17:25:50 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=beta; h=domainkey-signature:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-type; bh=8Cy/cbpKn0+iPFjnNiW3RCUly7e+KnmTJSZqfqDmYTY=; b=BIMzgQBW6A4hYW1qAT8eBTaEM/TAfCQdxUL7E5+WEq2kvzd1M8/HXi/f7qjhfuM35g O2OFwkzzk/mn34JRfqKQ==
DomainKey-Signature: a=rsa-sha1; c=nofws; d=google.com; s=beta; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; b=b1tqwRiO0pK4N4m/GSSPEDh3Gh2b/g5SpUeFTNeqPblyADaEJYiV9U18sJi3hr2fkF nVzJlpLo2w4Hs1JY/P9g==
Received: by 10.150.204.2 with SMTP id b2mr1342868ybg.447.1297473948262; Fri, 11 Feb 2011 17:25:48 -0800 (PST)
MIME-Version: 1.0
Received: by 10.150.91.16 with HTTP; Fri, 11 Feb 2011 17:25:27 -0800 (PST)
In-Reply-To: <AANLkTimizRk+73rHJcw16JdWwM8Ax9dhpUqNxEdPLyL4@mail.gmail.com>
References: <OFAAD26076.80417033-ON88257834.006C2055-88257834.0072D42E@playstation.sony.com> <OF4A78F456.78EA8086-ON88257834.00735B16-88257834.0074BBCC@playstation.sony.com> <AANLkTimizRk+73rHJcw16JdWwM8Ax9dhpUqNxEdPLyL4@mail.gmail.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Fri, 11 Feb 2011 17:25:27 -0800
Message-ID: <AANLkTikFBdEGwcoya6o7BNAz9cKtetoz6Ahy-0MN4RQu@mail.gmail.com>
To: Yutaka_Takeda@playstation.sony.com
Content-Type: multipart/alternative; boundary="000e0cd37526caa2bb049c0bb194"
X-System-Of-Record: true
Cc: hybi@ietf.org
Subject: Re: [hybi] Clarify the role of closing handshake
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 12 Feb 2011 01:25:44 -0000

On Fri, Feb 11, 2011 at 16:17, Takeshi Yoshino <tyoshino@google.com> wrote:

>  - didn't receive Close means (?)
> -- because of RST issue
> -- because of network issue
>
> We have to give (?) some semantics that's not confusing.
>

s/semantics/explanation/


> If this is too complicated, then don't bother sending 'Close' but just
>> close TCP socket,
>> which would be the simplest. My preference is to do above cleanup
>> properly.
>>
>>
> IIRC, there was discussion in designing -00 closing handshake that we
> should avoid underlying transport layer's semantics in realizing WebSocket
> layer event.
>

Citing Hixie's post
http://www.ietf.org/mail-archive/web/hybi/current/msg01526.html

... -- people cited numerous examples of cases where we can't rely on
TCP semantics in practice -- ...


> To follow this philosophy, we could replace the last FIN with Close frame.
> i.e. we again ask both sides send a Close frame so that both sides can
> safely invoke close(2) after seeing Close frame.
>
>
Note that this is the same as "2) drop feature-b)" in my first post in this
thread
- a bit more complicated than what Gabriel proposed and I've cleaned up into
text
- intermediaries have to keep the connection until it sees Close frame on
both direction
- a peer have to wait for reply just to deal with this RST hazard even
though it's not interested in the other peer any more