[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)