[radext] Extended IDs

Alan DeKok <aland@deployingradius.com> Tue, 18 April 2017 19:54 UTC

Return-Path: <aland@deployingradius.com>
X-Original-To: radext@ietfa.amsl.com
Delivered-To: radext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4CBB3127A91 for <radext@ietfa.amsl.com>; Tue, 18 Apr 2017 12:54:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level:
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001] autolearn=ham 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 pme5Iu3Ptktx for <radext@ietfa.amsl.com>; Tue, 18 Apr 2017 12:54:51 -0700 (PDT)
Received: from mail.networkradius.com (mail.networkradius.com [62.210.147.122]) by ietfa.amsl.com (Postfix) with ESMTP id 80E561201F2 for <radext@ietf.org>; Tue, 18 Apr 2017 12:54:51 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.networkradius.com (Postfix) with ESMTP id 731E91653 for <radext@ietf.org>; Tue, 18 Apr 2017 19:54:50 +0000 (UTC)
Received: from mail.networkradius.com ([127.0.0.1]) by localhost (mail-server.vmhost2.networkradius.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xt5KwVKxJtm8 for <radext@ietf.org>; Tue, 18 Apr 2017 19:54:50 +0000 (UTC)
Received: from [192.168.20.234] (CPEf4cc552207f0-CM00fc8dce0fa0.cpe.net.cable.rogers.com [99.230.129.191]) by mail.networkradius.com (Postfix) with ESMTPSA id 0F96DB1 for <radext@ietf.org>; Tue, 18 Apr 2017 19:54:49 +0000 (UTC)
From: Alan DeKok <aland@deployingradius.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Message-Id: <361AC9F2-4CFE-46D5-A893-CBEDAFFA85B8@deployingradius.com>
Date: Tue, 18 Apr 2017 15:54:48 -0400
To: radext@ietf.org
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/radext/1YG0zClgn01j3_je35fwQ3dXJe8>
Subject: [radext] Extended IDs
X-BeenThere: radext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: RADIUS EXTensions working group discussion list <radext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/radext>, <mailto:radext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/radext/>
List-Post: <mailto:radext@ietf.org>
List-Help: <mailto:radext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/radext>, <mailto:radext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2017 19:54:53 -0000

  I've been having offline conversations with the authors of the draft-chen-radext-extended-header.  My comments on the draft and process are:

* there's no need to add provisions for extending the Code field.  Having that in this document confuses people, and makes them less likely to support the other parts of it

* The "status" field should similarly be removed from the document.  Instead, just the presence of the attribute in a reply should be good enough.

* using the 4-octet identifier *instead of* the normal ID means the protocol is being changed, this cannot be done.

* the changes MUST interoperate with existing RADIUS clients and servers that don't implement this.

* i.e. the new systems MUST be able to either detect that the old systems don't support the extended ID, *or* the old systems MUST be able to work as before when sent "new" packets.

   It looks like it's hard to have a solution the problem which satisfies all of the above.


   So I was thinking...

  What if the 8-bit IDs were *temporal*, in addition to tracking src/dst ip/port?  A simple approach would be put a "ID space timestamp" into every packet.  You'd want to send more than 256 packets per second, so that's not good enough.

  What about using a simple sequence number instead?

  i.e. a RADIUS client sends 256 packets, each with sequence number 0.  The server is busy, and doesn't respond to them all.

  The client would like to send a second packet of (say) ID 0.  It notices that there's still a packet outstanding for ID 0, and increments the sequence number.  It can then send a packet containing { ID 0, SEQ 1 }.  The server will see this packet, and treat it differently from one which contains { ID 0, SEQ 0 }.

  The sequence number should also be local to each src/dst ip/port connection.

   I don't think there are technical reasons why this wouldn't work. It may also be acceptable to the wider IETF as a minor variation to RADIUS.  (He said naively...)

   Alan DeKok.