[Dime] Issue #27 - Result code sent when agent throttles message
Steve Donovan <srdonovan@usdonovans.com> Mon, 24 March 2014 14:37 UTC
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B2711A01FE for <dime@ietfa.amsl.com>; Mon, 24 Mar 2014 07:37:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.58
X-Spam-Level: *
X-Spam-Status: No, score=1.58 tagged_above=-999 required=5 tests=[BAYES_50=0.8, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] autolearn=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 MpmswkYjO5wF for <dime@ietfa.amsl.com>; Mon, 24 Mar 2014 07:37:45 -0700 (PDT)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [23.235.209.16]) by ietfa.amsl.com (Postfix) with ESMTP id EF55C1A0226 for <dime@ietf.org>; Mon, 24 Mar 2014 07:37:44 -0700 (PDT)
Received: from cpe-76-187-100-94.tx.res.rr.com ([76.187.100.94]:55127 helo=SDmac.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <srdonovan@usdonovans.com>) id 1WS60V-0007uU-6k for dime@ietf.org; Mon, 24 Mar 2014 07:37:43 -0700
Message-ID: <53304336.20006@usdonovans.com>
Date: Mon, 24 Mar 2014 09:37:42 -0500
From: Steve Donovan <srdonovan@usdonovans.com>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
MIME-Version: 1.0
To: "dime@ietf.org" <dime@ietf.org>
Content-Type: multipart/alternative; boundary="------------090202030507080405000201"
X-OutGoing-Spam-Status: No, score=-2.9
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - biz131.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - usdonovans.com
X-Get-Message-Sender-Via: biz131.inmotionhosting.com: authenticated_id: srdonovan@usdonovans.com
Archived-At: http://mailarchive.ietf.org/arch/msg/dime/OEsxi8u4gNBx6YP5JTPeZEHOD3g
Subject: [Dime] Issue #27 - Result code sent when agent throttles message
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Diameter Maintanence and Extentions Working Group <dime.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dime>, <mailto:dime-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dime/>
List-Post: <mailto:dime@ietf.org>
List-Help: <mailto:dime-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dime>, <mailto:dime-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 Mar 2014 14:37:47 -0000
All, We don't have a clean solution for this as existing error result codes do not get the desired behavior of the reacting node not retrying the request on another path, if available. The proposal has been made that we propose an extension to 6733 to introduce a new result code. This would be something like: DIAMETER_REQUEST_THROTTLED 3011 A request was received by an agent and the agent determined that the request needed to be throttled due to an existing overload condition. The client SHOULD NOT attempt to retry the request and the client SHOULD NOT attempt to sent the request to an an alternate peer. My assumption is that this extension would be included in the the CER/CEA exchange so an agent would know if it is supported. A client that supports this extension is referred to as a 6733+ client below. A client that doesn't is referred to as a 6733 client. With this extension we have two options for wording to be put into the DOIC specification. 1) Indicate that a DOIC agent that throttles a request MUST send a 3011 error response for all clients, 6733 and 6733+. This would depend on default processing in clients for result codes that the client does not understand. This default processing is not defined in 6733 (at least I didn't find it). The closest I could find was the following. If an unrecognized result code was interpreted as the answer message containing an error then throttling a request would result in the session being terminated. In the case where the answer message itself contains errors, any related session SHOULD be terminated by sending an STR or ASR message. The Termination-Cause AVP in the STR MAY be filled with the appropriate value to indicate the cause of the error. An application MAY also send an application-specific request instead of an STR or ASR message to signal the error in the case where no state is maintained or to allow for some form of error recovery with the corresponding Diameter entity. RFC 6733 - Diameter Base Protocol 2) Indicate that a DOIC agent that throttles a request MUST send a 3011 response to 6733+ clients. For 6733 clients the agent MUST send DIAMETER_TOO_BUSY 3002. This is not perfect as 3002 says the client should try to send to an alternative peer, but it is as close as we can get. Neither of these solutions are perfect and would come with the strong recommendation that Diameter nodes that support DOIC should also support the above extension. I propose number 1 as it at least does result in reduction of traffic sent toward the overloaded server. Regards, Steve
- [Dime] Issue #27 - Result code sent when agent th… Steve Donovan
- Re: [Dime] Issue #27 - Result code sent when agen… Steve Donovan
- Re: [Dime] Issue #27 - Result code sent when agen… Ben Campbell