Re: [hybi] NAT reset recovery? Was: Extensibility mechanisms?

Dave Cridland <dave@cridland.net> Tue, 20 April 2010 13:32 UTC

Return-Path: <dave@cridland.net>
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 8F65B3A6833 for <hybi@core3.amsl.com>; Tue, 20 Apr 2010 06:32:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.67
X-Spam-Level:
X-Spam-Status: No, score=-1.67 tagged_above=-999 required=5 tests=[AWL=0.930, BAYES_00=-2.599]
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 ck80hBRZ9Br5 for <hybi@core3.amsl.com>; Tue, 20 Apr 2010 06:32:55 -0700 (PDT)
Received: from peirce.dave.cridland.net (peirce.dave.cridland.net [IPv6:2001:470:1f09:882:2e0:81ff:fe29:d16a]) by core3.amsl.com (Postfix) with ESMTP id 886CD3A6AD6 for <hybi@ietf.org>; Tue, 20 Apr 2010 06:32:48 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by peirce.dave.cridland.net (Postfix) with ESMTP id A075811680AA; Tue, 20 Apr 2010 14:32:37 +0100 (BST)
X-Virus-Scanned: Debian amavisd-new at peirce.dave.cridland.net
Received: from peirce.dave.cridland.net ([127.0.0.1]) by localhost (peirce.dave.cridland.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UCLVUjryZcJ0; Tue, 20 Apr 2010 14:32:28 +0100 (BST)
Received: from Sputnik (unknown [62.3.217.253]) by peirce.dave.cridland.net (Postfix) with ESMTPA id 02AA511680A7; Tue, 20 Apr 2010 14:32:28 +0100 (BST)
References: <20100419091736.GA28758@shareable.org> <B3F72E5548B10A4A8E6F4795430F841832040920C4@NOK-EUMSG-02.mgdnok.nokia.com> <20100419121000.GG28758@shareable.org> <87764B8E-5872-40EE-AA2F-D4E659B94F63@d2dx.com> <20100419140423.GC3631@shareable.org> <6959E9B3-B1AC-4AFB-A53D-AB3BA340208C@d2dx.com> <B3F72E5548B10A4A8E6F4795430F841832040F78C0@NOK-EUMSG-02.mgdnok.nokia.com> <w2q5821ea241004191309t7362de42p922788d380119dc4@mail.gmail.com> <B3F72E5548B10A4A8E6F4795430F841832040F78DB@NOK-EUMSG-02.mgdnok.nokia.com> <20100420013220.GC21899@shareable.org> <l2s5821ea241004192301u692d2344y8da146470a68ab75@mail.gmail.com> <8B0A9FCBB9832F43971E38010638454F03E7D06A36@SISPE7MB1.commscope.com> <B3F72E5548B10A4A8E6F4795430F841832040F7B57@NOK-EUMSG-02.mgdnok.nokia.com> <4991.1271757865.754227@Sputnik> <B3F72E5548B10A4A8E6F4795430F841832040F80E5@NOK-EUMSG-02.mgdnok.nokia.com>
In-Reply-To: <B3F72E5548B10A4A8E6F4795430F841832040F80E5@NOK-EUMSG-02.mgdnok.nokia.com>
MIME-Version: 1.0
Message-Id: <4991.1271770347.895915@Sputnik>
Date: Tue, 20 Apr 2010 14:32:27 +0100
From: Dave Cridland <dave@cridland.net>
To: "Markus.Isomaki@nokia.com" <Markus.Isomaki@nokia.com>, Server-Initiated HTTP <hybi@ietf.org>, "Thomson, Martin" <Martin.Thomson@andrew.com>, Pieter Hintjens <ph@imatix.com>, Jamie Lokier <jamie@shareable.org>
Content-Type: text/plain; delsp="yes"; charset="us-ascii"; format="flowed"
Subject: Re: [hybi] NAT reset recovery? Was: Extensibility mechanisms?
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: Tue, 20 Apr 2010 13:32:58 -0000

On Tue Apr 20 13:42:47 2010, Markus.Isomaki@nokia.com wrote:
> Dave Cridland wrote:
> >
> >Note that in IMAP, there are technically no actual keepalives,
> >but servers can send an ignorable
> >"* OK", and in extreme cases, can fake a delivery to cause a
> >client to do something. Clients have a NOOP command. I suspect
> >a lot of the issues with IMAP relate to there being no simple
> >way for the server to ping the client built-in to the protocol.
> >
> 
> Yes, this "* OK" is what I have seen. I agree that the lack of an  
> explicit in-built mechanism is an issue and we should learn from  
> that for WebSocket.
> 
> 
What you'll also see on some IMAP servers is a "* EXISTS"/"* EXPUNGE"  
sequence sent at about the 29th minute of a client in IDLE mode, as  
that turns out to be the only way to "wake" some clients and check if  
they're there. This is a hideous hack, but the thing is that it's now  
too late (by 20 years) to mandate a server-initiated NOOP.


> >Having the server send a SP on an idle session is
> >useful for defeating NAT timeouts,
> 
> Here I'd really prefer the client to do it, as it should know  
> better. And the host can potentially optimize between different  
> connections etc.
> 
> 
I'm open to suggestions. If the server sends a simple keepalive only  
on silent connections on a reasonably lengthy interval, this seems to  
be to cover most options - it in effect means that clients can do it  
sooner if they wish.


> >whereas the ping
> >(XEP-0199) is extremely useful to definitively check reachability.
> >
> 
> Is that being used today by servers?
> 
> 
Absolutely, if you connect an XMPP client to jabber.org and leave it  
idle and silent, the server will eventually wonder if you're still  
there and ping you (it'll take about 5-7 minutes). Other servers may  
well do similar things.

Dave.
-- 
Dave Cridland - mailto:dave@cridland.net - xmpp:dwd@dave.cridland.net
  - acap://acap.dave.cridland.net/byowner/user/dwd/bookmarks/
  - http://dave.cridland.net/
Infotrope Polymer - ACAP, IMAP, ESMTP, and Lemonade