Re: [hybi] Ping/Pong body (was Re: TSV-Directorate review of draft-ietf-hybi-thewebsocketprotocol-07)
Bruce Atherton <bruce@callenish.com> Sun, 22 May 2011 21:03 UTC
Return-Path: <bruce@callenish.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 E745BE068F for <hybi@ietfa.amsl.com>; Sun, 22 May 2011 14:03:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.001, BAYES_00=-2.599]
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 D5jHkUaqTX6b for <hybi@ietfa.amsl.com>; Sun, 22 May 2011 14:03:25 -0700 (PDT)
Received: from biz82.inmotionhosting.com (biz82.inmotionhosting.com [74.124.202.87]) by ietfa.amsl.com (Postfix) with ESMTP id E3649E0651 for <hybi@ietf.org>; Sun, 22 May 2011 14:03:25 -0700 (PDT)
Received: from [24.108.133.142] (helo=[192.168.145.101]) by biz82.inmotionhosting.com with esmtpa (Exim 4.69) (envelope-from <bruce@callenish.com>) id 1QOEdI-0000kc-7x for hybi@ietf.org; Sun, 22 May 2011 12:48:12 -0700
Message-ID: <4DD9686C.7020509@callenish.com>
Date: Sun, 22 May 2011 12:47:56 -0700
From: Bruce Atherton <bruce@callenish.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.17) Gecko/20110414 Lightning/1.0b2 Thunderbird/3.1.10
MIME-Version: 1.0
To: "hybi@ietf.org" <hybi@ietf.org>
References: <ED13A76FCE9E96498B049688227AEA292C6A81E4@TK5EX14MBXC206.redmond.corp.microsoft.com>
In-Reply-To: <ED13A76FCE9E96498B049688227AEA292C6A81E4@TK5EX14MBXC206.redmond.corp.microsoft.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz82.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - callenish.com
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: Sun, 22 May 2011 21:03:27 -0000
It seems there are still a number of issues around Ping/Pong. Here are my thoughts on them: 1) Should multiple Pings be allowed before a response Pong is received? Surely this is the business of the implementation/application and not the specification. If someone has a use for such a thing, why not allow it? 2) Should Ping and Pong be allowed to have a body? I think it is a useful and desirable feature. It allows matching Pongs to Pings, as well as being an area for experimenting with new ideas in how the Ping and Pong are used. The argument has been brought up that the bodies are useless without a standard way of interpreting them. This is absolutely true. Why not allow experimentation so that people can come up with standards for them? What is the downside to allowing it? 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. 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. 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? 4) Should we allow the Pong body to contain extra data beyond just echoing the Ping body? Again, I think this is a harmless way to allow experimentation on uses for Ping and Pong. I don't see any reason for disallowing it. It has been claimed that there could not be any value in allowing additional information because Ping/Pong frames run at a higher priority than other Websocket traffic, and so any data they carry on network characteristics would not reflect the behaviour of other data in the channel. This makes a couple of assumptions that I think are questionable. First, are all possible uses of Ping and Pong concerned with network characteristics? Even if so, are all possible network characteristics rendered moot by higher priority traffic? I don't see it necessarily follows that these two assumptions are valid. So if it were up to me, I would just change the spec to indicate that the Pong must respond with the Ping body, but is allowed to add any data it wishes to afterward. In fact, you could even change it to respond with just a hash of the Ping body followed by any other data it wanted to (SHA1 + Base64 for consistency). I wouldn't add in a flag for unsolicited vs. solicited Pongs since the Pong response does that for us by indicating the Ping it is responding to, but if others wanted it then I wouldn't stand in their way. Although, if you are going to specify a byte for a single flag then you may want to indicate the other 7 bits are reserved for future use.
- [hybi] Ping/Pong body (was Re: TSV-Directorate re… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Salvatore Loreto
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Bruce Atherton
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Gabriel Montenegro
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Piotr Kulaga
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Brian McKelvey
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Piotr Kulaga
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Greg Wilkins
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Brian McKelvey
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Patrick McManus
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Jamie Lokier
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Gabriel Montenegro
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Salvatore Loreto
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Bruce Atherton
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Pieter Hintjens
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Jamie Lokier
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Jamie Lokier
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Pieter Hintjens
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Bruce Atherton
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Patrick McManus
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Patrick McManus
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Willy Tarreau
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Patrick McManus
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Brian McKelvey
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Greg Wilkins
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Takeshi Yoshino
- Re: [hybi] Ping/Pong body (was Re: TSV-Directorat… Gabriel Montenegro