[Dime] Diameter Load value and SRV
Steve Donovan <srdonovan@usdonovans.com> Fri, 11 March 2016 00:13 UTC
Return-Path: <srdonovan@usdonovans.com>
X-Original-To: dime@ietfa.amsl.com
Delivered-To: dime@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5B48212DF0F for <dime@ietfa.amsl.com>; Thu, 10 Mar 2016 16:13:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.28
X-Spam-Level:
X-Spam-Status: No, score=0.28 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, HTML_MESSAGE=0.001, SPF_NEUTRAL=0.779] 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 fpDd2xB6YRWL for <dime@ietfa.amsl.com>; Thu, 10 Mar 2016 16:13:01 -0800 (PST)
Received: from biz131.inmotionhosting.com (biz131.inmotionhosting.com [173.247.247.250]) (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 EAAD112DF0E for <dime@ietf.org>; Thu, 10 Mar 2016 16:13:01 -0800 (PST)
Received: from cpe-97-99-50-102.tx.res.rr.com ([97.99.50.102]:59262 helo=Steves-MacBook-Air.local) by biz131.inmotionhosting.com with esmtpsa (TLSv1.2:DHE-RSA-AES256-SHA:256) (Exim 4.86_1) (envelope-from <srdonovan@usdonovans.com>) id 1aeAhQ-003kTm-8y for dime@ietf.org; Thu, 10 Mar 2016 16:13:01 -0800
To: "dime@ietf.org" <dime@ietf.org>
From: Steve Donovan <srdonovan@usdonovans.com>
Message-ID: <56E20D8B.6010408@usdonovans.com>
Date: Thu, 10 Mar 2016 18:12:59 -0600
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------050409020005020202050108"
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
X-Authenticated-Sender: biz131.inmotionhosting.com: srdonovan@usdonovans.com
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/SBYT237mYUGAcefqeegB5whXd20>
Subject: [Dime] Diameter Load value and SRV
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 11 Mar 2016 00:13:03 -0000
All, The current version of the Diameter Load draft says that the load value should be consistent with the use of DNS SRV. It then has an editor's note indicating that we need more detail. The following is my proposal for that additional detail. The relevant section from RFC 2782 (DNS SRV) is the description of the Priority and Weight parameters in the SRV RR copied below. It is mostly based on the Weight section but I included Priority because it is referenced in the Weight section. My proposal is that the Load value communicated in a Diameter Load report be used to dynamically update the Weight value for an entries in the Routing table and in the Peer table. Note that the load mechanism does not give a way to change the priority value. That would still either come as a result of a DNS SRV query or through statically configuring a Diameter node. If this is the case, then the load value would be in the range of 0-65535. The distribution algorithm below results in more messages being sent to a node with a higher weight value. As a result, a higher Diameter load value would indicate a LOWER load on the sending node. A node that is heavily loaded would send a lower load value. Stated another way, a node that has zero load would have a load value of 65535. A node that is 100% loaded would have a load value of 0. The algorithm below would be a suggestion for how Diameter nodes would use the load information but the actual method for using the load information would be an implementation decision. The algorithm would be used in two places. First, Diameter nodes doing the server selection would use the load information to select from a set of candidate servers for a request. It would also be used for selecting the next hop from a set of candidate peer nodes. If there is consensus on this general approach then I will add the appropriate overview and normative requirements in the next version of the Load draft. I am planning to submit that draft prior to the IETF 95 deadline. Regards, Steve ----- Priority The priority of this target host. A client MUST attempt to contact the target host with the lowest-numbered priority it can reach; target hosts with the same priority SHOULD be tried in an order defined by the weight field. The range is 0-65535. This is a 16 bit unsigned integer in network byte order. Weight A server selection mechanism. The weight field specifies a relative weight for entries with the same priority. Larger weights SHOULD be given a proportionately higher probability of being selected. The range of this number is 0-65535. This is a 16 bit unsigned integer in network byte order. Domain administrators SHOULD use Weight 0 when there isn't any server selection to do, to make the RR easier to read for humans (less noisy). In the presence of records containing weights greater than 0, records with weight 0 should have a very small chance of being selected. In the absence of a protocol whose specification calls for the use of other weighting information, a client arranges the SRV RRs of the same Priority in the order in which target hosts, specified by the SRV RRs, will be contacted. The following algorithm SHOULD be used to order the SRV RRs of the same priority: To select a target to be contacted next, arrange all SRV RRs (that have not been ordered yet) in any order, except that all those with weight 0 are placed at the beginning of the list. Compute the sum of the weights of those RRs, and with each RR associate the running sum in the selected order. Then choose a uniform random number between 0 and the sum computed (inclusive), and select the RR whose running sum value is the first in the selected order which is greater than or equal to the random number selected. The target host specified in the selected SRV RR is the next one to be contacted by the client. Remove this SRV RR from the set of the unordered SRV RRs and apply the described algorithm to the unordered SRV RRs to select the next target host. Continue the ordering process until there are no unordered SRV RRs. This process is repeated for each Priority.
- [Dime] Diameter Load value and SRV Steve Donovan
- Re: [Dime] Diameter Load value and SRV lionel.morand
- Re: [Dime] Diameter Load value and SRV Steve Donovan
- Re: [Dime] Diameter Load value and SRV Trottin, Jean-Jacques (Nokia - FR)
- Re: [Dime] Diameter Load Editor's note on presenc… Trottin, Jean-Jacques (Nokia - FR)
- Re: [Dime] Diameter Load Editor's note on presenc… Steve Donovan
- Re: [Dime] Diameter Load value and SRV Steve Donovan
- Re: [Dime] Diameter Load Editor's note on presenc… Trottin, Jean-Jacques (Nokia - FR)