[sipcore] Happy Earballs
worley@ariadne.com (Dale R. Worley) Tue, 04 April 2017 19:54 UTC
Return-Path: <worley@alum.mit.edu>
X-Original-To: sipcore@ietfa.amsl.com
Delivered-To: sipcore@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AA25C1294E2 for <sipcore@ietfa.amsl.com>; Tue, 4 Apr 2017 12:54:21 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.934
X-Spam-Level:
X-Spam-Status: No, score=-1.934 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_SOFTFAIL=0.665] autolearn=no autolearn_force=no
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 o0MR9_30BG7Z for <sipcore@ietfa.amsl.com>; Tue, 4 Apr 2017 12:54:20 -0700 (PDT)
Received: from resqmta-ch2-10v.sys.comcast.net (resqmta-ch2-10v.sys.comcast.net [IPv6:2001:558:fe21:29:69:252:207:42]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 56411127449 for <sipcore@ietf.org>; Tue, 4 Apr 2017 12:54:18 -0700 (PDT)
Received: from resomta-ch2-04v.sys.comcast.net ([69.252.207.100]) by resqmta-ch2-10v.sys.comcast.net with SMTP id vUVocXPTY61D9vUWvcYeEU; Tue, 04 Apr 2017 19:54:17 +0000
Received: from hobgoblin.ariadne.com ([IPv6:2601:192:4603:9471:222:fbff:fe91:d396]) by resomta-ch2-04v.sys.comcast.net with SMTP id vUWucFxNGFcZ2vUWvcDs3B; Tue, 04 Apr 2017 19:54:17 +0000
Received: from hobgoblin.ariadne.com (hobgoblin.ariadne.com [127.0.0.1]) by hobgoblin.ariadne.com (8.14.7/8.14.7) with ESMTP id v34JsG1h028982 for <sipcore@ietf.org>; Tue, 4 Apr 2017 15:54:16 -0400
Received: (from worley@localhost) by hobgoblin.ariadne.com (8.14.7/8.14.7/Submit) id v34JsFaC028979; Tue, 4 Apr 2017 15:54:15 -0400
X-Authentication-Warning: hobgoblin.ariadne.com: worley set sender to worley@alum.mit.edu using -f
From: worley@ariadne.com
To: sipcore@ietf.org
Sender: worley@ariadne.com
Date: Tue, 04 Apr 2017 15:54:15 -0400
Message-ID: <87zifw9cew.fsf@hobgoblin.ariadne.com>
X-CMAE-Envelope: MS4wfBzu9grnqoMobto9k9nQFyGtNFZcHhQur2br9RzkBMJ3G8OCHf8hcvp2wkU3UX1kik4gFTryyPL9HKc+Jbi65OMFSM8z3g7VqopFECKQ3fZMXV4Zcsi7 KKazXbRxsaC3PjZnrB4AQ1qKfomnoy9TEW3fExaRKNDai6iY4pmHPy+t
Archived-At: <https://mailarchive.ietf.org/arch/msg/sipcore/ak56TRPQTomr97OUVAbJddPWAMQ>
Subject: [sipcore] Happy Earballs
X-BeenThere: sipcore@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: SIP Core Working Group <sipcore.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sipcore>, <mailto:sipcore-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sipcore/>
List-Post: <mailto:sipcore@ietf.org>
List-Help: <mailto:sipcore-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sipcore>, <mailto:sipcore-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Apr 2017 19:54:22 -0000
I've submitted an update on the Happy Earballs algorithm I've been working on, draft-worley-sipcore-happy-earballs-00, and I'd like feedback. The details are in the draft, of course, but the outline is this: RFC 3263 specifies that the various target addresses for a SIP message must be contacted in a particular order. If a target fails to respond, the sender has to wait (possibly resending) for 32 seconds (by default) before moving on to another target. This creates a horrible user experience if the sender thinks it has connectivity to a target (e.g., an IPv6 address) but doesn't. To get around this, introduce a new rule: a sender is allowed to change the order of contacting targets provided that collectively, all targets that are "responsive" still receive the traffic distribution that would result from strict application of RFC 3263. A sender caches information about the responsiveness of targets and uses that, along with the DNS information, to decide what order to contact the targets. If a sender doesn't have responsiveness information about a target, it first sends a non-state-changing probe communication to the target to determine if the target is responsive. One example of a probe is an OPTIONS request with "Max-Forwards: 0". (In the case of two TCP targets, which parallels RFC 6555 and draft-johansson-sipcore-he-connection, the sender can simultaneously initiate TCP connections to the targets because the TCP SYNs are probes of the targets. Whichever target responds fastest is necessarily "responsive".) Within this framework, and the goal of minimizing the time required to send messages, the sender is confined to a fairly narrow range of behaviors, which can be characterized by a generic algorithm that has certain degrees of freedom that can be called a "policy". Dale
- [sipcore] Happy Earballs Dale R. Worley