Re: [hybi] Ping/Pong body (was Re: TSV-Directorate review of draft-ietf-hybi-thewebsocketprotocol-07)

Takeshi Yoshino <tyoshino@google.com> Mon, 23 May 2011 04:37 UTC

Return-Path: <tyoshino@google.com>
X-Original-To: hybi@ietfa.amsl.com
Delivered-To: hybi@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6FD75E06FD for <hybi@ietfa.amsl.com>; Sun, 22 May 2011 21:37:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.976
X-Spam-Level:
X-Spam-Status: No, score=-105.976 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id S4zj3ujt6MW9 for <hybi@ietfa.amsl.com>; Sun, 22 May 2011 21:37:24 -0700 (PDT)
Received: from smtp-out.google.com (smtp-out.google.com [74.125.121.67]) by ietfa.amsl.com (Postfix) with ESMTP id 89FE2E06A6 for <hybi@ietf.org>; Sun, 22 May 2011 21:37:24 -0700 (PDT)
Received: from hpaq12.eem.corp.google.com (hpaq12.eem.corp.google.com [172.25.149.12]) by smtp-out.google.com with ESMTP id p4N4bNPT011394 for <hybi@ietf.org>; Sun, 22 May 2011 21:37:23 -0700
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=google.com; s=beta; t=1306125443; bh=xXsC17F+NltW5p+ZTkye7MUxRHs=; h=MIME-Version:In-Reply-To:References:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=UO2grgHR2tgvA+fmq2E74LXSTcdS0ZFoQtDLzjAyMSTfcpOz858DBxNLzg8cIlSfe 1zGs47g6yILH99+kfVpng==
Received: from ywe9 (ywe9.prod.google.com [10.192.5.9]) by hpaq12.eem.corp.google.com with ESMTP id p4N4bLIS007659 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NOT) for <hybi@ietf.org>; Sun, 22 May 2011 21:37:22 -0700
Received: by ywe9 with SMTP id 9so1772031ywe.19 for <hybi@ietf.org>; Sun, 22 May 2011 21:37:21 -0700 (PDT)
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=iNn+QOdtFJZDy2zFYx3lDKAt9zgOWYGzt/db3crdg10=; b=xqLD+Fs2e33rXCEn5Jxm7zdszw75C+iF9mIsSYnP4quQWQ4hcI1tccqY/uoY88Bmxr nPOfqEjfSAc01sRBDnKA==
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=Y80M5cfGhHg/Ns+EK0NHxYFGf3EPUqt1qsTXCPvPD2uHMmKuvTHUwRAv1550YLkZ+X XEDoLl5VngjEeDwyEWCQ==
Received: by 10.151.77.33 with SMTP id e33mr2293582ybl.0.1306125441117; Sun, 22 May 2011 21:37:21 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.150.50.13 with HTTP; Sun, 22 May 2011 21:37:01 -0700 (PDT)
In-Reply-To: <4DD9686C.7020509@callenish.com>
References: <ED13A76FCE9E96498B049688227AEA292C6A81E4@TK5EX14MBXC206.redmond.corp.microsoft.com> <4DD9686C.7020509@callenish.com>
From: Takeshi Yoshino <tyoshino@google.com>
Date: Mon, 23 May 2011 13:37:01 +0900
Message-ID: <BANLkTin2LcHgPH7s4-T_1LJa_UhkigJziw@mail.gmail.com>
To: Bruce Atherton <bruce@callenish.com>
Content-Type: multipart/alternative; boundary="000e0cd630e2f32fbf04a3ea060c"
X-System-Of-Record: true
Cc: "hybi@ietf.org" <hybi@ietf.org>
Subject: Re: [hybi] Ping/Pong body (was Re: TSV-Directorate review of draft-ietf-hybi-thewebsocketprotocol-07)
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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: Mon, 23 May 2011 04:37:25 -0000

>
> 3) Should there be an indicator for unsolicited Pongs and/or Pings that
> need no response.


> I don't see why this is necessary or desirable so long as the body of the
> Pong in some way indicates the Ping it is responding to. Allowing
> unsolicited Pongs removes any usecase for Pings without responses as far as
> I can see.


I think so. What I'm proposing is doing either of adding flag to Ping or
adding flag to Pong. Not both.

Here, I'll reply to your comments assuming we add flag to Pong.


> As far as unsolicited Pongs go, if the Pong body does not match a Ping that
> was sent out, then surely it can be assumed to be an unsolicited Pong.
>
>
It's possible that A sends an unsolicited Pong with the same body as a Ping
sent by B. How do you choose Pong body for unsolicited Pong? As initially
most of implementors are not interested in using the body of Ping and
unsolicited Pong, they'll try to use an empty string. Some may choose non
empty string X for its Ping body but some other may also use the same string
X for its unsolicited Pongs' body. It will be quickly out of control.

So then, Pings can be often acked by unsolicited Pongs. It's not so harmful
as the only weird thing we'll see is the very very small RTT for such Pings
for now, but I prefer to mark them in the spec level to reduce the
possibility of problems in the future extension.


> What is the marker trying to indicate? That if we have a Pong that claims
> to be solicited and does not match the Ping body that there is a bug in the
> server implementation, or perhaps that the server is mistaken in the client
> it thinks it is communicating with? Is this really necessary?
>

That's not the case I was arguing. Pong that claims to be unsolicited and
does match the Ping body is what I have concern over.