[Dime] Ben Campbell's Discuss on draft-ietf-dime-drmp-05: (with DISCUSS and COMMENT)

"Ben Campbell" <ben@nostrum.com> Wed, 04 May 2016 02:31 UTC

Return-Path: <ben@nostrum.com>
X-Original-To: dime@ietf.org
Delivered-To: dime@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 8175512D0A3; Tue, 3 May 2016 19:31:24 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Ben Campbell <ben@nostrum.com>
To: The IESG <iesg@ietf.org>
X-Test-IDTracker: no
X-IETF-IDTracker: 6.19.0
Auto-Submitted: auto-generated
Precedence: bulk
Message-ID: <20160504023124.8242.52368.idtracker@ietfa.amsl.com>
Date: Tue, 03 May 2016 19:31:24 -0700
Archived-At: <http://mailarchive.ietf.org/arch/msg/dime/nvIv96RS4HsviCBuFZ9MQvhXMhA>
Cc: draft-ietf-dime-drmp@ietf.org, dime-chairs@ietf.org, dime@ietf.org
Subject: [Dime] Ben Campbell's Discuss on draft-ietf-dime-drmp-05: (with DISCUSS and COMMENT)
X-BeenThere: dime@ietf.org
X-Mailman-Version: 2.1.17
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: Wed, 04 May 2016 02:31:24 -0000

Ben Campbell has entered the following ballot position for
draft-ietf-dime-drmp-05: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)

Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.

The document, along with other ballot positions, can be found here:


I have a few concerns that I think need some discussion. 

1) Priority between applications: The fact that agents can apply priority
for messages from multiple applications without knowledge of those
applications seems dangerous. Let's say application A is a critical
infrastructure application, and application B is not. But clients for
application B might set requests to have a higher priority than do
clients for application A.  Further, application B could become a DoS
vector for application A. One potential (and likely half-baked) way to
mitigate this would be to say that nodes that are not "application aware"
can only apply priority among messages for the same application.

2) Priority between clients of the same application: If you have multiple
clients for the same application, don't they need to use the same
prioritization strategy? How is this to be managed?

3) Out of order requests: The draft explicitly allows agents to re-route
and even explicitly re-order messages. Is it safe to have a
non-application aware node change the order of messages?

4) I am nervous about the idea that clients and servers would use a
generic message priority mechanism to manage the allocation of resources
that result from a requests and answers. It seems like that should be
based on application specific rules and information. (Now, if the point
is that these same AVPs might be used in an application according to
application specific rules, that might be okay--but then you might run
into issues where application-agnostic agents don't know the difference.)


General: I approached this assuming prioritization would matter only in
overload scenarios. But I gather you envision using this in non-overload
scenarios? (This interacts with my discuss point about the use of DRMP to
prioritize resource allocation that result result from successful
diameter transactions.) Use case 5.3 is a bit worrisome in this context.

-6, list item 4: Are there really use cases for answer senders to set a
different priority on the answer than was on the request? That seems to
add quite a bit of complexity.

- 6, list item 8: I'm not sure what it means for a client to prioritize
answers to it's own requests.

-8,  "Diameter nodes SHOULD
   include Diameter routing message priority in the DRMP AVP in all
   Diameter request messages." : 
Does that apply to all nodes that touch a request, or just the request

-- "Diameter nodes MUST use the priority indicated in the DRMP AVP
carried in the answer message, if it exists."
The MUST seems odd, since paying attention to the priority in the initial
request was only SHOULD. 

-- "Another is to use the Proxy-Info
      mechanism defined in [RFC6733].":
That probably needs some elaboration.